diff options
author | Antoine Brodin <antoine@FreeBSD.org> | 2021-01-01 10:11:34 +0000 |
---|---|---|
committer | Antoine Brodin <antoine@FreeBSD.org> | 2021-01-01 10:11:34 +0000 |
commit | 26b4c8f71f91d22e081b27814782686edde0c90a (patch) | |
tree | 1c321c39372c25d8634e75b5c8e08edc676b296d /www/iridium | |
parent | 548f16bd1a2915f08878b716eed92ff3267e6de2 (diff) |
Notes
Diffstat (limited to 'www/iridium')
828 files changed, 22736 insertions, 0 deletions
diff --git a/www/iridium/Makefile b/www/iridium/Makefile new file mode 100644 index 000000000000..1de2a2d34b49 --- /dev/null +++ b/www/iridium/Makefile @@ -0,0 +1,270 @@ +# Created by: Carlos J. Puga Medina <cpm@FreeBSD.org> +# $FreeBSD$ + +PORTNAME= iridium +PORTVERSION= 2020.04.81 +PORTREVISION= 1 +CATEGORIES= www +MASTER_SITES= https://downloads.iridiumbrowser.de/source/ +PKGNAMESUFFIX= -browser +DISTNAME= ${PORTNAME}${PKGNAMESUFFIX}-${PORTVERSION} + +MAINTAINER= chromium@FreeBSD.org +COMMENT= Iridium browser + +LICENSE= BSD3CLAUSE LGPL21 MPL11 +LICENSE_COMB= multi + +BUILD_DEPENDS= gperf:devel/gperf \ + yasm:devel/yasm \ + ffmpeg>=3.2.2,1:multimedia/ffmpeg \ + bash:shells/bash \ + flock:sysutils/flock \ + node:www/node \ + ${LOCALBASE}/bin/ar:devel/binutils \ + ${LOCALBASE}/include/linux/videodev2.h:multimedia/v4l_compat \ + ${LOCALBASE}/share/usbids/usb.ids:misc/usbids \ + ${PYTHON_PKGNAMEPREFIX}Jinja2>0:devel/py-Jinja2@${PY_FLAVOR} \ + ${PYTHON_PKGNAMEPREFIX}ply>0:devel/py-ply@${PY_FLAVOR} \ + ${PYTHON_PKGNAMEPREFIX}html5lib>0:www/py-html5lib@${PY_FLAVOR} + +LIB_DEPENDS= libatk-bridge-2.0.so:accessibility/at-spi2-atk \ + libatspi.so:accessibility/at-spi2-core \ + libspeechd.so:accessibility/speech-dispatcher \ + libsnappy.so:archivers/snappy \ + libFLAC.so:audio/flac \ + libopus.so:audio/opus \ + libspeex.so:audio/speex \ + libdbus-1.so:devel/dbus \ + libdbus-glib-1.so:devel/dbus-glib \ + libicuuc.so:devel/icu \ + libjsoncpp.so:devel/jsoncpp \ + libpci.so:devel/libpci \ + libnspr4.so:devel/nspr \ + libre2.so:devel/re2 \ + libcairo.so:graphics/cairo \ + libdrm.so:graphics/libdrm \ + libexif.so:graphics/libexif \ + libpng.so:graphics/png \ + libwebp.so:graphics/webp \ + libavcodec.so:multimedia/ffmpeg \ + libopenh264.so:multimedia/openh264 \ + libfreetype.so:print/freetype2 \ + libharfbuzz.so:print/harfbuzz \ + libharfbuzz-icu.so:print/harfbuzz-icu \ + libgcrypt.so:security/libgcrypt \ + libsecret-1.so:security/libsecret \ + libnss3.so:security/nss \ + libexpat.so:textproc/expat2 \ + libfontconfig.so:x11-fonts/fontconfig + +RUN_DEPENDS= xdg-open:devel/xdg-utils \ + noto-basic>0:x11-fonts/noto-basic + +ONLY_FOR_ARCHS= amd64 i386 + +USES= bison cpe desktop-file-utils dos2unix gl gnome jpeg localbase:ldflags \ + ninja perl5 pkgconfig python:2.7,build shebangfix tar:xz xorg +USE_GL= gbm gl +USE_LDCONFIG= ${DATADIR} +USE_PERL5= build +USE_XORG= x11 xcb xcomposite xcursor xext xdamage xfixes xi \ + xorgproto xrandr xrender xscrnsaver xtst +USE_GNOME= atk dconf glib20 gtk30 libxml2 libxslt +MAKE_ARGS= -C out/${BUILDTYPE} +BINARY_ALIAS= python=${PYTHON_CMD} +DOS2UNIX_FILES= third_party/skia/third_party/vulkanmemoryallocator/include/vk_mem_alloc.h +ALL_TARGET= chrome +INSTALLS_ICONS= yes + +EXTRA_PATCHES+= ${FILESDIR}/extra-patch-clang + +# Run "./out/${BUILDTYPE}/gn args out/${BUILDTYPE} --list" for all variables. +# Some parts don't have use_system_* flag, and can be turned on/off by using +# replace_gn_files.py script, some parts just turned on/off for target host +# OS "target_os == is_bsd", like libusb, libpci. +GN_ARGS+= clang_use_chrome_plugins=false \ + enable_hangout_services_extension=false \ + enable_nacl=false \ + enable_one_click_signin=true \ + enable_remoting=false \ + fieldtrial_testing_like_official_build=true \ + is_clang=true \ + toolkit_views=true \ + treat_warnings_as_errors=false \ + use_allocator="none" \ + use_allocator_shim=false \ + use_aura=true \ + use_custom_libcxx=false \ + use_gnome_keyring=false \ + use_lld=true \ + use_sysroot=false \ + use_system_freetype=true \ + use_system_harfbuzz=true \ + use_system_libjpeg=true \ + extra_cxxflags="${CXXFLAGS}" \ + extra_ldflags="${LDFLAGS}" +# TODO: investigate building with these options: +# use_system_minigbm +GN_BOOTSTRAP_FLAGS= --no-clean --no-rebuild --skip-generate-buildfiles + +SUB_FILES= iridium-browser.desktop iridium +SUB_LIST+= COMMENT="${COMMENT}" + +OPTIONS_DEFINE= CODECS CUPS DEBUG KERBEROS +CODECS_DESC= Compile and enable patented codecs like H.264 +OPTIONS_GROUP= AUDIO +OPTIONS_GROUP_AUDIO= ALSA PULSEAUDIO SNDIO + +OPTIONS_DEFAULT= ALSA CODECS CUPS KERBEROS +OPTIONS_SUB= yes + +ALSA_LIB_DEPENDS= libasound.so:audio/alsa-lib +ALSA_RUN_DEPENDS= ${LOCALBASE}/lib/alsa-lib/libasound_module_pcm_oss.so:audio/alsa-plugins \ + alsa-lib>=1.1.1_1:audio/alsa-lib +ALSA_VARS= GN_ARGS+=use_alsa=true +ALSA_VARS_OFF= GN_ARGS+=use_alsa=false + +CODECS_VARS= GN_ARGS+=ffmpeg_branding="Chrome" \ + GN_ARGS+=proprietary_codecs=true +CODECS_VARS_OFF= GN_ARGS+=ffmpeg_branding="Chromium" \ + GN_ARGS+=proprietary_codecs=false + +CUPS_LIB_DEPENDS= libcups.so:print/cups +CUPS_VARS= GN_ARGS+=use_cups=true +CUPS_VARS_OFF= GN_ARGS+=use_cups=false + +DEBUG_VARS= BUILDTYPE=Debug \ + GN_ARGS+=is_debug=true \ + GN_ARGS+=is_component_build=false \ + GN_ARGS+=symbol_level=1 \ + GN_BOOTSTRAP_FLAGS+=--debug \ + WANTSPACE="lots of free diskspace (~ 13GB)" +DEBUG_VARS_OFF= BUILDTYPE=Release \ + GN_ARGS+=blink_symbol_level=0 \ + GN_ARGS+=is_debug=false \ + GN_ARGS+=is_official_build=true \ + GN_ARGS+=symbol_level=0 \ + WANTSPACE="a fair amount of free diskspace (~ 6.5GB)" + +KERBEROS_VARS= GN_ARGS+=use_kerberos=true +KERBEROS_VARS_OFF= GN_ARGS+=use_kerberos=false + +PULSEAUDIO_LIB_DEPENDS= libpulse.so:audio/pulseaudio +PULSEAUDIO_VARS= GN_ARGS+=use_pulseaudio=true +PULSEAUDIO_VARS_OFF= GN_ARGS+=use_pulseaudio=false + +# With SNDIO=on we exclude audio_manager_linux from the build (see +# media/audio/BUILD.gn) and use audio_manager_openbsd which does not +# support falling back to ALSA. In theory it supports falling back to +# PulseAudio, but this is untested. +SNDIO_PREVENTS= ALSA PULSEAUDIO +SNDIO_LIB_DEPENDS= libsndio.so:audio/sndio +SNDIO_VARS= GN_ARGS+=use_sndio=true +SNDIO_VARS_OFF= GN_ARGS+=use_sndio=false + +# Make better javascript with java +JAVA_BUILD= yes +JAVA_VERSION= 1.8 +USE_JAVA= yes + +# Allow relocations against read-only segments (override lld default) +LDFLAGS_i386= -Wl,-znotext + +# TODO: -isystem, would be just as ugly as this approach, but more reliably +# build would fail without C_INCLUDE_PATH/CPLUS_INCLUDE_PATH env var set. +MAKE_ENV+= C_INCLUDE_PATH=${LOCALBASE}/include \ + CPLUS_INCLUDE_PATH=${LOCALBASE}/include + +pre-everything:: + @${ECHO_MSG} + @${ECHO_MSG} "To build Iridium, you should have around 2GB of memory" + @${ECHO_MSG} "and ${WANTSPACE}." + @${ECHO_MSG} + +post-patch: + @${REINPLACE_CMD} -e 's|@@PACKAGE@@|iridium|' \ + -e 's|@@MENUNAME@@|Iridium Web Browser|' \ + ${WRKSRC}/chrome/app/resources/manpage.1.in + +post-patch-SNDIO-on: + @${MKDIR} ${WRKSRC}/media/audio/sndio ${WRKSRC}/media/audio/openbsd + @${CP} ${FILESDIR}/sndio_output.* ${WRKSRC}/media/audio/sndio + @${CP} ${FILESDIR}/sndio_input.* ${WRKSRC}/media/audio/sndio + @${CP} ${FILESDIR}/audio_manager_openbsd.* ${WRKSRC}/media/audio/openbsd + +pre-configure: + # We used to remove bundled libraries to be sure that iridium uses + # system libraries and not shippen ones. + # cd ${WRKSRC} && ${PYTHON_CMD} \ + #./build/linux/unbundle/remove_bundled_libraries.py [list of preserved] + cd ${WRKSRC} && ${SETENV} ${CONFIGURE_ENV} ${PYTHON_CMD} \ + ./build/linux/unbundle/replace_gn_files.py --system-libraries \ + ffmpeg flac fontconfig freetype harfbuzz-ng libdrm libpng libwebp libxml libxslt openh264 opus snappy yasm || ${FALSE} + +do-configure: + # GN generator bootstrapping and generating ninja files + cd ${WRKSRC} && ${SETENV} ${CONFIGURE_ENV} CC=${CC} CXX=${CXX} LD=${CXX} \ + READELF=${READELF} AR=${AR} NM=${NM} ${PYTHON_CMD} \ + ./tools/gn/bootstrap/bootstrap.py ${GN_BOOTSTRAP_FLAGS} + cd ${WRKSRC} && ${SETENV} ${CONFIGURE_ENV} ./out/${BUILDTYPE}/gn \ + gen --args='${GN_ARGS}' out/${BUILDTYPE} + + # Setup nodejs dependency + @${MKDIR} ${WRKSRC}/third_party/node/freebsd/node-freebsd-x64/bin + ${LN} -sf ${LOCALBASE}/bin/node ${WRKSRC}/third_party/node/freebsd/node-freebsd-x64/bin/node + + # Setup java dependency + @${MKDIR} ${WRKDIR}/bin + ${LN} -sf ${LOCALBASE}/openjdk8/bin/java ${WRKDIR}/bin/java + +do-install: + @${MKDIR} ${STAGEDIR}${DATADIR} + ${INSTALL_MAN} ${WRKSRC}/chrome/app/resources/manpage.1.in \ + ${STAGEDIR}${MANPREFIX}/man/man1/iridium.1 + ${CP} ${WRKSRC}/chrome/app/theme/chromium/product_logo_22_mono.png ${WRKSRC}/chrome/app/theme/chromium/product_logo_22.png +.for s in 22 24 48 64 128 256 + @${MKDIR} ${STAGEDIR}${PREFIX}/share/icons/hicolor/${s}x${s}/apps + ${INSTALL_DATA} ${WRKSRC}/chrome/app/theme/chromium/product_logo_${s}.png \ + ${STAGEDIR}${PREFIX}/share/icons/hicolor/${s}x${s}/apps/iridium.png +.endfor + ${INSTALL_DATA} ${WRKSRC}/out/${BUILDTYPE}/*.png ${STAGEDIR}${DATADIR} + ${INSTALL_DATA} ${WRKSRC}/out/${BUILDTYPE}/*.pak ${STAGEDIR}${DATADIR} + +.for d in protoc mksnapshot + ${INSTALL_PROGRAM} ${WRKSRC}/out/${BUILDTYPE}/${d} ${STAGEDIR}${DATADIR} +.endfor +.for d in icudtl.dat snapshot_blob.bin v8_context_snapshot.bin + ${INSTALL_DATA} ${WRKSRC}/out/${BUILDTYPE}/${d} ${STAGEDIR}${DATADIR} +.endfor + ${INSTALL_PROGRAM} ${WRKSRC}/out/${BUILDTYPE}/chrome \ + ${STAGEDIR}${DATADIR}/iridium + cd ${WRKSRC}/out/${BUILDTYPE} && \ + ${COPYTREE_SHARE} "locales resources" ${STAGEDIR}${DATADIR} + @${MKDIR} ${STAGEDIR}${DESKTOPDIR} + ${INSTALL_DATA} ${WRKDIR}/iridium-browser.desktop \ + ${STAGEDIR}${DESKTOPDIR} + ${INSTALL_SCRIPT} ${WRKDIR}/iridium ${STAGEDIR}${PREFIX}/bin + + # ANGLE, EGL, Vk +.for f in libEGL.so libGLESv2.so libVkICD_mock_icd.so + ${INSTALL_LIB} ${WRKSRC}/out/${BUILDTYPE}/${f} ${STAGEDIR}${DATADIR} +.endfor + + # SwiftShader + @${MKDIR} ${STAGEDIR}${DATADIR}/swiftshader + ${INSTALL_LIB} ${WRKSRC}/out/${BUILDTYPE}/libvk_swiftshader.so ${STAGEDIR}${DATADIR} +.for g in libEGL.so libGLESv2.so + ${INSTALL_LIB} ${WRKSRC}/out/${BUILDTYPE}/swiftshader/${g} \ + ${STAGEDIR}${DATADIR}/swiftshader +.endfor + +post-install-DEBUG-on: + ${INSTALL_LIB} ${WRKSRC}/out/${BUILDTYPE}/libVkLayer_khronos_validation.so \ + ${STAGEDIR}${DATADIR} + ${INSTALL_LIB} ${WRKSRC}/out/${BUILDTYPE}/*.so \ + ${STAGEDIR}${DATADIR} + ${INSTALL_PROGRAM} ${WRKSRC}/out/${BUILDTYPE}/character_data_generator \ + ${STAGEDIR}${DATADIR} + +.include <bsd.port.mk> diff --git a/www/iridium/distinfo b/www/iridium/distinfo new file mode 100644 index 000000000000..c3950662e4b2 --- /dev/null +++ b/www/iridium/distinfo @@ -0,0 +1,3 @@ +TIMESTAMP = 1586612680 +SHA256 (iridium-browser-2020.04.81.tar.xz) = b9283170001db5f93d9edec61d1abfd2ad66918c266b2cf88cb448470811ab91 +SIZE (iridium-browser-2020.04.81.tar.xz) = 854266540 diff --git a/www/iridium/files/audio_manager_openbsd.cc b/www/iridium/files/audio_manager_openbsd.cc new file mode 100644 index 000000000000..ee293b9d3791 --- /dev/null +++ b/www/iridium/files/audio_manager_openbsd.cc @@ -0,0 +1,177 @@ +// Copyright (c) 2012 The Chromium Authors. All rights reserved. +// Use of this source code is governed by a BSD-style license that can be +// found in the LICENSE file. + +#include "base/metrics/histogram_macros.h" +#include "base/memory/ptr_util.h" + +#include "media/audio/openbsd/audio_manager_openbsd.h" + +#include "media/audio/audio_device_description.h" +#include "media/audio/audio_output_dispatcher.h" +#if defined(USE_SNDIO) +#include "media/audio/sndio/sndio_input.h" +#include "media/audio/sndio/sndio_output.h" +#else +#include "media/audio/fake_audio_manager.h" +#endif +#include "media/base/limits.h" +#include "media/base/media_switches.h" + +namespace media { + +enum OpenBSDAudioIO { + kPulse, + kSndio, + kAudioIOMax = kSndio +}; + +#if defined(USE_SNDIO) +// Maximum number of output streams that can be open simultaneously. +static const int kMaxOutputStreams = 4; + +// Default sample rate for input and output streams. +static const int kDefaultSampleRate = 48000; + +void AddDefaultDevice(AudioDeviceNames* device_names) { + DCHECK(device_names->empty()); + device_names->push_front(AudioDeviceName::CreateDefault()); +} + +bool AudioManagerOpenBSD::HasAudioOutputDevices() { + return true; +} + +bool AudioManagerOpenBSD::HasAudioInputDevices() { + return true; +} + +void AudioManagerOpenBSD::GetAudioInputDeviceNames( + AudioDeviceNames* device_names) { + DCHECK(device_names->empty()); + AddDefaultDevice(device_names); +} + +void AudioManagerOpenBSD::GetAudioOutputDeviceNames( + AudioDeviceNames* device_names) { + AddDefaultDevice(device_names); +} + +#if defined(USE_SNDIO) +const char* AudioManagerOpenBSD::GetName() { + return "SNDIO"; +} +#endif + +AudioParameters AudioManagerOpenBSD::GetInputStreamParameters( + const std::string& device_id) { + static const int kDefaultInputBufferSize = 1024; + + int user_buffer_size = GetUserBufferSize(); + int buffer_size = user_buffer_size ? + user_buffer_size : kDefaultInputBufferSize; + + return AudioParameters( + AudioParameters::AUDIO_PCM_LOW_LATENCY, CHANNEL_LAYOUT_STEREO, + kDefaultSampleRate, buffer_size); +} + +AudioManagerOpenBSD::AudioManagerOpenBSD(std::unique_ptr<AudioThread> audio_thread, + AudioLogFactory* audio_log_factory) + : AudioManagerBase(std::move(audio_thread), + audio_log_factory) { + DLOG(WARNING) << "AudioManagerOpenBSD"; + SetMaxOutputStreamsAllowed(kMaxOutputStreams); +} + +AudioManagerOpenBSD::~AudioManagerOpenBSD() { + Shutdown(); +} + +AudioOutputStream* AudioManagerOpenBSD::MakeLinearOutputStream( + const AudioParameters& params, + const LogCallback& log_callback) { + DCHECK_EQ(AudioParameters::AUDIO_PCM_LINEAR, params.format()); + return MakeOutputStream(params); +} + +AudioOutputStream* AudioManagerOpenBSD::MakeLowLatencyOutputStream( + const AudioParameters& params, + const std::string& device_id, + const LogCallback& log_callback) { + DLOG_IF(ERROR, !device_id.empty()) << "Not implemented!"; + DCHECK_EQ(AudioParameters::AUDIO_PCM_LOW_LATENCY, params.format()); + return MakeOutputStream(params); +} + +AudioInputStream* AudioManagerOpenBSD::MakeLinearInputStream( + const AudioParameters& params, + const std::string& device_id, + const LogCallback& log_callback) { + DCHECK_EQ(AudioParameters::AUDIO_PCM_LINEAR, params.format()); + return MakeInputStream(params); +} + +AudioInputStream* AudioManagerOpenBSD::MakeLowLatencyInputStream( + const AudioParameters& params, + const std::string& device_id, + const LogCallback& log_callback) { + DCHECK_EQ(AudioParameters::AUDIO_PCM_LOW_LATENCY, params.format()); + return MakeInputStream(params); +} + +AudioParameters AudioManagerOpenBSD::GetPreferredOutputStreamParameters( + const std::string& output_device_id, + const AudioParameters& input_params) { + // TODO(tommi): Support |output_device_id|. + DLOG_IF(ERROR, !output_device_id.empty()) << "Not implemented!"; + static const int kDefaultOutputBufferSize = 2048; + + ChannelLayout channel_layout = CHANNEL_LAYOUT_STEREO; + int sample_rate = kDefaultSampleRate; + int buffer_size = kDefaultOutputBufferSize; + if (input_params.IsValid()) { + sample_rate = input_params.sample_rate(); + channel_layout = input_params.channel_layout(); + buffer_size = std::min(buffer_size, input_params.frames_per_buffer()); + } + + int user_buffer_size = GetUserBufferSize(); + if (user_buffer_size) + buffer_size = user_buffer_size; + + return AudioParameters( + AudioParameters::AUDIO_PCM_LOW_LATENCY, channel_layout, + sample_rate, buffer_size); +} + +AudioInputStream* AudioManagerOpenBSD::MakeInputStream( + const AudioParameters& params) { + DLOG(WARNING) << "MakeInputStream"; + return new SndioAudioInputStream(this, + AudioDeviceDescription::kDefaultDeviceId, params); +} + +AudioOutputStream* AudioManagerOpenBSD::MakeOutputStream( + const AudioParameters& params) { + DLOG(WARNING) << "MakeOutputStream"; + return new SndioAudioOutputStream(params, this); +} +#endif + +std::unique_ptr<media::AudioManager> CreateAudioManager( + std::unique_ptr<AudioThread> audio_thread, + AudioLogFactory* audio_log_factory) { + DLOG(WARNING) << "CreateAudioManager"; +#if defined(USE_SNDIO) + UMA_HISTOGRAM_ENUMERATION("Media.OpenBSDAudioIO", kSndio, kAudioIOMax + 1); + return std::make_unique<AudioManagerOpenBSD>(std::move(audio_thread), + audio_log_factory); +#else + return std::make_unique<FakeAudioManager>(std::move(audio_thread), + audio_log_factory); +#endif + +} + +} // namespace media diff --git a/www/iridium/files/audio_manager_openbsd.h b/www/iridium/files/audio_manager_openbsd.h new file mode 100644 index 000000000000..8c99db966d65 --- /dev/null +++ b/www/iridium/files/audio_manager_openbsd.h @@ -0,0 +1,65 @@ +// Copyright (c) 2012 The Chromium Authors. All rights reserved. +// Use of this source code is governed by a BSD-style license that can be +// found in the LICENSE file. + +#ifndef MEDIA_AUDIO_OPENBSD_AUDIO_MANAGER_OPENBSD_H_ +#define MEDIA_AUDIO_OPENBSD_AUDIO_MANAGER_OPENBSD_H_ + +#include <set> + +#include "base/compiler_specific.h" +#include "base/macros.h" +#include "base/memory/ref_counted.h" +#include "base/threading/thread.h" +#include "media/audio/audio_manager_base.h" + +namespace media { + +class MEDIA_EXPORT AudioManagerOpenBSD : public AudioManagerBase { + public: + AudioManagerOpenBSD(std::unique_ptr<AudioThread> audio_thread, + AudioLogFactory* audio_log_factory); + ~AudioManagerOpenBSD() override; + + // Implementation of AudioManager. + bool HasAudioOutputDevices() override; + bool HasAudioInputDevices() override; + void GetAudioInputDeviceNames(AudioDeviceNames* device_names) override; + void GetAudioOutputDeviceNames(AudioDeviceNames* device_names) override; + AudioParameters GetInputStreamParameters( + const std::string& device_id) override; + const char* GetName() override; + + // Implementation of AudioManagerBase. + AudioOutputStream* MakeLinearOutputStream( + const AudioParameters& params, + const LogCallback& log_callback) override; + AudioOutputStream* MakeLowLatencyOutputStream( + const AudioParameters& params, + const std::string& device_id, + const LogCallback& log_callback) override; + AudioInputStream* MakeLinearInputStream( + const AudioParameters& params, + const std::string& device_id, + const LogCallback& log_callback) override; + AudioInputStream* MakeLowLatencyInputStream( + const AudioParameters& params, + const std::string& device_id, + const LogCallback& log_callback) override; + + protected: + AudioParameters GetPreferredOutputStreamParameters( + const std::string& output_device_id, + const AudioParameters& input_params) override; + + private: + // Called by MakeLinearOutputStream and MakeLowLatencyOutputStream. + AudioOutputStream* MakeOutputStream(const AudioParameters& params); + AudioInputStream* MakeInputStream(const AudioParameters& params); + + DISALLOW_COPY_AND_ASSIGN(AudioManagerOpenBSD); +}; + +} // namespace media + +#endif // MEDIA_AUDIO_OPENBSD_AUDIO_MANAGER_OPENBSD_H_ diff --git a/www/iridium/files/extra-patch-clang b/www/iridium/files/extra-patch-clang new file mode 100644 index 000000000000..887a416b5f2d --- /dev/null +++ b/www/iridium/files/extra-patch-clang @@ -0,0 +1,40 @@ +--- base/strings/safe_sprintf_unittest.cc.orig 2019-03-11 22:00:51 UTC ++++ base/strings/safe_sprintf_unittest.cc +@@ -730,6 +730,7 @@ TEST(SafeSPrintfTest, EmbeddedNul) { + } + + TEST(SafeSPrintfTest, EmitNULL) { ++/* Avoid compiler error: http://pastebin.com/1edWUE84 + char buf[40]; + #if defined(__GNUC__) + #pragma GCC diagnostic push +@@ -741,6 +742,7 @@ TEST(SafeSPrintfTest, EmitNULL) { + 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.orig 2019-03-11 22:00:51 UTC ++++ base/threading/thread_local_storage_unittest.cc +@@ -86,7 +86,7 @@ class ThreadLocalStorageRunner : public DelegateSimple + void ThreadLocalStorageCleanup(void *value) { + int *ptr = reinterpret_cast<int*>(value); + // Destructors should never be called with a NULL. +- ASSERT_NE(reinterpret_cast<int*>(NULL), ptr); ++ ASSERT_NE(static_cast<int*>(NULL), ptr); + if (*ptr == kFinalTlsValue) + return; // We've been called enough times. + ASSERT_LT(kFinalTlsValue, *ptr); +--- media/audio/audio_output_proxy_unittest.cc.orig 2019-03-11 22:00:59 UTC ++++ media/audio/audio_output_proxy_unittest.cc +@@ -410,7 +410,7 @@ class AudioOutputProxyTest : public testing::Test { + // |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); + diff --git a/www/iridium/files/iridium-browser.desktop.in b/www/iridium/files/iridium-browser.desktop.in new file mode 100644 index 000000000000..cb92990ad825 --- /dev/null +++ b/www/iridium/files/iridium-browser.desktop.in @@ -0,0 +1,11 @@ +[Desktop Entry] +Type=Application +Version=1.0 +Encoding=UTF-8 +Name=Iridium +Comment=%%COMMENT%% +Icon=iridium +Exec=iridium %U +Categories=Application;Network;WebBrowser; +MimeType=text/html;text/xml;application/xhtml+xml;x-scheme-handler/http;x-scheme-handler/https;x-scheme-handler/ftp; +StartupNotify=true diff --git a/www/iridium/files/iridium.in b/www/iridium/files/iridium.in new file mode 100644 index 000000000000..0237611bb622 --- /dev/null +++ b/www/iridium/files/iridium.in @@ -0,0 +1,19 @@ +#!/bin/sh + +SYSCTL=kern.ipc.shm_allow_removed +if [ "`/sbin/sysctl -n $SYSCTL`" = 0 ] ; then + cat << EOMSG +For correct operation, shared memory support has to be enabled +in Iridium by performing the following command as root : + +sysctl $SYSCTL=1 + +To preserve this setting across reboots, append the following +to /etc/sysctl.conf : + +$SYSCTL=1 +EOMSG + exit 1 +fi +ulimit -c 0 +exec %%PREFIX%%/share/iridium/iridium ${1+"$@"} diff --git a/www/iridium/files/patch-3p-pdfium_3p_base_allocator_partition__allocator_page__allocator__internals__posix.h b/www/iridium/files/patch-3p-pdfium_3p_base_allocator_partition__allocator_page__allocator__internals__posix.h new file mode 100644 index 000000000000..a3130315b68e --- /dev/null +++ b/www/iridium/files/patch-3p-pdfium_3p_base_allocator_partition__allocator_page__allocator__internals__posix.h @@ -0,0 +1,11 @@ +--- third_party/pdfium/third_party/base/allocator/partition_allocator/page_allocator_internals_posix.h.orig 2020-04-03 04:13:08 UTC ++++ third_party/pdfium/third_party/base/allocator/partition_allocator/page_allocator_internals_posix.h +@@ -16,7 +16,7 @@ + #if defined(OS_ANDROID) + #include <sys/prctl.h> + #endif +-#if defined(OS_LINUX) ++#if defined(OS_LINUX) || defined(OS_BSD) + #include <sys/resource.h> + + #include <algorithm> diff --git a/www/iridium/files/patch-BUILD.gn b/www/iridium/files/patch-BUILD.gn new file mode 100644 index 000000000000..0af06e81260e --- /dev/null +++ b/www/iridium/files/patch-BUILD.gn @@ -0,0 +1,95 @@ +--- BUILD.gn.orig 2020-03-16 18:40:27 UTC ++++ BUILD.gn +@@ -418,7 +418,7 @@ group("gn_all") { + ] + } + +- if (is_linux || is_android) { ++ if ((is_linux && !is_bsd) || is_android) { + deps += [ + "//third_party/breakpad:breakpad_unittests", + "//third_party/breakpad:core-2-minidump", +@@ -459,8 +459,6 @@ group("gn_all") { + "//net:disk_cache_memory_test", + "//net:quic_client", + "//net:quic_server", +- "//sandbox/linux:chrome_sandbox", +- "//sandbox/linux:sandbox_linux_unittests", + "//testing:empty_main", + ] + +@@ -515,10 +513,6 @@ group("gn_all") { + "//chrome/test:load_library_perf_tests", + "//chrome/test:sync_performance_tests", + "//chrome/test/chromedriver:chromedriver", +- "//courgette:courgette", +- "//courgette:courgette_fuzz", +- "//courgette:courgette_minimal_tool", +- "//courgette:courgette_unittests", + "//media/cast:generate_barcode_video", + "//media/cast:generate_timecode_audio", + "//net:crash_cache", +@@ -575,10 +569,6 @@ group("gn_all") { + "//mojo:mojo_perftests", + "//services/service_manager/public/cpp", + "//testing/gmock:gmock_main", +- "//third_party/breakpad:dump_syms($host_toolchain)", +- "//third_party/breakpad:microdump_stackwalk($host_toolchain)", +- "//third_party/breakpad:minidump_dump($host_toolchain)", +- "//third_party/breakpad:minidump_stackwalk($host_toolchain)", + ] + + if (!is_android) { +@@ -652,7 +642,7 @@ group("gn_all") { + host_os == "win") { + deps += [ "//chrome/test/mini_installer:mini_installer_tests" ] + } +- } else if (!is_android && !is_ios && !is_fuchsia) { ++ } else if (!is_android && !is_ios && !is_fuchsia && !is_bsd) { + deps += [ "//third_party/breakpad:symupload($host_toolchain)" ] + } + +@@ -794,7 +784,6 @@ group("gn_all") { + "//chrome/browser/vr:vr_common_perftests", + "//chrome/browser/vr:vr_common_unittests", + "//chrome/browser/vr:vr_pixeltests", +- "//tools/perf/contrib/vr_benchmarks:vr_perf_tests", + ] + if (is_desktop_linux && use_ozone) { + deps += [ "//chrome/browser/vr/testapp:vr_testapp" ] +@@ -934,7 +923,6 @@ if (is_chromeos) { + "//ppapi/examples/video_decode", + "//sandbox/linux:chrome_sandbox", + "//sandbox/linux:sandbox_linux_unittests", +- "//third_party/breakpad:minidump_stackwalk($host_toolchain)", + + # Blocked on https://github.com/catapult-project/catapult/issues/2297 + #"//third_party/catapult/telemetry:bitmaptools", +@@ -1092,7 +1080,7 @@ if (!is_ios) { + ] + } + +- if (!is_win && !is_android) { ++ if (!is_win && !is_android && !is_bsd) { + data_deps += + [ "//third_party/breakpad:minidump_stackwalk($host_toolchain)" ] + } +@@ -1101,7 +1089,7 @@ if (!is_ios) { + data_deps += [ "//third_party/breakpad:dump_syms($host_toolchain)" ] + } + +- if (is_linux) { ++ if (is_linux && !is_bsd) { + data_deps += [ "//third_party/breakpad:dump_syms($host_toolchain)" ] + } + +@@ -1231,9 +1219,6 @@ group("chromium_builder_perf") { + + if (is_win) { + data_deps += [ "//chrome/installer/mini_installer:mini_installer" ] +- } else { +- data_deps += +- [ "//third_party/breakpad:minidump_stackwalk($host_toolchain)" ] + } + if (is_win || is_android) { + data_deps += [ diff --git a/www/iridium/files/patch-apps_app__restore__service__browsertest.cc b/www/iridium/files/patch-apps_app__restore__service__browsertest.cc new file mode 100644 index 000000000000..dc9a47b7323a --- /dev/null +++ b/www/iridium/files/patch-apps_app__restore__service__browsertest.cc @@ -0,0 +1,11 @@ +--- apps/app_restore_service_browsertest.cc.orig 2020-03-23 15:18:04 UTC ++++ apps/app_restore_service_browsertest.cc +@@ -147,7 +147,7 @@ IN_PROC_BROWSER_TEST_F(PlatformAppBrowserTest, FileAcc + } + + // Flaky: crbug.com/269613 +-#if defined(OS_LINUX) || defined(OS_WIN) ++#if defined(OS_LINUX) || defined(OS_WIN) || defined(OS_BSD) + #define MAYBE_FileAccessIsRestored DISABLED_FileAccessIsRestored + #else + #define MAYBE_FileAccessIsRestored FileAccessIsRestored diff --git a/www/iridium/files/patch-apps_ui_views_app__window__frame__view.cc b/www/iridium/files/patch-apps_ui_views_app__window__frame__view.cc new file mode 100644 index 000000000000..8f6bd623a3b3 --- /dev/null +++ b/www/iridium/files/patch-apps_ui_views_app__window__frame__view.cc @@ -0,0 +1,11 @@ +--- apps/ui/views/app_window_frame_view.cc.orig 2019-06-04 18:55:14 UTC ++++ apps/ui/views/app_window_frame_view.cc +@@ -125,7 +125,7 @@ gfx::Rect AppWindowFrameView::GetBoundsForClientView() + gfx::Rect AppWindowFrameView::GetWindowBoundsForClientBounds( + const gfx::Rect& client_bounds) const { + gfx::Rect window_bounds = client_bounds; +-#if defined(OS_LINUX) && !defined(OS_CHROMEOS) ++#if (defined(OS_LINUX) || defined(OS_BSD)) && !defined(OS_CHROMEOS) + // Get the difference between the widget's client area bounds and window + // bounds, and grow |window_bounds| by that amount. + gfx::Insets native_frame_insets = diff --git a/www/iridium/files/patch-ash_display_mirror__window__controller.cc b/www/iridium/files/patch-ash_display_mirror__window__controller.cc new file mode 100644 index 000000000000..d5bf99f6dba3 --- /dev/null +++ b/www/iridium/files/patch-ash_display_mirror__window__controller.cc @@ -0,0 +1,14 @@ +--- ash/display/mirror_window_controller.cc.orig 2020-03-16 18:40:27 UTC ++++ ash/display/mirror_window_controller.cc +@@ -276,7 +276,11 @@ void MirrorWindowController::UpdateWindow( + return info.id() == iter->first; + }) == display_info_list.end()) { + CloseAndDeleteHost(iter->second, true); ++#if defined(__llvm__) ++ mirroring_host_info_map_.erase(iter++); ++#else + iter = mirroring_host_info_map_.erase(iter); ++#endif + } else { + ++iter; + } diff --git a/www/iridium/files/patch-base_BUILD.gn b/www/iridium/files/patch-base_BUILD.gn new file mode 100644 index 000000000000..30f1110ebaff --- /dev/null +++ b/www/iridium/files/patch-base_BUILD.gn @@ -0,0 +1,98 @@ +--- base/BUILD.gn.orig 2020-03-16 18:40:27 UTC ++++ base/BUILD.gn +@@ -912,7 +912,7 @@ jumbo_component("base") { + "timer/hi_res_timer_manager_posix.cc", + ] + +- if (!is_nacl && !is_mac && !is_ios) { ++ if (!is_nacl && !is_mac && !is_ios && !is_bsd) { + sources += [ + "profiler/stack_copier_signal.cc", + "profiler/stack_copier_signal.h", +@@ -921,6 +921,12 @@ jumbo_component("base") { + "profiler/thread_delegate_posix.h", + ] + } ++ ++ if (is_bsd) { ++ sources += [ ++ "profiler/stack_sampler_posix.cc", ++ ] ++ } + } + + if (is_win) { +@@ -1305,7 +1311,7 @@ jumbo_component("base") { + # Needed for <atomic> if using newer C++ library than sysroot, except if + # building inside the cros_sdk environment - use host_toolchain as a + # more robust check for this. +- if (!use_sysroot && (is_android || (is_linux && !is_chromecast)) && ++ if (!use_sysroot && (is_android || (is_linux && !is_chromecast) && !is_clang) && + host_toolchain != "//build/toolchain/cros:host") { + libs += [ "atomic" ] + } +@@ -1331,7 +1337,7 @@ jumbo_component("base") { + "allocator/allocator_shim_override_glibc_weak_symbols.h", + ] + deps += [ "//base/allocator:tcmalloc" ] +- } else if (is_linux && use_allocator == "none") { ++ } else if ((is_linux && !is_bsd) && use_allocator == "none") { + sources += [ "allocator/allocator_shim_default_dispatch_to_glibc.cc" ] + } else if (is_android && use_allocator == "none") { + sources += [ +@@ -1930,6 +1936,33 @@ jumbo_component("base") { + } + } + ++ if (is_bsd) { ++ sources -= [ ++ "files/file_path_watcher_linux.cc", ++ "files/file_util_linux.cc", ++ "process/memory_linux.cc", ++ "process/process_handle_linux.cc", ++ "process/process_iterator_linux.cc", ++ "process/process_metrics_linux.cc", ++ "system/sys_info_linux.cc" ++ ] ++ sources += [ ++ "files/file_path_watcher_kqueue.cc", ++ "files/file_path_watcher_kqueue.h", ++ "files/file_path_watcher_stub.cc", ++ "process/memory_stubs.cc", ++ "process/process_handle_freebsd.cc", ++ "process/process_iterator_freebsd.cc", ++ "process/process_metrics_freebsd.cc", ++ "system/sys_info_freebsd.cc", ++ ] ++ libs = [ ++ "execinfo", # logging.cc ++ "kvm", # process_metrics_freebsd ++ "util" # process_metrics_freebsd ++ ] ++ } ++ + # iOS + if (is_ios) { + sources -= [ +@@ -2880,7 +2913,7 @@ test("base_unittests") { + "posix/unix_domain_socket_unittest.cc", + "task/thread_pool/task_tracker_posix_unittest.cc", + ] +- if (!is_nacl && !is_mac && !is_ios) { ++ if (!is_nacl && !is_mac && !is_ios && !is_bsd) { + sources += [ "profiler/stack_copier_signal_unittest.cc" ] + } + } +@@ -3068,6 +3101,12 @@ test("base_unittests") { + + manifest = "//build/config/fuchsia/tests.cmx" + } ++ ++ if (is_bsd) { ++ sources -= [ ++ "debug/proc_maps_linux_unittest.cc", ++ ] ++ } + + if (!is_fuchsia && !is_ios) { + sources += [ "files/file_locking_unittest.cc" ] diff --git a/www/iridium/files/patch-base_allocator_allocator__shim.cc b/www/iridium/files/patch-base_allocator_allocator__shim.cc new file mode 100644 index 000000000000..208a8d93617a --- /dev/null +++ b/www/iridium/files/patch-base_allocator_allocator__shim.cc @@ -0,0 +1,11 @@ +--- base/allocator/allocator_shim.cc.orig 2019-10-21 19:06:18 UTC ++++ base/allocator/allocator_shim.cc +@@ -71,7 +71,7 @@ inline const base::allocator::AllocatorDispatch* GetCh + // Unfortunately due to that bug NoBarrier_Load() is mistakenly fully + // barriered on Linux+Clang, and that causes visible perf regressons. + return reinterpret_cast<const base::allocator::AllocatorDispatch*>( +-#if defined(OS_LINUX) && defined(__clang__) ++#if (defined(OS_BSD) || defined(OS_LINUX)) && defined(__clang__) + *static_cast<const volatile base::subtle::AtomicWord*>(&g_chain_head) + #else + base::subtle::NoBarrier_Load(&g_chain_head) diff --git a/www/iridium/files/patch-base_allocator_allocator__shim__default__dispatch__to__glibc.cc b/www/iridium/files/patch-base_allocator_allocator__shim__default__dispatch__to__glibc.cc new file mode 100644 index 000000000000..c7b4ac21c804 --- /dev/null +++ b/www/iridium/files/patch-base_allocator_allocator__shim__default__dispatch__to__glibc.cc @@ -0,0 +1,76 @@ +--- base/allocator/allocator_shim_default_dispatch_to_glibc.cc.orig 2020-02-03 21:52:37 UTC ++++ base/allocator/allocator_shim_default_dispatch_to_glibc.cc +@@ -6,18 +6,28 @@ + #include "base/compiler_specific.h" + + #include <dlfcn.h> +-#include <malloc.h> ++#include <stdio.h> ++#include <stdlib.h> ++#include <malloc_np.h> + + // This translation unit defines a default dispatch for the allocator shim which + // routes allocations to libc functions. +-// The code here is strongly inspired from tcmalloc's libc_override_glibc.h. ++// The code here is strongly inspired from tcmalloc's override_glibc.h. + + extern "C" { +-void* __libc_malloc(size_t size); +-void* __libc_calloc(size_t n, size_t size); +-void* __libc_realloc(void* address, size_t size); +-void* __libc_memalign(size_t alignment, size_t size); +-void __libc_free(void* ptr); ++void* __malloc(size_t size); ++void* __calloc(size_t n, size_t size); ++void* __realloc(void* address, size_t len); ++void* __memalign(size_t alignment, size_t size) { ++ void *ret; ++ if (__posix_memalign(&ret, alignment, size) != 0) { ++ return nullptr; ++ } else { ++ return ret; ++ } ++} ++int __posix_memalign(void **ptr, size_t alignment, size_t size); ++void __free(void* ptr); + } // extern "C" + + namespace { +@@ -25,32 +35,32 @@ namespace { + using base::allocator::AllocatorDispatch; + + void* GlibcMalloc(const AllocatorDispatch*, size_t size, void* context) { +- return __libc_malloc(size); ++ return __malloc(size); + } + + void* GlibcCalloc(const AllocatorDispatch*, + size_t n, + size_t size, + void* context) { +- return __libc_calloc(n, size); ++ return __calloc(n, size); + } + + void* GlibcRealloc(const AllocatorDispatch*, + void* address, + size_t size, + void* context) { +- return __libc_realloc(address, size); ++ return __realloc(address, size); + } + + void* GlibcMemalign(const AllocatorDispatch*, + size_t alignment, + size_t size, + void* context) { +- return __libc_memalign(alignment, size); ++ return __memalign(alignment, size); + } + + void GlibcFree(const AllocatorDispatch*, void* address, void* context) { +- __libc_free(address); ++ __free(address); + } + + NO_SANITIZE("cfi-icall") diff --git a/www/iridium/files/patch-base_allocator_allocator__shim__override__libc__symbols.h b/www/iridium/files/patch-base_allocator_allocator__shim__override__libc__symbols.h new file mode 100644 index 000000000000..fc9a47bd3daf --- /dev/null +++ b/www/iridium/files/patch-base_allocator_allocator__shim__override__libc__symbols.h @@ -0,0 +1,11 @@ +--- base/allocator/allocator_shim_override_libc_symbols.h.orig 2019-03-11 22:00:51 UTC ++++ base/allocator/allocator_shim_override_libc_symbols.h +@@ -10,7 +10,7 @@ + #endif + #define BASE_ALLOCATOR_ALLOCATOR_SHIM_OVERRIDE_LIBC_SYMBOLS_H_ + +-#include <malloc.h> ++#include <stdlib.h> + + #include "base/allocator/allocator_shim_internals.h" + diff --git a/www/iridium/files/patch-base_allocator_allocator__shim__unittest.cc b/www/iridium/files/patch-base_allocator_allocator__shim__unittest.cc new file mode 100644 index 000000000000..1f7664842a07 --- /dev/null +++ b/www/iridium/files/patch-base_allocator_allocator__shim__unittest.cc @@ -0,0 +1,45 @@ +--- base/allocator/allocator_shim_unittest.cc.orig 2020-03-16 18:39:41 UTC ++++ base/allocator/allocator_shim_unittest.cc +@@ -348,7 +348,7 @@ TEST_F(AllocatorShimTest, InterceptLibcSymbols) { + ASSERT_GE(aligned_allocs_intercepted_by_size[61], 1u); + #endif // !OS_WIN + +-#if !defined(OS_WIN) && !defined(OS_MACOSX) ++#if !defined(OS_WIN) && !defined(OS_MACOSX) && !defined(OS_BSD) + void* memalign_ptr = memalign(128, 53); + ASSERT_NE(nullptr, memalign_ptr); + ASSERT_EQ(0u, reinterpret_cast<uintptr_t>(memalign_ptr) % 128); +@@ -361,7 +361,7 @@ TEST_F(AllocatorShimTest, InterceptLibcSymbols) { + ASSERT_GE(aligned_allocs_intercepted_by_alignment[kPageSize], 1u); + // pvalloc rounds the size up to the next page. + ASSERT_GE(aligned_allocs_intercepted_by_size[kPageSize], 1u); +-#endif // !OS_WIN && !OS_MACOSX ++#endif // !OS_WIN && !OS_MACOSX && !OS_BSD + + char* realloc_ptr = static_cast<char*>(malloc(10)); + strcpy(realloc_ptr, "foobar"); +@@ -377,13 +377,13 @@ TEST_F(AllocatorShimTest, InterceptLibcSymbols) { + free(zero_alloc_ptr); + ASSERT_GE(frees_intercepted_by_addr[Hash(zero_alloc_ptr)], 1u); + +-#if !defined(OS_WIN) && !defined(OS_MACOSX) ++#if !defined(OS_WIN) && !defined(OS_MACOSX) && !defined(OS_BSD) + free(memalign_ptr); + ASSERT_GE(frees_intercepted_by_addr[Hash(memalign_ptr)], 1u); + + free(pvalloc_ptr); + ASSERT_GE(frees_intercepted_by_addr[Hash(pvalloc_ptr)], 1u); +-#endif // !OS_WIN && !OS_MACOSX ++#endif // !OS_WIN && !OS_MACOSX && !OS_BSD + + #if !defined(OS_WIN) + free(posix_memalign_ptr); +@@ -550,7 +550,7 @@ static size_t GetAllocatedSize(void* ptr) { + static size_t GetAllocatedSize(void* ptr) { + return malloc_size(ptr); + } +-#elif defined(OS_LINUX) ++#elif defined(OS_LINUX) || defined(OS_BSD) + static size_t GetAllocatedSize(void* ptr) { + return malloc_usable_size(ptr); + } diff --git a/www/iridium/files/patch-base_allocator_partition__allocator_page__allocator__internals__posix.h b/www/iridium/files/patch-base_allocator_partition__allocator_page__allocator__internals__posix.h new file mode 100644 index 000000000000..fbd28e22abe2 --- /dev/null +++ b/www/iridium/files/patch-base_allocator_partition__allocator_page__allocator__internals__posix.h @@ -0,0 +1,11 @@ +--- base/allocator/partition_allocator/page_allocator_internals_posix.h.orig 2019-10-21 19:06:18 UTC ++++ base/allocator/partition_allocator/page_allocator_internals_posix.h +@@ -19,7 +19,7 @@ + #if defined(OS_ANDROID) + #include <sys/prctl.h> + #endif +-#if defined(OS_LINUX) ++#if defined(OS_BSD) || defined(OS_LINUX) + #include <sys/resource.h> + + #include <algorithm> diff --git a/www/iridium/files/patch-base_allocator_partition__allocator_partition__alloc__unittest.cc b/www/iridium/files/patch-base_allocator_partition__allocator_partition__alloc__unittest.cc new file mode 100644 index 000000000000..12143fe54c50 --- /dev/null +++ b/www/iridium/files/patch-base_allocator_partition__allocator_partition__alloc__unittest.cc @@ -0,0 +1,17 @@ +--- base/allocator/partition_allocator/partition_alloc_unittest.cc.orig 2020-03-23 15:20:45 UTC ++++ base/allocator/partition_allocator/partition_alloc_unittest.cc +@@ -314,9 +314,13 @@ void FreeFullPage(PartitionPage* page) { + } + } + +-#if defined(OS_LINUX) ++#if defined(OS_LINUX) || defined(OS_BSD) + bool CheckPageInCore(void* ptr, bool in_core) { ++#if defined(OS_BSD) ++ char ret = 0; ++#else + unsigned char ret = 0; ++#endif + EXPECT_EQ(0, mincore(ptr, kSystemPageSize, &ret)); + return in_core == (ret & 1); + } diff --git a/www/iridium/files/patch-base_base__switches.cc b/www/iridium/files/patch-base_base__switches.cc new file mode 100644 index 000000000000..92ed9217882d --- /dev/null +++ b/www/iridium/files/patch-base_base__switches.cc @@ -0,0 +1,20 @@ +--- base/base_switches.cc.orig 2019-10-21 19:06:18 UTC ++++ base/base_switches.cc +@@ -117,7 +117,7 @@ const char kDisableHighResTimer[] = "disable-highres-t + const char kDisableUsbKeyboardDetect[] = "disable-usb-keyboard-detect"; + #endif + +-#if defined(OS_LINUX) && !defined(OS_CHROMEOS) ++#if (defined(OS_LINUX) && !defined(OS_CHROMEOS)) || defined(OS_BSD) + // The /dev/shm partition is too small in certain VM environments, causing + // Chrome to fail or crash (see http://crbug.com/715363). Use this flag to + // work-around this issue (a temporary directory will always be used to create +@@ -138,7 +138,7 @@ const char kEnableCrashReporterForTesting[] = + const char kEnableReachedCodeProfiler[] = "enable-reached-code-profiler"; + #endif + +-#if defined(OS_LINUX) ++#if defined(OS_LINUX) || defined(OS_BSD) + // Controls whether or not retired instruction counts are surfaced for threads + // in trace events on Linux. + // diff --git a/www/iridium/files/patch-base_base__switches.h b/www/iridium/files/patch-base_base__switches.h new file mode 100644 index 000000000000..f2be6f05c697 --- /dev/null +++ b/www/iridium/files/patch-base_base__switches.h @@ -0,0 +1,20 @@ +--- base/base_switches.h.orig 2019-10-21 19:06:18 UTC ++++ base/base_switches.h +@@ -38,7 +38,7 @@ extern const char kDisableHighResTimer[]; + extern const char kDisableUsbKeyboardDetect[]; + #endif + +-#if defined(OS_LINUX) && !defined(OS_CHROMEOS) ++#if (defined(OS_LINUX) && !defined(OS_CHROMEOS)) || defined(OS_BSD) + extern const char kDisableDevShmUsage[]; + #endif + +@@ -51,7 +51,7 @@ extern const char kEnableReachedCodeProfiler[]; + extern const char kOrderfileMemoryOptimization[]; + #endif + +-#if defined(OS_LINUX) ++#if defined(OS_LINUX) || defined(OS_BSD) + extern const char kEnableThreadInstructionCount[]; + #endif + diff --git a/www/iridium/files/patch-base_cpu.cc b/www/iridium/files/patch-base_cpu.cc new file mode 100644 index 000000000000..231561a3a542 --- /dev/null +++ b/www/iridium/files/patch-base_cpu.cc @@ -0,0 +1,38 @@ +--- base/cpu.cc.orig 2019-10-21 19:06:18 UTC ++++ base/cpu.cc +@@ -14,7 +14,7 @@ + + #include "base/stl_util.h" + +-#if defined(ARCH_CPU_ARM_FAMILY) && (defined(OS_ANDROID) || defined(OS_LINUX)) ++#if defined(ARCH_CPU_ARM_FAMILY) && (defined(OS_ANDROID) || defined(OS_LINUX) || defined(OS_BSD)) + #include "base/files/file_util.h" + #endif + +@@ -135,7 +135,7 @@ uint64_t xgetbv(uint32_t xcr) { + + #endif // ARCH_CPU_X86_FAMILY + +-#if defined(ARCH_CPU_ARM_FAMILY) && (defined(OS_ANDROID) || defined(OS_LINUX)) ++#if defined(ARCH_CPU_ARM_FAMILY) && (defined(OS_ANDROID) || defined(OS_LINUX) || defined(OS_BSD)) + std::string* CpuInfoBrand() { + static std::string* brand = []() { + // This function finds the value from /proc/cpuinfo under the key "model +@@ -165,7 +165,7 @@ std::string* CpuInfoBrand() { + return brand; + } + #endif // defined(ARCH_CPU_ARM_FAMILY) && (defined(OS_ANDROID) || +- // defined(OS_LINUX)) ++ // defined(OS_LINUX) || defined(OS_BSD)) + + } // namespace + +@@ -287,7 +287,7 @@ void CPU::Initialize() { + } + } + #elif defined(ARCH_CPU_ARM_FAMILY) +-#if (defined(OS_ANDROID) || defined(OS_LINUX)) ++#if (defined(OS_ANDROID) || defined(OS_LINUX) || defined(OS_BSD)) + cpu_brand_ = *CpuInfoBrand(); + #elif defined(OS_WIN) + // Windows makes high-resolution thread timing information available in diff --git a/www/iridium/files/patch-base_debug_debugger__posix.cc b/www/iridium/files/patch-base_debug_debugger__posix.cc new file mode 100644 index 000000000000..62317b93a5a1 --- /dev/null +++ b/www/iridium/files/patch-base_debug_debugger__posix.cc @@ -0,0 +1,56 @@ +--- base/debug/debugger_posix.cc.orig 2019-09-09 21:55:05 UTC ++++ base/debug/debugger_posix.cc +@@ -90,7 +90,7 @@ bool BeingDebugged() { + KERN_PROC, + KERN_PROC_PID, + getpid() +-#if defined(OS_OPENBSD) ++#if defined(OS_BSD) + , sizeof(struct kinfo_proc), + 0 + #endif +@@ -98,33 +98,35 @@ bool BeingDebugged() { + + // Caution: struct kinfo_proc is marked __APPLE_API_UNSTABLE. The source and + // binary interfaces may change. +- struct kinfo_proc info; +- size_t info_size = sizeof(info); ++ struct kinfo_proc *info; ++ size_t info_size; + +-#if defined(OS_OPENBSD) + if (sysctl(mib, base::size(mib), NULL, &info_size, NULL, 0) < 0) + return -1; + ++ info = (struct kinfo_proc *)malloc(info_size); + mib[5] = (info_size / sizeof(struct kinfo_proc)); +-#endif + +- int sysctl_result = sysctl(mib, base::size(mib), &info, &info_size, NULL, 0); ++ int sysctl_result = sysctl(mib, base::size(mib), info, &info_size, NULL, 0); + DCHECK_EQ(sysctl_result, 0); + if (sysctl_result != 0) { + is_set = true; + being_debugged = false; +- return being_debugged; ++ goto out; + } + + // This process is being debugged if the P_TRACED flag is set. + is_set = true; + #if defined(OS_FREEBSD) +- being_debugged = (info.ki_flag & P_TRACED) != 0; ++ being_debugged = (info->ki_flag & P_TRACED) != 0; + #elif defined(OS_BSD) +- being_debugged = (info.p_flag & P_TRACED) != 0; ++ being_debugged = (info->p_flag & P_TRACED) != 0; + #else +- being_debugged = (info.kp_proc.p_flag & P_TRACED) != 0; ++ being_debugged = (info->kp_proc.p_flag & P_TRACED) != 0; + #endif ++ ++out: ++ free(info); + return being_debugged; + } + diff --git a/www/iridium/files/patch-base_debug_elf__reader.cc b/www/iridium/files/patch-base_debug_elf__reader.cc new file mode 100644 index 000000000000..8eca61e3c66e --- /dev/null +++ b/www/iridium/files/patch-base_debug_elf__reader.cc @@ -0,0 +1,28 @@ +--- base/debug/elf_reader.cc.orig 2020-02-24 18:39:05 UTC ++++ base/debug/elf_reader.cc +@@ -35,7 +35,9 @@ using Nhdr = Elf64_Nhdr; + using Word = Elf64_Word; + #endif + ++#if !defined(OS_BSD) + constexpr char kGnuNoteName[] = "GNU"; ++#endif + + // Returns a pointer to the header of the ELF binary mapped into memory, + // or a null pointer if the header is invalid. +@@ -98,6 +100,7 @@ size_t ReadElfBuildId(const void* elf_mapped_base, + bool found = false; + while (current_section < section_end) { + current_note = reinterpret_cast<const Nhdr*>(current_section); ++#if !defined(OS_BSD) + if (current_note->n_type == NT_GNU_BUILD_ID) { + StringPiece note_name(current_section + sizeof(Nhdr), + current_note->n_namesz); +@@ -107,6 +110,7 @@ size_t ReadElfBuildId(const void* elf_mapped_base, + break; + } + } ++#endif + + size_t section_size = bits::Align(current_note->n_namesz, 4) + + bits::Align(current_note->n_descsz, 4) + diff --git a/www/iridium/files/patch-base_debug_proc__maps__linux.cc b/www/iridium/files/patch-base_debug_proc__maps__linux.cc new file mode 100644 index 000000000000..21024cb210a8 --- /dev/null +++ b/www/iridium/files/patch-base_debug_proc__maps__linux.cc @@ -0,0 +1,141 @@ +--- base/debug/proc_maps_linux.cc.orig 2020-03-16 18:39:41 UTC ++++ base/debug/proc_maps_linux.cc +@@ -12,7 +12,7 @@ + #include "base/strings/string_split.h" + #include "build/build_config.h" + +-#if defined(OS_LINUX) || defined(OS_ANDROID) ++#if defined(OS_LINUX) || defined(OS_BSD) || defined(OS_ANDROID) + #include <inttypes.h> + #endif + +@@ -28,6 +28,11 @@ + namespace base { + namespace debug { + ++#if defined(OS_BSD) ++const char kProcSelfMapsPath[] = "/proc/curproc/map"; ++#else ++const char kProcSelfMapsPath[] = "/proc/self/maps"; ++ + // Scans |proc_maps| starting from |pos| returning true if the gate VMA was + // found, otherwise returns false. + static bool ContainsGateVMA(std::string* proc_maps, size_t pos) { +@@ -43,15 +48,16 @@ static bool ContainsGateVMA(std::string* proc_maps, si + return false; + #endif + } ++#endif + + bool ReadProcMaps(std::string* proc_maps) { + // seq_file only writes out a page-sized amount on each call. Refer to header + // file for details. + const long kReadSize = sysconf(_SC_PAGESIZE); + +- base::ScopedFD fd(HANDLE_EINTR(open("/proc/self/maps", O_RDONLY))); ++ base::ScopedFD fd(HANDLE_EINTR(open(kProcSelfMapsPath, O_RDONLY))); + if (!fd.is_valid()) { +- DPLOG(ERROR) << "Couldn't open /proc/self/maps"; ++ DPLOG(ERROR) << "Couldn't open " << kProcSelfMapsPath; + return false; + } + proc_maps->clear(); +@@ -65,7 +71,7 @@ bool ReadProcMaps(std::string* proc_maps) { + + ssize_t bytes_read = HANDLE_EINTR(read(fd.get(), buffer, kReadSize)); + if (bytes_read < 0) { +- DPLOG(ERROR) << "Couldn't read /proc/self/maps"; ++ DPLOG(ERROR) << "Couldn't read " << kProcSelfMapsPath; + proc_maps->clear(); + return false; + } +@@ -76,6 +82,7 @@ bool ReadProcMaps(std::string* proc_maps) { + if (bytes_read == 0) + break; + ++#if !defined(OS_BSD) + // The gate VMA is handled as a special case after seq_file has finished + // iterating through all entries in the virtual memory table. + // +@@ -86,6 +93,7 @@ bool ReadProcMaps(std::string* proc_maps) { + // Avoid this by searching for the gate VMA and breaking early. + if (ContainsGateVMA(proc_maps, pos)) + break; ++#endif + } + + return true; +@@ -114,10 +122,32 @@ bool ParseProcMaps(const std::string& input, + MappedMemoryRegion region; + const char* line = lines[i].c_str(); + char permissions[5] = {'\0'}; // Ensure NUL-terminated string. ++ int path_index = 0; ++ ++#if defined(OS_BSD) ++ if (lines[i].empty()) ++ continue; ++ ++ ++ char cow; ++ ++ // Format: ++ // ++ // start end resident private_resident obj perms ref_count shadow_count flags cow needs_copy type fullpath cred ruid ++ // 0x200000 0x202000 2 6 0xfffff80005be9000 r-- 3 1 0x1000 COW NC vnode /bin/cat NCH -1 ++ // ++ if (sscanf(line, "%" SCNxPTR " %" SCNxPTR " %*ld %*ld %*llx %3c %*d %*d %*x %c%*s %*s %*s %n", ++ ®ion.start, ®ion.end, permissions, &cow, &path_index) < 4) { ++ DPLOG(WARNING) << "sscanf failed for line: " << line; ++ return false; ++ } ++ ++ const char* fullpath = line + path_index; ++ const char* cred = strchr(fullpath, ' '); ++#else + uint8_t dev_major = 0; + uint8_t dev_minor = 0; + long inode = 0; +- int path_index = 0; + + // Sample format from man 5 proc: + // +@@ -133,6 +163,7 @@ bool ParseProcMaps(const std::string& input, + DPLOG(WARNING) << "sscanf failed for line: " << line; + return false; + } ++#endif + + region.permissions = 0; + +@@ -151,14 +182,31 @@ bool ParseProcMaps(const std::string& input, + else if (permissions[2] != '-') + return false; + ++#if defined(OS_BSD) ++ if (cow == 'C') { ++ region.permissions |= MappedMemoryRegion::PRIVATE; ++ } else if (cow != 'N') { ++ DPLOG(WARNING) << "unknown value for COW in line " << line << ": " << cow; ++ return false; ++ } ++#else + if (permissions[3] == 'p') + region.permissions |= MappedMemoryRegion::PRIVATE; + else if (permissions[3] != 's' && permissions[3] != 'S') // Shared memory. + return false; ++#endif + + // Pushing then assigning saves us a string copy. + regions.push_back(region); ++#if defined(OS_BSD) ++ if (cred != nullptr) { ++ regions.back().path.assign(line + path_index, cred - fullpath); ++ } else { ++ regions.back().path.assign(line + path_index); ++ } ++#else + regions.back().path.assign(line + path_index); ++#endif + } + + regions_out->swap(regions); diff --git a/www/iridium/files/patch-base_debug_stack__trace.cc b/www/iridium/files/patch-base_debug_stack__trace.cc new file mode 100644 index 000000000000..8d2156f365ff --- /dev/null +++ b/www/iridium/files/patch-base_debug_stack__trace.cc @@ -0,0 +1,11 @@ +--- base/debug/stack_trace.cc.orig 2019-03-17 21:37:51 UTC ++++ base/debug/stack_trace.cc +@@ -14,7 +14,7 @@ + + #if BUILDFLAG(CAN_UNWIND_WITH_FRAME_POINTERS) + +-#if defined(OS_LINUX) || defined(OS_ANDROID) ++#if defined(OS_LINUX) || defined(OS_ANDROID) || defined(OS_BSD) + #include <pthread.h> + #include "base/process/process_handle.h" + #include "base/threading/platform_thread.h" diff --git a/www/iridium/files/patch-base_debug_stack__trace.h b/www/iridium/files/patch-base_debug_stack__trace.h new file mode 100644 index 000000000000..6b4e63dd1e32 --- /dev/null +++ b/www/iridium/files/patch-base_debug_stack__trace.h @@ -0,0 +1,10 @@ +--- base/debug/stack_trace.h.orig 2019-09-09 21:55:05 UTC ++++ base/debug/stack_trace.h +@@ -19,6 +19,7 @@ + #if !defined(OS_NACL) + #include <signal.h> + #endif ++#include <sys/stdint.h> + #include <unistd.h> + #endif + diff --git a/www/iridium/files/patch-base_debug_stack__trace__posix.cc b/www/iridium/files/patch-base_debug_stack__trace__posix.cc new file mode 100644 index 000000000000..f3b967c844e2 --- /dev/null +++ b/www/iridium/files/patch-base_debug_stack__trace__posix.cc @@ -0,0 +1,23 @@ +--- base/debug/stack_trace_posix.cc.orig 2020-03-16 18:39:41 UTC ++++ base/debug/stack_trace_posix.cc +@@ -35,7 +35,7 @@ + #include <AvailabilityMacros.h> + #endif + +-#if defined(OS_LINUX) ++#if defined(OS_LINUX) || defined(OS_BSD) + #include "base/debug/proc_maps_linux.h" + #endif + +@@ -697,7 +697,11 @@ class SandboxSymbolizeHelper { + // Skip regions with empty file names. + continue; + } ++#if defined(OS_BSD) ++ if (region.path[0] == '-') { ++#else + if (region.path[0] == '[') { ++#endif + // Skip pseudo-paths, like [stack], [vdso], [heap], etc ... + continue; + } diff --git a/www/iridium/files/patch-base_debug_stack__trace__unittest.cc b/www/iridium/files/patch-base_debug_stack__trace__unittest.cc new file mode 100644 index 000000000000..933a8e8ce401 --- /dev/null +++ b/www/iridium/files/patch-base_debug_stack__trace__unittest.cc @@ -0,0 +1,31 @@ +--- base/debug/stack_trace_unittest.cc.orig 2020-03-23 14:01:09 UTC ++++ base/debug/stack_trace_unittest.cc +@@ -86,6 +86,7 @@ TEST_F(StackTraceTest, OutputToStream) { + std::string::npos) + << "Unable to resolve symbols."; + ++#if !defined(OS_BSD) + // Expect a demangled symbol. + // Note that Windows Release builds omit the function parameters from the + // demangled stack output, otherwise this could be "testing::Test::Run()". +@@ -103,9 +104,10 @@ TEST_F(StackTraceTest, OutputToStream) { + EXPECT_TRUE(backtrace_message.find(__func__) != std::string::npos) + << "Expected to find " << __func__ << " in backtrace:\n" + << backtrace_message; ++#endif + } + +-#if !defined(OFFICIAL_BUILD) && !defined(NO_UNWIND_TABLES) ++#if !defined(OFFICIAL_BUILD) && !defined(NO_UNWIND_TABLES) && !defined(OS_BSD) + // Disabled in Official builds, where Link-Time Optimization can result in two + // or fewer stack frames being available, causing the test to fail. + TEST_F(StackTraceTest, TruncatedTrace) { +@@ -119,7 +121,7 @@ TEST_F(StackTraceTest, TruncatedTrace) { + truncated.Addresses(&count); + EXPECT_EQ(2u, count); + } +-#endif // !defined(OFFICIAL_BUILD) && !defined(NO_UNWIND_TABLES) ++#endif // !defined(OFFICIAL_BUILD) && !defined(NO_UNWIND_TABLES) && !defined(OS_BSD) + + // The test is used for manual testing, e.g., to see the raw output. + TEST_F(StackTraceTest, DebugOutputToStream) { diff --git a/www/iridium/files/patch-base_files_file__path__unittest.cc b/www/iridium/files/patch-base_files_file__path__unittest.cc new file mode 100644 index 000000000000..26521d022831 --- /dev/null +++ b/www/iridium/files/patch-base_files_file__path__unittest.cc @@ -0,0 +1,11 @@ +--- base/files/file_path_unittest.cc.orig 2020-03-16 18:39:41 UTC ++++ base/files/file_path_unittest.cc +@@ -1149,7 +1149,7 @@ TEST_F(FilePathTest, FromUTF8Unsafe_And_AsUTF8Unsafe) + "\xEF\xBC\xA1\xEF\xBC\xA2\xEF\xBC\xA3.txt" }, + }; + +-#if !defined(SYSTEM_NATIVE_UTF8) && defined(OS_LINUX) ++#if !defined(SYSTEM_NATIVE_UTF8) && (defined(OS_LINUX) || defined(OS_BSD)) + ScopedLocale locale("en_US.UTF-8"); + #endif + diff --git a/www/iridium/files/patch-base_files_file__path__watcher.cc b/www/iridium/files/patch-base_files_file__path__watcher.cc new file mode 100644 index 000000000000..87abcb7fbda1 --- /dev/null +++ b/www/iridium/files/patch-base_files_file__path__watcher.cc @@ -0,0 +1,15 @@ +--- base/files/file_path_watcher.cc.orig 2020-03-16 18:39:41 UTC ++++ base/files/file_path_watcher.cc +@@ -20,10 +20,10 @@ FilePathWatcher::~FilePathWatcher() { + // static + bool FilePathWatcher::RecursiveWatchAvailable() { + #if (defined(OS_MACOSX) && !defined(OS_IOS)) || defined(OS_WIN) || \ +- defined(OS_LINUX) || defined(OS_ANDROID) || defined(OS_AIX) ++ (defined(OS_LINUX) && !defined(OS_BSD)) || defined(OS_ANDROID) || defined(OS_AIX) + return true; + #else +- // FSEvents isn't available on iOS. ++ // FSEvents isn't available on iOS and the kqueue watcher. + return false; + #endif + } diff --git a/www/iridium/files/patch-base_files_file__path__watcher__kqueue.h b/www/iridium/files/patch-base_files_file__path__watcher__kqueue.h new file mode 100644 index 000000000000..d5712de7a389 --- /dev/null +++ b/www/iridium/files/patch-base_files_file__path__watcher__kqueue.h @@ -0,0 +1,13 @@ +--- base/files/file_path_watcher_kqueue.h.orig 2019-03-11 22:00:51 UTC ++++ base/files/file_path_watcher_kqueue.h +@@ -5,6 +5,10 @@ + #ifndef BASE_FILES_FILE_PATH_WATCHER_KQUEUE_H_ + #define BASE_FILES_FILE_PATH_WATCHER_KQUEUE_H_ + ++#ifdef __FreeBSD__ ++#include <sys/stdint.h> ++#include <sys/types.h> ++#endif + #include <sys/event.h> + + #include <memory> diff --git a/www/iridium/files/patch-base_files_file__path__watcher__stub.cc b/www/iridium/files/patch-base_files_file__path__watcher__stub.cc new file mode 100644 index 000000000000..fc76cd1b16b3 --- /dev/null +++ b/www/iridium/files/patch-base_files_file__path__watcher__stub.cc @@ -0,0 +1,53 @@ +--- base/files/file_path_watcher_stub.cc.orig 2020-03-16 18:39:41 UTC ++++ base/files/file_path_watcher_stub.cc +@@ -1,14 +1,15 @@ +-// Copyright (c) 2012 The Chromium Authors. All rights reserved. ++// Copyright 2014 The Chromium Authors. All rights reserved. + // Use of this source code is governed by a BSD-style license that can be + // found in the LICENSE file. + +-// This file exists for Unix systems which don't have the inotify headers, and +-// thus cannot build file_watcher_inotify.cc + +-#include "base/files/file_path_watcher.h" ++#include <memory> + ++#include "base/files/file_path_watcher.h" ++#include "base/files/file_path_watcher_kqueue.h" + #include "base/macros.h" + #include "base/memory/ptr_util.h" ++#include "build/build_config.h" + + namespace base { + +@@ -22,12 +23,29 @@ class FilePathWatcherImpl : public FilePathWatcher::Pl + bool Watch(const FilePath& path, + bool recursive, + const FilePathWatcher::Callback& callback) override { ++#if defined(OS_BSD) ++ DCHECK(!impl_.get()); ++ if (recursive) { ++ return false; ++ } else { ++ impl_ = std::make_unique<FilePathWatcherKQueue>(); ++ } ++ DCHECK(impl_.get()); ++ return impl_->Watch(path, recursive, callback); ++#else + return false; ++#endif + } + +- void Cancel() override {} ++ void Cancel() override { ++ if (impl_.get()) ++ impl_->Cancel(); ++ set_cancelled(); ++ } + + private: ++ std::unique_ptr<PlatformDelegate> impl_; ++ + DISALLOW_COPY_AND_ASSIGN(FilePathWatcherImpl); + }; + diff --git a/www/iridium/files/patch-base_files_file__path__watcher__unittest.cc b/www/iridium/files/patch-base_files_file__path__watcher__unittest.cc new file mode 100644 index 000000000000..5e7e385e5e23 --- /dev/null +++ b/www/iridium/files/patch-base_files_file__path__watcher__unittest.cc @@ -0,0 +1,41 @@ +--- base/files/file_path_watcher_unittest.cc.orig 2020-03-16 18:39:41 UTC ++++ base/files/file_path_watcher_unittest.cc +@@ -435,7 +435,7 @@ TEST_F(FilePathWatcherTest, WatchDirectory) { + VLOG(1) << "Waiting for file1 creation"; + ASSERT_TRUE(WaitForEvents()); + +-#if !defined(OS_MACOSX) ++#if !defined(OS_MACOSX) && !defined(OS_BSD) + // Mac implementation does not detect files modified in a directory. + ASSERT_TRUE(WriteFile(file1, "content v2")); + VLOG(1) << "Waiting for file1 modification"; +@@ -808,7 +808,7 @@ enum Permission { + Execute + }; + +-#if defined(OS_MACOSX) ++#if defined(OS_MACOSX) || defined(OS_BSD) + bool ChangeFilePermissions(const FilePath& path, Permission perm, bool allow) { + struct stat stat_buf; + +@@ -837,9 +837,9 @@ bool ChangeFilePermissions(const FilePath& path, Permi + } + return chmod(path.value().c_str(), stat_buf.st_mode) == 0; + } +-#endif // defined(OS_MACOSX) ++#endif // defined(OS_MACOSX) || defined(OS_BSD) + +-#if defined(OS_MACOSX) ++#if defined(OS_MACOSX) || defined(OS_BSD) + // Linux implementation of FilePathWatcher doesn't catch attribute changes. + // http://crbug.com/78043 + // Windows implementation of FilePathWatcher catches attribute changes that +@@ -874,7 +874,7 @@ TEST_F(FilePathWatcherTest, DirAttributesChanged) { + ASSERT_TRUE(ChangeFilePermissions(test_dir1, Execute, true)); + } + +-#endif // OS_MACOSX ++#endif // OS_MACOSX || OS_BSD + } // namespace + + } // namespace base diff --git a/www/iridium/files/patch-base_files_file__util.h b/www/iridium/files/patch-base_files_file__util.h new file mode 100644 index 000000000000..65171a867e06 --- /dev/null +++ b/www/iridium/files/patch-base_files_file__util.h @@ -0,0 +1,11 @@ +--- base/files/file_util.h.orig 2020-03-16 18:39:41 UTC ++++ base/files/file_util.h +@@ -519,7 +519,7 @@ BASE_EXPORT bool VerifyPathControlledByAdmin(const bas + // the directory |path|, in the number of FilePath::CharType, or -1 on failure. + BASE_EXPORT int GetMaximumPathComponentLength(const base::FilePath& path); + +-#if defined(OS_LINUX) || defined(OS_AIX) ++#if defined(OS_LINUX) || defined(OS_AIX) || defined(OS_BSD) + // Broad categories of file systems as returned by statfs() on Linux. + enum FileSystemType { + FILE_SYSTEM_UNKNOWN, // statfs failed. diff --git a/www/iridium/files/patch-base_files_file__util__posix.cc b/www/iridium/files/patch-base_files_file__util__posix.cc new file mode 100644 index 000000000000..4342a618c454 --- /dev/null +++ b/www/iridium/files/patch-base_files_file__util__posix.cc @@ -0,0 +1,11 @@ +--- base/files/file_util_posix.cc.orig 2020-02-03 21:52:37 UTC ++++ base/files/file_util_posix.cc +@@ -411,7 +411,7 @@ bool CreatePipe(ScopedFD* read_fd, ScopedFD* write_fd, + } + + bool CreateLocalNonBlockingPipe(int fds[2]) { +-#if defined(OS_LINUX) ++#if defined(OS_LINUX) || defined(OS_BSD) + return pipe2(fds, O_CLOEXEC | O_NONBLOCK) == 0; + #else + int raw_fds[2]; diff --git a/www/iridium/files/patch-base_files_file__util__unittest.cc b/www/iridium/files/patch-base_files_file__util__unittest.cc new file mode 100644 index 000000000000..5ddff833acb1 --- /dev/null +++ b/www/iridium/files/patch-base_files_file__util__unittest.cc @@ -0,0 +1,20 @@ +--- base/files/file_util_unittest.cc.orig 2020-03-23 13:34:59 UTC ++++ base/files/file_util_unittest.cc +@@ -3434,7 +3434,7 @@ TEST_F(FileUtilTest, ReadFileToStringWithNamedPipe) { + } + #endif // defined(OS_WIN) + +-#if defined(OS_POSIX) && !defined(OS_MACOSX) ++#if defined(OS_POSIX) && !defined(OS_MACOSX) && !defined(OS_BSD) + TEST_F(FileUtilTest, ReadFileToStringWithProcFileSystem) { + FilePath file_path("/proc/cpuinfo"); + std::string data = "temp"; +@@ -3452,7 +3452,7 @@ TEST_F(FileUtilTest, ReadFileToStringWithProcFileSyste + + EXPECT_FALSE(ReadFileToStringWithMaxSize(file_path, nullptr, 4)); + } +-#endif // defined(OS_POSIX) && !defined(OS_MACOSX) ++#endif // defined(OS_POSIX) && !defined(OS_MACOSX) && !defined(OS_BSD) + + TEST_F(FileUtilTest, ReadFileToStringWithLargeFile) { + std::string data(kLargeFileSize, 'c'); diff --git a/www/iridium/files/patch-base_files_scoped__file.cc b/www/iridium/files/patch-base_files_scoped__file.cc new file mode 100644 index 000000000000..84ba47ff6aeb --- /dev/null +++ b/www/iridium/files/patch-base_files_scoped__file.cc @@ -0,0 +1,11 @@ +--- base/files/scoped_file.cc.orig 2019-07-29 18:17:43 UTC ++++ base/files/scoped_file.cc +@@ -30,7 +30,7 @@ void ScopedFDCloseTraits::Free(int fd) { + // a single open directory would bypass the entire security model. + int ret = IGNORE_EINTR(close(fd)); + +-#if defined(OS_LINUX) || defined(OS_MACOSX) || defined(OS_FUCHSIA) || \ ++#if defined(OS_LINUX) || defined(OS_MACOSX) || defined(OS_FUCHSIA) || defined(OS_BSD) || \ + defined(OS_ANDROID) + // NB: Some file descriptors can return errors from close() e.g. network + // filesystems such as NFS and Linux input devices. On Linux, macOS, and diff --git a/www/iridium/files/patch-base_i18n_icu__util.cc b/www/iridium/files/patch-base_i18n_icu__util.cc new file mode 100644 index 000000000000..34f2453a25de --- /dev/null +++ b/www/iridium/files/patch-base_i18n_icu__util.cc @@ -0,0 +1,20 @@ +--- base/i18n/icu_util.cc.orig 2020-03-16 18:40:27 UTC ++++ base/i18n/icu_util.cc +@@ -46,7 +46,7 @@ + #endif + + #if defined(OS_ANDROID) || defined(OS_FUCHSIA) || \ +- (defined(OS_LINUX) && !BUILDFLAG(IS_CHROMECAST)) ++ (defined(OS_LINUX) && !BUILDFLAG(IS_CHROMECAST)) || defined(OS_BSD) + #include "third_party/icu/source/i18n/unicode/timezone.h" + #endif + +@@ -341,7 +341,7 @@ void InitializeIcuTimeZone() { + fuchsia::IntlProfileWatcher::GetPrimaryTimeZoneIdForIcuInitialization(); + icu::TimeZone::adoptDefault( + icu::TimeZone::createTimeZone(icu::UnicodeString::fromUTF8(zone_id))); +-#elif defined(OS_LINUX) && !BUILDFLAG(IS_CHROMECAST) ++#elif (defined(OS_LINUX) && !BUILDFLAG(IS_CHROMECAST)) || defined(OS_BSD) + // To respond to the timezone change properly, the default timezone + // cache in ICU has to be populated on starting up. + // See TimeZoneMonitorLinux::NotifyClientsFromImpl(). diff --git a/www/iridium/files/patch-base_linux__util.cc b/www/iridium/files/patch-base_linux__util.cc new file mode 100644 index 000000000000..216208c37181 --- /dev/null +++ b/www/iridium/files/patch-base_linux__util.cc @@ -0,0 +1,20 @@ +--- base/linux_util.cc.orig 2019-12-16 21:50:40 UTC ++++ base/linux_util.cc +@@ -144,6 +144,8 @@ char g_linux_distro[kDistroSize] = + "CrOS"; + #elif defined(OS_ANDROID) + "Android"; ++#elif defined(OS_BSD) ++ "BSD"; + #else // if defined(OS_LINUX) + "Unknown"; + #endif +@@ -164,7 +166,7 @@ BASE_EXPORT std::string GetKeyValueFromOSReleaseFileFo + } + + std::string GetLinuxDistro() { +-#if defined(OS_CHROMEOS) || defined(OS_ANDROID) ++#if defined(OS_CHROMEOS) || defined(OS_ANDROID) || defined(OS_BSD) + return g_linux_distro; + #elif defined(OS_LINUX) + LinuxDistroHelper* distro_state_singleton = LinuxDistroHelper::GetInstance(); diff --git a/www/iridium/files/patch-base_logging__unittest.cc b/www/iridium/files/patch-base_logging__unittest.cc new file mode 100644 index 000000000000..2e9496b55220 --- /dev/null +++ b/www/iridium/files/patch-base_logging__unittest.cc @@ -0,0 +1,11 @@ +--- base/logging_unittest.cc.orig 2019-12-16 21:51:21 UTC ++++ base/logging_unittest.cc +@@ -591,7 +591,7 @@ void CheckCrashTestSighandler(int, siginfo_t* info, vo + // need the arch-specific boilerplate below, which is inspired by breakpad. + // At the same time, on OSX, ucontext.h is deprecated but si_addr works fine. + uintptr_t crash_addr = 0; +-#if defined(OS_MACOSX) ++#if defined(OS_MACOSX) || defined(OS_BSD) + crash_addr = reinterpret_cast<uintptr_t>(info->si_addr); + #else // OS_POSIX && !OS_MACOSX + ucontext_t* context = reinterpret_cast<ucontext_t*>(context_ptr); diff --git a/www/iridium/files/patch-base_memory_discardable__memory.cc b/www/iridium/files/patch-base_memory_discardable__memory.cc new file mode 100644 index 000000000000..b50f404a2764 --- /dev/null +++ b/www/iridium/files/patch-base_memory_discardable__memory.cc @@ -0,0 +1,63 @@ +--- base/memory/discardable_memory.cc.orig 2020-02-07 10:23:12 UTC ++++ base/memory/discardable_memory.cc +@@ -23,7 +23,7 @@ const base::Feature kMadvFreeDiscardableMemory{ + "MadvFreeDiscardableMemory", base::FEATURE_DISABLED_BY_DEFAULT}; + #endif // defined(OS_POSIX) + +-#if defined(OS_ANDROID) || defined(OS_LINUX) ++#if defined(OS_ANDROID) || defined(OS_LINUX) || defined(OS_BSD) + const base::Feature kDiscardableMemoryBackingTrial{ + "DiscardableMemoryBackingTrial", base::FEATURE_DISABLED_BY_DEFAULT}; + +@@ -41,13 +41,13 @@ const base::FeatureParam<DiscardableMemoryTrialGroup> + DiscardableMemoryTrialGroup::kEmulatedSharedMemory, + &kDiscardableMemoryBackingParamOptions}; + +-#endif // defined(OS_ANDROID) || defined(OS_LINUX) ++#endif // defined(OS_ANDROID) || defined(OS_LINUX) || defined(OS_BSD) + + } // namespace features + + namespace { + +-#if defined(OS_ANDROID) || defined(OS_LINUX) ++#if defined(OS_ANDROID) || defined(OS_LINUX) || defined(OS_BSD) + + DiscardableMemoryBacking GetBackingForFieldTrial() { + DiscardableMemoryTrialGroup trial_group = +@@ -61,11 +61,11 @@ DiscardableMemoryBacking GetBackingForFieldTrial() { + } + NOTREACHED(); + } +-#endif // defined(OS_ANDROID) || defined(OS_LINUX) ++#endif // defined(OS_ANDROID) || defined(OS_LINUX) || defined(OS_BSD) + + } // namespace + +-#if defined(OS_ANDROID) || defined(OS_LINUX) ++#if defined(OS_ANDROID) || defined(OS_LINUX) || defined(OS_BSD) + + // Probe capabilities of this device to determine whether we should participate + // in the discardable memory backing trial. +@@ -87,18 +87,18 @@ DiscardableMemoryTrialGroup GetDiscardableMemoryBackin + DCHECK(DiscardableMemoryBackingFieldTrialIsEnabled()); + return features::kDiscardableMemoryBackingParam.Get(); + } +-#endif // defined(OS_ANDROID) || defined(OS_LINUX) ++#endif // defined(OS_ANDROID) || defined(OS_LINUX) || defined(OS_BSD) + + DiscardableMemory::DiscardableMemory() = default; + + DiscardableMemory::~DiscardableMemory() = default; + + DiscardableMemoryBacking GetDiscardableMemoryBacking() { +-#if defined(OS_ANDROID) || defined(OS_LINUX) ++#if defined(OS_ANDROID) || defined(OS_LINUX) || defined(OS_BSD) + if (DiscardableMemoryBackingFieldTrialIsEnabled()) { + return GetBackingForFieldTrial(); + } +-#endif // defined(OS_ANDROID) || defined(OS_LINUX) ++#endif // defined(OS_ANDROID) || defined(OS_LINUX) || defined(OS_BSD) + + #if defined(OS_ANDROID) + if (ashmem_device_is_supported()) diff --git a/www/iridium/files/patch-base_memory_discardable__memory__internal.h b/www/iridium/files/patch-base_memory_discardable__memory__internal.h new file mode 100644 index 000000000000..c8225e74d049 --- /dev/null +++ b/www/iridium/files/patch-base_memory_discardable__memory__internal.h @@ -0,0 +1,19 @@ +--- base/memory/discardable_memory_internal.h.orig 2020-02-07 10:22:39 UTC ++++ base/memory/discardable_memory_internal.h +@@ -10,7 +10,7 @@ + #include "base/metrics/field_trial_params.h" + #include "build/build_config.h" + +-#if defined(OS_ANDROID) || defined(OS_LINUX) ++#if defined(OS_ANDROID) || defined(OS_LINUX) || defined(OS_BSD) + + namespace base { + +@@ -47,6 +47,6 @@ GetDiscardableMemoryBackingFieldTrialGroup(); + + } // namespace base + +-#endif // defined(OS_LINUX) || defined(OS_ANDROID) ++#endif // defined(OS_LINUX) || defined(OS_ANDROID) || defined(OS_BSD) + + #endif // BASE_MEMORY_DISCARDABLE_MEMORY_INTERNAL_H_ diff --git a/www/iridium/files/patch-base_memory_madv__free__discardable__memory__posix.cc b/www/iridium/files/patch-base_memory_madv__free__discardable__memory__posix.cc new file mode 100644 index 000000000000..5368440e775b --- /dev/null +++ b/www/iridium/files/patch-base_memory_madv__free__discardable__memory__posix.cc @@ -0,0 +1,11 @@ +--- base/memory/madv_free_discardable_memory_posix.cc.orig 2020-03-16 18:39:41 UTC ++++ base/memory/madv_free_discardable_memory_posix.cc +@@ -282,7 +282,7 @@ void MadvFreeDiscardableMemoryPosix::SetKeepMemoryForT + + bool MadvFreeDiscardableMemoryPosix::IsResident() const { + DFAKE_SCOPED_RECURSIVE_LOCK(thread_collision_warner_); +-#ifdef OS_MACOSX ++#if defined(OS_MACOSX) || defined(OS_BSD) + std::vector<char> vec(allocated_pages_); + #else + std::vector<unsigned char> vec(allocated_pages_); diff --git a/www/iridium/files/patch-base_memory_platform__shared__memory__region.h b/www/iridium/files/patch-base_memory_platform__shared__memory__region.h new file mode 100644 index 000000000000..477b8029c4a6 --- /dev/null +++ b/www/iridium/files/patch-base_memory_platform__shared__memory__region.h @@ -0,0 +1,29 @@ +--- base/memory/platform_shared_memory_region.h.orig 2020-02-03 21:52:37 UTC ++++ base/memory/platform_shared_memory_region.h +@@ -27,7 +27,7 @@ + #include "base/files/scoped_file.h" + #endif + +-#if defined(OS_LINUX) ++#if defined(OS_LINUX) || defined(OS_BSD) + namespace content { + class SandboxIPCHandler; + } +@@ -121,7 +121,7 @@ class BASE_EXPORT PlatformSharedMemoryRegion { + kMaxValue = GET_SHMEM_TEMP_DIR_FAILURE + }; + +-#if defined(OS_LINUX) ++#if defined(OS_LINUX) || defined(OS_BSD) + // Structure to limit access to executable region creation. + struct ExecutableRegion { + private: +@@ -266,7 +266,7 @@ class BASE_EXPORT PlatformSharedMemoryRegion { + CheckPlatformHandlePermissionsCorrespondToMode); + static PlatformSharedMemoryRegion Create(Mode mode, + size_t size +-#if defined(OS_LINUX) ++#if defined(OS_LINUX) || defined(OS_BSD) + , + bool executable = false + #endif diff --git a/www/iridium/files/patch-base_memory_platform__shared__memory__region__posix.cc b/www/iridium/files/patch-base_memory_platform__shared__memory__region__posix.cc new file mode 100644 index 000000000000..c5f57c29c6bc --- /dev/null +++ b/www/iridium/files/patch-base_memory_platform__shared__memory__region__posix.cc @@ -0,0 +1,38 @@ +--- base/memory/platform_shared_memory_region_posix.cc.orig 2020-02-03 21:52:37 UTC ++++ base/memory/platform_shared_memory_region_posix.cc +@@ -75,7 +75,7 @@ FDPair ScopedFDPair::get() const { + return {fd.get(), readonly_fd.get()}; + } + +-#if defined(OS_LINUX) ++#if defined(OS_LINUX) || defined(OS_BSD) + // static + ScopedFD PlatformSharedMemoryRegion::ExecutableRegion::CreateFD(size_t size) { + PlatformSharedMemoryRegion region = +@@ -84,7 +84,7 @@ ScopedFD PlatformSharedMemoryRegion::ExecutableRegion: + return region.PassPlatformHandle().fd; + return ScopedFD(); + } +-#endif // defined(OS_LINUX) ++#endif // defined(OS_LINUX) || defined(OS_BSD) + + // static + PlatformSharedMemoryRegion PlatformSharedMemoryRegion::Take( +@@ -209,7 +209,7 @@ bool PlatformSharedMemoryRegion::MapAtInternal(off_t o + // static + PlatformSharedMemoryRegion PlatformSharedMemoryRegion::Create(Mode mode, + size_t size +-#if defined(OS_LINUX) ++#if defined(OS_LINUX) || defined(OS_BSD) + , + bool executable + #endif +@@ -240,7 +240,7 @@ PlatformSharedMemoryRegion PlatformSharedMemoryRegion: + // flag. + FilePath directory; + if (!GetShmemTempDir( +-#if defined(OS_LINUX) ++#if defined(OS_LINUX) || defined(OS_BSD) + executable, + #else + false /* executable */, diff --git a/www/iridium/files/patch-base_memory_shared__memory__region__unittest.cc b/www/iridium/files/patch-base_memory_shared__memory__region__unittest.cc new file mode 100644 index 000000000000..b2525b4381ee --- /dev/null +++ b/www/iridium/files/patch-base_memory_shared__memory__region__unittest.cc @@ -0,0 +1,16 @@ +--- base/memory/shared_memory_region_unittest.cc.orig 2020-03-23 16:31:23 UTC ++++ base/memory/shared_memory_region_unittest.cc +@@ -188,10 +188,13 @@ TYPED_TEST(SharedMemoryRegionTest, MapAtNotAlignedOffs + std::tie(region, rw_mapping) = CreateMappedRegion<TypeParam>(kDataSize); + ASSERT_TRUE(region.IsValid()); + ASSERT_TRUE(rw_mapping.IsValid()); ++#if !defined(OS_BSD) ++ // On FreeBSD, mmap() does not require an aligned offset + off_t offset = kDataSize / 2; + typename TypeParam::MappingType mapping = + region.MapAt(offset, kDataSize - offset); + EXPECT_FALSE(mapping.IsValid()); ++#endif + } + + TYPED_TEST(SharedMemoryRegionTest, MapZeroBytesFails) { diff --git a/www/iridium/files/patch-base_native__library__posix.cc b/www/iridium/files/patch-base_native__library__posix.cc new file mode 100644 index 000000000000..ba6a16756b10 --- /dev/null +++ b/www/iridium/files/patch-base_native__library__posix.cc @@ -0,0 +1,11 @@ +--- base/native_library_posix.cc.orig 2019-03-11 22:00:51 UTC ++++ base/native_library_posix.cc +@@ -29,7 +29,7 @@ NativeLibrary LoadNativeLibraryWithOptions(const FileP + // http://crbug.com/17943, http://crbug.com/17557, http://crbug.com/36892, + // and http://crbug.com/40794. + int flags = RTLD_LAZY; +-#if defined(OS_ANDROID) || !defined(RTLD_DEEPBIND) ++#if defined(OS_ANDROID) || !defined(RTLD_DEEPBIND) || defined(OS_BSD) + // Certain platforms don't define RTLD_DEEPBIND. Android dlopen() requires + // further investigation, as it might vary across versions. Crash here to + // warn developers that they're trying to rely on uncertain behavior. diff --git a/www/iridium/files/patch-base_native__library__unittest.cc b/www/iridium/files/patch-base_native__library__unittest.cc new file mode 100644 index 000000000000..f76c5f8fd986 --- /dev/null +++ b/www/iridium/files/patch-base_native__library__unittest.cc @@ -0,0 +1,11 @@ +--- base/native_library_unittest.cc.orig 2019-03-11 22:00:51 UTC ++++ base/native_library_unittest.cc +@@ -120,7 +120,7 @@ TEST(NativeLibraryTest, LoadLibrary) { + // Android dlopen() requires further investigation, as it might vary across + // versions with respect to symbol resolution scope. + // TSan and MSan error out on RTLD_DEEPBIND, https://crbug.com/705255 +-#if !defined(OS_ANDROID) && !defined(THREAD_SANITIZER) && \ ++#if !defined(OS_ANDROID) && !defined(OS_BSD) && !defined(THREAD_SANITIZER) && \ + !defined(MEMORY_SANITIZER) + + // Verifies that the |prefer_own_symbols| option satisfies its guarantee that diff --git a/www/iridium/files/patch-base_numerics_safe__math__shared__impl.h b/www/iridium/files/patch-base_numerics_safe__math__shared__impl.h new file mode 100644 index 000000000000..c088ad9451d0 --- /dev/null +++ b/www/iridium/files/patch-base_numerics_safe__math__shared__impl.h @@ -0,0 +1,12 @@ +--- base/numerics/safe_math_shared_impl.h.orig 2019-09-09 21:55:05 UTC ++++ base/numerics/safe_math_shared_impl.h +@@ -23,8 +23,7 @@ + // Where available use builtin math overflow support on Clang and GCC. + #elif !defined(__native_client__) && \ + ((defined(__clang__) && \ +- ((__clang_major__ > 3) || \ +- (__clang_major__ == 3 && __clang_minor__ >= 4))) || \ ++ (__clang_major__ > 6)) || \ + (defined(__GNUC__) && __GNUC__ >= 5)) + #include "base/numerics/safe_math_clang_gcc_impl.h" + #define BASE_HAS_OPTIMIZED_SAFE_MATH (1) diff --git a/www/iridium/files/patch-base_path__service__unittest.cc b/www/iridium/files/patch-base_path__service__unittest.cc new file mode 100644 index 000000000000..20ffac278abc --- /dev/null +++ b/www/iridium/files/patch-base_path__service__unittest.cc @@ -0,0 +1,11 @@ +--- base/path_service_unittest.cc.orig 2020-03-23 15:23:42 UTC ++++ base/path_service_unittest.cc +@@ -36,7 +36,7 @@ bool ReturnsValidPath(int dir_type) { + if (dir_type == DIR_CACHE) + check_path_exists = false; + #endif +-#if defined(OS_LINUX) ++#if defined(OS_LINUX) || defined(OS_BSD) + // On the linux try-bots: a path is returned (e.g. /home/chrome-bot/Desktop), + // but it doesn't exist. + if (dir_type == DIR_USER_DESKTOP) diff --git a/www/iridium/files/patch-base_posix_can__lower__nice__to.cc b/www/iridium/files/patch-base_posix_can__lower__nice__to.cc new file mode 100644 index 000000000000..3b13c89d4813 --- /dev/null +++ b/www/iridium/files/patch-base_posix_can__lower__nice__to.cc @@ -0,0 +1,20 @@ +--- base/posix/can_lower_nice_to.cc.orig 2019-03-11 22:00:51 UTC ++++ base/posix/can_lower_nice_to.cc +@@ -31,6 +31,9 @@ bool CanLowerNiceTo(int nice_value) { + if (geteuid() == 0) + return true; + ++#if defined(OS_BSD) ++ return false; ++#else + // 2. Skip checking the CAP_SYS_NICE permission because it would require + // libcap.so. + +@@ -54,6 +57,7 @@ bool CanLowerNiceTo(int nice_value) { + // And lowering niceness to |nice_value| is allowed if it is greater than or + // equal to the limit: + return nice_value >= lowest_nice_allowed; ++#endif + } + + } // namespace internal diff --git a/www/iridium/files/patch-base_posix_unix__domain__socket.cc b/www/iridium/files/patch-base_posix_unix__domain__socket.cc new file mode 100644 index 000000000000..8820cb063006 --- /dev/null +++ b/www/iridium/files/patch-base_posix_unix__domain__socket.cc @@ -0,0 +1,49 @@ +--- base/posix/unix_domain_socket.cc.orig 2019-03-11 22:00:51 UTC ++++ base/posix/unix_domain_socket.cc +@@ -5,7 +5,10 @@ + #include "base/posix/unix_domain_socket.h" + + #include <errno.h> ++#include <sys/param.h> + #include <sys/socket.h> ++#include <sys/types.h> ++#include <sys/ucred.h> + #if !defined(OS_NACL_NONSFI) + #include <sys/un.h> + #endif +@@ -28,6 +31,14 @@ namespace base { + + const size_t UnixDomainSocket::kMaxFileDescriptors = 16; + ++#ifndef SCM_CREDENTIALS ++# define SCM_CREDENTIALS 0x9001 ++#endif ++ ++#ifndef SO_PASSCRED ++# define SO_PASSCRED 0x9002 ++#endif ++ + #if !defined(OS_NACL_NONSFI) + bool CreateSocketPair(ScopedFD* one, ScopedFD* two) { + int raw_socks[2]; +@@ -150,7 +161,7 @@ ssize_t UnixDomainSocket::RecvMsgWithFlags(int fd, + #if !defined(OS_NACL_NONSFI) && !defined(OS_MACOSX) + // The PNaCl toolchain for Non-SFI binary build and macOS do not support + // ucred. macOS supports xucred, but this structure is insufficient. +- + CMSG_SPACE(sizeof(struct ucred)) ++ + CMSG_SPACE(sizeof(struct cmsgcred)) + #endif // OS_NACL_NONSFI or OS_MACOSX + ; + char control_buffer[kControlBufferSize]; +@@ -180,9 +191,9 @@ ssize_t UnixDomainSocket::RecvMsgWithFlags(int fd, + // SCM_CREDENTIALS. + if (cmsg->cmsg_level == SOL_SOCKET && + cmsg->cmsg_type == SCM_CREDENTIALS) { +- DCHECK_EQ(payload_len, sizeof(struct ucred)); ++ DCHECK_EQ(payload_len, sizeof(struct cmsgcred)); + DCHECK_EQ(pid, -1); +- pid = reinterpret_cast<struct ucred*>(CMSG_DATA(cmsg))->pid; ++ pid = getpid(); + } + #endif // !defined(OS_NACL_NONSFI) && !defined(OS_MACOSX) + } diff --git a/www/iridium/files/patch-base_posix_unix__domain__socket__unittest.cc b/www/iridium/files/patch-base_posix_unix__domain__socket__unittest.cc new file mode 100644 index 000000000000..0336334a6583 --- /dev/null +++ b/www/iridium/files/patch-base_posix_unix__domain__socket__unittest.cc @@ -0,0 +1,12 @@ +--- base/posix/unix_domain_socket_unittest.cc.orig 2019-03-11 22:00:51 UTC ++++ base/posix/unix_domain_socket_unittest.cc +@@ -8,6 +8,9 @@ + #include <stdint.h> + #include <sys/socket.h> + #include <sys/types.h> ++#if defined(OS_BSD) ++#include <signal.h> ++#endif + #include <unistd.h> + + #include "base/bind.h" diff --git a/www/iridium/files/patch-base_process_internal__linux.cc b/www/iridium/files/patch-base_process_internal__linux.cc new file mode 100644 index 000000000000..abfff7cd44ce --- /dev/null +++ b/www/iridium/files/patch-base_process_internal__linux.cc @@ -0,0 +1,97 @@ +--- base/process/internal_linux.cc.orig 2020-03-16 18:39:41 UTC ++++ base/process/internal_linux.cc +@@ -29,7 +29,11 @@ namespace internal { + + const char kProcDir[] = "/proc"; + ++#if defined(OS_BSD) ++const char kStatFile[] = "status"; ++#else + const char kStatFile[] = "stat"; ++#endif + + FilePath GetProcPidDir(pid_t pid) { + return FilePath(kProcDir).Append(NumberToString(pid)); +@@ -64,6 +68,7 @@ bool ReadProcFile(const FilePath& file, std::string* b + DLOG(WARNING) << "Failed to read " << file.MaybeAsASCII(); + return false; + } ++ + return !buffer->empty(); + } + +@@ -79,6 +84,22 @@ bool ParseProcStats(const std::string& stats_data, + if (stats_data.empty()) + return false; + ++#if defined(OS_BSD) ++ proc_stats->clear(); ++ ++ std::vector<std::string> other_stats = SplitString( ++ stats_data, " ", base::TRIM_WHITESPACE, base::SPLIT_WANT_ALL); ++ ++ for (const auto& i : other_stats) { ++ auto pos = i.find(','); ++ ++ if (pos == std::string::npos) { ++ proc_stats->push_back(i); ++ } else { ++ proc_stats->push_back(i.substr(0, pos)); ++ } ++ } ++#else + // The stat file is formatted as: + // pid (process name) data1 data2 .... dataN + // Look for the closing paren by scanning backwards, to avoid being fooled by +@@ -108,6 +129,7 @@ bool ParseProcStats(const std::string& stats_data, + base::TRIM_WHITESPACE, base::SPLIT_WANT_ALL); + for (const auto& i : other_stats) + proc_stats->push_back(i); ++#endif + return true; + } + +@@ -155,7 +177,11 @@ int64_t ReadProcStatsAndGetFieldAsInt64(pid_t pid, Pro + } + + int64_t ReadProcSelfStatsAndGetFieldAsInt64(ProcStatsFields field_num) { ++#if defined(OS_BSD) ++ FilePath stat_file = FilePath(kProcDir).Append("curproc").Append(kStatFile); ++#else + FilePath stat_file = FilePath(kProcDir).Append("self").Append(kStatFile); ++#endif + return ReadStatFileAndGetFieldAsInt64(stat_file, field_num); + } + +@@ -171,6 +197,9 @@ size_t ReadProcStatsAndGetFieldAsSizeT(pid_t pid, + } + + Time GetBootTime() { ++#if defined(OS_BSD) ++ return Time(); ++#else + FilePath path("/proc/stat"); + std::string contents; + if (!ReadProcFile(path, &contents)) +@@ -184,9 +213,13 @@ Time GetBootTime() { + if (!StringToInt(btime_it->second, &btime)) + return Time(); + return Time::FromTimeT(btime); ++#endif + } + + TimeDelta GetUserCpuTimeSinceBoot() { ++#if defined(OS_BSD) ++ return TimeDelta(); ++#else + FilePath path("/proc/stat"); + std::string contents; + if (!ReadProcFile(path, &contents)) +@@ -210,6 +243,7 @@ TimeDelta GetUserCpuTimeSinceBoot() { + return TimeDelta(); + + return ClockTicksToTimeDelta(user + nice); ++#endif + } + + TimeDelta ClockTicksToTimeDelta(int clock_ticks) { diff --git a/www/iridium/files/patch-base_process_internal__linux.h b/www/iridium/files/patch-base_process_internal__linux.h new file mode 100644 index 000000000000..bfa9c8630afd --- /dev/null +++ b/www/iridium/files/patch-base_process_internal__linux.h @@ -0,0 +1,34 @@ +--- base/process/internal_linux.h.orig 2020-03-16 18:39:41 UTC ++++ base/process/internal_linux.h +@@ -14,6 +14,8 @@ + + #include "base/files/file_path.h" + ++#include <unistd.h> /* pid_t */ ++ + namespace base { + + class Time; +@@ -50,6 +52,14 @@ bool ParseProcStats(const std::string& stats_data, + // If the ordering ever changes, carefully review functions that use these + // values. + enum ProcStatsFields { ++#if defined(OS_BSD) ++ VM_COMM = 0, // Command name. ++ VM_PPID = 2, // Parent process id. ++ VM_PGRP = 3, // Process group id. ++ VM_STARTTIME = 7, // The process start time. ++ VM_UTIME = 8, // The user time. ++ VM_STIME = 9, // The system time ++#else + VM_COMM = 1, // Filename of executable, without parentheses. + VM_STATE = 2, // Letter indicating the state of the process. + VM_PPID = 3, // PID of the parent. +@@ -62,6 +72,7 @@ enum ProcStatsFields { + VM_STARTTIME = 21, // The time the process started in clock ticks. + VM_VSIZE = 22, // Virtual memory size in bytes. + VM_RSS = 23, // Resident Set Size in pages. ++#endif + }; + + // Reads the |field_num|th field from |proc_stats|. Returns 0 on failure. diff --git a/www/iridium/files/patch-base_process_kill.h b/www/iridium/files/patch-base_process_kill.h new file mode 100644 index 000000000000..2e871559c90e --- /dev/null +++ b/www/iridium/files/patch-base_process_kill.h @@ -0,0 +1,16 @@ +--- base/process/kill.h.orig 2019-12-16 21:50:40 UTC ++++ base/process/kill.h +@@ -118,11 +118,11 @@ BASE_EXPORT TerminationStatus GetTerminationStatus(Pro + BASE_EXPORT TerminationStatus GetKnownDeadTerminationStatus( + ProcessHandle handle, int* exit_code); + +-#if defined(OS_LINUX) ++#if defined(OS_LINUX) || defined(OS_BSD) + // Spawns a thread to wait asynchronously for the child |process| to exit + // and then reaps it. + BASE_EXPORT void EnsureProcessGetsReaped(Process process); +-#endif // defined(OS_LINUX) ++#endif // defined(OS_LINUX) || defined(OS_BSD) + #endif // defined(OS_POSIX) + + // Registers |process| to be asynchronously monitored for termination, forcibly diff --git a/www/iridium/files/patch-base_process_kill__posix.cc b/www/iridium/files/patch-base_process_kill__posix.cc new file mode 100644 index 000000000000..69e4dbc6c05e --- /dev/null +++ b/www/iridium/files/patch-base_process_kill__posix.cc @@ -0,0 +1,20 @@ +--- base/process/kill_posix.cc.orig 2019-06-04 18:55:15 UTC ++++ base/process/kill_posix.cc +@@ -168,7 +168,7 @@ void EnsureProcessTerminated(Process process) { + 0, new BackgroundReaper(std::move(process), TimeDelta::FromSeconds(2))); + } + +-#if defined(OS_LINUX) ++#if defined(OS_LINUX) || defined(OS_BSD) + void EnsureProcessGetsReaped(Process process) { + DCHECK(!process.is_current()); + +@@ -179,7 +179,7 @@ void EnsureProcessGetsReaped(Process process) { + PlatformThread::CreateNonJoinable( + 0, new BackgroundReaper(std::move(process), TimeDelta())); + } +-#endif // defined(OS_LINUX) ++#endif // defined(OS_LINUX) || defined(OS_BSD) + + #endif // !defined(OS_MACOSX) + #endif // !defined(OS_NACL_NONSFI) diff --git a/www/iridium/files/patch-base_process_launch.cc b/www/iridium/files/patch-base_process_launch.cc new file mode 100644 index 000000000000..bd174cd496bc --- /dev/null +++ b/www/iridium/files/patch-base_process_launch.cc @@ -0,0 +1,11 @@ +--- base/process/launch.cc.orig 2019-03-11 22:00:51 UTC ++++ base/process/launch.cc +@@ -15,7 +15,7 @@ LaunchOptions::~LaunchOptions() = default; + + LaunchOptions LaunchOptionsForTest() { + LaunchOptions options; +-#if defined(OS_LINUX) ++#if defined(OS_LINUX) || defined(OS_BSD) + // To prevent accidental privilege sharing to an untrusted child, processes + // are started with PR_SET_NO_NEW_PRIVS. Do not set that here, since this + // new child will be used for testing only. diff --git a/www/iridium/files/patch-base_process_launch.h b/www/iridium/files/patch-base_process_launch.h new file mode 100644 index 000000000000..75708ea5561e --- /dev/null +++ b/www/iridium/files/patch-base_process_launch.h @@ -0,0 +1,20 @@ +--- base/process/launch.h.orig 2020-02-03 21:52:37 UTC ++++ base/process/launch.h +@@ -180,7 +180,7 @@ struct BASE_EXPORT LaunchOptions { + bool clear_environment = false; + #endif // OS_WIN || OS_POSIX || OS_FUCHSIA + +-#if defined(OS_LINUX) ++#if defined(OS_LINUX) || defined(OS_BSD) + // If non-zero, start the process using clone(), using flags as provided. + // 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 +@@ -193,7 +193,7 @@ struct BASE_EXPORT LaunchOptions { + + // Sets parent process death signal to SIGKILL. + bool kill_on_parent_death = false; +-#endif // defined(OS_LINUX) ++#endif // defined(OS_LINUX) || defined(OS_BSD) + + #if defined(OS_MACOSX) && !defined(OS_IOS) + // Mach ports that will be accessible to the child process. These are not diff --git a/www/iridium/files/patch-base_process_launch__posix.cc b/www/iridium/files/patch-base_process_launch__posix.cc new file mode 100644 index 000000000000..ce6054a8ff79 --- /dev/null +++ b/www/iridium/files/patch-base_process_launch__posix.cc @@ -0,0 +1,10 @@ +--- base/process/launch_posix.cc.orig 2019-06-04 18:55:15 UTC ++++ base/process/launch_posix.cc +@@ -65,6 +65,7 @@ + #error "macOS should use launch_mac.cc" + #endif + ++#pragma weak environ + extern char** environ; + + namespace base { diff --git a/www/iridium/files/patch-base_process_memory.cc b/www/iridium/files/patch-base_process_memory.cc new file mode 100644 index 000000000000..ff61c2e5408b --- /dev/null +++ b/www/iridium/files/patch-base_process_memory.cc @@ -0,0 +1,20 @@ +--- base/process/memory.cc.orig 2020-03-16 18:39:41 UTC ++++ base/process/memory.cc +@@ -42,7 +42,7 @@ void OnNoMemoryInternal(size_t size) { + } // namespace internal + + // Defined in memory_win.cc for Windows. +-#if !defined(OS_WIN) ++#if !defined(OS_WIN) && !defined(OS_BSD) + + namespace { + +@@ -61,7 +61,7 @@ void TerminateBecauseOutOfMemory(size_t size) { + #endif // !defined(OS_WIN) + + // Defined in memory_mac.mm for Mac. +-#if !defined(OS_MACOSX) ++#if !defined(OS_MACOSX) && !defined(OS_BSD) + + bool UncheckedCalloc(size_t num_items, size_t size, void** result) { + const size_t alloc_size = num_items * size; diff --git a/www/iridium/files/patch-base_process_memory.h b/www/iridium/files/patch-base_process_memory.h new file mode 100644 index 000000000000..007e8593b35d --- /dev/null +++ b/www/iridium/files/patch-base_process_memory.h @@ -0,0 +1,11 @@ +--- base/process/memory.h.orig 2019-10-21 19:06:18 UTC ++++ base/process/memory.h +@@ -24,7 +24,7 @@ BASE_EXPORT void EnableTerminationOnOutOfMemory(); + // Crash reporting classifies such crashes as OOM. + BASE_EXPORT void TerminateBecauseOutOfMemory(size_t size); + +-#if defined(OS_LINUX) || defined(OS_ANDROID) || defined(OS_AIX) ++#if defined(OS_LINUX) || defined(OS_ANDROID) || defined(OS_AIX) || defined(OS_BSD) + BASE_EXPORT extern size_t g_oom_size; + + // The maximum allowed value for the OOM score. diff --git a/www/iridium/files/patch-base_process_memory__unittest.cc b/www/iridium/files/patch-base_process_memory__unittest.cc new file mode 100644 index 000000000000..82dcfd37c1c7 --- /dev/null +++ b/www/iridium/files/patch-base_process_memory__unittest.cc @@ -0,0 +1,18 @@ +--- base/process/memory_unittest.cc.orig 2020-03-16 18:39:41 UTC ++++ base/process/memory_unittest.cc +@@ -106,7 +106,7 @@ TEST(MemoryTest, AllocatorShimWorking) { + // OpenBSD does not support these tests. Don't test these on ASan/TSan/MSan + // configurations: only test the real allocator. + // Windows only supports these tests with the allocator shim in place. +-#if !defined(OS_OPENBSD) && BUILDFLAG(USE_ALLOCATOR_SHIM) && \ ++#if !defined(OS_BSD) && BUILDFLAG(USE_ALLOCATOR_SHIM) && \ + !defined(MEMORY_TOOL_REPLACES_ALLOCATOR) + + namespace { +@@ -589,5 +589,5 @@ TEST_F(OutOfMemoryHandledTest, UncheckedCalloc) { + EXPECT_FALSE(base::UncheckedCalloc(1, test_size_, &value_)); + EXPECT_TRUE(value_ == nullptr); + } +-#endif // !defined(OS_OPENBSD) && BUILDFLAG(ENABLE_WIN_ALLOCATOR_SHIM_TESTS) && ++#endif // !defined(OS_BSD) && BUILDFLAG(ENABLE_WIN_ALLOCATOR_SHIM_TESTS) && + // !defined(MEMORY_TOOL_REPLACES_ALLOCATOR) diff --git a/www/iridium/files/patch-base_process_process__handle.cc b/www/iridium/files/patch-base_process_process__handle.cc new file mode 100644 index 000000000000..13812613f73f --- /dev/null +++ b/www/iridium/files/patch-base_process_process__handle.cc @@ -0,0 +1,11 @@ +--- base/process/process_handle.cc.orig 2019-10-21 19:06:18 UTC ++++ base/process/process_handle.cc +@@ -28,7 +28,7 @@ UniqueProcId GetUniqueIdForProcess() { + : UniqueProcId(GetCurrentProcId()); + } + +-#if defined(OS_LINUX) || defined(OS_AIX) ++#if defined(OS_LINUX) || defined(OS_AIX) || defined(OS_BSD) + + void InitUniqueIdForProcessInPidNamespace(ProcessId pid_outside_of_namespace) { + DCHECK(pid_outside_of_namespace != kNullProcessId); diff --git a/www/iridium/files/patch-base_process_process__handle.h b/www/iridium/files/patch-base_process_process__handle.h new file mode 100644 index 000000000000..502beff310e6 --- /dev/null +++ b/www/iridium/files/patch-base_process_process__handle.h @@ -0,0 +1,11 @@ +--- base/process/process_handle.h.orig 2019-10-21 19:06:18 UTC ++++ base/process/process_handle.h +@@ -103,7 +103,7 @@ BASE_EXPORT ProcessId GetCurrentProcId(); + // processes may be reused. + BASE_EXPORT UniqueProcId GetUniqueIdForProcess(); + +-#if defined(OS_LINUX) ++#if defined(OS_LINUX) || defined(OS_BSD) + // When a process is started in a different PID namespace from the browser + // process, this function must be called with the process's PID in the browser's + // PID namespace in order to initialize its unique ID. Not thread safe. diff --git a/www/iridium/files/patch-base_process_process__handle__freebsd.cc b/www/iridium/files/patch-base_process_process__handle__freebsd.cc new file mode 100644 index 000000000000..13a07c3075fd --- /dev/null +++ b/www/iridium/files/patch-base_process_process__handle__freebsd.cc @@ -0,0 +1,17 @@ +--- base/process/process_handle_freebsd.cc.orig 2019-03-11 22:00:51 UTC ++++ base/process/process_handle_freebsd.cc +@@ -16,10 +16,13 @@ namespace base { + + ProcessId GetParentProcessId(ProcessHandle process) { + struct kinfo_proc info; +- size_t length; ++ size_t length = sizeof(struct kinfo_proc); + int mib[] = { CTL_KERN, KERN_PROC, KERN_PROC_PID, process }; + + if (sysctl(mib, base::size(mib), &info, &length, NULL, 0) < 0) ++ return -1; ++ ++ if (length < sizeof(struct kinfo_proc)) + return -1; + + return info.ki_ppid; diff --git a/www/iridium/files/patch-base_process_process__iterator__freebsd.cc b/www/iridium/files/patch-base_process_process__iterator__freebsd.cc new file mode 100644 index 000000000000..a89546ccb49d --- /dev/null +++ b/www/iridium/files/patch-base_process_process__iterator__freebsd.cc @@ -0,0 +1,44 @@ +--- base/process/process_iterator_freebsd.cc.orig 2019-03-11 22:00:51 UTC ++++ base/process/process_iterator_freebsd.cc +@@ -10,6 +10,10 @@ + #include <sys/sysctl.h> + #include <unistd.h> + ++/* getuid() */ ++#include <unistd.h> ++#include <sys/types.h> ++ + #include "base/logging.h" + #include "base/stl_util.h" + #include "base/strings/string_split.h" +@@ -40,7 +44,7 @@ ProcessIterator::ProcessIterator(const ProcessFilter* + num_of_kinfo_proc += 16; + kinfo_procs_.resize(num_of_kinfo_proc); + len = num_of_kinfo_proc * sizeof(struct kinfo_proc); +- if (sysctl(mib, base::size(mib), &kinfo_procs_[0], &len, NULL, 0) < 0) { ++ if (sysctl(mib, base::size(mib), kinfo_procs_.data(), &len, NULL, 0) < 0) { + // If we get a mem error, it just means we need a bigger buffer, so + // loop around again. Anything else is a real error and give up. + if (errno != ENOMEM) { +@@ -72,18 +76,13 @@ bool ProcessIterator::CheckForNextProcess() { + for (; index_of_kinfo_proc_ < kinfo_procs_.size(); ++index_of_kinfo_proc_) { + size_t length; + struct kinfo_proc kinfo = kinfo_procs_[index_of_kinfo_proc_]; +- int mib[] = { CTL_KERN, KERN_PROC_ARGS, kinfo.ki_pid }; ++ int mib[] = { CTL_KERN, KERN_PROC, KERN_PROC_ARGS, kinfo.ki_pid }; + + if ((kinfo.ki_pid > 0) && (kinfo.ki_stat == SZOMB)) + continue; + +- length = 0; +- if (sysctl(mib, base::size(mib), NULL, &length, NULL, 0) < 0) { +- LOG(ERROR) << "failed to figure out the buffer size for a command line"; +- continue; +- } +- +- data.resize(length); ++ data.resize(ARG_MAX); ++ length = ARG_MAX; + + if (sysctl(mib, base::size(mib), &data[0], &length, NULL, 0) < 0) { + LOG(ERROR) << "failed to fetch a commandline"; diff --git a/www/iridium/files/patch-base_process_process__linux.cc b/www/iridium/files/patch-base_process_process__linux.cc new file mode 100644 index 000000000000..2ec55582fbfa --- /dev/null +++ b/www/iridium/files/patch-base_process_process__linux.cc @@ -0,0 +1,31 @@ +--- base/process/process_linux.cc.orig 2020-03-16 18:39:41 UTC ++++ base/process/process_linux.cc +@@ -79,6 +79,9 @@ Time Process::CreationTime() const { + internal::VM_STARTTIME) + : internal::ReadProcStatsAndGetFieldAsInt64( + Pid(), internal::VM_STARTTIME); ++#if defined(OS_BSD) ++ return Time::FromTimeT(start_ticks); ++#else + if (!start_ticks) + return Time(); + TimeDelta start_offset = internal::ClockTicksToTimeDelta(start_ticks); +@@ -86,8 +89,10 @@ Time Process::CreationTime() const { + if (boot_time.is_null()) + return Time(); + return Time(boot_time + start_offset); ++#endif + } + ++#if !defined(OS_BSD) + // static + bool Process::CanBackgroundProcesses() { + #if defined(OS_CHROMEOS) +@@ -139,6 +144,7 @@ bool Process::SetProcessBackgrounded(bool background) + DPCHECK(result == 0); + return result == 0; + } ++#endif // !defined(OS_BSD) + + #if defined(OS_CHROMEOS) + bool IsProcessBackgroundedCGroup(const StringPiece& cgroup_contents) { diff --git a/www/iridium/files/patch-base_process_process__metrics.cc b/www/iridium/files/patch-base_process_process__metrics.cc new file mode 100644 index 000000000000..8e47c5106248 --- /dev/null +++ b/www/iridium/files/patch-base_process_process__metrics.cc @@ -0,0 +1,38 @@ +--- base/process/process_metrics.cc.orig 2019-07-24 18:58:02 UTC ++++ base/process/process_metrics.cc +@@ -57,7 +57,7 @@ SystemMetrics SystemMetrics::Sample() { + SystemMetrics system_metrics; + + system_metrics.committed_memory_ = GetSystemCommitCharge(); +-#if defined(OS_LINUX) || defined(OS_ANDROID) ++#if defined(OS_LINUX) || defined(OS_ANDROID) || defined(OS_BSD) + GetSystemMemoryInfo(&system_metrics.memory_info_); + GetVmStatInfo(&system_metrics.vmstat_info_); + GetSystemDiskInfo(&system_metrics.disk_info_); +@@ -75,7 +75,7 @@ std::unique_ptr<Value> SystemMetrics::ToValue() const + std::unique_ptr<DictionaryValue> res(new DictionaryValue()); + + res->SetIntKey("committed_memory", static_cast<int>(committed_memory_)); +-#if defined(OS_LINUX) || defined(OS_ANDROID) ++#if defined(OS_LINUX) || defined(OS_ANDROID) || defined(OS_BSD) + std::unique_ptr<DictionaryValue> meminfo = memory_info_.ToValue(); + std::unique_ptr<DictionaryValue> vmstat = vmstat_info_.ToValue(); + meminfo->MergeDictionary(vmstat.get()); +@@ -126,7 +126,7 @@ double ProcessMetrics::GetPlatformIndependentCPUUsage( + } + #endif + +-#if defined(OS_MACOSX) || defined(OS_LINUX) || defined(OS_AIX) ++#if defined(OS_MACOSX) || defined(OS_LINUX) || defined(OS_AIX) || defined(OS_BSD) + int ProcessMetrics::CalculateIdleWakeupsPerSecond( + uint64_t absolute_idle_wakeups) { + return CalculateEventsPerSecond(absolute_idle_wakeups, +@@ -138,7 +138,7 @@ int ProcessMetrics::GetIdleWakeupsPerSecond() { + NOTIMPLEMENTED(); // http://crbug.com/120488 + return 0; + } +-#endif // defined(OS_MACOSX) || defined(OS_LINUX) || defined(OS_AIX) ++#endif // defined(OS_MACOSX) || defined(OS_LINUX) || defined(OS_AIX) || defined(OS_BSD) + + #if defined(OS_MACOSX) + int ProcessMetrics::CalculatePackageIdleWakeupsPerSecond( diff --git a/www/iridium/files/patch-base_process_process__metrics.h b/www/iridium/files/patch-base_process_process__metrics.h new file mode 100644 index 000000000000..420d563e5b29 --- /dev/null +++ b/www/iridium/files/patch-base_process_process__metrics.h @@ -0,0 +1,131 @@ +--- base/process/process_metrics.h.orig 2019-10-21 19:06:18 UTC ++++ base/process/process_metrics.h +@@ -41,7 +41,7 @@ namespace base { + // Full declaration is in process_metrics_iocounters.h. + struct IoCounters; + +-#if defined(OS_LINUX) || defined(OS_ANDROID) ++#if defined(OS_LINUX) || defined(OS_ANDROID) || defined(OS_BSD) + // Minor and major page fault counts since the process creation. + // Both counts are process-wide, and exclude child processes. + // +@@ -51,7 +51,7 @@ struct PageFaultCounts { + int64_t minor; + int64_t major; + }; +-#endif // defined(OS_LINUX) || defined(OS_ANDROID) ++#endif // defined(OS_LINUX) || defined(OS_ANDROID) || defined(OS_BSD) + + // Convert a POSIX timeval to microseconds. + BASE_EXPORT int64_t TimeValToMicroseconds(const struct timeval& tv); +@@ -92,7 +92,7 @@ class BASE_EXPORT ProcessMetrics { + // convenience wrapper for CreateProcessMetrics(). + static std::unique_ptr<ProcessMetrics> CreateCurrentProcessMetrics(); + +-#if defined(OS_LINUX) || defined(OS_ANDROID) ++#if defined(OS_LINUX) || defined(OS_ANDROID) || defined(OS_BSD) + // Resident Set Size is a Linux/Android specific memory concept. Do not + // attempt to extend this to other platforms. + BASE_EXPORT size_t GetResidentSetSize() const; +@@ -172,14 +172,14 @@ class BASE_EXPORT ProcessMetrics { + int GetOpenFdSoftLimit() const; + #endif // defined(OS_POSIX) + +-#if defined(OS_LINUX) || defined(OS_ANDROID) ++#if defined(OS_LINUX) || defined(OS_ANDROID) || defined(OS_BSD) + // Bytes of swap as reported by /proc/[pid]/status. + uint64_t GetVmSwapBytes() const; + + // Minor and major page fault count as reported by /proc/[pid]/stat. + // Returns true for success. + bool GetPageFaultCounts(PageFaultCounts* counts) const; +-#endif // defined(OS_LINUX) || defined(OS_ANDROID) ++#endif // defined(OS_LINUX) || defined(OS_ANDROID) || defined(OS_BSD) + + // Returns total memory usage of malloc. + size_t GetMallocUsage(); +@@ -191,7 +191,7 @@ class BASE_EXPORT ProcessMetrics { + ProcessMetrics(ProcessHandle process, PortProvider* port_provider); + #endif // !defined(OS_MACOSX) || defined(OS_IOS) + +-#if defined(OS_MACOSX) || defined(OS_LINUX) || defined(OS_AIX) ++#if defined(OS_MACOSX) || defined(OS_LINUX) || defined(OS_AIX) || defined(OS_BSD) + int CalculateIdleWakeupsPerSecond(uint64_t absolute_idle_wakeups); + #endif + #if defined(OS_MACOSX) +@@ -220,7 +220,7 @@ class BASE_EXPORT ProcessMetrics { + // Number of bytes transferred to/from disk in bytes. + uint64_t last_cumulative_disk_usage_ = 0; + +-#if defined(OS_MACOSX) || defined(OS_LINUX) || defined(OS_AIX) ++#if defined(OS_MACOSX) || defined(OS_LINUX) || defined(OS_AIX) || defined(OS_BSD) + // Same thing for idle wakeups. + TimeTicks last_idle_wakeups_time_; + uint64_t last_absolute_idle_wakeups_; +@@ -271,7 +271,7 @@ BASE_EXPORT size_t GetHandleLimit(); + BASE_EXPORT void IncreaseFdLimitTo(unsigned int max_descriptors); + #endif // defined(OS_POSIX) + +-#if defined(OS_WIN) || defined(OS_MACOSX) || defined(OS_LINUX) || \ ++#if defined(OS_WIN) || defined(OS_MACOSX) || defined(OS_LINUX) || defined(OS_BSD) || \ + defined(OS_ANDROID) || defined(OS_AIX) || defined(OS_FUCHSIA) + // Data about system-wide memory consumption. Values are in KB. Available on + // Windows, Mac, Linux, Android and Chrome OS. +@@ -305,7 +305,7 @@ struct BASE_EXPORT SystemMemoryInfoKB { + int avail_phys = 0; + #endif + +-#if defined(OS_LINUX) || defined(OS_ANDROID) || defined(OS_AIX) ++#if defined(OS_LINUX) || defined(OS_ANDROID) || defined(OS_AIX) || defined(OS_BSD) + // This provides an estimate of available memory as described here: + // https://git.kernel.org/cgit/linux/kernel/git/torvalds/linux.git/commit/?id=34e431b0ae398fc54ea69ff85ec700722c9da773 + // NOTE: this is ONLY valid in kernels 3.14 and up. Its value will always +@@ -319,7 +319,7 @@ struct BASE_EXPORT SystemMemoryInfoKB { + int swap_free = 0; + #endif + +-#if defined(OS_ANDROID) || defined(OS_LINUX) || defined(OS_AIX) || \ ++#if defined(OS_ANDROID) || defined(OS_LINUX) || defined(OS_AIX) || defined(OS_BSD) || \ + defined(OS_FUCHSIA) + int buffers = 0; + int cached = 0; +@@ -329,7 +329,7 @@ struct BASE_EXPORT SystemMemoryInfoKB { + int inactive_file = 0; + int dirty = 0; + int reclaimable = 0; +-#endif // defined(OS_ANDROID) || defined(OS_LINUX) || defined(OS_AIX) || ++#endif // defined(OS_ANDROID) || defined(OS_LINUX) || defined(OS_AIX) || defined(OS_BSD) || + // defined(OS_FUCHSIA) + + #if defined(OS_CHROMEOS) +@@ -355,10 +355,10 @@ struct BASE_EXPORT SystemMemoryInfoKB { + // Exposed for memory debugging widget. + BASE_EXPORT bool GetSystemMemoryInfo(SystemMemoryInfoKB* meminfo); + +-#endif // defined(OS_WIN) || defined(OS_MACOSX) || defined(OS_LINUX) || ++#endif // defined(OS_WIN) || defined(OS_MACOSX) || defined(OS_LINUX) || defined(OS_BSD) + // defined(OS_ANDROID) || defined(OS_AIX) || defined(OS_FUCHSIA) + +-#if defined(OS_LINUX) || defined(OS_ANDROID) || defined(OS_AIX) ++#if defined(OS_LINUX) || defined(OS_ANDROID) || defined(OS_AIX) || defined(OS_BSD) + // Parse the data found in /proc/<pid>/stat and return the sum of the + // CPU-related ticks. Returns -1 on parse error. + // Exposed for testing. +@@ -431,7 +431,7 @@ BASE_EXPORT bool GetSystemDiskInfo(SystemDiskInfo* dis + // Returns the amount of time spent in user space since boot across all CPUs. + BASE_EXPORT TimeDelta GetUserCpuTimeSinceBoot(); + +-#endif // defined(OS_LINUX) || defined(OS_ANDROID) ++#endif // defined(OS_LINUX) || defined(OS_ANDROID) || defined(OS_BSD) + + #if defined(OS_CHROMEOS) + // Data from files in directory /sys/block/zram0 about ZRAM usage. +@@ -526,7 +526,7 @@ class BASE_EXPORT SystemMetrics { + FRIEND_TEST_ALL_PREFIXES(SystemMetricsTest, SystemMetrics); + + size_t committed_memory_; +-#if defined(OS_LINUX) || defined(OS_ANDROID) ++#if defined(OS_LINUX) || defined(OS_ANDROID) || defined(OS_BSD) + SystemMemoryInfoKB memory_info_; + VmStatInfo vmstat_info_; + SystemDiskInfo disk_info_; diff --git a/www/iridium/files/patch-base_process_process__metrics__freebsd.cc b/www/iridium/files/patch-base_process_process__metrics__freebsd.cc new file mode 100644 index 000000000000..1dc5323f3252 --- /dev/null +++ b/www/iridium/files/patch-base_process_process__metrics__freebsd.cc @@ -0,0 +1,259 @@ +--- base/process/process_metrics_freebsd.cc.orig 2019-07-24 18:58:02 UTC ++++ base/process/process_metrics_freebsd.cc +@@ -5,6 +5,7 @@ + #include "base/process/process_metrics.h" + + #include <stddef.h> ++#include <sys/types.h> + #include <sys/sysctl.h> + #include <sys/user.h> + #include <unistd.h> +@@ -14,11 +15,29 @@ + #include "base/process/process_metrics_iocounters.h" + #include "base/stl_util.h" + ++#include <unistd.h> /* getpagesize() */ ++#include <fcntl.h> /* O_RDONLY */ ++#include <kvm.h> ++#include <libutil.h> ++ + namespace base { ++namespace { + ++int GetPageShift() { ++ int pagesize = getpagesize(); ++ int pageshift = 0; ++ ++ while (pagesize > 1) { ++ pageshift++; ++ pagesize >>= 1; ++ } ++ ++ return pageshift; ++} ++} ++ + ProcessMetrics::ProcessMetrics(ProcessHandle process) +- : process_(process), +- last_cpu_(0) {} ++ : process_(process) {} + + // static + std::unique_ptr<ProcessMetrics> ProcessMetrics::CreateProcessMetrics( +@@ -69,4 +88,216 @@ size_t GetSystemCommitCharge() { + return mem_total - (mem_free*pagesize) - (mem_inactive*pagesize); + } + ++int GetNumberOfThreads(ProcessHandle process) { ++ // Taken from FreeBSD top (usr.bin/top/machine.c) ++ ++ kvm_t* kd = kvm_open(NULL, "/dev/null", NULL, O_RDONLY, "kvm_open"); ++ if (kd == NULL) ++ return 0; ++ ++ struct kinfo_proc* pbase; ++ int nproc; ++ pbase = kvm_getprocs(kd, KERN_PROC_PID, process, &nproc); ++ if (pbase == NULL) ++ return 0; ++ ++ if (kvm_close(kd) == -1) ++ return 0; ++ ++ return nproc; ++} ++ ++bool GetSystemMemoryInfo(SystemMemoryInfoKB *meminfo) { ++ unsigned int mem_total, mem_free, swap_total, swap_used; ++ size_t length; ++ int pagesizeKB; ++ ++ pagesizeKB = getpagesize() / 1024; ++ ++ length = sizeof(mem_total); ++ if (sysctlbyname("vm.stats.vm.v_page_count", &mem_total, ++ &length, NULL, 0) != 0 || length != sizeof(mem_total)) ++ return false; ++ ++ length = sizeof(mem_free); ++ if (sysctlbyname("vm.stats.vm.v_free_count", &mem_free, &length, NULL, 0) ++ != 0 || length != sizeof(mem_free)) ++ return false; ++ ++ length = sizeof(swap_total); ++ if (sysctlbyname("vm.swap_size", &swap_total, &length, NULL, 0) ++ != 0 || length != sizeof(swap_total)) ++ return false; ++ ++ length = sizeof(swap_used); ++ if (sysctlbyname("vm.swap_anon_use", &swap_used, &length, NULL, 0) ++ != 0 || length != sizeof(swap_used)) ++ return false; ++ ++ meminfo->total = mem_total * pagesizeKB; ++ meminfo->free = mem_free * pagesizeKB; ++ meminfo->swap_total = swap_total * pagesizeKB; ++ meminfo->swap_free = (swap_total - swap_used) * pagesizeKB; ++ ++ return true; ++} ++ ++int ProcessMetrics::GetOpenFdCount() const { ++ struct kinfo_file * kif; ++ int cnt; ++ ++ if ((kif = kinfo_getfile(process_, &cnt)) == NULL) ++ return -1; ++ ++ free(kif); ++ ++ return cnt; ++} ++ ++int ProcessMetrics::GetOpenFdSoftLimit() const { ++ size_t length; ++ int total_count = 0; ++ int mib[] = { CTL_KERN, KERN_MAXFILESPERPROC }; ++ ++ length = sizeof(total_count); ++ ++ if (sysctl(mib, base::size(mib), &total_count, &length, NULL, 0) < 0) { ++ total_count = -1; ++ } ++ ++ return total_count; ++} ++ ++size_t ProcessMetrics::GetResidentSetSize() const { ++ kvm_t *kd = kvm_open(nullptr, "/dev/null", nullptr, O_RDONLY, "kvm_open"); ++ ++ if (kd == nullptr) ++ return 0; ++ ++ struct kinfo_proc *pp; ++ int nproc; ++ ++ if ((pp = kvm_getprocs(kd, KERN_PROC_PID, process_, &nproc)) == nullptr) { ++ kvm_close(kd); ++ return 0; ++ } ++ ++ size_t rss; ++ ++ if (nproc > 0) { ++ rss = pp->ki_rssize << GetPageShift(); ++ } else { ++ rss = 0; ++ } ++ ++ kvm_close(kd); ++ return rss; ++} ++ ++uint64_t ProcessMetrics::GetVmSwapBytes() const { ++ kvm_t *kd = kvm_open(nullptr, "/dev/null", nullptr, O_RDONLY, "kvm_open"); ++ ++ if (kd == nullptr) ++ return 0; ++ ++ struct kinfo_proc *pp; ++ int nproc; ++ ++ if ((pp = kvm_getprocs(kd, KERN_PROC_PID, process_, &nproc)) == nullptr) { ++ kvm_close(kd); ++ return 0; ++ } ++ ++ size_t swrss; ++ ++ if (nproc > 0) { ++ swrss = pp->ki_swrss > pp->ki_rssize ++ ? (pp->ki_swrss - pp->ki_rssize) << GetPageShift() ++ : 0; ++ } else { ++ swrss = 0; ++ } ++ ++ kvm_close(kd); ++ return swrss; ++} ++ ++int ProcessMetrics::GetIdleWakeupsPerSecond() { ++ NOTIMPLEMENTED(); ++ return 0; ++} ++ ++bool GetSystemDiskInfo(SystemDiskInfo* diskinfo) { ++ NOTIMPLEMENTED(); ++ return false; ++} ++ ++bool GetVmStatInfo(VmStatInfo* vmstat) { ++ NOTIMPLEMENTED(); ++ return false; ++} ++ ++SystemDiskInfo::SystemDiskInfo() { ++ reads = 0; ++ reads_merged = 0; ++ sectors_read = 0; ++ read_time = 0; ++ writes = 0; ++ writes_merged = 0; ++ sectors_written = 0; ++ write_time = 0; ++ io = 0; ++ io_time = 0; ++ weighted_io_time = 0; ++} ++ ++SystemDiskInfo::SystemDiskInfo(const SystemDiskInfo& other) = default; ++ ++std::unique_ptr<Value> SystemDiskInfo::ToValue() const { ++ auto res = std::make_unique<DictionaryValue>(); ++ ++ // Write out uint64_t variables as doubles. ++ // Note: this may discard some precision, but for JS there's no other option. ++ res->SetDouble("reads", static_cast<double>(reads)); ++ res->SetDouble("reads_merged", static_cast<double>(reads_merged)); ++ res->SetDouble("sectors_read", static_cast<double>(sectors_read)); ++ res->SetDouble("read_time", static_cast<double>(read_time)); ++ res->SetDouble("writes", static_cast<double>(writes)); ++ res->SetDouble("writes_merged", static_cast<double>(writes_merged)); ++ res->SetDouble("sectors_written", static_cast<double>(sectors_written)); ++ res->SetDouble("write_time", static_cast<double>(write_time)); ++ res->SetDouble("io", static_cast<double>(io)); ++ res->SetDouble("io_time", static_cast<double>(io_time)); ++ res->SetDouble("weighted_io_time", static_cast<double>(weighted_io_time)); ++ ++ return std::move(res); ++} ++ ++std::unique_ptr<DictionaryValue> SystemMemoryInfoKB::ToValue() const { ++ auto res = std::make_unique<DictionaryValue>(); ++ res->SetIntKey("total", total); ++ res->SetIntKey("free", free); ++ res->SetIntKey("available", available); ++ res->SetIntKey("buffers", buffers); ++ res->SetIntKey("cached", cached); ++ res->SetIntKey("active_anon", active_anon); ++ res->SetIntKey("inactive_anon", inactive_anon); ++ res->SetIntKey("active_file", active_file); ++ res->SetIntKey("inactive_file", inactive_file); ++ res->SetIntKey("swap_total", swap_total); ++ res->SetIntKey("swap_free", swap_free); ++ res->SetIntKey("swap_used", swap_total - swap_free); ++ res->SetIntKey("dirty", dirty); ++ res->SetIntKey("reclaimable", reclaimable); ++ ++ return res; ++} ++ ++std::unique_ptr<DictionaryValue> VmStatInfo::ToValue() const { ++ auto res = std::make_unique<DictionaryValue>(); ++ res->SetIntKey("pswpin", pswpin); ++ res->SetIntKey("pswpout", pswpout); ++ res->SetIntKey("pgmajfault", pgmajfault); ++ return res; ++} + } // namespace base diff --git a/www/iridium/files/patch-base_process_process__metrics__posix.cc b/www/iridium/files/patch-base_process_process__metrics__posix.cc new file mode 100644 index 000000000000..e909eeec959b --- /dev/null +++ b/www/iridium/files/patch-base_process_process__metrics__posix.cc @@ -0,0 +1,20 @@ +--- base/process/process_metrics_posix.cc.orig 2019-10-21 19:06:18 UTC ++++ base/process/process_metrics_posix.cc +@@ -20,6 +20,8 @@ + + #if defined(OS_MACOSX) + #include <malloc/malloc.h> ++#elif defined(OS_FREEBSD) ++#include <stdlib.h> + #else + #include <malloc.h> + #endif +@@ -117,7 +119,7 @@ size_t ProcessMetrics::GetMallocUsage() { + #else + return minfo.hblkhd + minfo.arena; + #endif +-#elif defined(OS_FUCHSIA) ++#elif defined(OS_FUCHSIA) || defined(OS_BSD) + // TODO(fuchsia): Not currently exposed. https://crbug.com/735087. + return 0; + #endif diff --git a/www/iridium/files/patch-base_process_process__unittest.cc b/www/iridium/files/patch-base_process_process__unittest.cc new file mode 100644 index 000000000000..3e5aac5b4da7 --- /dev/null +++ b/www/iridium/files/patch-base_process_process__unittest.cc @@ -0,0 +1,11 @@ +--- base/process/process_unittest.cc.orig 2019-03-18 19:16:37 UTC ++++ base/process/process_unittest.cc +@@ -148,7 +148,7 @@ TEST_F(ProcessTest, CreationTimeOtherProcess) { + // was spawned and a time recorded after it was spawned. However, since the + // base::Time and process creation clocks don't match, tolerate some error. + constexpr base::TimeDelta kTolerance = +-#if defined(OS_LINUX) ++#if defined(OS_LINUX) || defined(OS_BSD) + // On Linux, process creation time is relative to boot time which has a + // 1-second resolution. Tolerate 1 second for the imprecise boot time and + // 100 ms for the imprecise clock. diff --git a/www/iridium/files/patch-base_process_process__util__unittest.cc b/www/iridium/files/patch-base_process_process__util__unittest.cc new file mode 100644 index 000000000000..e6378dd51b22 --- /dev/null +++ b/www/iridium/files/patch-base_process_process__util__unittest.cc @@ -0,0 +1,16 @@ +--- base/process/process_util_unittest.cc.orig 2020-03-23 15:26:12 UTC ++++ base/process/process_util_unittest.cc +@@ -1307,11 +1307,11 @@ std::string TestLaunchProcess(const CommandLine& cmdli + options.fds_to_remap.emplace_back(fds[1], STDOUT_FILENO); + #endif // defined(OS_WIN) + +-#if defined(OS_LINUX) ++#if defined(OS_LINUX) || defined(OS_BSD) + options.clone_flags = clone_flags; + #else + CHECK_EQ(0, clone_flags); +-#endif // defined(OS_LINUX) ++#endif // defined(OS_LINUX) || defined(OS_BSD) + + EXPECT_TRUE(LaunchProcess(cmdline, options).IsValid()); + write_pipe.Close(); diff --git a/www/iridium/files/patch-base_profiler_register__context.h b/www/iridium/files/patch-base_profiler_register__context.h new file mode 100644 index 000000000000..ea2c126353b4 --- /dev/null +++ b/www/iridium/files/patch-base_profiler_register__context.h @@ -0,0 +1,60 @@ +--- base/profiler/register_context.h.orig 2020-03-16 18:39:41 UTC ++++ base/profiler/register_context.h +@@ -17,7 +17,7 @@ + #include <windows.h> + #elif defined(OS_MACOSX) + #include <mach/machine/thread_status.h> +-#elif defined(OS_ANDROID) || defined(OS_LINUX) ++#elif defined(OS_ANDROID) || defined(OS_LINUX) || defined(OS_BSD) + #include <sys/ucontext.h> + #endif + +@@ -165,6 +165,48 @@ inline uintptr_t& RegisterContextInstructionPointer(mc + } + + #endif // #if defined(ARCH_CPU_ARM_FAMILY) && defined(ARCH_CPU_32_BITS) ++ ++#elif defined(OS_FREEBSD) ++ ++using RegisterContext = mcontext_t; ++ ++#if defined(ARCH_CPU_X86_64) ++inline uintptr_t& RegisterContextStackPointer(mcontext_t* context) { ++ return AsUintPtr(&context->mc_rsp); ++} ++ ++inline uintptr_t& RegisterContextFramePointer(mcontext_t* context) { ++ return AsUintPtr(&context->mc_rbp); ++} ++ ++inline uintptr_t& RegisterContextInstructionPointer(mcontext_t* context) { ++ return AsUintPtr(&context->mc_rip); ++} ++#elif defined(ARCH_CPU_X86) ++inline uintptr_t& RegisterContextStackPointer(mcontext_t* context) { ++ return AsUintPtr(&context->mc_esp); ++} ++ ++inline uintptr_t& RegisterContextFramePointer(mcontext_t* context) { ++ return AsUintPtr(&context->mc_ebp); ++} ++ ++inline uintptr_t& RegisterContextInstructionPointer(mcontext_t* context) { ++ return AsUintPtr(&context->mc_eip); ++} ++#elif defined(ARCH_CPU_ARM64) ++inline uintptr_t& RegisterContextStackPointer(mcontext_t* context) { ++ return AsUintPtr(&context->mc_gpregs.gp_sp); ++} ++ ++inline uintptr_t& RegisterContextFramePointer(mcontext_t* context) { ++ return AsUintPtr(&context->mc_gpregs.gp_x[29]); ++} ++ ++inline uintptr_t& RegisterContextInstructionPointer(mcontext_t* context) { ++ return AsUintPtr(&context->mc_gpregs.gp_elr); ++} ++#endif + + #else // #if defined(OS_WIN) + diff --git a/www/iridium/files/patch-base_profiler_sampling__profiler__thread__token.cc b/www/iridium/files/patch-base_profiler_sampling__profiler__thread__token.cc new file mode 100644 index 000000000000..96db1204abdd --- /dev/null +++ b/www/iridium/files/patch-base_profiler_sampling__profiler__thread__token.cc @@ -0,0 +1,11 @@ +--- base/profiler/sampling_profiler_thread_token.cc.orig 2020-02-07 10:24:19 UTC ++++ base/profiler/sampling_profiler_thread_token.cc +@@ -7,7 +7,7 @@ + namespace base { + + SamplingProfilerThreadToken GetSamplingProfilerCurrentThreadToken() { +-#if defined(OS_ANDROID) || defined(OS_LINUX) ++#if defined(OS_ANDROID) || defined(OS_LINUX) || defined(OS_BSD) + return {PlatformThread::CurrentId(), pthread_self()}; + #else + return {PlatformThread::CurrentId()}; diff --git a/www/iridium/files/patch-base_profiler_sampling__profiler__thread__token.h b/www/iridium/files/patch-base_profiler_sampling__profiler__thread__token.h new file mode 100644 index 000000000000..589e083be74d --- /dev/null +++ b/www/iridium/files/patch-base_profiler_sampling__profiler__thread__token.h @@ -0,0 +1,20 @@ +--- base/profiler/sampling_profiler_thread_token.h.orig 2020-02-07 10:24:33 UTC ++++ base/profiler/sampling_profiler_thread_token.h +@@ -9,7 +9,7 @@ + #include "base/threading/platform_thread.h" + #include "build/build_config.h" + +-#if defined(OS_ANDROID) || defined(OS_LINUX) ++#if defined(OS_ANDROID) || defined(OS_LINUX) || defined(OS_BSD) + #include <pthread.h> + #endif + +@@ -21,7 +21,7 @@ namespace base { + // functions used to obtain the stack base address. + struct SamplingProfilerThreadToken { + PlatformThreadId id; +-#if defined(OS_ANDROID) || defined(OS_LINUX) ++#if defined(OS_ANDROID) || defined(OS_LINUX) || defined(OS_BSD) + pthread_t pthread_id; + #endif + }; diff --git a/www/iridium/files/patch-base_profiler_stack__copier__signal.cc b/www/iridium/files/patch-base_profiler_stack__copier__signal.cc new file mode 100644 index 000000000000..b9e757471f17 --- /dev/null +++ b/www/iridium/files/patch-base_profiler_stack__copier__signal.cc @@ -0,0 +1,63 @@ +--- base/profiler/stack_copier_signal.cc.orig 2020-04-10 00:33:01 UTC ++++ base/profiler/stack_copier_signal.cc +@@ -4,7 +4,14 @@ + + #include "base/profiler/stack_copier_signal.h" + ++#if defined(OS_LINUX) + #include <linux/futex.h> ++#include <syscall.h> ++#elif defined(OS_FREEBSD) ++#include <sys/types.h> ++#include <sys/thr.h> ++#include <sys/umtx.h> ++#endif + #include <signal.h> + #include <sys/ucontext.h> + #include <syscall.h> +@@ -35,8 +42,13 @@ class AsyncSafeWaitableEvent { + // for a pthread mutex. So, also check the condition. + while (true) { + int res = ++#if defined(OS_LINUX) + syscall(SYS_futex, futex_int_ptr(), FUTEX_WAIT | FUTEX_PRIVATE_FLAG, + 0, nullptr, nullptr, 0); ++#elif defined(OS_FREEBSD) ++ _umtx_op(futex_int_ptr(), UMTX_OP_WAIT_UINT_PRIVATE, 0, nullptr, ++ nullptr); ++#endif + if (futex_.load(std::memory_order_acquire) != 0) + return true; + if (res != 0) +@@ -46,8 +58,12 @@ class AsyncSafeWaitableEvent { + + void Signal() { + futex_.store(1, std::memory_order_release); ++#if defined(OS_LINUX) + syscall(SYS_futex, futex_int_ptr(), FUTEX_WAKE | FUTEX_PRIVATE_FLAG, 1, + nullptr, nullptr, 0); ++#elif defined(OS_FREEBSD) ++ _umtx_op(futex_int_ptr(), UMTX_OP_WAKE_PRIVATE, 1, nullptr, nullptr); ++#endif + } + + private: +@@ -214,11 +230,18 @@ bool StackCopierSignal::CopyStack(StackBuffer* stack_b + if (!scoped_sigaction.succeeded()) + return false; + ++#if defined(OS_LINUX) + if (syscall(SYS_tgkill, getpid(), thread_delegate_->GetThreadId(), + SIGURG) != 0) { + NOTREACHED(); + return false; + } ++#elif defined(OS_FREEBSD) ++ if (thr_kill2(getpid(), thread_delegate_->GetThreadId(), SIGURG) != 0) { ++ NOTREACHED(); ++ return false; ++ } ++#endif + bool finished_waiting = wait_event.Wait(); + TRACE_EVENT_END0(TRACE_DISABLED_BY_DEFAULT("cpu_profiler.debug"), + "StackCopierSignal copy stack"); diff --git a/www/iridium/files/patch-base_profiler_stack__sampling__profiler__unittest.cc b/www/iridium/files/patch-base_profiler_stack__sampling__profiler__unittest.cc new file mode 100644 index 000000000000..686f7e90afb3 --- /dev/null +++ b/www/iridium/files/patch-base_profiler_stack__sampling__profiler__unittest.cc @@ -0,0 +1,11 @@ +--- base/profiler/stack_sampling_profiler_unittest.cc.orig 2019-07-24 18:58:02 UTC ++++ base/profiler/stack_sampling_profiler_unittest.cc +@@ -41,7 +41,7 @@ + #include <intrin.h> + #include <malloc.h> + #include <windows.h> +-#else ++#elif !defined(OS_BSD) + #include <alloca.h> + #endif + diff --git a/www/iridium/files/patch-base_profiler_thread__delegate__posix.cc b/www/iridium/files/patch-base_profiler_thread__delegate__posix.cc new file mode 100644 index 000000000000..a2f162e586fe --- /dev/null +++ b/www/iridium/files/patch-base_profiler_thread__delegate__posix.cc @@ -0,0 +1,50 @@ +--- base/profiler/thread_delegate_posix.cc.orig 2020-04-10 00:37:03 UTC ++++ base/profiler/thread_delegate_posix.cc +@@ -4,6 +4,10 @@ + + #include <pthread.h> + ++#if defined(OS_FREEBSD) ++#include <pthread_np.h> ++#endif ++ + #include "base/process/process_handle.h" + #include "base/profiler/thread_delegate_posix.h" + #include "base/stl_util.h" +@@ -17,7 +21,12 @@ namespace { + uintptr_t GetThreadStackBaseAddressImpl( + SamplingProfilerThreadToken thread_token) { + pthread_attr_t attr; ++#if defined(OS_FREEBSDD) ++ pthread_attr_init(&attr); ++ pthread_attr_get_np(thread_token.pthread_id, &attr); ++#elif defined(OS_LINUX) + pthread_getattr_np(thread_token.pthread_id, &attr); ++#endif + // See crbug.com/617730 for limitations of this approach on Linux. + void* address; + size_t size; +@@ -103,6 +112,15 @@ std::vector<uintptr_t*> ThreadDelegatePosix::GetRegist + return { + // Return the set of callee-save registers per the x86-64 System V ABI + // section 3.2.1, plus the stack pointer. ++#if defined(OS_FREEBSD) ++ reinterpret_cast<uintptr_t*>(&thread_context->mc_rbp), ++ reinterpret_cast<uintptr_t*>(&thread_context->mc_rbx), ++ reinterpret_cast<uintptr_t*>(&thread_context->mc_r12), ++ reinterpret_cast<uintptr_t*>(&thread_context->mc_r13), ++ reinterpret_cast<uintptr_t*>(&thread_context->mc_r14), ++ reinterpret_cast<uintptr_t*>(&thread_context->mc_r15), ++ reinterpret_cast<uintptr_t*>(&thread_context->mc_rsp), ++#else + reinterpret_cast<uintptr_t*>(&thread_context->gregs[REG_RBP]), + reinterpret_cast<uintptr_t*>(&thread_context->gregs[REG_RBX]), + reinterpret_cast<uintptr_t*>(&thread_context->gregs[REG_R12]), +@@ -110,6 +128,7 @@ std::vector<uintptr_t*> ThreadDelegatePosix::GetRegist + reinterpret_cast<uintptr_t*>(&thread_context->gregs[REG_R14]), + reinterpret_cast<uintptr_t*>(&thread_context->gregs[REG_R15]), + reinterpret_cast<uintptr_t*>(&thread_context->gregs[REG_RSP]), ++#endif + }; + #else // #if defined(ARCH_CPU_ARM_FAMILY) && defined(ARCH_CPU_32_BITS) + // Unimplemented for other architectures. diff --git a/www/iridium/files/patch-base_sampling__heap__profiler_sampling__heap__profiler.cc b/www/iridium/files/patch-base_sampling__heap__profiler_sampling__heap__profiler.cc new file mode 100644 index 000000000000..44e3b0aae8ef --- /dev/null +++ b/www/iridium/files/patch-base_sampling__heap__profiler_sampling__heap__profiler.cc @@ -0,0 +1,24 @@ +--- base/sampling_heap_profiler/sampling_heap_profiler.cc.orig 2019-09-09 21:55:05 UTC ++++ base/sampling_heap_profiler/sampling_heap_profiler.cc +@@ -29,6 +29,10 @@ + #include <sys/prctl.h> + #endif + ++#if defined(OS_BSD) ++#include <pthread_np.h> ++#endif ++ + #if defined(OS_ANDROID) && BUILDFLAG(CAN_UNWIND_WITH_CFI_TABLE) && \ + defined(OFFICIAL_BUILD) + #include "base/trace_event/cfi_backtrace_android.h" +@@ -64,6 +68,10 @@ const char* GetAndLeakThreadName() { + #elif defined(OS_MACOSX) + int err = pthread_getname_np(pthread_self(), name, kBufferLen); + if (err == 0 && *name != '\0') ++ return strdup(name); ++#elif defined(OS_BSD) && __FreeBSD__ >= 12 ++ pthread_get_name_np(pthread_self(), name, kBufferLen); ++ if (*name != '\0') + return strdup(name); + #endif // defined(OS_LINUX) || defined(OS_ANDROID) + diff --git a/www/iridium/files/patch-base_security__unittest.cc b/www/iridium/files/patch-base_security__unittest.cc new file mode 100644 index 000000000000..c46d71f83add --- /dev/null +++ b/www/iridium/files/patch-base_security__unittest.cc @@ -0,0 +1,11 @@ +--- base/security_unittest.cc.orig 2019-04-30 22:22:28 UTC ++++ base/security_unittest.cc +@@ -60,7 +60,7 @@ NOINLINE Type HideValueFromCompiler(volatile Type valu + // FAILS_ is too clunky. + void OverflowTestsSoftExpectTrue(bool overflow_detected) { + if (!overflow_detected) { +-#if defined(OS_LINUX) || defined(OS_ANDROID) || defined(OS_MACOSX) ++#if defined(OS_POSIX) && !defined(OS_NACL) + // Sadly, on Linux, Android, and OSX we don't have a good story yet. Don't + // fail the test, but report. + printf("Platform has overflow: %s\n", diff --git a/www/iridium/files/patch-base_synchronization_lock__impl.h b/www/iridium/files/patch-base_synchronization_lock__impl.h new file mode 100644 index 000000000000..fb3737a27ea9 --- /dev/null +++ b/www/iridium/files/patch-base_synchronization_lock__impl.h @@ -0,0 +1,16 @@ +--- base/synchronization/lock_impl.h.orig 2020-03-08 08:35:16 UTC ++++ base/synchronization/lock_impl.h +@@ -67,10 +67,13 @@ void LockImpl::Unlock() { + ::ReleaseSRWLockExclusive(reinterpret_cast<PSRWLOCK>(&native_handle_)); + } + #elif defined(OS_POSIX) || defined(OS_FUCHSIA) ++#pragma GCC diagnostic push ++#pragma GCC diagnostic ignored "-Wthread-safety-analysis" + void LockImpl::Unlock() { + int rv = pthread_mutex_unlock(&native_handle_); + DCHECK_EQ(rv, 0) << ". " << strerror(rv); + } ++#pragma GCC diagnostic pop + #endif + + // This is an implementation used for AutoLock templated on the lock type. diff --git a/www/iridium/files/patch-base_syslog__logging.cc b/www/iridium/files/patch-base_syslog__logging.cc new file mode 100644 index 000000000000..d719219ca50b --- /dev/null +++ b/www/iridium/files/patch-base_syslog__logging.cc @@ -0,0 +1,20 @@ +--- base/syslog_logging.cc.orig 2019-10-21 19:06:18 UTC ++++ base/syslog_logging.cc +@@ -14,7 +14,7 @@ + #include "base/debug/stack_trace.h" + #include "base/strings/string_util.h" + #include "base/win/win_util.h" +-#elif defined(OS_LINUX) ++#elif defined(OS_LINUX) || defined(OS_BSD) + // <syslog.h> defines LOG_INFO, LOG_WARNING macros that could conflict with + // base::LOG_INFO, base::LOG_WARNING. + #include <syslog.h> +@@ -113,7 +113,7 @@ EventLogMessage::~EventLogMessage() { + + if (user_sid != nullptr) + ::LocalFree(user_sid); +-#elif defined(OS_LINUX) ++#elif defined(OS_LINUX) || defined(OS_BSD) + const char kEventSource[] = "chrome"; + openlog(kEventSource, LOG_NOWAIT | LOG_PID, LOG_USER); + // We can't use the defined names for the logging severity from syslog.h diff --git a/www/iridium/files/patch-base_system_sys__info.h b/www/iridium/files/patch-base_system_sys__info.h new file mode 100644 index 000000000000..2159a51c6b6f --- /dev/null +++ b/www/iridium/files/patch-base_system_sys__info.h @@ -0,0 +1,20 @@ +--- base/system/sys_info.h.orig 2020-03-16 18:39:41 UTC ++++ base/system/sys_info.h +@@ -194,6 +194,8 @@ class BASE_EXPORT SysInfo { + // On Desktop this returns true when memory <= 512MB. + static bool IsLowEndDevice(); + ++ static uint64_t MaxSharedMemorySize(); ++ + private: + FRIEND_TEST_ALL_PREFIXES(SysInfoTest, AmountOfAvailablePhysicalMemory); + FRIEND_TEST_ALL_PREFIXES(debug::SystemMetricsTest, ParseMeminfo); +@@ -203,7 +205,7 @@ class BASE_EXPORT SysInfo { + static bool IsLowEndDeviceImpl(); + static HardwareInfo GetHardwareInfoSync(); + +-#if defined(OS_LINUX) || defined(OS_ANDROID) || defined(OS_AIX) ++#if defined(OS_LINUX) || defined(OS_ANDROID) || defined(OS_AIX) || defined(OS_BSD) + static int64_t AmountOfAvailablePhysicalMemory( + const SystemMemoryInfoKB& meminfo); + #endif diff --git a/www/iridium/files/patch-base_system_sys__info__freebsd.cc b/www/iridium/files/patch-base_system_sys__info__freebsd.cc new file mode 100644 index 000000000000..12994422dc08 --- /dev/null +++ b/www/iridium/files/patch-base_system_sys__info__freebsd.cc @@ -0,0 +1,67 @@ +--- base/system/sys_info_freebsd.cc.orig 2019-12-16 21:50:40 UTC ++++ base/system/sys_info_freebsd.cc +@@ -13,26 +13,59 @@ + namespace base { + + int64_t SysInfo::AmountOfPhysicalMemoryImpl() { +- int pages, page_size; ++ int pages, page_size, r = 0; + size_t size = sizeof(pages); +- sysctlbyname("vm.stats.vm.v_page_count", &pages, &size, NULL, 0); +- sysctlbyname("vm.stats.vm.v_page_size", &page_size, &size, NULL, 0); +- if (pages == -1 || page_size == -1) { ++ if(r == 0) ++ r = sysctlbyname("vm.stats.vm.v_page_count", &pages, &size, NULL, 0); ++ if(r == 0) ++ r =sysctlbyname("vm.stats.vm.v_page_size", &page_size, &size, NULL, 0); ++ if(r == -1) { + NOTREACHED(); + return 0; + } + return static_cast<int64_t>(pages) * page_size; + } + ++int64_t SysInfo::AmountOfAvailablePhysicalMemoryImpl() { ++ int page_size, r = 0; ++ unsigned pgfree, pginact, pgcache; ++ size_t size = sizeof(page_size); ++ size_t szpg = sizeof(pgfree); ++ if(r == 0) ++ r = sysctlbyname("vm.stats.vm.v_page_size", &page_size, &size, NULL, 0); ++ if(r == 0) ++ r = sysctlbyname("vm.stats.vm.v_free_count", &pgfree, &szpg, NULL, 0); ++ if(r == 0) ++ r = sysctlbyname("vm.stats.vm.v_inactive_count", &pginact, &szpg, NULL, 0); ++ if(r == 0) ++ r = sysctlbyname("vm.stats.vm.v_cache_count", &pgcache, &szpg, NULL, 0); ++ if(r == -1) { ++ NOTREACHED(); ++ return 0; ++ } ++ return static_cast<int64_t>((pgfree + pginact + pgcache) * page_size); ++} ++ + // static ++std::string SysInfo::CPUModelName() { ++ int mib[] = { CTL_HW, HW_MODEL }; ++ char name[256]; ++ size_t size = base::size(name); ++ if (sysctl(mib, base::size(mib), &name, &size, NULL, 0) == 0) ++ return name; ++ return std::string(); ++} ++ ++// static + uint64_t SysInfo::MaxSharedMemorySize() { + size_t limit; + size_t size = sizeof(limit); ++ + if (sysctlbyname("kern.ipc.shmmax", &limit, &size, NULL, 0) < 0) { + NOTREACHED(); + return 0; + } ++ + return static_cast<uint64_t>(limit); + } +- + } // namespace base diff --git a/www/iridium/files/patch-base_system_sys__info__posix.cc b/www/iridium/files/patch-base_system_sys__info__posix.cc new file mode 100644 index 000000000000..5b79b03dce8a --- /dev/null +++ b/www/iridium/files/patch-base_system_sys__info__posix.cc @@ -0,0 +1,11 @@ +--- base/system/sys_info_posix.cc.orig 2019-09-09 21:55:05 UTC ++++ base/system/sys_info_posix.cc +@@ -220,6 +220,8 @@ std::string SysInfo::OperatingSystemArchitecture() { + arch = "x86"; + } else if (arch == "amd64") { + arch = "x86_64"; ++ } else if (arch == "arm64") { ++ arch = "aarch64"; + } else if (std::string(info.sysname) == "AIX") { + arch = "ppc64"; + } diff --git a/www/iridium/files/patch-base_task_thread__pool_environment__config__unittest.cc b/www/iridium/files/patch-base_task_thread__pool_environment__config__unittest.cc new file mode 100644 index 000000000000..92b120193ada --- /dev/null +++ b/www/iridium/files/patch-base_task_thread__pool_environment__config__unittest.cc @@ -0,0 +1,11 @@ +--- base/task/thread_pool/environment_config_unittest.cc.orig 2019-07-29 13:26:54 UTC ++++ base/task/thread_pool/environment_config_unittest.cc +@@ -14,7 +14,7 @@ namespace internal { + TEST(ThreadPoolEnvironmentConfig, CanUseBackgroundPriorityForWorker) { + #if defined(OS_WIN) || defined(OS_MACOSX) || defined(OS_IOS) + EXPECT_TRUE(CanUseBackgroundPriorityForWorkerThread()); +-#elif defined(OS_LINUX) || defined(OS_ANDROID) || defined(OS_FUCHSIA) || \ ++#elif defined(OS_LINUX) || defined(OS_ANDROID) || defined(OS_FUCHSIA) || defined(OS_BSD) || \ + defined(OS_CHROMEOS) || defined(OS_NACL) + EXPECT_FALSE(CanUseBackgroundPriorityForWorkerThread()); + #else diff --git a/www/iridium/files/patch-base_test_fontconfig__util__linux.cc b/www/iridium/files/patch-base_test_fontconfig__util__linux.cc new file mode 100644 index 000000000000..eb6ff5024c46 --- /dev/null +++ b/www/iridium/files/patch-base_test_fontconfig__util__linux.cc @@ -0,0 +1,406 @@ +--- base/test/fontconfig_util_linux.cc.orig 2020-02-03 21:52:37 UTC ++++ base/test/fontconfig_util_linux.cc +@@ -6,22 +6,397 @@ + + #include <fontconfig/fontconfig.h> + +-#include <memory> +- + #include "base/base_paths.h" + #include "base/environment.h" + #include "base/files/file_path.h" ++#include "base/files/file_util.h" + #include "base/logging.h" ++#include "base/macros.h" + #include "base/path_service.h" ++#include "base/strings/string_util.h" + + namespace base { + ++namespace { ++ ++const char kFontsConfTemplate[] = R"(<?xml version="1.0"?> ++<!DOCTYPE fontconfig SYSTEM "fonts.dtd"> ++<fontconfig> ++ ++ <!-- Cache location. --> ++ <cachedir>$1</cachedir> ++ ++ <!-- GCS-synced fonts. --> ++ <dir>$2</dir> ++ ++ <!-- Default properties. --> ++ <match target="font"> ++ <edit name="embeddedbitmap" mode="append_last"> ++ <bool>false</bool> ++ </edit> ++ </match> ++ ++ <match target="pattern"> ++ <test qual="any" name="family"> ++ <string>Times</string> ++ </test> ++ <edit name="family" mode="assign"> ++ <string>Tinos</string> ++ </edit> ++ </match> ++ ++ <match target="pattern"> ++ <test qual="any" name="family"> ++ <string>sans</string> ++ </test> ++ <edit name="family" mode="assign"> ++ <string>DejaVu Sans</string> ++ </edit> ++ </match> ++ ++ <match target="pattern"> ++ <test qual="any" name="family"> ++ <string>sans serif</string> ++ </test> ++ <edit name="family" mode="assign"> ++ <string>Arimo</string> ++ </edit> ++ </match> ++ ++ <!-- Some layout tests specify Helvetica as a family and we need to make sure ++ that we don't fallback to Tinos for them --> ++ <match target="pattern"> ++ <test qual="any" name="family"> ++ <string>Helvetica</string> ++ </test> ++ <edit name="family" mode="assign"> ++ <string>Arimo</string> ++ </edit> ++ </match> ++ ++ <match target="pattern"> ++ <test qual="any" name="family"> ++ <string>sans-serif</string> ++ </test> ++ <edit name="family" mode="assign"> ++ <string>Arimo</string> ++ </edit> ++ </match> ++ ++ <match target="pattern"> ++ <test qual="any" name="family"> ++ <string>serif</string> ++ </test> ++ <edit name="family" mode="assign"> ++ <string>Tinos</string> ++ </edit> ++ </match> ++ ++ <match target="pattern"> ++ <test qual="any" name="family"> ++ <string>mono</string> ++ </test> ++ <edit name="family" mode="assign"> ++ <string>Cousine</string> ++ </edit> ++ </match> ++ ++ <match target="pattern"> ++ <test qual="any" name="family"> ++ <string>monospace</string> ++ </test> ++ <edit name="family" mode="assign"> ++ <string>Cousine</string> ++ </edit> ++ </match> ++ ++ <match target="pattern"> ++ <test qual="any" name="family"> ++ <string>Courier</string> ++ </test> ++ <edit name="family" mode="assign"> ++ <string>Cousine</string> ++ </edit> ++ </match> ++ ++ <match target="pattern"> ++ <test qual="any" name="family"> ++ <string>cursive</string> ++ </test> ++ <edit name="family" mode="assign"> ++ <string>Comic Sans MS</string> ++ </edit> ++ </match> ++ ++ <match target="pattern"> ++ <test qual="any" name="family"> ++ <string>fantasy</string> ++ </test> ++ <edit name="family" mode="assign"> ++ <string>Impact</string> ++ </edit> ++ </match> ++ ++ <match target="pattern"> ++ <test qual="any" name="family"> ++ <string>Monaco</string> ++ </test> ++ <edit name="family" mode="assign"> ++ <string>Tinos</string> ++ </edit> ++ </match> ++ ++ <match target="pattern"> ++ <test qual="any" name="family"> ++ <string>Arial</string> ++ </test> ++ <edit name="family" mode="assign"> ++ <string>Arimo</string> ++ </edit> ++ </match> ++ ++ <match target="pattern"> ++ <test qual="any" name="family"> ++ <string>Courier New</string> ++ </test> ++ <edit name="family" mode="assign"> ++ <string>Cousine</string> ++ </edit> ++ </match> ++ ++ <match target="pattern"> ++ <test qual="any" name="family"> ++ <string>Georgia</string> ++ </test> ++ <edit name="family" mode="assign"> ++ <string>Gelasio</string> ++ </edit> ++ </match> ++ ++ <match target="pattern"> ++ <test qual="any" name="family"> ++ <string>Times New Roman</string> ++ </test> ++ <edit name="family" mode="assign"> ++ <string>Tinos</string> ++ </edit> ++ </match> ++ ++ <match target="pattern"> ++ <test qual="any" name="family"> ++ <string>Verdana</string> ++ </test> ++ <!-- NOT metrically compatible! --> ++ <edit name="family" mode="assign"> ++ <string>Arimo</string> ++ </edit> ++ </match> ++ ++ <!-- TODO(thomasanderson): Move these configs to be test-specific. --> ++ <match target="pattern"> ++ <test name="family" compare="eq"> ++ <string>NonAntiAliasedSans</string> ++ </test> ++ <edit name="family" mode="assign"> ++ <string>Arimo</string> ++ </edit> ++ <edit name="antialias" mode="assign"> ++ <bool>false</bool> ++ </edit> ++ </match> ++ ++ <match target="pattern"> ++ <test name="family" compare="eq"> ++ <string>SlightHintedGeorgia</string> ++ </test> ++ <edit name="family" mode="assign"> ++ <string>Gelasio</string> ++ </edit> ++ <edit name="hintstyle" mode="assign"> ++ <const>hintslight</const> ++ </edit> ++ </match> ++ ++ <match target="pattern"> ++ <test name="family" compare="eq"> ++ <string>NonHintedSans</string> ++ </test> ++ <edit name="family" mode="assign"> ++ <string>Arimo</string> ++ </edit> ++ <!-- These deliberately contradict each other. The 'hinting' preference ++ should take priority --> ++ <edit name="hintstyle" mode="assign"> ++ <const>hintfull</const> ++ </edit> ++ <edit name="hinting" mode="assign"> ++ <bool>false</bool> ++ </edit> ++ </match> ++ ++ <match target="pattern"> ++ <test name="family" compare="eq"> ++ <string>AutohintedSerif</string> ++ </test> ++ <edit name="family" mode="assign"> ++ <string>Arimo</string> ++ </edit> ++ <edit name="autohint" mode="assign"> ++ <bool>true</bool> ++ </edit> ++ <edit name="hintstyle" mode="assign"> ++ <const>hintmedium</const> ++ </edit> ++ </match> ++ ++ <match target="pattern"> ++ <test name="family" compare="eq"> ++ <string>HintedSerif</string> ++ </test> ++ <edit name="family" mode="assign"> ++ <string>Arimo</string> ++ </edit> ++ <edit name="autohint" mode="assign"> ++ <bool>false</bool> ++ </edit> ++ <edit name="hintstyle" mode="assign"> ++ <const>hintmedium</const> ++ </edit> ++ </match> ++ ++ <match target="pattern"> ++ <test name="family" compare="eq"> ++ <string>FullAndAutoHintedSerif</string> ++ </test> ++ <edit name="family" mode="assign"> ++ <string>Arimo</string> ++ </edit> ++ <edit name="autohint" mode="assign"> ++ <bool>true</bool> ++ </edit> ++ <edit name="hintstyle" mode="assign"> ++ <const>hintfull</const> ++ </edit> ++ </match> ++ ++ <match target="pattern"> ++ <test name="family" compare="eq"> ++ <string>SubpixelEnabledArial</string> ++ </test> ++ <edit name="family" mode="assign"> ++ <string>Arimo</string> ++ </edit> ++ <edit name="rgba" mode="assign"> ++ <const>rgb</const> ++ </edit> ++ </match> ++ ++ <match target="pattern"> ++ <test name="family" compare="eq"> ++ <string>SubpixelDisabledArial</string> ++ </test> ++ <edit name="family" mode="assign"> ++ <string>Arimo</string> ++ </edit> ++ <edit name="rgba" mode="assign"> ++ <const>none</const> ++ </edit> ++ </match> ++ ++ <match target="pattern"> ++ <!-- FontConfig doesn't currently provide a well-defined way to turn on ++ subpixel positioning. This is just an arbitrary pattern to use after ++ turning subpixel positioning on globally to ensure that we don't have ++ issues with our style getting cached for other tests. --> ++ <test name="family" compare="eq"> ++ <string>SubpixelPositioning</string> ++ </test> ++ <edit name="family" mode="assign"> ++ <string>Tinos</string> ++ </edit> ++ </match> ++ ++ <match target="pattern"> ++ <!-- See comments above --> ++ <test name="family" compare="eq"> ++ <string>SubpixelPositioningAhem</string> ++ </test> ++ <edit name="family" mode="assign"> ++ <string>ahem</string> ++ </edit> ++ </match> ++ ++ <match target="pattern"> ++ <test name="family" compare="eq"> ++ <string>SlightHintedTimesNewRoman</string> ++ </test> ++ <edit name="family" mode="assign"> ++ <string>Tinos</string> ++ </edit> ++ <edit name="hintstyle" mode="assign"> ++ <const>hintslight</const> ++ </edit> ++ </match> ++ ++ <!-- When we encounter a character that the current font doesn't ++ support, gfx::GetFallbackFontForChar() returns the first font ++ that does have a glyph for the character. The list of fonts is ++ sorted by a pattern that includes the current locale, but doesn't ++ include a font family (which means that the fallback font depends ++ on the locale but not on the current font). ++ ++ DejaVu Sans is commonly the only font that supports some ++ characters, such as "⇧", and even when other candidates are ++ available, DejaVu Sans is commonly first among them, because of ++ the way Fontconfig is ordinarily configured. For example, the ++ configuration in the Fonconfig source lists DejaVu Sans under the ++ sans-serif generic family, and appends sans-serif to patterns ++ that don't already include a generic family (such as the pattern ++ in gfx::GetFallbackFontForChar()). ++ ++ To get the same fallback font in the layout tests, we could ++ duplicate this configuration here, or more directly, simply ++ append DejaVu Sans to all patterns. --> ++ <match target="pattern"> ++ <edit name="family" mode="append_last"> ++ <string>DejaVu Sans</string> ++ </edit> ++ </match> ++ ++</fontconfig> ++)"; ++ ++} // namespace ++ + void SetUpFontconfig() { +- FilePath dir_module; +- CHECK(PathService::Get(DIR_MODULE, &dir_module)); ++ std::unique_ptr<Environment> env = Environment::Create(); ++ if (!env->HasVar("FONTCONFIG_FILE")) { ++ // fonts.conf must be generated on-the-fly since it contains absolute paths ++ // which may be different if ++ // 1. The user moves/renames their build directory (or any parent dirs). ++ // 2. The build directory is mapped on a swarming bot at a location ++ // different from the one the buildbot used. ++ FilePath dir_module; ++ PathService::Get(DIR_MODULE, &dir_module); ++ FilePath font_cache = dir_module.Append("fontconfig_caches"); ++ FilePath test_fonts = dir_module.Append("test_fonts"); ++ std::string fonts_conf = ReplaceStringPlaceholders( ++ kFontsConfTemplate, {font_cache.value(), test_fonts.value()}, nullptr); + +- std::unique_ptr<Environment> env(Environment::Create()); +- CHECK(env->SetVar("FONTCONFIG_SYSROOT", dir_module.value().c_str())); ++ // Write the data to a different file and then atomically rename it to ++ // fonts.conf. This avoids the file being in a bad state when different ++ // parallel tests call this function at the same time. ++ FilePath fonts_conf_file_temp; ++ if(!CreateTemporaryFileInDir(dir_module, &fonts_conf_file_temp)) ++ CHECK(CreateTemporaryFile(&fonts_conf_file_temp)); ++ CHECK( ++ WriteFile(fonts_conf_file_temp, fonts_conf.c_str(), fonts_conf.size())); ++ FilePath fonts_conf_file = dir_module.Append("fonts.conf"); ++ if (ReplaceFile(fonts_conf_file_temp, fonts_conf_file, nullptr)) ++ env->SetVar("FONTCONFIG_FILE", fonts_conf_file.value()); ++ else ++ env->SetVar("FONTCONFIG_FILE", fonts_conf_file_temp.value()); ++ } + } + + } // namespace base diff --git a/www/iridium/files/patch-base_test_generate__fontconfig__caches.cc b/www/iridium/files/patch-base_test_generate__fontconfig__caches.cc new file mode 100644 index 000000000000..60cb0527b5f4 --- /dev/null +++ b/www/iridium/files/patch-base_test_generate__fontconfig__caches.cc @@ -0,0 +1,17 @@ +--- base/test/generate_fontconfig_caches.cc.orig 2019-12-16 21:51:21 UTC ++++ base/test/generate_fontconfig_caches.cc +@@ -59,7 +59,14 @@ int main() { + FcFini(); + + // Check existence of intended fontconfig cache file. ++#if defined(OS_BSD) ++ // Our version of fontconfig is too old to respect .uuid files in font directories, ++ // so we check for the CACHEDIR.TAG file instead + CHECK(base::PathExists( ++ fontconfig_caches.Append("CACHEDIR.TAG"))); ++#else ++ CHECK(base::PathExists( + fontconfig_caches.Append(base::StrCat({uuid, "-le64.cache-7"})))); ++#endif + return 0; + } diff --git a/www/iridium/files/patch-base_test_launcher_test__launcher.cc b/www/iridium/files/patch-base_test_launcher_test__launcher.cc new file mode 100644 index 000000000000..4ec5e581d6b6 --- /dev/null +++ b/www/iridium/files/patch-base_test_launcher_test__launcher.cc @@ -0,0 +1,19 @@ +--- base/test/launcher/test_launcher.cc.orig 2020-03-16 18:40:27 UTC ++++ base/test/launcher/test_launcher.cc +@@ -55,6 +55,7 @@ + #include "testing/gtest/include/gtest/gtest.h" + + #if defined(OS_POSIX) ++#include <signal.h> + #include <fcntl.h> + + #include "base/files/file_descriptor_watcher_posix.h" +@@ -551,7 +552,7 @@ ChildProcessResults DoLaunchChildTestProcess( + #if !defined(OS_FUCHSIA) + options.new_process_group = true; + #endif +-#if defined(OS_LINUX) ++#if defined(OS_LINUX) || defined(OS_BSD) + options.kill_on_parent_death = true; + #endif + diff --git a/www/iridium/files/patch-base_test_test__file__util__posix.cc b/www/iridium/files/patch-base_test_test__file__util__posix.cc new file mode 100644 index 000000000000..a65fcc61d56b --- /dev/null +++ b/www/iridium/files/patch-base_test_test__file__util__posix.cc @@ -0,0 +1,11 @@ +--- base/test/test_file_util_posix.cc.orig 2020-02-03 21:52:37 UTC ++++ base/test/test_file_util_posix.cc +@@ -84,7 +84,7 @@ void SyncPageCacheToDisk() { + sync(); + } + +-#if !defined(OS_LINUX) && !defined(OS_MACOSX) && !defined(OS_ANDROID) ++#if !defined(OS_LINUX) && !defined(OS_MACOSX) && !defined(OS_ANDROID) && !defined(OS_BSD) + bool EvictFileFromSystemCache(const FilePath& file) { + // There doesn't seem to be a POSIX way to cool the disk cache. + NOTIMPLEMENTED(); diff --git a/www/iridium/files/patch-base_test_test__suite.cc b/www/iridium/files/patch-base_test_test__suite.cc new file mode 100644 index 000000000000..74f7f01726cc --- /dev/null +++ b/www/iridium/files/patch-base_test_test__suite.cc @@ -0,0 +1,37 @@ +--- base/test/test_suite.cc.orig 2020-03-23 15:30:45 UTC ++++ base/test/test_suite.cc +@@ -68,7 +68,7 @@ + #include "base/test/test_support_ios.h" + #endif + +-#if defined(OS_LINUX) ++#if defined(OS_LINUX) || defined(OS_BSD) + #include "base/test/fontconfig_util_linux.h" + #endif + +@@ -384,14 +384,14 @@ void TestSuite::PreInitialize() { + testing::GTEST_FLAG(catch_exceptions) = false; + #endif + EnableTerminationOnHeapCorruption(); +-#if defined(OS_LINUX) && defined(USE_AURA) ++#if (defined(OS_LINUX) || defined(OS_BSD)) && defined(USE_AURA) + // When calling native char conversion functions (e.g wrctomb) we need to + // have the locale set. In the absence of such a call the "C" locale is the + // default. In the gtk code (below) gtk_init() implicitly sets a locale. + setlocale(LC_ALL, ""); + // We still need number to string conversions to be locale insensitive. + setlocale(LC_NUMERIC, "C"); +-#endif // defined(OS_LINUX) && defined(USE_AURA) ++#endif // (defined(OS_LINUX) || defined(OS_BSD)) && defined(USE_AURA) + + // On Android, AtExitManager is created in + // testing/android/native_test_wrapper.cc before main() is called. +@@ -620,7 +620,7 @@ void TestSuite::Initialize() { + // TODO(jshin): Should we set the locale via an OS X locale API here? + i18n::SetICUDefaultLocale("en_US"); + +-#if defined(OS_LINUX) ++#if defined(OS_LINUX) || defined(OS_BSD) + SetUpFontconfig(); + #endif + diff --git a/www/iridium/files/patch-base_third__party_libevent_BUILD.gn b/www/iridium/files/patch-base_third__party_libevent_BUILD.gn new file mode 100644 index 000000000000..67042d6ca3e5 --- /dev/null +++ b/www/iridium/files/patch-base_third__party_libevent_BUILD.gn @@ -0,0 +1,24 @@ +--- base/third_party/libevent/BUILD.gn.orig 2019-03-11 22:00:51 UTC ++++ base/third_party/libevent/BUILD.gn +@@ -43,13 +43,20 @@ static_library("libevent") { + "mac/event-config.h", + ] + include_dirs = [ "mac" ] +- } else if (is_linux) { ++ } else if (is_linux && !is_bsd) { + sources += [ + "epoll.c", + "linux/config.h", + "linux/event-config.h", + ] + include_dirs = [ "linux" ] ++ } else if (is_bsd) { ++ sources += [ ++ "kqueue.c", ++ "freebsd/config.h", ++ "freebsd/event-config.h", ++ ] ++ include_dirs = [ "freebsd" ] + } else if (is_android) { + sources += [ + "android/config.h", diff --git a/www/iridium/files/patch-base_threading_platform__thread.h b/www/iridium/files/patch-base_threading_platform__thread.h new file mode 100644 index 000000000000..0ff2fc68f36a --- /dev/null +++ b/www/iridium/files/patch-base_threading_platform__thread.h @@ -0,0 +1,11 @@ +--- base/threading/platform_thread.h.orig 2019-10-21 19:06:18 UTC ++++ base/threading/platform_thread.h +@@ -221,7 +221,7 @@ class BASE_EXPORT PlatformThread { + + static ThreadPriority GetCurrentThreadPriority(); + +-#if defined(OS_LINUX) ++#if defined(OS_LINUX) || defined(OS_BSD) + // Toggles a specific thread's priority at runtime. This can be used to + // change the priority of a thread in a different process and will fail + // if the calling process does not have proper permissions. The diff --git a/www/iridium/files/patch-base_threading_platform__thread__linux.cc b/www/iridium/files/patch-base_threading_platform__thread__linux.cc new file mode 100644 index 000000000000..78123188b58a --- /dev/null +++ b/www/iridium/files/patch-base_threading_platform__thread__linux.cc @@ -0,0 +1,30 @@ +--- base/threading/platform_thread_linux.cc.orig 2019-03-11 22:00:51 UTC ++++ base/threading/platform_thread_linux.cc +@@ -18,7 +18,9 @@ + + #if !defined(OS_NACL) && !defined(OS_AIX) + #include <pthread.h> ++#if !defined(OS_BSD) + #include <sys/prctl.h> ++#endif + #include <sys/resource.h> + #include <sys/time.h> + #include <sys/types.h> +@@ -99,7 +101,7 @@ const ThreadPriorityToNiceValuePair kThreadPriorityToN + + Optional<bool> CanIncreaseCurrentThreadPriorityForPlatform( + ThreadPriority priority) { +-#if !defined(OS_NACL) ++#if !defined(OS_NACL) && !defined(OS_BSD) + // A non-zero soft-limit on RLIMIT_RTPRIO is required to be allowed to invoke + // pthread_setschedparam in SetCurrentThreadPriorityForPlatform(). + struct rlimit rlim; +@@ -141,7 +143,7 @@ Optional<ThreadPriority> GetCurrentThreadPriorityForPl + void PlatformThread::SetName(const std::string& name) { + ThreadIdNameManager::GetInstance()->SetName(name); + +-#if !defined(OS_NACL) && !defined(OS_AIX) ++#if !defined(OS_NACL) && !defined(OS_AIX) && !defined(OS_BSD) + // On linux we can get the thread names to show up in the debugger by setting + // the process name for the LWP. We don't want to do this for the main + // thread because that would rename the process, causing tools like killall diff --git a/www/iridium/files/patch-base_threading_platform__thread__posix.cc b/www/iridium/files/patch-base_threading_platform__thread__posix.cc new file mode 100644 index 000000000000..e2681e175e63 --- /dev/null +++ b/www/iridium/files/patch-base_threading_platform__thread__posix.cc @@ -0,0 +1,11 @@ +--- base/threading/platform_thread_posix.cc.orig 2019-03-11 22:00:51 UTC ++++ base/threading/platform_thread_posix.cc +@@ -66,7 +66,7 @@ void* ThreadFunc(void* params) { + if (!thread_params->joinable) + base::ThreadRestrictions::SetSingletonAllowed(false); + +-#if !defined(OS_NACL) ++#if !defined(OS_NACL) && !defined(OS_BSD) + // Threads on linux/android may inherit their priority from the thread + // where they were created. This explicitly sets the priority of all new + // threads. diff --git a/www/iridium/files/patch-base_threading_platform__thread__unittest.cc b/www/iridium/files/patch-base_threading_platform__thread__unittest.cc new file mode 100644 index 000000000000..b998b2d83f2c --- /dev/null +++ b/www/iridium/files/patch-base_threading_platform__thread__unittest.cc @@ -0,0 +1,20 @@ +--- base/threading/platform_thread_unittest.cc.orig 2020-03-23 15:31:47 UTC ++++ base/threading/platform_thread_unittest.cc +@@ -302,7 +302,7 @@ TEST(PlatformThreadTest, + // and hardcodes what we know. Please inform scheduler-dev@chromium.org if this + // proprerty changes for a given platform. + TEST(PlatformThreadTest, CanIncreaseThreadPriority) { +-#if defined(OS_LINUX) ++#if defined(OS_LINUX) || defined(OS_BSD) + // On Ubuntu, RLIMIT_NICE and RLIMIT_RTPRIO are 0 by default, so we won't be + // able to increase priority to any level. + constexpr bool kCanIncreasePriority = false; +@@ -398,7 +398,7 @@ TEST(PlatformThreadTest, SetHugeThreadName) { + TEST(PlatformThreadTest, GetDefaultThreadStackSize) { + size_t stack_size = PlatformThread::GetDefaultThreadStackSize(); + #if defined(OS_WIN) || defined(OS_IOS) || defined(OS_FUCHSIA) || \ +- (defined(OS_LINUX) && !defined(THREAD_SANITIZER)) || \ ++ ((defined(OS_LINUX) || defined(OS_BSD)) && !defined(THREAD_SANITIZER)) || \ + (defined(OS_ANDROID) && !defined(ADDRESS_SANITIZER)) + EXPECT_EQ(0u, stack_size); + #else diff --git a/www/iridium/files/patch-base_threading_thread__task__runner__handle.cc b/www/iridium/files/patch-base_threading_thread__task__runner__handle.cc new file mode 100644 index 000000000000..bdafc95fd2e2 --- /dev/null +++ b/www/iridium/files/patch-base_threading_thread__task__runner__handle.cc @@ -0,0 +1,26 @@ +--- base/threading/thread_task_runner_handle.cc.orig 2019-12-16 21:50:40 UTC ++++ base/threading/thread_task_runner_handle.cc +@@ -8,6 +8,7 @@ + #include <utility> + + #include "base/bind.h" ++#include "base/callback_helpers.h" + #include "base/lazy_instance.h" + #include "base/logging.h" + #include "base/run_loop.h" +@@ -38,6 +39,7 @@ bool ThreadTaskRunnerHandle::IsSet() { + return !!thread_task_runner_tls.Pointer()->Get(); + } + ++#if defined(OS_BSD) + // static + ScopedClosureRunner ThreadTaskRunnerHandle::OverrideForTesting( + scoped_refptr<SingleThreadTaskRunner> overriding_task_runner) { +@@ -82,6 +84,7 @@ ScopedClosureRunner ThreadTaskRunnerHandle::OverrideFo + base::Unretained(ttrh->task_runner_.get()), + std::move(no_running_during_override))); + } ++#endif + + ThreadTaskRunnerHandle::ThreadTaskRunnerHandle( + scoped_refptr<SingleThreadTaskRunner> task_runner) diff --git a/www/iridium/files/patch-base_trace__event_malloc__dump__provider.cc b/www/iridium/files/patch-base_trace__event_malloc__dump__provider.cc new file mode 100644 index 000000000000..fef6ba833abf --- /dev/null +++ b/www/iridium/files/patch-base_trace__event_malloc__dump__provider.cc @@ -0,0 +1,21 @@ +--- base/trace_event/malloc_dump_provider.cc.orig 2020-03-16 18:39:41 UTC ++++ base/trace_event/malloc_dump_provider.cc +@@ -17,6 +17,8 @@ + + #if defined(OS_MACOSX) + #include <malloc/malloc.h> ++#elif defined(OS_BSD) ++#include <stdlib.h> + #else + #include <malloc.h> + #endif +@@ -132,6 +134,9 @@ bool MallocDumpProvider::OnMemoryDump(const MemoryDump + } + #elif defined(OS_FUCHSIA) + // TODO(fuchsia): Port, see https://crbug.com/706592. ++#elif defined(OS_BSD) ++ total_virtual_size = 0; ++ allocated_objects_size = 0; + #else + struct mallinfo info = mallinfo(); + // In case of Android's jemalloc |arena| is 0 and the outer pages size is diff --git a/www/iridium/files/patch-base_trace__event_process__memory__dump.cc b/www/iridium/files/patch-base_trace__event_process__memory__dump.cc new file mode 100644 index 000000000000..6624e1d04af6 --- /dev/null +++ b/www/iridium/files/patch-base_trace__event_process__memory__dump.cc @@ -0,0 +1,11 @@ +--- base/trace_event/process_memory_dump.cc.orig 2019-03-11 22:00:51 UTC ++++ base/trace_event/process_memory_dump.cc +@@ -94,7 +94,7 @@ size_t ProcessMemoryDump::CountResidentBytes(void* sta + #if defined(OS_WIN) + std::unique_ptr<PSAPI_WORKING_SET_EX_INFORMATION[]> vec( + new PSAPI_WORKING_SET_EX_INFORMATION[max_vec_size]); +-#elif defined(OS_MACOSX) ++#elif defined(OS_MACOSX) || defined(OS_BSD) + std::unique_ptr<char[]> vec(new char[max_vec_size]); + #elif defined(OS_POSIX) || defined(OS_FUCHSIA) + std::unique_ptr<unsigned char[]> vec(new unsigned char[max_vec_size]); diff --git a/www/iridium/files/patch-base_trace__event_process__memory__dump.h b/www/iridium/files/patch-base_trace__event_process__memory__dump.h new file mode 100644 index 000000000000..1ae1b93e6409 --- /dev/null +++ b/www/iridium/files/patch-base_trace__event_process__memory__dump.h @@ -0,0 +1,11 @@ +--- base/trace_event/process_memory_dump.h.orig 2019-03-11 22:00:51 UTC ++++ base/trace_event/process_memory_dump.h +@@ -22,7 +22,7 @@ + + // Define COUNT_RESIDENT_BYTES_SUPPORTED if platform supports counting of the + // resident memory. +-#if !defined(OS_NACL) ++#if !defined(OS_NACL) && !defined(OS_BSD) + #define COUNT_RESIDENT_BYTES_SUPPORTED + #endif + diff --git a/www/iridium/files/patch-build_config_BUILD.gn b/www/iridium/files/patch-build_config_BUILD.gn new file mode 100644 index 000000000000..5eadb70887bf --- /dev/null +++ b/www/iridium/files/patch-build_config_BUILD.gn @@ -0,0 +1,30 @@ +--- build/config/BUILD.gn.orig 2020-03-16 18:40:27 UTC ++++ build/config/BUILD.gn +@@ -133,7 +133,7 @@ config("debug") { + # builds, and we have to tell it to turn it off. + defines += [ "_HAS_ITERATOR_DEBUGGING=0" ] + } +- } else if (is_linux && current_cpu == "x64" && enable_iterator_debugging) { ++ } else if ((is_linux || is_bsd) && current_cpu == "x64" && enable_iterator_debugging) { + # Enable libstdc++ debugging facilities to help catch problems early, see + # http://crbug.com/65151 . + # TODO(phajdan.jr): Should we enable this for all of POSIX? +@@ -231,9 +231,7 @@ config("default_libs") { + ] + } else if (is_linux) { + libs = [ +- "dl", + "pthread", +- "rt", + ] + } + } +@@ -315,7 +313,7 @@ config("executable_config") { + "//build/config/ios:ios_dynamic_flags", + "//build/config/ios:ios_executable_flags", + ] +- } else if (is_linux || is_android || current_os == "aix") { ++ } else if (is_linux || is_bsd || is_android || current_os == "aix") { + configs += [ "//build/config/gcc:executable_config" ] + if (is_chromecast) { + configs += [ "//build/config/chromecast:executable_config" ] diff --git a/www/iridium/files/patch-build_config_BUILDCONFIG.gn b/www/iridium/files/patch-build_config_BUILDCONFIG.gn new file mode 100644 index 000000000000..7c6d307fbd22 --- /dev/null +++ b/www/iridium/files/patch-build_config_BUILDCONFIG.gn @@ -0,0 +1,48 @@ +--- build/config/BUILDCONFIG.gn.orig 2019-06-04 18:55:15 UTC ++++ build/config/BUILDCONFIG.gn +@@ -131,10 +131,10 @@ declare_args() { + is_official_build = false + + # Whether we're a traditional desktop unix. +- is_desktop_linux = current_os == "linux" ++ is_desktop_linux = current_os == "linux" || current_os == "freebsd" + + # Set to true when compiling with the Clang compiler. +- is_clang = current_os != "linux" || ++ is_clang = current_os != "linux" || current_os == "freebsd" || + (current_cpu != "s390x" && current_cpu != "s390" && + current_cpu != "ppc64" && current_cpu != "ppc" && + current_cpu != "mips" && current_cpu != "mips64") +@@ -186,8 +186,8 @@ if (host_toolchain == "") { + # TODO(dpranke): Add some sort of assert here that verifies that + # no toolchain omitted host_toolchain from its toolchain_args(). + +- if (host_os == "linux") { +- if (target_os != "linux") { ++ if (host_os == "linux" || host_os == "freebsd") { ++ if (target_os != "linux" && target_os != "freebsd") { + host_toolchain = "//build/toolchain/linux:clang_$host_cpu" + } else if (is_clang) { + host_toolchain = "//build/toolchain/linux:clang_$host_cpu" +@@ -224,7 +224,7 @@ if (target_os == "android") { + assert(host_os == "linux" || host_os == "mac", + "Android builds are only supported on Linux and Mac hosts.") + _default_toolchain = "//build/toolchain/android:android_clang_$target_cpu" +-} else if (target_os == "chromeos" || target_os == "linux") { ++} else if (target_os == "chromeos" || target_os == "linux" || target_os == "freebsd") { + # See comments in build/toolchain/cros/BUILD.gn about board compiles. + if (is_clang) { + _default_toolchain = "//build/toolchain/linux:clang_$target_cpu" +@@ -288,10 +288,11 @@ is_android = current_os == "android" + is_chromeos = current_os == "chromeos" + is_fuchsia = current_os == "fuchsia" + is_ios = current_os == "ios" +-is_linux = current_os == "chromeos" || current_os == "linux" ++is_linux = current_os == "chromeos" || current_os == "linux" || current_os == "freebsd" + is_mac = current_os == "mac" + is_nacl = current_os == "nacl" + is_win = current_os == "win" || current_os == "winuwp" ++is_bsd = current_os == "freebsd" + + is_posix = !is_win && !is_fuchsia + diff --git a/www/iridium/files/patch-build_config_compiler_BUILD.gn b/www/iridium/files/patch-build_config_compiler_BUILD.gn new file mode 100644 index 000000000000..76e9706a7967 --- /dev/null +++ b/www/iridium/files/patch-build_config_compiler_BUILD.gn @@ -0,0 +1,92 @@ +--- build/config/compiler/BUILD.gn.orig 2020-03-16 18:40:27 UTC ++++ build/config/compiler/BUILD.gn +@@ -137,7 +137,7 @@ declare_args() { + # TODO(vitalybuka): + # 'is_android' breaks content_shell_test_apk on android-kitkat-arm-rel. + # 'use_xcode_clang' may call old clang. +- init_stack_vars = !is_android && !use_xcode_clang && !is_official_build ++ init_stack_vars = !is_android && !use_xcode_clang && !is_official_build && !is_bsd + } + + declare_args() { +@@ -298,7 +298,7 @@ config("compiler") { + + # Linker warnings. + if (fatal_linker_warnings && !(is_chromeos && current_cpu == "arm") && +- !is_mac && !is_ios && current_os != "aix") { ++ !is_mac && !is_ios && current_os != "aix" && !is_bsd) { + # TODO(jochen): Enable this on chromeos on arm. http://crbug.com/356580 + ldflags += [ "-Wl,--fatal-warnings" ] + } +@@ -393,7 +393,7 @@ config("compiler") { + + # Compiler instrumentation can introduce dependencies in DSOs to symbols in + # the executable they are loaded into, so they are unresolved at link-time. +- if (!using_sanitizer) { ++ if (!using_sanitizer && !is_bsd) { + ldflags += [ + "-Wl,-z,defs", + "-Wl,--as-needed", +@@ -486,7 +486,7 @@ config("compiler") { + } + } + +- if (is_clang && !is_nacl && !use_xcode_clang) { ++ if (is_clang && !is_nacl && !use_xcode_clang && !is_bsd) { + cflags += [ "-fcrash-diagnostics-dir=" + + rebase_path("//tools/clang/crashreports", root_build_dir) ] + +@@ -767,7 +767,7 @@ config("compiler_cpu_abi") { + cflags += [ "-mtune=$arm_tune" ] + } + } else if (current_cpu == "arm64") { +- if (is_clang && !is_android && !is_nacl && !is_fuchsia) { ++ if (is_clang && !is_android && !is_nacl && !is_fuchsia && !is_bsd) { + cflags += [ "--target=aarch64-linux-gnu" ] + ldflags += [ "--target=aarch64-linux-gnu" ] + } +@@ -1118,7 +1118,7 @@ config("compiler_deterministic") { + "-Xclang", + ".", + ] +- if (!is_win) { ++ if (!is_win && !is_bsd) { + # We don't use clang -cc1as on Windows (yet? https://crbug.com/762167) + asmflags = [ "-Wa,-fdebug-compilation-dir,." ] + } +@@ -1507,7 +1507,7 @@ config("default_warnings") { + cflags += [ "-Wno-nonportable-include-path" ] + } + +- if (current_toolchain == host_toolchain || !use_xcode_clang) { ++ if ((current_toolchain == host_toolchain || !use_xcode_clang) && !is_bsd) { + # Flags NaCl (Clang 3.7) and Xcode 9.2 (Clang clang-900.0.39.2) do not + # recognize. + cflags += [ +@@ -1741,7 +1741,7 @@ config("thin_archive") { + # Mac and iOS use the mac-specific "libtool" command, not ar, which doesn't + # have a "thin archive" mode (it does accept -T, but it means truncating + # archive names to 16 characters, which is not what we want). +- if ((is_posix && !is_nacl && !is_mac && !is_ios) || is_fuchsia) { ++ if ((is_posix && !is_nacl && !is_mac && !is_ios && !is_bsd) || is_fuchsia) { + arflags = [ "-T" ] + } else if (is_win && use_lld) { + arflags = [ "/llvmlibthin" ] +@@ -2334,7 +2334,7 @@ config("symbols") { + # flag, so we can use use -g1 for pnacl and nacl-clang compiles. + # gcc nacl is is_nacl && !is_clang, pnacl and nacl-clang are && is_clang. + if (!is_nacl || is_clang) { +- cflags += [ "-g2" ] ++ cflags += [ "-g0" ] + } + + if (use_debug_fission && !is_nacl && !is_android) { +@@ -2355,7 +2355,7 @@ config("symbols") { + # DWARF info may be corrupt; offsets in a range list entry are in different + # sections" there. Maybe just a bug in nacl_switch_32.S. + if (!is_mac && !is_ios && !is_nacl && current_cpu != "x86" && +- (use_gold || use_lld)) { ++ (use_gold || use_lld) && !is_bsd) { + if (is_clang) { + # This flag enables the GNU-format pubnames and pubtypes sections, + # which lld needs in order to generate a correct GDB index. diff --git a/www/iridium/files/patch-build_config_compiler_compiler.gni b/www/iridium/files/patch-build_config_compiler_compiler.gni new file mode 100644 index 000000000000..5826499ed89a --- /dev/null +++ b/www/iridium/files/patch-build_config_compiler_compiler.gni @@ -0,0 +1,20 @@ +--- build/config/compiler/compiler.gni.orig 2020-03-16 18:40:27 UTC ++++ build/config/compiler/compiler.gni +@@ -47,7 +47,7 @@ declare_args() { + # only two architectures that are currently checked in). Turn this off when + # you are using a custom toolchain and need to control -B in cflags. + linux_use_bundled_binutils = +- linux_use_bundled_binutils_override && is_linux && ++ linux_use_bundled_binutils_override && (is_linux && !is_bsd) && + (current_cpu == "x64" || current_cpu == "x86") + binutils_path = rebase_path("//third_party/binutils/Linux_x64/Release/bin", + root_build_dir) +@@ -200,7 +200,7 @@ declare_args() { + declare_args() { + # Whether to use the gold linker from binutils instead of lld or bfd. + use_gold = +- !use_lld && !(is_chromecast && is_linux && ++ !is_bsd && !use_lld && !(is_chromecast && is_linux && + (current_cpu == "arm" || current_cpu == "mipsel")) && + ((is_linux && (current_cpu == "x64" || current_cpu == "x86" || + current_cpu == "arm" || current_cpu == "arm64" || diff --git a/www/iridium/files/patch-build_config_features.gni b/www/iridium/files/patch-build_config_features.gni new file mode 100644 index 000000000000..c98a61186fa9 --- /dev/null +++ b/www/iridium/files/patch-build_config_features.gni @@ -0,0 +1,11 @@ +--- build/config/features.gni.orig 2019-10-21 19:06:18 UTC ++++ build/config/features.gni +@@ -26,7 +26,7 @@ declare_args() { + proprietary_codecs = is_chrome_branded || is_chromecast + + # libudev usage. This currently only affects the content layer. +- use_udev = is_linux && !is_chromecast ++ use_udev = is_linux && !is_chromecast && !is_bsd + + use_dbus = is_linux && !is_chromecast + diff --git a/www/iridium/files/patch-build_config_freetype_freetype.gni b/www/iridium/files/patch-build_config_freetype_freetype.gni new file mode 100644 index 000000000000..17bed01510f8 --- /dev/null +++ b/www/iridium/files/patch-build_config_freetype_freetype.gni @@ -0,0 +1,9 @@ +--- build/config/freetype/freetype.gni.orig 2019-03-18 08:59:45 UTC ++++ build/config/freetype/freetype.gni +@@ -10,5 +10,5 @@ declare_args() { + # than version 2.7.1 and have color bitmap support compiled in. WARNING: + # System FreeType configurations other than as described WILL INTRODUCE TEXT + # RENDERING AND SECURITY REGRESSIONS. +- use_system_freetype = false ++ use_system_freetype = true + } diff --git a/www/iridium/files/patch-build_config_linux_BUILD.gn b/www/iridium/files/patch-build_config_linux_BUILD.gn new file mode 100644 index 000000000000..94faef049b08 --- /dev/null +++ b/www/iridium/files/patch-build_config_linux_BUILD.gn @@ -0,0 +1,11 @@ +--- build/config/linux/BUILD.gn.orig 2019-03-11 22:00:52 UTC ++++ build/config/linux/BUILD.gn +@@ -28,7 +28,7 @@ config("runtime_library") { + } + + if ((!is_chromeos || default_toolchain != "//build/toolchain/cros:target") && +- (!use_custom_libcxx || current_cpu == "mipsel")) { ++ (!use_custom_libcxx || current_cpu == "mipsel") && !is_bsd) { + libs = [ "atomic" ] + } + } diff --git a/www/iridium/files/patch-build_config_linux_pkg-config.py b/www/iridium/files/patch-build_config_linux_pkg-config.py new file mode 100644 index 000000000000..8a2865a024c0 --- /dev/null +++ b/www/iridium/files/patch-build_config_linux_pkg-config.py @@ -0,0 +1,26 @@ +--- build/config/linux/pkg-config.py.orig 2019-07-24 18:58:02 UTC ++++ build/config/linux/pkg-config.py +@@ -59,8 +59,12 @@ def SetConfigPath(options): + print("You must specify an architecture via -a if using a sysroot.") + sys.exit(1) + +- libdir = sysroot + '/usr/' + options.system_libdir + '/pkgconfig' +- libdir += ':' + sysroot + '/usr/share/pkgconfig' ++ if "linux" in sys.platform: ++ libdir = sysroot + '/libdata/' + options.system_libdir + '/pkgconfig' ++ libdir += ':' + sysroot + '/usr/share/pkgconfig' ++ elif "bsd" in sys.platform: ++ libdir = sysroot + '/libdata/pkgconfig' ++ libdir += ':' + '/usr/libdata/pkgconfig' + os.environ['PKG_CONFIG_LIBDIR'] = libdir + return libdir + +@@ -109,7 +113,7 @@ def main(): + # If this is run on non-Linux platforms, just return nothing and indicate + # success. This allows us to "kind of emulate" a Linux build from other + # platforms. +- if "linux" not in sys.platform: ++ if "bsd" not in sys.platform: + print("[[],[],[],[],[]]") + return 0 + diff --git a/www/iridium/files/patch-build_config_sysroot.gni b/www/iridium/files/patch-build_config_sysroot.gni new file mode 100644 index 000000000000..83a58cad544a --- /dev/null +++ b/www/iridium/files/patch-build_config_sysroot.gni @@ -0,0 +1,15 @@ +--- build/config/sysroot.gni.orig 2019-03-11 22:00:52 UTC ++++ build/config/sysroot.gni +@@ -15,9 +15,10 @@ declare_args() { + # The absolute path to directory containing linux sysroot images + target_sysroot_dir = "//build/linux" + +- use_sysroot = current_cpu == "x86" || current_cpu == "x64" || ++ use_sysroot = !is_bsd && ( ++ current_cpu == "x86" || current_cpu == "x64" || + current_cpu == "arm" || current_cpu == "arm64" || +- current_cpu == "mipsel" || current_cpu == "mips64el" ++ current_cpu == "mipsel" || current_cpu == "mips64el") + } + + if (current_os == target_os && current_cpu == target_cpu && diff --git a/www/iridium/files/patch-build_detect__host__arch.py b/www/iridium/files/patch-build_detect__host__arch.py new file mode 100644 index 000000000000..588896662607 --- /dev/null +++ b/www/iridium/files/patch-build_detect__host__arch.py @@ -0,0 +1,11 @@ +--- build/detect_host_arch.py.orig 2019-07-24 18:58:02 UTC ++++ build/detect_host_arch.py +@@ -21,6 +21,8 @@ def HostArch(): + host_arch = 'ia32' + elif host_arch in ['x86_64', 'amd64']: + host_arch = 'x64' ++ elif host_arch.startswith('arm64'): ++ host_arch = 'arm64' + elif host_arch.startswith('arm'): + host_arch = 'arm' + elif host_arch.startswith('aarch64'): diff --git a/www/iridium/files/patch-build_gn__run__binary.py b/www/iridium/files/patch-build_gn__run__binary.py new file mode 100644 index 000000000000..d9e733834b4a --- /dev/null +++ b/www/iridium/files/patch-build_gn__run__binary.py @@ -0,0 +1,11 @@ +--- build/gn_run_binary.py.orig 2019-07-24 18:58:02 UTC ++++ build/gn_run_binary.py +@@ -24,7 +24,7 @@ if not os.path.isabs(path): + # The rest of the arguments are passed directly to the executable. + args = [path] + sys.argv[2:] + +-ret = subprocess.call(args) ++ret = subprocess.call(args, env={"CHROME_EXE_PATH":"${WRKSRC}/out/Release/chrome"}) + if ret != 0: + if ret <= -100: + # Windows error codes such as 0xC0000005 and 0xC0000409 are much easier to diff --git a/www/iridium/files/patch-build_linux_chrome.map b/www/iridium/files/patch-build_linux_chrome.map new file mode 100644 index 000000000000..7465bc9773c5 --- /dev/null +++ b/www/iridium/files/patch-build_linux_chrome.map @@ -0,0 +1,29 @@ +--- build/linux/chrome.map.orig 2019-03-11 22:00:52 UTC ++++ build/linux/chrome.map +@@ -1,4 +1,7 @@ + { ++local: ++ *; ++ + global: + __bss_start; + __data_start; +@@ -20,6 +23,10 @@ global: + # Program entry point. + _start; + ++ # FreeBSD specific variables. ++ __progname; ++ environ; ++ + # Memory allocation symbols. We want chrome and any libraries to + # share the same heap, so it is correct to export these symbols. + calloc; +@@ -81,7 +88,4 @@ global: + localtime64; + localtime64_r; + localtime_r; +- +-local: +- *; + }; diff --git a/www/iridium/files/patch-build_linux_libpci_BUILD.gn b/www/iridium/files/patch-build_linux_libpci_BUILD.gn new file mode 100644 index 000000000000..86373b5ebf39 --- /dev/null +++ b/www/iridium/files/patch-build_linux_libpci_BUILD.gn @@ -0,0 +1,53 @@ +--- build/linux/libpci/BUILD.gn.orig 2019-03-11 22:00:52 UTC ++++ build/linux/libpci/BUILD.gn +@@ -3,20 +3,36 @@ + # found in the LICENSE file. + + import("//tools/generate_library_loader/generate_library_loader.gni") ++import("//build/config/linux/pkg_config.gni") + +-# This generates a target named "libpci". +-generate_library_loader("libpci") { +- name = "LibPciLoader" +- output_h = "libpci.h" +- output_cc = "libpci_loader.cc" +- header = "<pci/pci.h>" ++declare_args() { ++ use_system_libpci = is_bsd ++} + +- functions = [ +- "pci_alloc", +- "pci_init", +- "pci_cleanup", +- "pci_scan_bus", +- "pci_fill_info", +- "pci_lookup_name", +- ] ++if (use_system_libpci) { ++ pkg_config("system_libpci") { ++ packages = [ "libpci" ] ++ } ++ ++ source_set("libpci") { ++ public_configs = [ ":system_libpci" ] ++ } ++ ++} else { ++ # This generates a target named "libpci". ++ generate_library_loader("libpci") { ++ name = "LibPciLoader" ++ output_h = "libpci.h" ++ output_cc = "libpci_loader.cc" ++ header = "<pci/pci.h>" ++ ++ functions = [ ++ "pci_alloc", ++ "pci_init", ++ "pci_cleanup", ++ "pci_scan_bus", ++ "pci_fill_info", ++ "pci_lookup_name", ++ ] ++ } + } diff --git a/www/iridium/files/patch-build_linux_unbundle_libusb.gn b/www/iridium/files/patch-build_linux_unbundle_libusb.gn new file mode 100644 index 000000000000..1cc0b00012c6 --- /dev/null +++ b/www/iridium/files/patch-build_linux_unbundle_libusb.gn @@ -0,0 +1,27 @@ +--- build/linux/unbundle/libusb.gn.orig 2019-03-17 01:47:13 UTC ++++ build/linux/unbundle/libusb.gn +@@ -0,0 +1,24 @@ ++# Copyright 2016 The Chromium Authors. All rights reserved. ++# Use of this source code is governed by a BSD-style license that can be ++# found in the LICENSE file. ++ ++import("//build/config/linux/pkg_config.gni") ++import("//build/shim_headers.gni") ++ ++pkg_config("system_libusb") { ++ packages = [ "libusb-1.0" ] ++} ++ ++shim_headers("libusb_shim") { ++ root_path = "src/libusb" ++ headers = [ ++ "libusb.h", ++ ] ++} ++ ++source_set("libusb") { ++ deps = [ ++ ":libusb_shim", ++ ] ++ public_configs = [ ":system_libusb" ] ++} diff --git a/www/iridium/files/patch-build_linux_unbundle_replace__gn__files.py b/www/iridium/files/patch-build_linux_unbundle_replace__gn__files.py new file mode 100644 index 000000000000..ca2d4fd5e12e --- /dev/null +++ b/www/iridium/files/patch-build_linux_unbundle_replace__gn__files.py @@ -0,0 +1,10 @@ +--- build/linux/unbundle/replace_gn_files.py.orig 2019-03-11 22:00:52 UTC ++++ build/linux/unbundle/replace_gn_files.py +@@ -27,6 +27,7 @@ REPLACEMENTS = { + 'libevent': 'base/third_party/libevent/BUILD.gn', + 'libjpeg': 'third_party/libjpeg.gni', + 'libpng': 'third_party/libpng/BUILD.gn', ++ 'libusb': 'third_party/libusb/BUILD.gn', + 'libvpx': 'third_party/libvpx/BUILD.gn', + 'libwebp': 'third_party/libwebp/BUILD.gn', + 'libxml': 'third_party/libxml/BUILD.gn', diff --git a/www/iridium/files/patch-build_toolchain_gcc__toolchain.gni b/www/iridium/files/patch-build_toolchain_gcc__toolchain.gni new file mode 100644 index 000000000000..4d315485b923 --- /dev/null +++ b/www/iridium/files/patch-build_toolchain_gcc__toolchain.gni @@ -0,0 +1,45 @@ +--- build/toolchain/gcc_toolchain.gni.orig 2020-03-16 18:40:27 UTC ++++ build/toolchain/gcc_toolchain.gni +@@ -36,6 +36,11 @@ if (is_linux && target_os == "android") { + enable_resource_whitelist_generation = false + } + ++declare_args() { ++ extra_cxxflags = "" ++ extra_ldflags = "" ++} ++ + # This template defines a toolchain for something that works like gcc + # (including clang). + # +@@ -577,13 +582,23 @@ template("clang_toolchain") { + } + + gcc_toolchain(target_name) { +- prefix = rebase_path("$clang_base_path/bin", root_build_dir) +- cc = "$prefix/clang" +- cxx = "$prefix/clang++" +- ld = cxx +- readelf = "${toolprefix}readelf" +- ar = "${prefix}/llvm-ar" +- nm = "${toolprefix}nm" ++ if (is_bsd) { ++ prefix = "/usr/local/bin" ++ cc = "cc" ++ cxx = "c++" ++ ld = cxx ++ readelf = "readelf" ++ ar = "${prefix}/ar" ++ nm = "${toolprefix}nm" ++ } else { ++ prefix = rebase_path("$clang_base_path/bin", root_build_dir) ++ cc = "$prefix/clang" ++ cxx = "$prefix/clang++" ++ ld = cxx ++ readelf = "${toolprefix}readelf" ++ ar = "${prefix}/llvm-ar" ++ nm = "${toolprefix}nm" ++ } + + forward_variables_from(invoker, + [ diff --git a/www/iridium/files/patch-build_toolchain_get__concurrent__links.py b/www/iridium/files/patch-build_toolchain_get__concurrent__links.py new file mode 100644 index 000000000000..45bc3d0a520e --- /dev/null +++ b/www/iridium/files/patch-build_toolchain_get__concurrent__links.py @@ -0,0 +1,17 @@ +--- build/toolchain/get_concurrent_links.py.orig 2019-06-04 18:55:15 UTC ++++ build/toolchain/get_concurrent_links.py +@@ -48,6 +48,14 @@ def _GetTotalMemoryInBytes(): + return int(subprocess.check_output(['sysctl', '-n', 'hw.memsize'])) + except Exception: + return 0 ++ elif sys.platform.startswith('freebsd'): ++ try: ++ avail_bytes = int(subprocess.check_output(['sysctl', '-n', 'hw.physmem'])) ++ # With -fuse-lld it doesn't take a lot of ram, feel free to change that ++ # 1 * ... to needed amount ++ return max(1, avail_bytes / (1 * (2 ** 30))) # total / 4GB ++ except Exception: ++ return 1 + # TODO(scottmg): Implement this for other platforms. + return 0 + diff --git a/www/iridium/files/patch-build_toolchain_linux_BUILD.gn b/www/iridium/files/patch-build_toolchain_linux_BUILD.gn new file mode 100644 index 000000000000..29b9160f7b07 --- /dev/null +++ b/www/iridium/files/patch-build_toolchain_linux_BUILD.gn @@ -0,0 +1,10 @@ +--- build/toolchain/linux/BUILD.gn.orig 2019-04-30 22:22:28 UTC ++++ build/toolchain/linux/BUILD.gn +@@ -22,7 +22,6 @@ clang_toolchain("clang_arm") { + } + + clang_toolchain("clang_arm64") { +- toolprefix = "aarch64-linux-gnu-" + toolchain_args = { + current_cpu = "arm64" + current_os = "linux" diff --git a/www/iridium/files/patch-cc_BUILD.gn b/www/iridium/files/patch-cc_BUILD.gn new file mode 100644 index 000000000000..f2e64c64d738 --- /dev/null +++ b/www/iridium/files/patch-cc_BUILD.gn @@ -0,0 +1,19 @@ +--- cc/BUILD.gn.orig 2020-03-16 18:40:27 UTC ++++ cc/BUILD.gn +@@ -582,7 +582,7 @@ cc_test_static_library("test_support") { + if (enable_vulkan) { + deps += [ "//gpu/vulkan/init" ] + } +- if (!is_android) { ++ if (!is_android && !is_bsd) { + data_deps = [ "//third_party/mesa_headers" ] + } + } +@@ -788,7 +788,6 @@ cc_test("cc_unittests") { + ] + data_deps = [ + "//testing/buildbot/filters:cc_unittests_filters", +- "//third_party/mesa_headers", + ] + + if (enable_vulkan) { diff --git a/www/iridium/files/patch-cc_layers_scrollbar__layer__impl__base.cc b/www/iridium/files/patch-cc_layers_scrollbar__layer__impl__base.cc new file mode 100644 index 000000000000..b412aea9e22b --- /dev/null +++ b/www/iridium/files/patch-cc_layers_scrollbar__layer__impl__base.cc @@ -0,0 +1,13 @@ +--- cc/layers/scrollbar_layer_impl_base.cc.orig 2019-12-16 21:50:40 UTC ++++ cc/layers/scrollbar_layer_impl_base.cc +@@ -220,8 +220,8 @@ gfx::Rect ScrollbarLayerImplBase::ComputeThumbQuadRect + int thumb_offset = TrackStart(); + if (maximum > 0) { + float ratio = clamped_current_pos / maximum; +- float max_offset = track_length - thumb_length; +- thumb_offset += static_cast<int>(ratio * max_offset); ++ float _max_offset = track_length - thumb_length; ++ thumb_offset += static_cast<int>(ratio * _max_offset); + } + + float thumb_thickness_adjustment = diff --git a/www/iridium/files/patch-cc_trees_property__tree.cc b/www/iridium/files/patch-cc_trees_property__tree.cc new file mode 100644 index 000000000000..d8e7bed84ae0 --- /dev/null +++ b/www/iridium/files/patch-cc_trees_property__tree.cc @@ -0,0 +1,20 @@ +--- cc/trees/property_tree.cc.orig 2020-03-16 18:40:27 UTC ++++ cc/trees/property_tree.cc +@@ -1237,13 +1237,13 @@ gfx::ScrollOffset ScrollTree::MaxScrollOffset(int scro + + gfx::Size clip_layer_bounds = container_bounds(scroll_node->id); + +- gfx::ScrollOffset max_offset( ++ gfx::ScrollOffset _max_offset( + scaled_scroll_bounds.width() - clip_layer_bounds.width(), + scaled_scroll_bounds.height() - clip_layer_bounds.height()); + +- max_offset.Scale(1 / scale_factor); +- max_offset.SetToMax(gfx::ScrollOffset()); +- return max_offset; ++ _max_offset.Scale(1 / scale_factor); ++ _max_offset.SetToMax(gfx::ScrollOffset()); ++ return _max_offset; + } + + gfx::SizeF ScrollTree::scroll_bounds(int scroll_node_id) const { diff --git a/www/iridium/files/patch-chrome_app_chrome__command__ids.h b/www/iridium/files/patch-chrome_app_chrome__command__ids.h new file mode 100644 index 000000000000..983a9acf8891 --- /dev/null +++ b/www/iridium/files/patch-chrome_app_chrome__command__ids.h @@ -0,0 +1,11 @@ +--- chrome/app/chrome_command_ids.h.orig 2020-02-03 21:53:28 UTC ++++ chrome/app/chrome_command_ids.h +@@ -62,7 +62,7 @@ + #define IDC_VISIT_DESKTOP_OF_LRU_USER_2 34049 + #define IDC_VISIT_DESKTOP_OF_LRU_USER_3 34050 + +-#if defined(OS_LINUX) && !defined(OS_CHROMEOS) ++#if (defined(OS_LINUX) || defined(OS_BSD)) && !defined(OS_CHROMEOS) + #define IDC_USE_SYSTEM_TITLE_BAR 34051 + #define IDC_RESTORE_WINDOW 34052 + #endif diff --git a/www/iridium/files/patch-chrome_app_chrome__main.cc b/www/iridium/files/patch-chrome_app_chrome__main.cc new file mode 100644 index 000000000000..28a06a8d2f72 --- /dev/null +++ b/www/iridium/files/patch-chrome_app_chrome__main.cc @@ -0,0 +1,16 @@ +--- chrome/app/chrome_main.cc.orig 2020-04-10 00:39:09 UTC ++++ chrome/app/chrome_main.cc +@@ -118,11 +118,11 @@ int ChromeMain(int argc, const char** argv) { + MainThreadStackSamplingProfiler scoped_sampling_profiler; + + // Chrome-specific process modes. +-#if defined(OS_LINUX) || defined(OS_MACOSX) || defined(OS_WIN) ++#if defined(OS_LINUX) || defined(OS_MACOSX) || defined(OS_WIN) || defined(OS_BSD) + if (command_line->HasSwitch(switches::kHeadless)) { + return headless::HeadlessShellMain(params); + } +-#endif // defined(OS_LINUX) || defined(OS_MACOSX) || defined(OS_WIN) ++#endif // defined(OS_LINUX) || defined(OS_MACOSX) || defined(OS_WIN) || defined(OS_BSD) + + #if !defined(CHROME_MULTIPLE_DLL_CHILD) + net::trace_urlreq_cb = &trace_url_request; diff --git a/www/iridium/files/patch-chrome_app_chrome__main__delegate.cc b/www/iridium/files/patch-chrome_app_chrome__main__delegate.cc new file mode 100644 index 000000000000..88a9416974a2 --- /dev/null +++ b/www/iridium/files/patch-chrome_app_chrome__main__delegate.cc @@ -0,0 +1,159 @@ +--- chrome/app/chrome_main_delegate.cc.orig 2020-03-16 18:40:27 UTC ++++ chrome/app/chrome_main_delegate.cc +@@ -100,7 +100,7 @@ + #include "chrome/app/shutdown_signal_handlers_posix.h" + #endif + +-#if BUILDFLAG(ENABLE_NACL) && defined(OS_LINUX) ++#if BUILDFLAG(ENABLE_NACL) && defined(OS_LINUX) && !defined(OS_BSD) + #include "components/nacl/common/nacl_paths.h" + #include "components/nacl/zygote/nacl_fork_delegate_linux.h" + #endif +@@ -142,12 +142,12 @@ + #include "v8/include/v8.h" + #endif + +-#if defined(OS_LINUX) ++#if defined(OS_LINUX) || defined(OS_BSD) + #include "base/environment.h" + #endif + + #if defined(OS_MACOSX) || defined(OS_WIN) || defined(OS_ANDROID) || \ +- defined(OS_LINUX) ++ defined(OS_LINUX) || defined(OS_BSD) + #include "chrome/browser/policy/policy_path_parser.h" + #include "components/crash/content/app/crashpad.h" + #endif +@@ -246,7 +246,7 @@ bool UseHooks() { + + #endif // defined(OS_WIN) + +-#if defined(OS_LINUX) ++#if defined(OS_LINUX) && !defined(OS_BSD) + void AdjustLinuxOOMScore(const std::string& process_type) { + // Browsers and zygotes should still be killable, but killed last. + const int kZygoteScore = 0; +@@ -305,13 +305,13 @@ void AdjustLinuxOOMScore(const std::string& process_ty + if (score > -1) + base::AdjustOOMScore(base::GetCurrentProcId(), score); + } +-#endif // defined(OS_LINUX) ++#endif // defined(OS_LINUX) && !defined(OS_BSD) + + // Returns true if this subprocess type needs the ResourceBundle initialized + // and resources loaded. + bool SubprocessNeedsResourceBundle(const std::string& process_type) { + return +-#if defined(OS_LINUX) ++#if defined(OS_LINUX) || defined(OS_BSD) + // The zygote process opens the resources for the renderers. + process_type == service_manager::switches::kZygoteProcess || + #endif +@@ -350,7 +350,7 @@ bool HandleVersionSwitches(const base::CommandLine& co + return false; + } + +-#if defined(OS_LINUX) && !defined(OS_CHROMEOS) ++#if (defined(OS_LINUX) && !defined(OS_CHROMEOS)) || defined(OS_BSD) + // Show the man page if --help or -h is on the command line. + void HandleHelpSwitches(const base::CommandLine& command_line) { + if (command_line.HasSwitch(switches::kHelp) || +@@ -360,7 +360,7 @@ void HandleHelpSwitches(const base::CommandLine& comma + PLOG(FATAL) << "execlp failed"; + } + } +-#endif // defined(OS_LINUX) && !defined(OS_CHROMEOS) ++#endif // (defined(OS_LINUX) && !defined(OS_CHROMEOS)) || defined(OS_BSD) + + #if !defined(OS_MACOSX) && !defined(OS_ANDROID) + void SIGTERMProfilingShutdown(int signal) { +@@ -414,7 +414,7 @@ void InitializeUserDataDir(base::CommandLine* command_ + std::string process_type = + command_line->GetSwitchValueASCII(switches::kProcessType); + +-#if defined(OS_LINUX) ++#if defined(OS_LINUX) || defined(OS_BSD) + // On Linux, Chrome does not support running multiple copies under different + // DISPLAYs, so the profile directory can be specified in the environment to + // support the virtual desktop use-case. +@@ -426,7 +426,7 @@ void InitializeUserDataDir(base::CommandLine* command_ + user_data_dir = base::FilePath::FromUTF8Unsafe(user_data_dir_string); + } + } +-#endif // OS_LINUX ++#endif // OS_LINUX || OS_BSD + #if defined(OS_MACOSX) + policy::path_parser::CheckUserDataDirPolicy(&user_data_dir); + #endif // OS_MAC +@@ -483,7 +483,7 @@ void InitLogging(const std::string& process_type) { + void RecordMainStartupMetrics(base::TimeTicks exe_entry_point_ticks) { + if (!exe_entry_point_ticks.is_null()) + startup_metric_utils::RecordExeMainEntryPointTicks(exe_entry_point_ticks); +-#if defined(OS_MACOSX) || defined(OS_WIN) || defined(OS_LINUX) ++#if defined(OS_MACOSX) || defined(OS_WIN) || defined(OS_LINUX) || defined(OS_BSD) + // Record the startup process creation time on supported platforms. + startup_metric_utils::RecordStartupProcessCreationTime( + base::Process::Current().CreationTime()); +@@ -688,7 +688,7 @@ bool ChromeMainDelegate::BasicStartupComplete(int* exi + *exit_code = 0; + return true; // Got a --version switch; exit with a success error code. + } +-#if defined(OS_LINUX) && !defined(OS_CHROMEOS) ++#if (defined(OS_LINUX) && !defined(OS_CHROMEOS)) || defined(OS_BSD) + // This will directly exit if the user asked for help. + HandleHelpSwitches(command_line); + #endif +@@ -712,7 +712,7 @@ bool ChromeMainDelegate::BasicStartupComplete(int* exi + #if defined(OS_CHROMEOS) + chromeos::RegisterPathProvider(); + #endif +-#if BUILDFLAG(ENABLE_NACL) && defined(OS_LINUX) ++#if BUILDFLAG(ENABLE_NACL) && defined(OS_LINUX) && !defined(OS_BSD) + nacl::RegisterPathProvider(); + #endif + +@@ -904,7 +904,7 @@ void ChromeMainDelegate::PreSandboxStartup() { + #if defined(OS_WIN) + child_process_logging::Init(); + #endif +-#if defined(ARCH_CPU_ARM_FAMILY) && (defined(OS_ANDROID) || defined(OS_LINUX)) ++#if defined(ARCH_CPU_ARM_FAMILY) && (defined(OS_ANDROID) || defined(OS_LINUX) || defined(OS_BSD)) + // Create an instance of the CPU class to parse /proc/cpuinfo and cache + // cpu_brand info. + base::CPU cpu_info; +@@ -1028,7 +1028,7 @@ void ChromeMainDelegate::PreSandboxStartup() { + InitializePDF(); + #endif + +-#if defined(OS_POSIX) && !defined(OS_MACOSX) ++#if defined(OS_POSIX) && !defined(OS_MACOSX) && !defined(OS_BSD) + // Zygote needs to call InitCrashReporter() in RunZygote(). + if (process_type != service_manager::switches::kZygoteProcess) { + #if defined(OS_ANDROID) +@@ -1049,7 +1049,7 @@ void ChromeMainDelegate::PreSandboxStartup() { + } + #endif // defined(OS_ANDROID) + } +-#endif // defined(OS_POSIX) && !defined(OS_MACOSX) ++#endif // defined(OS_POSIX) && !defined(OS_MACOSX) && !defined(OS_BSD) + + // After all the platform Breakpads have been initialized, store the command + // line for crash reporting. +@@ -1059,7 +1059,7 @@ void ChromeMainDelegate::PreSandboxStartup() { + void ChromeMainDelegate::SandboxInitialized(const std::string& process_type) { + // Note: If you are adding a new process type below, be sure to adjust the + // AdjustLinuxOOMScore function too. +-#if defined(OS_LINUX) ++#if defined(OS_LINUX) && !defined(OS_BSD) + AdjustLinuxOOMScore(process_type); + #endif + #if defined(OS_WIN) +@@ -1105,7 +1105,7 @@ int ChromeMainDelegate::RunProcess( + // This entry is not needed on Linux, where the NaCl loader + // process is launched via nacl_helper instead. + #if BUILDFLAG(ENABLE_NACL) && !defined(CHROME_MULTIPLE_DLL_BROWSER) && \ +- !defined(OS_LINUX) ++ !defined(OS_LINUX) && !defined(OS_BSD) + {switches::kNaClLoaderProcess, NaClMain}, + #else + {"<invalid>", NULL}, // To avoid constant array of size 0 diff --git a/www/iridium/files/patch-chrome_app_chromium__strings.grd b/www/iridium/files/patch-chrome_app_chromium__strings.grd new file mode 100644 index 000000000000..f2fafb3fc1d4 --- /dev/null +++ b/www/iridium/files/patch-chrome_app_chromium__strings.grd @@ -0,0 +1,29 @@ +--- chrome/app/chromium_strings.grd.orig 2020-04-10 00:39:12 UTC ++++ chrome/app/chromium_strings.grd +@@ -649,7 +649,7 @@ The browser is unable to recover your settings. + </if> + + <!-- about:browser-switch strings --> +- <if expr="is_win or is_macosx or (is_linux and not chromeos)"> ++ <if expr="is_win or is_macosx or (is_posix and not chromeos)"> + <message name="IDS_ABOUT_BROWSER_SWITCH_DESCRIPTION_UNKNOWN_BROWSER" desc="Description shown while waiting for an alternative browser to open, when the browser name is not auto-detected"> + Your system administrator has configured the browser to open an alternative browser to access <ph name="TARGET_URL_HOSTNAME">$1<ex>example.com</ex></ph>. + </message> +@@ -750,7 +750,7 @@ The browser is unable to recover your settings. + </message> + + <!-- ProcessSingleton --> +- <if expr="is_linux or is_macosx"> ++ <if expr="is_linux or is_macosx or is_posix"> + <message name="IDS_PROFILE_IN_USE_POSIX" desc="Message shown when the browser cannot start because the profile is in use on a different host."> + The profile appears to be in use by another browsr process (<ph name="PROCESS_ID">$1<ex>12345</ex></ph>) on another computer (<ph name="HOST_NAME">$2<ex>example.com</ex></ph>). The browser has locked the profile so that it doesn't get corrupted. If you are sure no other processes are using this profile, you can unlock the profile and relaunch the browser. + </message> +@@ -964,7 +964,7 @@ The browser is unable to recover your settings. + </message> + + <!-- Plugin Placeholders --> +- <if expr="is_linux"> ++ <if expr="is_posix"> + <message name="IDS_PLUGIN_RESTART_REQUIRED" desc="The placeholder text for a plugin that can't be loaded until the browser is restarted."> + Restart the browser to enable <ph name="PLUGIN_NAME">$1<ex>Flash</ex></ph> + </message> diff --git a/www/iridium/files/patch-chrome_app_generated__resources.grd b/www/iridium/files/patch-chrome_app_generated__resources.grd new file mode 100644 index 000000000000..fcae380a37c1 --- /dev/null +++ b/www/iridium/files/patch-chrome_app_generated__resources.grd @@ -0,0 +1,29 @@ +--- chrome/app/generated_resources.grd.orig 2020-03-16 18:40:27 UTC ++++ chrome/app/generated_resources.grd +@@ -5141,7 +5141,7 @@ Keep your key file in a safe place. You will need it t + </if> + + <!-- chrome://browser-switch strings --> +- <if expr="is_win or is_macosx or (is_linux and not chromeos)"> ++ <if expr="is_win or is_macosx or (is_posix and not chromeos)"> + <message name="IDS_ABOUT_BROWSER_SWITCH_TITLE" desc="about:browser-switch page title"> + Legacy Browser Support + </message> +@@ -6861,7 +6861,7 @@ the Bookmarks menu."> + Google Pay + </message> + +- <if expr="is_linux and not chromeos"> ++ <if expr="is_posix and not chromeos"> + <message name="IDS_SHOW_WINDOW_DECORATIONS" desc="The label of a radio button in the options dialog for using the system title bar and borders."> + Use system title bar and borders + </message> +@@ -7822,7 +7822,7 @@ Please help our engineers fix this problem. Tell us wh + Set as default + </message> + +- <if expr="is_linux and not chromeos"> ++ <if expr="is_posix and not chromeos"> + <message name="IDS_MINIMIZE_WINDOW_MENU" desc="The Linux browser window menu item text for minimizing the window."> + Minimize + </message> diff --git a/www/iridium/files/patch-chrome_app_google__chrome__strings.grd b/www/iridium/files/patch-chrome_app_google__chrome__strings.grd new file mode 100644 index 000000000000..47ad7a871540 --- /dev/null +++ b/www/iridium/files/patch-chrome_app_google__chrome__strings.grd @@ -0,0 +1,29 @@ +--- chrome/app/google_chrome_strings.grd.orig 2020-03-16 18:40:27 UTC ++++ chrome/app/google_chrome_strings.grd +@@ -661,7 +661,7 @@ Google Chrome is unable to recover your settings. + </if> + + <!-- about:browser-switch strings --> +- <if expr="is_win or is_macosx or (is_linux and not chromeos)"> ++ <if expr="is_win or is_macosx or (is_posix and not chromeos)"> + <message name="IDS_ABOUT_BROWSER_SWITCH_DESCRIPTION_UNKNOWN_BROWSER" desc="Description shown while waiting for an alternative browser to open, when the browser name is not auto-detected"> + Your system administrator has configured Google Chrome to open an alternative browser to access <ph name="TARGET_URL_HOSTNAME">$1<ex>example.com</ex></ph>. + </message> +@@ -762,7 +762,7 @@ Google Chrome is unable to recover your settings. + </message> + + <!-- ProcessSingleton --> +- <if expr="is_linux or is_macosx"> ++ <if expr="is_linux or is_macosx or is_posix"> + <message name="IDS_PROFILE_IN_USE_POSIX" desc="Message shown when the browser cannot start because the profile is in use on a different host."> + The profile appears to be in use by another Google Chrome process (<ph name="PROCESS_ID">$1<ex>12345</ex></ph>) on another computer (<ph name="HOST_NAME">$2<ex>example.com</ex></ph>). Chrome has locked the profile so that it doesn't get corrupted. If you are sure no other processes are using this profile, you can unlock the profile and relaunch Chrome. + </message> +@@ -991,7 +991,7 @@ Google Chrome is unable to recover your settings. + </message> + + <!-- Plugin Placeholders --> +- <if expr="is_linux"> ++ <if expr="is_posix"> + <message name="IDS_PLUGIN_RESTART_REQUIRED" desc="The placeholder text for a plugin that can't be loaded until the browser is restarted."> + Restart Chrome to enable <ph name="PLUGIN_NAME">$1<ex>Flash</ex></ph> + </message> diff --git a/www/iridium/files/patch-chrome_app_settings__strings.grdp b/www/iridium/files/patch-chrome_app_settings__strings.grdp new file mode 100644 index 000000000000..18bd3350bdf8 --- /dev/null +++ b/www/iridium/files/patch-chrome_app_settings__strings.grdp @@ -0,0 +1,20 @@ +--- chrome/app/settings_strings.grdp.orig 2020-03-16 18:40:29 UTC ++++ chrome/app/settings_strings.grdp +@@ -811,7 +811,7 @@ + Themes + </message> + </if> +- <if expr="is_linux and not chromeos"> ++ <if expr="is_posix and not chromeos"> + <message name="IDS_SETTINGS_SYSTEM_THEME" desc="Text of the label describing the system (GTK+) browser theme on Linux"> + GTK+ + </message> +@@ -825,7 +825,7 @@ + Use Classic + </message> + </if> +- <if expr="not is_linux or chromeos"> ++ <if expr="not is_posix or chromeos"> + <message name="IDS_SETTINGS_RESET_TO_DEFAULT_THEME" desc="Name of the control which resets the browser theme back to the default theme."> + Reset to default + </message> diff --git a/www/iridium/files/patch-chrome_app_shutdown__signal__handlers__posix.cc b/www/iridium/files/patch-chrome_app_shutdown__signal__handlers__posix.cc new file mode 100644 index 000000000000..3678715840b5 --- /dev/null +++ b/www/iridium/files/patch-chrome_app_shutdown__signal__handlers__posix.cc @@ -0,0 +1,21 @@ +--- chrome/app/shutdown_signal_handlers_posix.cc.orig 2019-04-30 22:22:32 UTC ++++ chrome/app/shutdown_signal_handlers_posix.cc +@@ -186,12 +186,18 @@ void InstallShutdownSignalHandlers( + g_pipe_pid = getpid(); + g_shutdown_pipe_read_fd = pipefd[0]; + g_shutdown_pipe_write_fd = pipefd[1]; ++#if defined(OS_BSD) ++ // PTHREAD_STACK_MIN causes chromium to crash under FreeBSD, ++ // we request the default pthread stack size by specifying 0 here. ++ const size_t kShutdownDetectorThreadStackSize = 0; ++#else + #if !defined(ADDRESS_SANITIZER) + const size_t kShutdownDetectorThreadStackSize = PTHREAD_STACK_MIN * 2; + #else + // ASan instrumentation bloats the stack frames, so we need to increase the + // stack size to avoid hitting the guard page. + const size_t kShutdownDetectorThreadStackSize = PTHREAD_STACK_MIN * 4; ++#endif + #endif + ShutdownDetector* detector = new ShutdownDetector( + g_shutdown_pipe_read_fd, std::move(shutdown_callback), task_runner); diff --git a/www/iridium/files/patch-chrome_app_theme_chrome__unscaled__resources.grd b/www/iridium/files/patch-chrome_app_theme_chrome__unscaled__resources.grd new file mode 100644 index 000000000000..34bf723d2edc --- /dev/null +++ b/www/iridium/files/patch-chrome_app_theme_chrome__unscaled__resources.grd @@ -0,0 +1,11 @@ +--- chrome/app/theme/chrome_unscaled_resources.grd.orig 2020-02-03 21:53:28 UTC ++++ chrome/app/theme/chrome_unscaled_resources.grd +@@ -18,7 +18,7 @@ + <include name="IDR_PRODUCT_LOGO_64" file="google_chrome/product_logo_64.png" type="BINDATA" /> + <include name="IDR_PRODUCT_LOGO_128" file="google_chrome/product_logo_128.png" type="BINDATA" /> + <include name="IDR_PRODUCT_LOGO_256" file="google_chrome/product_logo_256.png" type="BINDATA" /> +- <if expr="is_linux"> ++ <if expr="is_posix"> + <include name="IDR_PRODUCT_LOGO_128_BETA" file="google_chrome/product_logo_128_beta.png" type="BINDATA" /> + <include name="IDR_PRODUCT_LOGO_128_DEV" file="google_chrome/product_logo_128_dev.png" type="BINDATA" /> + </if> diff --git a/www/iridium/files/patch-chrome_app_theme_theme__resources.grd b/www/iridium/files/patch-chrome_app_theme_theme__resources.grd new file mode 100644 index 000000000000..a6e63ac69942 --- /dev/null +++ b/www/iridium/files/patch-chrome_app_theme_theme__resources.grd @@ -0,0 +1,11 @@ +--- chrome/app/theme/theme_resources.grd.orig 2019-10-30 15:46:23 UTC ++++ chrome/app/theme/theme_resources.grd +@@ -25,7 +25,7 @@ + <!-- KEEP THESE IN ALPHABETICAL ORDER! DO NOT ADD TO RANDOM PLACES JUST + BECAUSE YOUR RESOURCES ARE FUNCTIONALLY RELATED OR FALL UNDER THE + SAME CONDITIONALS. --> +- <if expr="is_linux or is_win or chromeos"> ++ <if expr="is_posix or is_win or chromeos"> + <structure type="chrome_scaled_image" name="IDR_ACCESSIBILITY_CAPTIONS_PREVIEW_BACKGROUND" file="common/captions-preview-bg.png" /> + </if> + <if expr="toolkit_views and not is_macosx"> diff --git a/www/iridium/files/patch-chrome_browser_about__flags.cc b/www/iridium/files/patch-chrome_browser_about__flags.cc new file mode 100644 index 000000000000..aec113703d20 --- /dev/null +++ b/www/iridium/files/patch-chrome_browser_about__flags.cc @@ -0,0 +1,205 @@ +--- chrome/browser/about_flags.cc.orig 2020-04-03 04:11:28 UTC ++++ chrome/browser/about_flags.cc +@@ -170,7 +170,7 @@ + #include "ui/gl/gl_switches.h" + #include "ui/native_theme/native_theme_features.h" + +-#if defined(OS_LINUX) ++#if defined(OS_LINUX) || defined(OS_BSD) + #include "base/allocator/buildflags.h" + #endif + +@@ -834,7 +834,7 @@ const FeatureEntry::Choice kMemlogSamplingRateChoices[ + heap_profiling::kMemlogSamplingRate5MB}, + }; + +-#if defined(OS_LINUX) || defined(OS_MACOSX) || defined(OS_WIN) ++#if defined(OS_LINUX) || defined(OS_MACOSX) || defined(OS_WIN) || defined(OS_BSD) + const FeatureEntry::FeatureParam kOmniboxDocumentProviderServerScoring[] = { + {"DocumentUseServerScore", "true"}, + {"DocumentUseClientScore", "false"}, +@@ -872,7 +872,7 @@ const FeatureEntry::FeatureVariation kOmniboxDocumentP + base::size(kOmniboxDocumentProviderClientScoring), nullptr}, + {"server and client scores", kOmniboxDocumentProviderServerAndClientScoring, + base::size(kOmniboxDocumentProviderServerAndClientScoring), nullptr}}; +-#endif // defined(OS_LINUX) || defined(OS_MACOSX) || defined(OS_WIN) ++#endif // defined(OS_LINUX) || defined(OS_MACOSX) || defined(OS_WIN) || defined(OS_BSD) + + const FeatureEntry::FeatureParam kOmniboxOnFocusSuggestionsParamSERP[] = { + {"ZeroSuggestVariant:6:*", "RemoteSendUrl"}}; +@@ -994,14 +994,14 @@ const FeatureEntry::FeatureVariation kOmniboxMaxURLMat + {"6 matches", kOmniboxMaxURLMatches6, base::size(kOmniboxMaxURLMatches6), + nullptr}}; + +-#if defined(OS_LINUX) || defined(OS_MACOSX) || defined(OS_WIN) || \ ++#if defined(OS_LINUX) || defined(OS_MACOSX) || defined(OS_WIN) || defined(OS_BSD) || \ + defined(OS_CHROMEOS) + const FeatureEntry::FeatureParam kTranslateBubbleUITab[] = { + {language::kTranslateUIBubbleKey, language::kTranslateUIBubbleTabValue}}; + + const FeatureEntry::FeatureVariation kTranslateBubbleUIVariations[] = { + {"Tab", kTranslateBubbleUITab, base::size(kTranslateBubbleUITab), nullptr}}; +-#endif // OS_LINUX || OS_MACOSX || OS_WIN || OS_CHROMEOS ++#endif // OS_LINUX || OS_MACOSX || OS_WIN || OS_CHROMEOS || OS_BSD + + const FeatureEntry::FeatureParam kMarkHttpAsDangerous[] = { + {security_state::features::kMarkHttpAsFeatureParameterName, +@@ -2031,13 +2031,13 @@ const FeatureEntry kFeatureEntries[] = { + flag_descriptions::kCloudPrintXpsDescription, kOsWin, + SINGLE_VALUE_TYPE(switches::kEnableCloudPrintXps)}, + #endif // OS_WIN +-#if defined(OS_WIN) || defined(OS_LINUX) || defined(OS_CHROMEOS) ++#if defined(OS_WIN) || defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD) + {"enable-webgl2-compute-context", + flag_descriptions::kWebGL2ComputeContextName, + flag_descriptions::kWebGL2ComputeContextDescription, + kOsWin | kOsLinux | kOsCrOS, + SINGLE_VALUE_TYPE(switches::kEnableWebGL2ComputeContext)}, +-#endif // defined(OS_WIN) || defined(OS_LINUX) || defined(OS_CHROMEOS) ++#endif // defined(OS_WIN) || defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD) + {"enable-webgl-draft-extensions", + flag_descriptions::kWebglDraftExtensionsName, + flag_descriptions::kWebglDraftExtensionsDescription, kOsAll, +@@ -2074,14 +2074,14 @@ const FeatureEntry kFeatureEntries[] = { + "OverrideTranslateTriggerInIndia")}, + #endif // OS_ANDROID + +-#if defined(OS_LINUX) || defined(OS_MACOSX) || defined(OS_WIN) || \ ++#if defined(OS_LINUX) || defined(OS_MACOSX) || defined(OS_WIN) || defined(OS_BSD) || \ + defined(OS_CHROMEOS) + {"translate-ui-bubble-options", flag_descriptions::kTranslateBubbleUIName, + flag_descriptions::kTranslateBubbleUIDescription, kOsDesktop, + FEATURE_WITH_PARAMS_VALUE_TYPE(language::kUseButtonTranslateBubbleUi, + kTranslateBubbleUIVariations, + "UseButtonTranslateBubbleUI")}, +-#endif // OS_LINUX || OS_MACOSX || OS_WIN || OS_CHROMEOS ++#endif // OS_LINUX || OS_MACOSX || OS_WIN || OS_CHROMEOS || OS_BSD + + #if BUILDFLAG(ENABLE_NATIVE_NOTIFICATIONS) && !defined(OS_CHROMEOS) + {"enable-native-notifications", +@@ -2159,13 +2159,13 @@ const FeatureEntry kFeatureEntries[] = { + flag_descriptions::kTerminalSystemAppSplitsDescription, kOsCrOS, + FEATURE_VALUE_TYPE(features::kTerminalSystemAppSplits)}, + #endif // OS_CHROMEOS +-#if defined(OS_CHROMEOS) || defined(OS_LINUX) ++#if defined(OS_CHROMEOS) || defined(OS_LINUX) || defined(OS_BSD) + #if BUILDFLAG(USE_TCMALLOC) + {"dynamic-tcmalloc-tuning", flag_descriptions::kDynamicTcmallocName, + flag_descriptions::kDynamicTcmallocDescription, kOsCrOS | kOsLinux, + FEATURE_VALUE_TYPE(performance_manager::features::kDynamicTcmallocTuning)}, + #endif // BUILDFLAG(USE_TCMALLOC) +-#endif // OS_CHROMEOS || OS_LINUX ++#endif // OS_CHROMEOS || OS_LINUX || defined(OS_BSD) + #if defined(OS_ANDROID) + {"enable-credit-card-assist", flag_descriptions::kCreditCardAssistName, + flag_descriptions::kCreditCardAssistDescription, kOsAndroid, +@@ -2239,7 +2239,7 @@ const FeatureEntry kFeatureEntries[] = { + flag_descriptions::kEnableLitePageServerPreviewsDescription, kOsAndroid, + FEATURE_VALUE_TYPE(previews::features::kLitePageServerPreviews)}, + #endif // OS_ANDROID +-#if defined(OS_CHROMEOS) || defined(OS_LINUX) ++#if defined(OS_CHROMEOS) || defined(OS_LINUX) || defined(OS_BSD) + {"enable-save-data", flag_descriptions::kEnableSaveDataName, + flag_descriptions::kEnableSaveDataDescription, kOsCrOS, + SINGLE_VALUE_TYPE( +@@ -2907,7 +2907,7 @@ const FeatureEntry kFeatureEntries[] = { + FEATURE_VALUE_TYPE( + omnibox::kHistoryQuickProviderAllowMidwordContinuations)}, + +-#if defined(OS_LINUX) || defined(OS_MACOSX) || defined(OS_WIN) ++#if defined(OS_LINUX) || defined(OS_MACOSX) || defined(OS_WIN) || defined(OS_BSD) + {"omnibox-experimental-keyword-mode", + flag_descriptions::kOmniboxExperimentalKeywordModeName, + flag_descriptions::kOmniboxExperimentalKeywordModeDescription, kOsDesktop, +@@ -2956,7 +2956,7 @@ const FeatureEntry kFeatureEntries[] = { + flag_descriptions::kOmniboxAutocompleteTitlesName, + flag_descriptions::kOmniboxAutocompleteTitlesDescription, kOsDesktop, + FEATURE_VALUE_TYPE(omnibox::kAutocompleteTitles)}, +-#endif // defined(OS_LINUX) || defined(OS_MACOSX) || defined(OS_WIN) ++#endif // defined(OS_LINUX) || defined(OS_MACOSX) || defined(OS_WIN) || defined(OS_BSD) + + {"enable-speculative-service-worker-start-on-query-input", + flag_descriptions::kSpeculativeServiceWorkerStartOnQueryInputName, +@@ -3182,13 +3182,13 @@ const FeatureEntry kFeatureEntries[] = { + flag_descriptions::kClickToOpenPDFDescription, kOsAll, + FEATURE_VALUE_TYPE(features::kClickToOpenPDFPlaceholder)}, + +-#if defined(OS_WIN) || defined(OS_MACOSX) || defined(OS_LINUX) ++#if defined(OS_WIN) || defined(OS_MACOSX) || defined(OS_LINUX) || defined(OS_BSD) + {"direct-manipulation-stylus", + flag_descriptions::kDirectManipulationStylusName, + flag_descriptions::kDirectManipulationStylusDescription, + kOsWin | kOsMac | kOsLinux, + FEATURE_VALUE_TYPE(features::kDirectManipulationStylus)}, +-#endif // defined(OS_WIN) || defined(OS_MACOSX) || defined(OS_LINUX) ++#endif // defined(OS_WIN) || defined(OS_MACOSX) || defined(OS_LINUX) || defined(OS_BSD) + + #if !defined(OS_ANDROID) + {"ntp-confirm-suggestion-removals", +@@ -3850,12 +3850,12 @@ const FeatureEntry kFeatureEntries[] = { + FEATURE_VALUE_TYPE(kClickToCallDetectionV2)}, + #endif // BUILDFLAG(ENABLE_CLICK_TO_CALL) + +-#if defined(OS_WIN) || defined(OS_MACOSX) || defined(OS_LINUX) || \ ++#if defined(OS_WIN) || defined(OS_MACOSX) || defined(OS_LINUX) || defined(OS_BSD) || \ + defined(OS_CHROMEOS) + {"remote-copy-receiver", flag_descriptions::kRemoteCopyReceiverName, + flag_descriptions::kRemoteCopyReceiverDescription, kOsDesktop, + FEATURE_VALUE_TYPE(kRemoteCopyReceiver)}, +-#endif // defined(OS_WIN) || defined(OS_MACOSX) || defined(OS_LINUX) || ++#endif // defined(OS_WIN) || defined(OS_MACOSX) || defined(OS_LINUX) || defined(OS_BSD) || + // defined(OS_CHROMEOS) + + {"shared-clipboard-receiver", +@@ -3899,7 +3899,7 @@ const FeatureEntry kFeatureEntries[] = { + flag_descriptions::kSharingUseDeviceInfoDescription, kOsAll, + FEATURE_VALUE_TYPE(kSharingUseDeviceInfo)}, + +-#if defined(OS_WIN) || defined(OS_MACOSX) || defined(OS_LINUX) || \ ++#if defined(OS_WIN) || defined(OS_MACOSX) || defined(OS_LINUX) || defined(OS_BSD) || \ + defined(OS_CHROMEOS) + {"sharing-peer-connection-receiver", + flag_descriptions::kSharingPeerConnectionReceiverName, +@@ -3910,7 +3910,7 @@ const FeatureEntry kFeatureEntries[] = { + flag_descriptions::kSharingPeerConnectionSenderName, + flag_descriptions::kSharingPeerConnectionSenderDescription, kOsDesktop, + FEATURE_VALUE_TYPE(kSharingPeerConnectionSender)}, +-#endif // defined(OS_WIN) || defined(OS_MACOSX) || defined(OS_LINUX) || ++#endif // defined(OS_WIN) || defined(OS_MACOSX) || defined(OS_LINUX) || defined(OS_BSD) || + // defined(OS_CHROMEOS) + + {"sharing-qr-code-generator", +@@ -3985,13 +3985,13 @@ const FeatureEntry kFeatureEntries[] = { + FEATURE_VALUE_TYPE(printing::features::kEnableCustomMacPaperSizes)}, + #endif + +-#if defined(OS_WIN) || defined(OS_MACOSX) || defined(OS_LINUX) || \ ++#if defined(OS_WIN) || defined(OS_MACOSX) || defined(OS_LINUX) || defined(OS_BSD) || \ + defined(OS_CHROMEOS) + {"enable-reopen-tab-in-product-help", + flag_descriptions::kReopenTabInProductHelpName, + flag_descriptions::kReopenTabInProductHelpDescription, kOsDesktop, + FEATURE_VALUE_TYPE(feature_engagement::kIPHReopenTabFeature)}, +-#endif // defined(OS_WIN) || defined(OS_MACOSX) || defined(OS_LINUX) || ++#endif // defined(OS_WIN) || defined(OS_MACOSX) || defined(OS_LINUX) || defined(OS_BSD) || + // defined(OS_CHROMEOS) + + {"enable-audio-focus-enforcement", +@@ -4436,7 +4436,7 @@ const FeatureEntry kFeatureEntries[] = { + flag_descriptions::kEnableSyncUSSNigoriDescription, kOsAll, + FEATURE_VALUE_TYPE(switches::kSyncUSSNigori)}, + +-#if defined(OS_WIN) || defined(OS_MACOSX) || defined(OS_LINUX) ++#if defined(OS_WIN) || defined(OS_MACOSX) || defined(OS_LINUX) || defined(OS_BSD) + {"global-media-controls", flag_descriptions::kGlobalMediaControlsName, + flag_descriptions::kGlobalMediaControlsDescription, + kOsWin | kOsMac | kOsLinux, +@@ -4453,7 +4453,7 @@ const FeatureEntry kFeatureEntries[] = { + flag_descriptions::kGlobalMediaControlsPictureInPictureDescription, + kOsWin | kOsMac | kOsLinux | kOsCrOS, + FEATURE_VALUE_TYPE(media::kGlobalMediaControlsPictureInPicture)}, +-#endif // defined(OS_WIN) || defined(OS_MACOSX) || defined(OS_LINUX) ++#endif // defined(OS_WIN) || defined(OS_MACOSX) || defined(OS_LINUX) || defined(OS_BSD) + + #if BUILDFLAG(ENABLE_SPELLCHECK) && defined(OS_WIN) + {"win-use-native-spellchecker", diff --git a/www/iridium/files/patch-chrome_browser_after__startup__task__utils.cc b/www/iridium/files/patch-chrome_browser_after__startup__task__utils.cc new file mode 100644 index 000000000000..fb5b5d6cd963 --- /dev/null +++ b/www/iridium/files/patch-chrome_browser_after__startup__task__utils.cc @@ -0,0 +1,38 @@ +--- chrome/browser/after_startup_task_utils.cc.orig 2020-03-16 18:39:43 UTC ++++ chrome/browser/after_startup_task_utils.cc +@@ -33,7 +33,7 @@ + #include "chrome/browser/ui/tabs/tab_strip_model.h" + #endif + +-#if defined(OS_LINUX) && !defined(OS_CHROMEOS) ++#if (defined(OS_LINUX) && !defined(OS_CHROMEOS)) || defined(OS_BSD) + #include "ui/views/linux_ui/linux_ui.h" + #endif + +@@ -120,7 +120,7 @@ void QueueTask(std::unique_ptr<AfterStartupTask> queue + + void SetBrowserStartupIsComplete() { + DCHECK_CURRENTLY_ON(BrowserThread::UI); +-#if defined(OS_MACOSX) || defined(OS_WIN) || defined(OS_LINUX) ++#if defined(OS_MACOSX) || defined(OS_WIN) || defined(OS_LINUX) || defined(OS_BSD) + // Process::Current().CreationTime() is not available on all platforms. + const base::Time process_creation_time = + base::Process::Current().CreationTime(); +@@ -128,7 +128,7 @@ void SetBrowserStartupIsComplete() { + UMA_HISTOGRAM_LONG_TIMES("Startup.AfterStartupTaskDelayedUntilTime", + base::Time::Now() - process_creation_time); + } +-#endif // defined(OS_MACOSX) || defined(OS_WIN) || defined(OS_LINUX) ++#endif // defined(OS_MACOSX) || defined(OS_WIN) || defined(OS_LINUX) || defined(OS_BSD) + UMA_HISTOGRAM_COUNTS_10000("Startup.AfterStartupTaskCount", + g_after_startup_tasks.Get().size()); + g_startup_complete_flag.Get().Set(); +@@ -137,7 +137,7 @@ void SetBrowserStartupIsComplete() { + g_after_startup_tasks.Get().clear(); + g_after_startup_tasks.Get().shrink_to_fit(); + +-#if defined(OS_LINUX) && !defined(OS_CHROMEOS) ++#if (defined(OS_LINUX) && !defined(OS_CHROMEOS)) || defined(OS_BSD) + // Make sure we complete the startup notification sequence, or launchers will + // get confused by not receiving the expected message from the main process. + views::LinuxUI* linux_ui = views::LinuxUI::instance(); diff --git a/www/iridium/files/patch-chrome_browser_apps_platform__apps_api_music__manager__private_device__id__linux.cc b/www/iridium/files/patch-chrome_browser_apps_platform__apps_api_music__manager__private_device__id__linux.cc new file mode 100644 index 000000000000..7482f7147a70 --- /dev/null +++ b/www/iridium/files/patch-chrome_browser_apps_platform__apps_api_music__manager__private_device__id__linux.cc @@ -0,0 +1,70 @@ +--- chrome/browser/apps/platform_apps/api/music_manager_private/device_id_linux.cc.orig 2019-04-30 22:22:32 UTC ++++ chrome/browser/apps/platform_apps/api/music_manager_private/device_id_linux.cc +@@ -4,6 +4,11 @@ + + #include "chrome/browser/apps/platform_apps/api/music_manager_private/device_id.h" + ++#if defined(OS_FREEBSD) ++#include <sys/types.h> ++#include <net/if_dl.h> ++#endif ++ + #include <ifaddrs.h> + #include <net/if.h> + #include <stddef.h> +@@ -106,9 +111,36 @@ class MacAddressProcessor { + const char* const prefixes[], + size_t prefixes_count) { + const int MAC_LENGTH = 6; ++#if defined(OS_FREEBSD) ++ struct ifaddrs *ifap, *ifinfo; ++#else + struct ifreq ifinfo; ++#endif + + memset(&ifinfo, 0, sizeof(ifinfo)); ++ ++#if defined(OS_FREEBSD) ++ int result = getifaddrs(&ifap); ++ ++ if (result != 0) ++ return true; ++ ++ result = 1; // no MAC found yet ++ ++ for (ifinfo = ifap; ifinfo != NULL; ifinfo = ifinfo->ifa_next) { ++ struct sockaddr* sa = ifinfo->ifa_addr; ++ if (sa->sa_family == AF_LINK && ++ !strncmp(ifinfo->ifa_name, ifaddr->ifa_name, ++ sizeof(ifinfo->ifa_name) - 1)) { ++ result = 0; ++ break; ++ } ++ } ++ ++ char mac_address[6]; ++ ++ strncpy(mac_address, (const char*)LLADDR((struct sockaddr_dl*)ifinfo->ifa_addr), sizeof(mac_address)); ++#else + strncpy(ifinfo.ifr_name, ifaddr->ifa_name, sizeof(ifinfo.ifr_name) - 1); + + int sd = socket(AF_INET, SOCK_DGRAM, 0); +@@ -120,11 +152,18 @@ class MacAddressProcessor { + + const char* mac_address = + static_cast<const char*>(ifinfo.ifr_hwaddr.sa_data); ++#endif ++ + if (!is_valid_mac_address_.Run(mac_address, MAC_LENGTH)) + return true; + ++#if defined(OS_FREEBSD) ++ if (!IsValidPrefix(ifinfo->ifa_name, prefixes, prefixes_count)) ++ return true; ++#else + if (!IsValidPrefix(ifinfo.ifr_name, prefixes, prefixes_count)) + return true; ++#endif + + // Got one! + found_mac_address_ = diff --git a/www/iridium/files/patch-chrome_browser_autocomplete_chrome__autocomplete__scheme__classifier.cc b/www/iridium/files/patch-chrome_browser_autocomplete_chrome__autocomplete__scheme__classifier.cc new file mode 100644 index 000000000000..6c2491941fb1 --- /dev/null +++ b/www/iridium/files/patch-chrome_browser_autocomplete_chrome__autocomplete__scheme__classifier.cc @@ -0,0 +1,17 @@ +--- chrome/browser/autocomplete/chrome_autocomplete_scheme_classifier.cc.orig 2020-04-10 00:39:09 UTC ++++ chrome/browser/autocomplete/chrome_autocomplete_scheme_classifier.cc +@@ -60,12 +60,12 @@ ChromeAutocompleteSchemeClassifier::GetInputTypeForSch + return metrics::OmniboxInputType::QUERY; + + case ExternalProtocolHandler::UNKNOWN: { +-#if defined(OS_LINUX) ++#if defined(OS_LINUX) || defined(OS_BSD) + // Linux impl of GetApplicationNameForProtocol doesn't distinguish + // between URL schemes with handers and those without. This will + // make the default behaviour be search on Linux. + return metrics::OmniboxInputType::EMPTY; +-#endif // defined(OS_LINUX) ++#endif // defined(OS_LINUX) || defined(OS_BSD) + // If block state is unknown, check if there is an application registered + // for the url scheme. + GURL url(scheme + "://"); diff --git a/www/iridium/files/patch-chrome_browser_background_background__mode__manager.cc b/www/iridium/files/patch-chrome_browser_background_background__mode__manager.cc new file mode 100644 index 000000000000..3aa2fe1a3c84 --- /dev/null +++ b/www/iridium/files/patch-chrome_browser_background_background__mode__manager.cc @@ -0,0 +1,11 @@ +--- chrome/browser/background/background_mode_manager.cc.orig 2020-02-03 21:52:39 UTC ++++ chrome/browser/background/background_mode_manager.cc +@@ -797,7 +797,7 @@ gfx::ImageSkia GetStatusTrayIcon() { + return gfx::ImageSkia(); + + return family->CreateExact(size).AsImageSkia(); +-#elif defined(OS_LINUX) ++#elif defined(OS_LINUX) || defined(OS_BSD) + return *ui::ResourceBundle::GetSharedInstance().GetImageSkiaNamed( + IDR_PRODUCT_LOGO_128); + #elif defined(OS_MACOSX) diff --git a/www/iridium/files/patch-chrome_browser_background_background__mode__optimizer.cc b/www/iridium/files/patch-chrome_browser_background_background__mode__optimizer.cc new file mode 100644 index 000000000000..de595924ceb4 --- /dev/null +++ b/www/iridium/files/patch-chrome_browser_background_background__mode__optimizer.cc @@ -0,0 +1,15 @@ +--- chrome/browser/background/background_mode_optimizer.cc.orig 2019-03-11 22:00:53 UTC ++++ chrome/browser/background/background_mode_optimizer.cc +@@ -30,10 +30,10 @@ std::unique_ptr<BackgroundModeOptimizer> BackgroundMod + switches::kKeepAliveForTest)) + return nullptr; + +-#if defined(OS_WIN) || defined(OS_LINUX) ++#if defined(OS_WIN) || defined(OS_LINUX) || defined(OS_BSD) + if (base::FeatureList::IsEnabled(features::kBackgroundModeAllowRestart)) + return base::WrapUnique(new BackgroundModeOptimizer()); +-#endif // defined(OS_WIN) || defined(OS_LINUX) ++#endif // defined(OS_WIN) || defined(OS_LINUX) || defined(OS_BSD) + + return nullptr; + } diff --git a/www/iridium/files/patch-chrome_browser_browser__resources.grd b/www/iridium/files/patch-chrome_browser_browser__resources.grd new file mode 100644 index 000000000000..021a83b1c450 --- /dev/null +++ b/www/iridium/files/patch-chrome_browser_browser__resources.grd @@ -0,0 +1,11 @@ +--- chrome/browser/browser_resources.grd.orig 2020-03-16 18:40:29 UTC ++++ chrome/browser/browser_resources.grd +@@ -54,7 +54,7 @@ + <include name="IDR_DISCARDS_MOJO_PUBLIC_BASE_PROCESS_ID_MOJOM_LITE_JS" file="${root_gen_dir}\mojo\public\mojom\base\process_id.mojom-lite.js" compress="gzip" use_base_dir="false" type="BINDATA" /> + <include name="IDR_DISCARDS_SORTED_TABLE_BEHAVIOR_JS" file="resources\discards\sorted_table_behavior.js" compress="gzip" type="BINDATA" /> + </if> +- <if expr="is_win or is_macosx or (is_linux and not chromeos)"> ++ <if expr="is_win or is_macosx or (is_posix and not chromeos)"> + <include name="IDR_BROWSER_SWITCH_APP_JS" file="${root_gen_dir}\chrome\browser\resources\browser_switch\app.js" compress="gzip" use_base_dir="false" type="BINDATA" /> + <include name="IDR_BROWSER_SWITCH_PROXY_JS" file="resources\browser_switch\browser_switch_proxy.js" compress="gzip" type="BINDATA" /> + <include name="IDR_BROWSER_SWITCH_HTML" file="resources\browser_switch\browser_switch.html" compress="gzip" allowexternalscript="true" type="BINDATA" /> diff --git a/www/iridium/files/patch-chrome_browser_chrome__browser__interface__binders.cc b/www/iridium/files/patch-chrome_browser_chrome__browser__interface__binders.cc new file mode 100644 index 000000000000..80a27c8a8950 --- /dev/null +++ b/www/iridium/files/patch-chrome_browser_chrome__browser__interface__binders.cc @@ -0,0 +1,20 @@ +--- chrome/browser/chrome_browser_interface_binders.cc.orig 2020-03-17 09:35:03 UTC ++++ chrome/browser/chrome_browser_interface_binders.cc +@@ -97,7 +97,7 @@ + #include "chrome/browser/ui/webui/new_tab_page/new_tab_page_ui.h" + #endif + +-#if defined(OS_WIN) || defined(OS_MACOSX) || defined(OS_LINUX) || \ ++#if defined(OS_WIN) || defined(OS_MACOSX) || defined(OS_LINUX) || defined(OS_BSD) || \ + defined(OS_CHROMEOS) + #include "chrome/browser/ui/webui/discards/discards.mojom.h" + #include "chrome/browser/ui/webui/discards/discards_ui.h" +@@ -471,7 +471,7 @@ void PopulateChromeWebUIFrameBinders( + map); + #endif + +-#if defined(OS_WIN) || defined(OS_MACOSX) || defined(OS_LINUX) || \ ++#if defined(OS_WIN) || defined(OS_MACOSX) || defined(OS_LINUX) || defined(OS_BSD) || \ + defined(OS_CHROMEOS) + RegisterWebUIControllerInterfaceBinder<discards::mojom::DetailsProvider, + DiscardsUI>(map); diff --git a/www/iridium/files/patch-chrome_browser_chrome__browser__main.cc b/www/iridium/files/patch-chrome_browser_chrome__browser__main.cc new file mode 100644 index 000000000000..51bb283f651b --- /dev/null +++ b/www/iridium/files/patch-chrome_browser_chrome__browser__main.cc @@ -0,0 +1,66 @@ +--- chrome/browser/chrome_browser_main.cc.orig 2020-03-16 18:40:29 UTC ++++ chrome/browser/chrome_browser_main.cc +@@ -224,9 +224,9 @@ + #include "components/arc/metrics/stability_metrics_manager.h" + #endif // defined(OS_CHROMEOS) + +-#if defined(OS_LINUX) && !defined(OS_CHROMEOS) ++#if (defined(OS_BSD) || defined(OS_LINUX)) && !defined(OS_CHROMEOS) + #include "chrome/browser/first_run/upgrade_util_linux.h" +-#endif // defined(OS_LINUX) && !defined(OS_CHROMEOS) ++#endif // (defined(OS_BSD) || defined(OS_LINUX)) && !defined(OS_CHROMEOS) + + #if defined(OS_LINUX) + #include "components/crash/content/app/breakpad_linux.h" +@@ -265,7 +265,7 @@ + #endif // defined(OS_WIN) + + #if defined(OS_WIN) || defined(OS_MACOSX) || \ +- (defined(OS_LINUX) && !defined(OS_CHROMEOS)) ++ (defined(OS_LINUX) && !defined(OS_CHROMEOS) || defined(OS_BSD)) + #include "chrome/browser/metrics/desktop_session_duration/desktop_session_duration_tracker.h" + #include "chrome/browser/profiles/profile_activity_metrics_recorder.h" + #endif +@@ -1068,7 +1068,7 @@ int ChromeBrowserMainParts::PreCreateThreadsImpl() { + AddFirstRunNewTabs(browser_creator_.get(), master_prefs_->new_tabs); + } + +-#if defined(OS_MACOSX) || defined(OS_LINUX) ++#if defined(OS_MACOSX) || defined(OS_LINUX) || defined(OS_BSD) + // Create directory for user-level Native Messaging manifest files. This + // makes it less likely that the directory will be created by third-party + // software with incorrect owner or permission. See crbug.com/725513 . +@@ -1077,7 +1077,7 @@ int ChromeBrowserMainParts::PreCreateThreadsImpl() { + &user_native_messaging_dir)); + if (!base::PathExists(user_native_messaging_dir)) + base::CreateDirectory(user_native_messaging_dir); +-#endif // defined(OS_MACOSX) || defined(OS_LINUX) ++#endif // defined(OS_MACOSX) || defined(OS_LINUX) || defined(OS_BSD) + } + #endif // !defined(OS_ANDROID) && !defined(OS_CHROMEOS) + +@@ -1116,7 +1116,7 @@ int ChromeBrowserMainParts::PreCreateThreadsImpl() { + } + + #if defined(OS_WIN) || defined(OS_MACOSX) || \ +- (defined(OS_LINUX) && !defined(OS_CHROMEOS)) ++ (defined(OS_LINUX) && !defined(OS_CHROMEOS) || defined(OS_BSD)) + metrics::DesktopSessionDurationTracker::Initialize(); + ProfileActivityMetricsRecorder::Initialize(); + #endif +@@ -1269,6 +1269,7 @@ void ChromeBrowserMainParts::PostBrowserStart() { + base::TimeDelta::FromMinutes(1)); + + #if !defined(OS_ANDROID) ++#if !defined(OS_BSD) + if (base::FeatureList::IsEnabled(features::kWebUsb)) { + web_usb_detector_.reset(new WebUsbDetector()); + base::PostTask( +@@ -1277,6 +1278,7 @@ void ChromeBrowserMainParts::PostBrowserStart() { + base::BindOnce(&WebUsbDetector::Initialize, + base::Unretained(web_usb_detector_.get()))); + } ++#endif + if (base::FeatureList::IsEnabled(features::kTabMetricsLogging)) { + // Initialize the TabActivityWatcher to begin logging tab activity events. + resource_coordinator::TabActivityWatcher::GetInstance(); diff --git a/www/iridium/files/patch-chrome_browser_chrome__browser__main__linux.cc b/www/iridium/files/patch-chrome_browser_chrome__browser__main__linux.cc new file mode 100644 index 000000000000..f7f343f3e0b5 --- /dev/null +++ b/www/iridium/files/patch-chrome_browser_chrome__browser__main__linux.cc @@ -0,0 +1,29 @@ +--- chrome/browser/chrome_browser_main_linux.cc.orig 2019-12-16 21:50:42 UTC ++++ chrome/browser/chrome_browser_main_linux.cc +@@ -81,14 +81,16 @@ void ChromeBrowserMainPartsLinux::PreProfileInit() { + void ChromeBrowserMainPartsLinux::PostProfileInit() { + ChromeBrowserMainPartsPosix::PostProfileInit(); + ++#if !defined(OS_BSD) + bool enabled = (crash_reporter::IsCrashpadEnabled() && + crash_reporter::GetUploadsEnabled()) || + breakpad::IsCrashReporterEnabled(); + g_browser_process->metrics_service()->RecordBreakpadRegistration(enabled); ++#endif + } + + void ChromeBrowserMainPartsLinux::PostMainMessageLoopStart() { +-#if !defined(OS_CHROMEOS) ++#if !defined(OS_CHROMEOS) && !defined(OS_BSD) + bluez::BluezDBusManager::Initialize(nullptr /* system_bus */); + #endif + +@@ -96,7 +98,7 @@ void ChromeBrowserMainPartsLinux::PostMainMessageLoopS + } + + void ChromeBrowserMainPartsLinux::PostDestroyThreads() { +-#if !defined(OS_CHROMEOS) ++#if !defined(OS_CHROMEOS) && !defined(OS_BSD) + bluez::BluezDBusManager::Shutdown(); + bluez::BluezDBusThreadManager::Shutdown(); + #endif diff --git a/www/iridium/files/patch-chrome_browser_chrome__browser__main__posix.cc b/www/iridium/files/patch-chrome_browser_chrome__browser__main__posix.cc new file mode 100644 index 000000000000..d217745edf63 --- /dev/null +++ b/www/iridium/files/patch-chrome_browser_chrome__browser__main__posix.cc @@ -0,0 +1,20 @@ +--- chrome/browser/chrome_browser_main_posix.cc.orig 2019-06-04 18:55:16 UTC ++++ chrome/browser/chrome_browser_main_posix.cc +@@ -70,7 +70,7 @@ void ExitHandler::ExitWhenPossibleOnUIThread(int signa + // ExitHandler takes care of deleting itself. + new ExitHandler(); + } else { +-#if defined(OS_LINUX) && !defined(OS_CHROMEOS) ++#if (defined(OS_LINUX) && !defined(OS_CHROMEOS)) || defined(OS_BSD) + switch (signal) { + case SIGINT: + case SIGHUP: +@@ -166,7 +166,7 @@ void ChromeBrowserMainPartsPosix::PostMainMessageLoopS + void ChromeBrowserMainPartsPosix::ShowMissingLocaleMessageBox() { + #if defined(OS_CHROMEOS) + NOTREACHED(); // Should not ever happen on ChromeOS. +-#elif defined(OS_MACOSX) ++#elif defined(OS_MACOSX) || defined(OS_BSD) + // Not called on Mac because we load the locale files differently. + NOTREACHED(); + #elif defined(USE_AURA) diff --git a/www/iridium/files/patch-chrome_browser_chrome__content__browser__client.cc b/www/iridium/files/patch-chrome_browser_chrome__content__browser__client.cc new file mode 100644 index 000000000000..270f07c28cd5 --- /dev/null +++ b/www/iridium/files/patch-chrome_browser_chrome__content__browser__client.cc @@ -0,0 +1,115 @@ +--- chrome/browser/chrome_content_browser_client.cc.orig 2020-03-16 18:40:29 UTC ++++ chrome/browser/chrome_content_browser_client.cc +@@ -390,7 +390,7 @@ + #include "components/user_manager/user.h" + #include "components/user_manager/user_manager.h" + #include "services/service_manager/public/mojom/interface_provider_spec.mojom.h" +-#elif defined(OS_LINUX) ++#elif defined(OS_LINUX) || defined(OS_BSD) + #include "chrome/browser/chrome_browser_main_linux.h" + #elif defined(OS_ANDROID) + #include "base/android/application_status_listener.h" +@@ -444,7 +444,7 @@ + #endif // !defined(OS_ANDROID) + + #if defined(OS_WIN) || defined(OS_MACOSX) || \ +- (defined(OS_LINUX) && !defined(OS_CHROMEOS)) ++ (defined(OS_LINUX) && !defined(OS_CHROMEOS)) || defined(OS_BSD) + #include "chrome/browser/browser_switcher/browser_switcher_navigation_throttle.h" + #include "services/service_manager/sandbox/features.h" + #endif +@@ -477,7 +477,7 @@ + #include "chrome/browser/ui/views/chrome_browser_main_extra_parts_views.h" + #endif + +-#if defined(OS_LINUX) && !defined(OS_CHROMEOS) ++#if (defined(OS_LINUX) && !defined(OS_CHROMEOS)) || defined(OS_BSD) + #if defined(USE_X11) + #include "chrome/browser/ui/views/chrome_browser_main_extra_parts_views_linux_x11.h" + #else +@@ -820,11 +820,13 @@ breakpad::CrashHandlerHostLinux* CreateCrashHandlerHos + } + + int GetCrashSignalFD(const base::CommandLine& command_line) { ++#if !defined(OS_BSD) + if (crash_reporter::IsCrashpadEnabled()) { + int fd; + pid_t pid; + return crash_reporter::GetHandlerSocket(&fd, &pid) ? fd : -1; + } ++#endif + + // Extensions have the same process type as renderers. + if (command_line.HasSwitch(extensions::switches::kExtensionProcess)) { +@@ -1269,7 +1271,7 @@ ChromeContentBrowserClient::CreateBrowserMainParts( + #elif defined(OS_CHROMEOS) + main_parts = std::make_unique<chromeos::ChromeBrowserMainPartsChromeos>( + parameters, startup_data_); +-#elif defined(OS_LINUX) ++#elif defined(OS_LINUX) || defined(OS_BSD) + main_parts = + std::make_unique<ChromeBrowserMainPartsLinux>(parameters, startup_data_); + #elif defined(OS_ANDROID) +@@ -1295,7 +1297,7 @@ ChromeContentBrowserClient::CreateBrowserMainParts( + // Construct additional browser parts. Stages are called in the order in + // which they are added. + #if defined(TOOLKIT_VIEWS) +-#if defined(OS_LINUX) && !defined(OS_CHROMEOS) ++#if (defined(OS_LINUX) && !defined(OS_CHROMEOS)) || defined(OS_BSD) + #if defined(USE_X11) + main_parts->AddParts(new ChromeBrowserMainExtraPartsViewsLinuxX11()); + #else +@@ -2020,7 +2022,7 @@ void ChromeContentBrowserClient::AppendExtraCommandLin + command_line->AppendSwitchASCII(switches::kMetricsClientID, + client_info->client_id); + } +-#elif defined(OS_POSIX) ++#elif defined(OS_POSIX) && !defined(OS_BSD) + #if defined(OS_ANDROID) + bool enable_crash_reporter = true; + #else +@@ -2288,7 +2290,7 @@ void ChromeContentBrowserClient::AppendExtraCommandLin + StackSamplingConfiguration::Get()->AppendCommandLineSwitchForChildProcess( + process_type, command_line); + +-#if defined(OS_LINUX) ++#if defined(OS_LINUX) || defined(OS_BSD) + // Processes may only query perf_event_open with the BPF sandbox disabled. + if (browser_command_line.HasSwitch(switches::kEnableThreadInstructionCount) && + command_line->HasSwitch(service_manager::switches::kNoSandbox)) { +@@ -3564,7 +3566,7 @@ void ChromeContentBrowserClient::GetAdditionalFileSyst + } + } + +-#if defined(OS_POSIX) && !defined(OS_MACOSX) ++#if defined(OS_POSIX) && !defined(OS_MACOSX) && !defined(OS_BSD) + void ChromeContentBrowserClient::GetAdditionalMappedFilesForChildProcess( + const base::CommandLine& command_line, + int child_process_id, +@@ -3696,7 +3698,7 @@ void ChromeContentBrowserClient::BindCredentialManager + } + + #if defined(OS_WIN) || defined(OS_MACOSX) || \ +- (defined(OS_LINUX) && !defined(OS_CHROMEOS)) ++ (defined(OS_LINUX) && !defined(OS_CHROMEOS)) || defined(OS_BSD) + bool ShouldEnableAudioSandbox(const policy::PolicyMap& policies) { + const base::Value* audio_sandbox_enabled_policy_value = + policies.GetValue(policy::key::kAudioSandboxEnabled); +@@ -3714,7 +3716,7 @@ bool ShouldEnableAudioSandbox(const policy::PolicyMap& + + void ChromeContentBrowserClient::WillStartServiceManager() { + #if defined(OS_WIN) || defined(OS_MACOSX) || \ +- (defined(OS_LINUX) && !defined(OS_CHROMEOS)) ++ (defined(OS_LINUX) && !defined(OS_CHROMEOS)) || defined(OS_BSD) + if (startup_data_) { + auto* chrome_feature_list_creator = + startup_data_->chrome_feature_list_creator(); +@@ -3999,7 +4001,7 @@ ChromeContentBrowserClient::CreateThrottlesForNavigati + } + + #if defined(OS_WIN) || defined(OS_MACOSX) || \ +- (defined(OS_LINUX) && !defined(OS_CHROMEOS)) ++ (defined(OS_LINUX) && !defined(OS_CHROMEOS)) || defined(OS_BSD) + MaybeAddThrottle(&throttles, + browser_switcher::BrowserSwitcherNavigationThrottle:: + MaybeCreateThrottleFor(handle)); diff --git a/www/iridium/files/patch-chrome_browser_chrome__content__browser__client.h b/www/iridium/files/patch-chrome_browser_chrome__content__browser__client.h new file mode 100644 index 000000000000..c8b5fce3597e --- /dev/null +++ b/www/iridium/files/patch-chrome_browser_chrome__content__browser__client.h @@ -0,0 +1,17 @@ +--- chrome/browser/chrome_content_browser_client.h.orig 2020-03-16 18:40:29 UTC ++++ chrome/browser/chrome_content_browser_client.h +@@ -364,12 +364,12 @@ class ChromeContentBrowserClient : public content::Con + void OverridePageVisibilityState( + content::RenderFrameHost* render_frame_host, + content::PageVisibilityState* visibility_state) override; +-#if defined(OS_POSIX) && !defined(OS_MACOSX) ++#if defined(OS_POSIX) && !defined(OS_MACOSX) && !defined(OS_BSD) + void GetAdditionalMappedFilesForChildProcess( + const base::CommandLine& command_line, + int child_process_id, + content::PosixFileDescriptorInfo* mappings) override; +-#endif // defined(OS_POSIX) && !defined(OS_MACOSX) ++#endif // defined(OS_POSIX) && !defined(OS_MACOSX) && !defined(OS_BSD) + #if defined(OS_WIN) + bool PreSpawnRenderer(sandbox::TargetPolicy* policy, + RendererSpawnFlags flags) override; diff --git a/www/iridium/files/patch-chrome_browser_crash__upload__list_crash__upload__list.cc b/www/iridium/files/patch-chrome_browser_crash__upload__list_crash__upload__list.cc new file mode 100644 index 000000000000..740824d61e61 --- /dev/null +++ b/www/iridium/files/patch-chrome_browser_crash__upload__list_crash__upload__list.cc @@ -0,0 +1,11 @@ +--- chrome/browser/crash_upload_list/crash_upload_list.cc.orig 2019-12-31 13:55:02 UTC ++++ chrome/browser/crash_upload_list/crash_upload_list.cc +@@ -38,7 +38,7 @@ scoped_refptr<UploadList> CreateCrashUploadList() { + // ChromeOS uses crash_sender as its uploader even when Crashpad is enabled, + // which isn't compatible with CrashUploadListCrashpad. crash_sender continues + // to log uploads in CrashUploadList::kReporterLogFilename. +-#if !defined(OS_CHROMEOS) ++#if !defined(OS_CHROMEOS) && !defined(OS_BSD) + if (crash_reporter::IsCrashpadEnabled()) { + return new CrashUploadListCrashpad(); + } diff --git a/www/iridium/files/patch-chrome_browser_crash__upload__list_crash__upload__list__crashpad.cc b/www/iridium/files/patch-chrome_browser_crash__upload__list_crash__upload__list__crashpad.cc new file mode 100644 index 000000000000..0f0d4137c678 --- /dev/null +++ b/www/iridium/files/patch-chrome_browser_crash__upload__list_crash__upload__list__crashpad.cc @@ -0,0 +1,31 @@ +--- chrome/browser/crash_upload_list/crash_upload_list_crashpad.cc.orig 2019-12-31 13:56:21 UTC ++++ chrome/browser/crash_upload_list/crash_upload_list_crashpad.cc +@@ -42,6 +42,9 @@ CrashUploadListCrashpad::CrashUploadListCrashpad() = d + CrashUploadListCrashpad::~CrashUploadListCrashpad() = default; + + std::vector<UploadList::UploadInfo> CrashUploadListCrashpad::LoadUploadList() { ++#if defined(OS_BSD) ++ return std::vector<UploadInfo>(); ++#else + std::vector<crash_reporter::Report> reports; + crash_reporter::GetReports(&reports); + +@@ -53,13 +56,18 @@ std::vector<UploadList::UploadInfo> CrashUploadListCra + ReportUploadStateToUploadInfoState(report.state))); + } + return uploads; ++#endif + } + + void CrashUploadListCrashpad::ClearUploadList(const base::Time& begin, + const base::Time& end) { ++#if !defined(OS_BSD) + crash_reporter::ClearReportsBetween(begin, end); ++#endif + } + + void CrashUploadListCrashpad::RequestSingleUpload(const std::string& local_id) { ++#if !defined(OS_BSD) + crash_reporter::RequestSingleCrashUpload(local_id); ++#endif + } diff --git a/www/iridium/files/patch-chrome_browser_custom__handlers_protocol__handler__registry.cc b/www/iridium/files/patch-chrome_browser_custom__handlers_protocol__handler__registry.cc new file mode 100644 index 000000000000..b1db05585e76 --- /dev/null +++ b/www/iridium/files/patch-chrome_browser_custom__handlers_protocol__handler__registry.cc @@ -0,0 +1,11 @@ +--- chrome/browser/custom_handlers/protocol_handler_registry.cc.orig 2020-02-03 21:52:39 UTC ++++ chrome/browser/custom_handlers/protocol_handler_registry.cc +@@ -42,7 +42,7 @@ const ProtocolHandler& LookupHandler( + // If true default protocol handlers will be removed if the OS level + // registration for a protocol is no longer Chrome. + bool ShouldRemoveHandlersNotInOS() { +-#if defined(OS_LINUX) ++#if defined(OS_LINUX) || defined(OS_BSD) + // We don't do this on Linux as the OS registration there is not reliable, + // and Chrome OS doesn't have any notion of OS registration. + // TODO(benwells): When Linux support is more reliable remove this diff --git a/www/iridium/files/patch-chrome_browser_defaults.cc b/www/iridium/files/patch-chrome_browser_defaults.cc new file mode 100644 index 000000000000..4cf8684d29d3 --- /dev/null +++ b/www/iridium/files/patch-chrome_browser_defaults.cc @@ -0,0 +1,11 @@ +--- chrome/browser/defaults.cc.orig 2019-03-11 22:00:53 UTC ++++ chrome/browser/defaults.cc +@@ -43,7 +43,7 @@ const bool kSyncAutoStarts = true; + const bool kSyncAutoStarts = false; + #endif + +-#if defined(OS_LINUX) && !defined(OS_CHROMEOS) ++#if (defined(OS_LINUX) || defined(OS_BSD)) && !defined(OS_CHROMEOS) + const bool kScrollEventChangesTab = true; + #else + const bool kScrollEventChangesTab = false; diff --git a/www/iridium/files/patch-chrome_browser_dev__ui__browser__resources.grd b/www/iridium/files/patch-chrome_browser_dev__ui__browser__resources.grd new file mode 100644 index 000000000000..3a56c04bdb97 --- /dev/null +++ b/www/iridium/files/patch-chrome_browser_dev__ui__browser__resources.grd @@ -0,0 +1,11 @@ +--- chrome/browser/dev_ui_browser_resources.grd.orig 2020-03-17 09:36:38 UTC ++++ chrome/browser/dev_ui_browser_resources.grd +@@ -55,7 +55,7 @@ This file specifies browser resources for developer-fa + <include name="IDR_PREDICTORS_HTML" file="resources\predictors\predictors.html" flattenhtml="true" allowexternalscript="true" type="BINDATA" compress="gzip" /> + <include name="IDR_PREDICTORS_JS" file="resources\predictors\predictors.js" flattenhtml="true" type="BINDATA" compress="gzip" /> + +- <if expr="is_android or is_linux"> ++ <if expr="is_android or is_posix"> + <include name="IDR_SANDBOX_INTERNALS_HTML" file="resources\sandbox_internals\sandbox_internals.html" flattenhtml="true" allowexternalscript="true" type="BINDATA" compress="gzip" /> + <include name="IDR_SANDBOX_INTERNALS_JS" file="resources\sandbox_internals\sandbox_internals.js" type="BINDATA" compress="gzip" /> + </if> diff --git a/www/iridium/files/patch-chrome_browser_devtools_devtools__eye__dropper.cc b/www/iridium/files/patch-chrome_browser_devtools_devtools__eye__dropper.cc new file mode 100644 index 000000000000..d53ca3e6d56b --- /dev/null +++ b/www/iridium/files/patch-chrome_browser_devtools_devtools__eye__dropper.cc @@ -0,0 +1,11 @@ +--- chrome/browser/devtools/devtools_eye_dropper.cc.orig 2020-02-03 21:53:29 UTC ++++ chrome/browser/devtools/devtools_eye_dropper.cc +@@ -164,7 +164,7 @@ void DevToolsEyeDropper::UpdateCursor() { + // magnified projection only with centered hotspot. + // Mac Retina requires cursor to be > 120px in order to render smoothly. + +-#if defined(OS_LINUX) ++#if defined(OS_LINUX) || defined(OS_BSD) + const float kCursorSize = 63; + const float kDiameter = 63; + const float kHotspotOffset = 32; diff --git a/www/iridium/files/patch-chrome_browser_diagnostics_diagnostics__writer.h b/www/iridium/files/patch-chrome_browser_diagnostics_diagnostics__writer.h new file mode 100644 index 000000000000..e77c2c353dd8 --- /dev/null +++ b/www/iridium/files/patch-chrome_browser_diagnostics_diagnostics__writer.h @@ -0,0 +1,11 @@ +--- chrome/browser/diagnostics/diagnostics_writer.h.orig 2019-03-11 22:00:53 UTC ++++ chrome/browser/diagnostics/diagnostics_writer.h +@@ -15,6 +15,8 @@ namespace diagnostics { + // Console base class used internally. + class SimpleConsole; + ++#undef MACHINE ++ + class DiagnosticsWriter : public DiagnosticsModel::Observer { + public: + // The type of formatting done by this writer. diff --git a/www/iridium/files/patch-chrome_browser_download_chrome__download__manager__delegate.cc b/www/iridium/files/patch-chrome_browser_download_chrome__download__manager__delegate.cc new file mode 100644 index 000000000000..e44deb129a08 --- /dev/null +++ b/www/iridium/files/patch-chrome_browser_download_chrome__download__manager__delegate.cc @@ -0,0 +1,20 @@ +--- chrome/browser/download/chrome_download_manager_delegate.cc.orig 2020-03-16 18:40:29 UTC ++++ chrome/browser/download/chrome_download_manager_delegate.cc +@@ -1249,7 +1249,7 @@ void ChromeDownloadManagerDelegate::OnDownloadTargetDe + target_info->is_filetype_handled_safely) + DownloadItemModel(item).SetShouldPreferOpeningInBrowser(true); + +-#if defined(OS_LINUX) ++#if defined(OS_LINUX) || defined(OS_BSD) + if (item->GetOriginalMimeType() == "application/x-x509-user-cert") + DownloadItemModel(item).SetShouldPreferOpeningInBrowser(true); + #endif +@@ -1273,7 +1273,7 @@ void ChromeDownloadManagerDelegate::OnDownloadTargetDe + + bool ChromeDownloadManagerDelegate::IsOpenInBrowserPreferreredForFile( + const base::FilePath& path) { +-#if defined(OS_WIN) || defined(OS_LINUX) || defined(OS_MACOSX) ++#if defined(OS_WIN) || defined(OS_LINUX) || defined(OS_MACOSX) || defined(OS_BSD) + if (path.MatchesExtension(FILE_PATH_LITERAL(".pdf"))) { + return !download_prefs_->ShouldOpenPdfInSystemReader(); + } diff --git a/www/iridium/files/patch-chrome_browser_download_download__commands.cc b/www/iridium/files/patch-chrome_browser_download_download__commands.cc new file mode 100644 index 000000000000..7de89e40fd17 --- /dev/null +++ b/www/iridium/files/patch-chrome_browser_download_download__commands.cc @@ -0,0 +1,35 @@ +--- chrome/browser/download/download_commands.cc.orig 2019-12-16 21:50:42 UTC ++++ chrome/browser/download/download_commands.cc +@@ -26,7 +26,7 @@ + #include "net/base/url_util.h" + #include "ui/base/clipboard/scoped_clipboard_writer.h" + +-#if defined(OS_WIN) || defined(OS_LINUX) || defined(OS_MACOSX) ++#if defined(OS_WIN) || defined(OS_LINUX) || defined(OS_MACOSX) || defined(OS_BSD) + #include "chrome/browser/ui/browser.h" + #include "chrome/browser/ui/browser_finder.h" + #include "chrome/browser/ui/scoped_tabbed_browser_displayer.h" +@@ -153,7 +153,7 @@ void DownloadCommands::ExecuteCommand(Command command) + model_->ExecuteCommand(this, command); + } + +-#if defined(OS_WIN) || defined(OS_MACOSX) || defined(OS_LINUX) ++#if defined(OS_WIN) || defined(OS_MACOSX) || defined(OS_LINUX) || defined(OS_BSD) + + Browser* DownloadCommands::GetBrowser() const { + chrome::ScopedTabbedBrowserDisplayer browser_displayer(model_->profile()); +@@ -176,12 +176,12 @@ bool DownloadCommands::CanOpenPdfInSystemViewer() cons + 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 + } + +-#endif // defined(OS_WIN) || defined(OS_MACOSX) || defined(OS_LINUX) ++#endif // defined(OS_WIN) || defined(OS_MACOSX) || defined(OS_LINUX) || defined(OS_BSD) + + void DownloadCommands::CopyFileAsImageToClipboard() { + if (model_->GetState() != download::DownloadItem::COMPLETE || diff --git a/www/iridium/files/patch-chrome_browser_download_download__commands.h b/www/iridium/files/patch-chrome_browser_download_download__commands.h new file mode 100644 index 000000000000..126f0123875b --- /dev/null +++ b/www/iridium/files/patch-chrome_browser_download_download__commands.h @@ -0,0 +1,11 @@ +--- chrome/browser/download/download_commands.h.orig 2020-03-16 18:39:43 UTC ++++ chrome/browser/download/download_commands.h +@@ -48,7 +48,7 @@ class DownloadCommands { + bool IsCommandVisible(Command command) const; + void ExecuteCommand(Command command); + +-#if defined(OS_WIN) || defined(OS_LINUX) || defined(OS_MACOSX) ++#if defined(OS_WIN) || defined(OS_LINUX) || defined(OS_MACOSX) || defined(OS_BSD) + bool IsDownloadPdf() const; + bool CanOpenPdfInSystemViewer() const; + Browser* GetBrowser() const; diff --git a/www/iridium/files/patch-chrome_browser_download_download__item__model.cc b/www/iridium/files/patch-chrome_browser_download_download__item__model.cc new file mode 100644 index 000000000000..4b367d9bc2e5 --- /dev/null +++ b/www/iridium/files/patch-chrome_browser_download_download__item__model.cc @@ -0,0 +1,20 @@ +--- chrome/browser/download/download_item_model.cc.orig 2020-03-16 18:40:29 UTC ++++ chrome/browser/download/download_item_model.cc +@@ -592,7 +592,7 @@ bool DownloadItemModel::IsCommandChecked( + return download_->GetOpenWhenComplete() || + download_crx_util::IsExtensionDownload(*download_); + case DownloadCommands::ALWAYS_OPEN_TYPE: +-#if defined(OS_WIN) || defined(OS_LINUX) || defined(OS_MACOSX) ++#if defined(OS_WIN) || defined(OS_LINUX) || defined(OS_MACOSX) || defined(OS_BSD) + if (download_commands->CanOpenPdfInSystemViewer()) { + DownloadPrefs* prefs = DownloadPrefs::FromBrowserContext(profile()); + return prefs->ShouldOpenPdfInSystemReader(); +@@ -632,7 +632,7 @@ void DownloadItemModel::ExecuteCommand(DownloadCommand + bool is_checked = IsCommandChecked(download_commands, + DownloadCommands::ALWAYS_OPEN_TYPE); + DownloadPrefs* prefs = DownloadPrefs::FromBrowserContext(profile()); +-#if defined(OS_WIN) || defined(OS_LINUX) || defined(OS_MACOSX) ++#if defined(OS_WIN) || defined(OS_LINUX) || defined(OS_MACOSX) || defined(OS_BSD) + if (download_commands->CanOpenPdfInSystemViewer()) { + prefs->SetShouldOpenPdfInSystemReader(!is_checked); + SetShouldPreferOpeningInBrowser(is_checked); diff --git a/www/iridium/files/patch-chrome_browser_download_download__prefs.cc b/www/iridium/files/patch-chrome_browser_download_download__prefs.cc new file mode 100644 index 000000000000..ddf30c396fc6 --- /dev/null +++ b/www/iridium/files/patch-chrome_browser_download_download__prefs.cc @@ -0,0 +1,65 @@ +--- chrome/browser/download/download_prefs.cc.orig 2020-02-03 21:52:39 UTC ++++ chrome/browser/download/download_prefs.cc +@@ -63,7 +63,7 @@ namespace { + // Consider downloads 'dangerous' if they go to the home directory on Linux and + // to the desktop on any platform. + bool DownloadPathIsDangerous(const base::FilePath& download_path) { +-#if defined(OS_LINUX) ++#if defined(OS_LINUX) || defined(OS_BSD) + base::FilePath home_dir = base::GetHomeDir(); + if (download_path == home_dir) { + return true; +@@ -159,7 +159,7 @@ DownloadPrefs::DownloadPrefs(Profile* profile) : profi + GetDefaultDownloadDirectoryForProfile())); + #endif // defined(OS_CHROMEOS) + +-#if defined(OS_WIN) || defined(OS_LINUX) || defined(OS_MACOSX) ++#if defined(OS_WIN) || defined(OS_LINUX) || defined(OS_MACOSX) || defined(OS_BSD) + should_open_pdf_in_system_reader_ = + prefs->GetBoolean(prefs::kOpenPdfDownloadInSystemReader); + #endif +@@ -261,7 +261,7 @@ void DownloadPrefs::RegisterProfilePrefs( + default_download_path); + registry->RegisterFilePathPref(prefs::kSaveFileDefaultDirectory, + default_download_path); +-#if defined(OS_WIN) || defined(OS_LINUX) || defined(OS_MACOSX) ++#if defined(OS_WIN) || defined(OS_LINUX) || defined(OS_MACOSX) || defined(OS_BSD) + registry->RegisterBooleanPref(prefs::kOpenPdfDownloadInSystemReader, false); + #endif + #if defined(OS_ANDROID) +@@ -360,7 +360,7 @@ bool DownloadPrefs::IsDownloadPathManaged() const { + } + + bool DownloadPrefs::IsAutoOpenUsed() const { +-#if defined(OS_WIN) || defined(OS_LINUX) || defined(OS_MACOSX) ++#if defined(OS_WIN) || defined(OS_LINUX) || defined(OS_MACOSX) || defined(OS_BSD) + if (ShouldOpenPdfInSystemReader()) + return true; + #endif +@@ -374,7 +374,7 @@ bool DownloadPrefs::IsAutoOpenEnabledBasedOnExtension( + return false; + DCHECK(extension[0] == base::FilePath::kExtensionSeparator); + extension.erase(0, 1); +-#if defined(OS_WIN) || defined(OS_LINUX) || defined(OS_MACOSX) ++#if defined(OS_WIN) || defined(OS_LINUX) || defined(OS_MACOSX) || defined(OS_BSD) + if (base::FilePath::CompareEqualIgnoreCase(extension, + FILE_PATH_LITERAL("pdf")) && + ShouldOpenPdfInSystemReader()) +@@ -411,7 +411,7 @@ void DownloadPrefs::DisableAutoOpenBasedOnExtension( + SaveAutoOpenState(); + } + +-#if defined(OS_WIN) || defined(OS_LINUX) || defined(OS_MACOSX) ++#if defined(OS_WIN) || defined(OS_LINUX) || defined(OS_MACOSX) || defined(OS_BSD) + void DownloadPrefs::SetShouldOpenPdfInSystemReader(bool should_open) { + if (should_open_pdf_in_system_reader_ == should_open) + return; +@@ -432,7 +432,7 @@ bool DownloadPrefs::ShouldOpenPdfInSystemReader() cons + #endif + + void DownloadPrefs::ResetAutoOpen() { +-#if defined(OS_WIN) || defined(OS_LINUX) || defined(OS_MACOSX) ++#if defined(OS_WIN) || defined(OS_LINUX) || defined(OS_MACOSX) || defined(OS_BSD) + SetShouldOpenPdfInSystemReader(false); + #endif + auto_open_.clear(); diff --git a/www/iridium/files/patch-chrome_browser_download_download__prefs.h b/www/iridium/files/patch-chrome_browser_download_download__prefs.h new file mode 100644 index 000000000000..702f54b47279 --- /dev/null +++ b/www/iridium/files/patch-chrome_browser_download_download__prefs.h @@ -0,0 +1,20 @@ +--- chrome/browser/download/download_prefs.h.orig 2019-06-04 18:55:17 UTC ++++ chrome/browser/download/download_prefs.h +@@ -102,7 +102,7 @@ class DownloadPrefs { + // Disables auto-open based on file extension. + void DisableAutoOpenBasedOnExtension(const base::FilePath& file_name); + +-#if defined(OS_WIN) || defined(OS_LINUX) || defined(OS_MACOSX) ++#if defined(OS_WIN) || defined(OS_LINUX) || defined(OS_MACOSX) || defined(OS_BSD) + // Store the user preference to disk. If |should_open| is true, also disable + // the built-in PDF plugin. If |should_open| is false, enable the PDF plugin. + void SetShouldOpenPdfInSystemReader(bool should_open); +@@ -150,7 +150,7 @@ class DownloadPrefs { + AutoOpenCompareFunctor> AutoOpenSet; + AutoOpenSet auto_open_; + +-#if defined(OS_WIN) || defined(OS_LINUX) || defined(OS_MACOSX) ++#if defined(OS_WIN) || defined(OS_LINUX) || defined(OS_MACOSX) || defined(OS_BSD) + bool should_open_pdf_in_system_reader_; + #endif + diff --git a/www/iridium/files/patch-chrome_browser_download_download__query.cc b/www/iridium/files/patch-chrome_browser_download_download__query.cc new file mode 100644 index 000000000000..be6e0537adfc --- /dev/null +++ b/www/iridium/files/patch-chrome_browser_download_download__query.cc @@ -0,0 +1,14 @@ +--- chrome/browser/download/download_query.cc.orig 2019-03-11 22:00:53 UTC ++++ chrome/browser/download/download_query.cc +@@ -27,7 +27,11 @@ + #include "components/download/public/common/download_item.h" + #include "components/url_formatter/url_formatter.h" + #include "content/public/browser/content_browser_client.h" ++#if defined(OS_BSD) ++#include <re2/re2.h> ++#else + #include "third_party/re2/src/re2/re2.h" ++#endif + #include "url/gurl.h" + + using download::DownloadDangerType; diff --git a/www/iridium/files/patch-chrome_browser_download_download__shelf__context__menu.cc b/www/iridium/files/patch-chrome_browser_download_download__shelf__context__menu.cc new file mode 100644 index 000000000000..71f0ca430012 --- /dev/null +++ b/www/iridium/files/patch-chrome_browser_download_download__shelf__context__menu.cc @@ -0,0 +1,11 @@ +--- chrome/browser/download/download_shelf_context_menu.cc.orig 2020-03-16 18:39:43 UTC ++++ chrome/browser/download/download_shelf_context_menu.cc +@@ -147,7 +147,7 @@ base::string16 DownloadShelfContextMenu::GetLabelForCo + : IDS_DOWNLOAD_MENU_PLATFORM_OPEN_ALWAYS; + break; + } +-#elif defined(OS_MACOSX) || defined(OS_LINUX) ++#elif defined(OS_MACOSX) || defined(OS_LINUX) || defined(OS_BSD) + if (can_open_pdf_in_system_viewer) { + id = IDS_DOWNLOAD_MENU_PLATFORM_OPEN_ALWAYS; + break; diff --git a/www/iridium/files/patch-chrome_browser_extensions_BUILD.gn b/www/iridium/files/patch-chrome_browser_extensions_BUILD.gn new file mode 100644 index 000000000000..4309d41da843 --- /dev/null +++ b/www/iridium/files/patch-chrome_browser_extensions_BUILD.gn @@ -0,0 +1,15 @@ +--- chrome/browser/extensions/BUILD.gn.orig 2020-03-16 18:40:29 UTC ++++ chrome/browser/extensions/BUILD.gn +@@ -1175,6 +1175,12 @@ jumbo_static_library("extensions") { + deps += [ "//chrome/common:service_process_mojom" ] + } + ++ if (is_bsd) { ++ sources -= [ ++ "api/image_writer_private/removable_storage_provider_linux.cc", ++ ] ++ } ++ + if (enable_service_discovery) { + sources += [ + "api/mdns/mdns_api.cc", diff --git a/www/iridium/files/patch-chrome_browser_extensions_activity__log_activity__log.cc b/www/iridium/files/patch-chrome_browser_extensions_activity__log_activity__log.cc new file mode 100644 index 000000000000..9d31ad4054df --- /dev/null +++ b/www/iridium/files/patch-chrome_browser_extensions_activity__log_activity__log.cc @@ -0,0 +1,14 @@ +--- chrome/browser/extensions/activity_log/activity_log.cc.orig 2019-12-16 21:50:42 UTC ++++ chrome/browser/extensions/activity_log/activity_log.cc +@@ -47,7 +47,11 @@ + #include "extensions/browser/extensions_browser_client.h" + #include "extensions/common/extension.h" + #include "extensions/common/extension_messages.h" ++#if defined(OS_BSD) ++#include <re2/re2.h> ++#else + #include "third_party/re2/src/re2/re2.h" ++#endif + #include "url/gurl.h" + + namespace constants = activity_log_constants; diff --git a/www/iridium/files/patch-chrome_browser_extensions_api_enterprise__reporting__private_device__info__fetcher.cc b/www/iridium/files/patch-chrome_browser_extensions_api_enterprise__reporting__private_device__info__fetcher.cc new file mode 100644 index 000000000000..591517203deb --- /dev/null +++ b/www/iridium/files/patch-chrome_browser_extensions_api_enterprise__reporting__private_device__info__fetcher.cc @@ -0,0 +1,20 @@ +--- chrome/browser/extensions/api/enterprise_reporting_private/device_info_fetcher.cc.orig 2020-03-17 09:37:45 UTC ++++ chrome/browser/extensions/api/enterprise_reporting_private/device_info_fetcher.cc +@@ -11,7 +11,7 @@ + #include "chrome/browser/extensions/api/enterprise_reporting_private/device_info_fetcher_mac.h" + #elif defined(OS_WIN) + #include "chrome/browser/extensions/api/enterprise_reporting_private/device_info_fetcher_win.h" +-#elif defined(OS_LINUX) ++#elif defined(OS_LINUX) || defined(OS_BSD) + #include "chrome/browser/extensions/api/enterprise_reporting_private/device_info_fetcher_linux.h" + #endif + +@@ -58,7 +58,7 @@ std::unique_ptr<DeviceInfoFetcher> DeviceInfoFetcher:: + return std::make_unique<DeviceInfoFetcherMac>(); + #elif defined(OS_WIN) + return std::make_unique<DeviceInfoFetcherWin>(); +-#elif defined(OS_LINUX) ++#elif defined(OS_LINUX) || defined(OS_BSD) + return std::make_unique<DeviceInfoFetcherLinux>(); + #else + return std::make_unique<StubDeviceFetcher>(); diff --git a/www/iridium/files/patch-chrome_browser_extensions_api_enterprise__reporting__private_device__info__fetcher__linux.cc b/www/iridium/files/patch-chrome_browser_extensions_api_enterprise__reporting__private_device__info__fetcher__linux.cc new file mode 100644 index 000000000000..8620f64e57fd --- /dev/null +++ b/www/iridium/files/patch-chrome_browser_extensions_api_enterprise__reporting__private_device__info__fetcher__linux.cc @@ -0,0 +1,40 @@ +--- chrome/browser/extensions/api/enterprise_reporting_private/device_info_fetcher_linux.cc.orig 2020-03-18 08:39:42 UTC ++++ chrome/browser/extensions/api/enterprise_reporting_private/device_info_fetcher_linux.cc +@@ -8,7 +8,9 @@ + #include <gio/gio.h> + #endif // defined(USE_GIO) + #include <sys/stat.h> ++#if !defined(OS_BSD) + #include <sys/sysmacros.h> ++#endif + + #include <string> + +@@ -90,6 +92,7 @@ enterprise_reporting_private::SettingValue GetScreenlo + // Implements the logic from the native host installation script. First find the + // root device identifier, then locate its parent and get its type. + enterprise_reporting_private::SettingValue GetDiskEncrypted() { ++#if !defined(OS_BSD) + struct stat info; + // First figure out the device identifier. + stat("/", &info); +@@ -109,6 +112,7 @@ enterprise_reporting_private::SettingValue GetDiskEncr + return is_encrypted ? enterprise_reporting_private::SETTING_VALUE_ENABLED + : enterprise_reporting_private::SETTING_VALUE_DISABLED; + } ++#endif + return enterprise_reporting_private::SETTING_VALUE_UNKNOWN; + } + +@@ -120,7 +124,11 @@ DeviceInfoFetcherLinux::~DeviceInfoFetcherLinux() = de + + DeviceInfo DeviceInfoFetcherLinux::Fetch() { + DeviceInfo device_info; ++#if defined(OS_FREEBSD) ++ device_info.os_name = "freebsd"; ++#else + device_info.os_name = "linux"; ++#endif + device_info.os_version = GetOsVersion(); + device_info.device_host_name = GetDeviceHostName(); + device_info.device_model = GetDeviceModel(); diff --git a/www/iridium/files/patch-chrome_browser_extensions_api_erp_chrome_desktop_report_request_helper.cc b/www/iridium/files/patch-chrome_browser_extensions_api_erp_chrome_desktop_report_request_helper.cc new file mode 100644 index 000000000000..8a3736baf4ee --- /dev/null +++ b/www/iridium/files/patch-chrome_browser_extensions_api_erp_chrome_desktop_report_request_helper.cc @@ -0,0 +1,29 @@ +--- chrome/browser/extensions/api/enterprise_reporting_private/chrome_desktop_report_request_helper.cc.orig 2020-04-03 04:11:29 UTC ++++ chrome/browser/extensions/api/enterprise_reporting_private/chrome_desktop_report_request_helper.cc +@@ -39,7 +39,7 @@ + #include "base/win/registry.h" + #endif + +-#if defined(OS_LINUX) ++#if defined(OS_LINUX) || defined(OS_BSD) + #include "base/environment.h" + #include "base/nix/xdg_util.h" + #endif +@@ -382,7 +382,7 @@ base::FilePath GetEndpointVerificationDir() { + return *GetEndpointVerificationDirOverride(); + #if defined(OS_WIN) + if (!base::PathService::Get(base::DIR_LOCAL_APP_DATA, &path)) +-#elif defined(OS_LINUX) ++#elif defined(OS_LINUX) || defined(OS_BSD) + std::unique_ptr<base::Environment> env(base::Environment::Create()); + path = base::nix::GetXDGDirectory(env.get(), base::nix::kXdgConfigHomeEnvVar, + base::nix::kDotConfigDir); +@@ -393,7 +393,7 @@ base::FilePath GetEndpointVerificationDir() { + if (true) + #endif + return path; +-#if defined(OS_LINUX) ++#if defined(OS_LINUX) || defined(OS_BSD) + path = path.AppendASCII("google"); + #else + path = path.AppendASCII("Google"); diff --git a/www/iridium/files/patch-chrome_browser_extensions_api_image__writer__private_removable__storage__provider.cc b/www/iridium/files/patch-chrome_browser_extensions_api_image__writer__private_removable__storage__provider.cc new file mode 100644 index 000000000000..0b5c1a821007 --- /dev/null +++ b/www/iridium/files/patch-chrome_browser_extensions_api_image__writer__private_removable__storage__provider.cc @@ -0,0 +1,20 @@ +--- chrome/browser/extensions/api/image_writer_private/removable_storage_provider.cc.orig 2019-04-30 22:22:33 UTC ++++ chrome/browser/extensions/api/image_writer_private/removable_storage_provider.cc +@@ -21,6 +21,7 @@ static base::LazyInstance<scoped_refptr<StorageDeviceL + + void RemovableStorageProvider::GetAllDevices(DeviceListReadyCallback callback) { + DCHECK_CURRENTLY_ON(content::BrowserThread::UI); ++#if !defined(OS_BSD) + if (g_test_device_list.Get().get() != nullptr) { + base::ThreadTaskRunnerHandle::Get()->PostTask( + FROM_HERE, +@@ -34,6 +35,9 @@ void RemovableStorageProvider::GetAllDevices(DeviceLis + base::TaskShutdownBehavior::SKIP_ON_SHUTDOWN}, + base::BindOnce(&RemovableStorageProvider::PopulateDeviceList), + std::move(callback)); ++#else ++ NOTIMPLEMENTED(); ++#endif + } + + // static diff --git a/www/iridium/files/patch-chrome_browser_extensions_api_input__ime_input__ime__api.h b/www/iridium/files/patch-chrome_browser_extensions_api_input__ime_input__ime__api.h new file mode 100644 index 000000000000..1cb62fbbfdce --- /dev/null +++ b/www/iridium/files/patch-chrome_browser_extensions_api_input__ime_input__ime__api.h @@ -0,0 +1,11 @@ +--- chrome/browser/extensions/api/input_ime/input_ime_api.h.orig 2019-03-11 22:00:53 UTC ++++ chrome/browser/extensions/api/input_ime/input_ime_api.h +@@ -31,7 +31,7 @@ + + #if defined(OS_CHROMEOS) + #include "chrome/browser/extensions/api/input_ime/input_ime_api_chromeos.h" +-#elif defined(OS_LINUX) || defined(OS_WIN) ++#elif defined(OS_LINUX) || defined(OS_WIN) || defined(OS_BSD) + #include "chrome/browser/extensions/api/input_ime/input_ime_api_nonchromeos.h" + #endif // defined(OS_CHROMEOS) + diff --git a/www/iridium/files/patch-chrome_browser_extensions_api_runtime_chrome__runtime__api__delegate.cc b/www/iridium/files/patch-chrome_browser_extensions_api_runtime_chrome__runtime__api__delegate.cc new file mode 100644 index 000000000000..d8b93a7a1069 --- /dev/null +++ b/www/iridium/files/patch-chrome_browser_extensions_api_runtime_chrome__runtime__api__delegate.cc @@ -0,0 +1,11 @@ +--- chrome/browser/extensions/api/runtime/chrome_runtime_api_delegate.cc.orig 2019-04-30 22:22:33 UTC ++++ chrome/browser/extensions/api/runtime/chrome_runtime_api_delegate.cc +@@ -299,6 +299,8 @@ bool ChromeRuntimeAPIDelegate::GetPlatformInfo(Platfor + info->os = extensions::api::runtime::PLATFORM_OS_CROS; + } else if (strcmp(os, "linux") == 0) { + info->os = extensions::api::runtime::PLATFORM_OS_LINUX; ++ } else if (strcmp(os, "freebsd") == 0) { ++ info->os = extensions::api::runtime::PLATFORM_OS_FREEBSD; + } else if (strcmp(os, "openbsd") == 0) { + info->os = extensions::api::runtime::PLATFORM_OS_OPENBSD; + } else { diff --git a/www/iridium/files/patch-chrome_browser_extensions_api_settings__private_prefs__util.cc b/www/iridium/files/patch-chrome_browser_extensions_api_settings__private_prefs__util.cc new file mode 100644 index 000000000000..40176332dcff --- /dev/null +++ b/www/iridium/files/patch-chrome_browser_extensions_api_settings__private_prefs__util.cc @@ -0,0 +1,20 @@ +--- chrome/browser/extensions/api/settings_private/prefs_util.cc.orig 2020-03-16 18:40:29 UTC ++++ chrome/browser/extensions/api/settings_private/prefs_util.cc +@@ -160,7 +160,7 @@ const PrefsUtil::TypedPrefMap& PrefsUtil::GetWhitelist + (*s_whitelist)[bookmarks::prefs::kShowBookmarkBar] = + settings_api::PrefType::PREF_TYPE_BOOLEAN; + +-#if defined(OS_LINUX) && !defined(OS_CHROMEOS) ++#if (defined(OS_LINUX) && !defined(OS_CHROMEOS)) || defined(OS_BSD) + (*s_whitelist)[::prefs::kUseCustomChromeFrame] = + settings_api::PrefType::PREF_TYPE_BOOLEAN; + #endif +@@ -170,7 +170,7 @@ const PrefsUtil::TypedPrefMap& PrefsUtil::GetWhitelist + // Appearance settings. + (*s_whitelist)[::prefs::kCurrentThemeID] = + settings_api::PrefType::PREF_TYPE_STRING; +-#if defined(OS_LINUX) && !defined(OS_CHROMEOS) ++#if (defined(OS_BSD) || defined(OS_LINUX)) && !defined(OS_CHROMEOS) + (*s_whitelist)[::prefs::kUsesSystemTheme] = + settings_api::PrefType::PREF_TYPE_BOOLEAN; + #endif diff --git a/www/iridium/files/patch-chrome_browser_extensions_api_webrtc__logging__private_webrtc__logging__private__api.cc b/www/iridium/files/patch-chrome_browser_extensions_api_webrtc__logging__private_webrtc__logging__private__api.cc new file mode 100644 index 000000000000..7440fdc3cc94 --- /dev/null +++ b/www/iridium/files/patch-chrome_browser_extensions_api_webrtc__logging__private_webrtc__logging__private__api.cc @@ -0,0 +1,43 @@ +--- chrome/browser/extensions/api/webrtc_logging_private/webrtc_logging_private_api.cc.orig 2019-10-21 19:06:21 UTC ++++ chrome/browser/extensions/api/webrtc_logging_private/webrtc_logging_private_api.cc +@@ -29,7 +29,7 @@ + #include "extensions/browser/process_manager.h" + #include "extensions/common/error_utils.h" + +-#if defined(OS_LINUX) || defined(OS_CHROMEOS) ++#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD) + #include "extensions/common/permissions/permissions_data.h" + #endif + +@@ -38,7 +38,7 @@ namespace { + bool CanEnableAudioDebugRecordingsFromExtension( + const extensions::Extension* extension) { + bool enabled_by_permissions = false; +-#if defined(OS_LINUX) || defined(OS_CHROMEOS) ++#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD) + if (extension) { + enabled_by_permissions = + extension->permissions_data()->active_permissions().HasAPIPermission( +@@ -557,7 +557,7 @@ void WebrtcLoggingPrivateStartEventLoggingFunction::Fi + } + + bool WebrtcLoggingPrivateGetLogsDirectoryFunction::RunAsync() { +-#if defined(OS_LINUX) || defined(OS_CHROMEOS) ++#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD) + // Unlike other WebrtcLoggingPrivate functions that take a RequestInfo object, + // this function shouldn't be called by a component extension on behalf of + // some web code. It returns a DirectoryEntry for use directly in the calling +@@ -580,11 +580,11 @@ bool WebrtcLoggingPrivateGetLogsDirectoryFunction::Run + &WebrtcLoggingPrivateGetLogsDirectoryFunction::FireErrorCallback, + this)); + return true; +-#else // defined(OS_LINUX) || defined(OS_CHROMEOS) ++#else // defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD) + SetError("Not supported on the current OS"); + SendResponse(false); + return false; +-#endif // defined(OS_LINUX) || defined(OS_CHROMEOS) ++#endif // defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD) + } + + void WebrtcLoggingPrivateGetLogsDirectoryFunction::FireCallback( diff --git a/www/iridium/files/patch-chrome_browser_extensions_browser__context__keyed__service__factories.cc b/www/iridium/files/patch-chrome_browser_extensions_browser__context__keyed__service__factories.cc new file mode 100644 index 000000000000..fbddcf6c422b --- /dev/null +++ b/www/iridium/files/patch-chrome_browser_extensions_browser__context__keyed__service__factories.cc @@ -0,0 +1,20 @@ +--- chrome/browser/extensions/browser_context_keyed_service_factories.cc.orig 2020-02-03 21:52:39 UTC ++++ chrome/browser/extensions/browser_context_keyed_service_factories.cc +@@ -52,7 +52,7 @@ + #include "extensions/browser/api/networking_private/networking_private_delegate_factory.h" + #include "ppapi/buildflags/buildflags.h" + +-#if defined(OS_CHROMEOS) || defined(OS_LINUX) || defined(OS_WIN) ++#if defined(OS_CHROMEOS) || defined(OS_LINUX) || defined(OS_WIN) || defined(OS_BSD) + #include "chrome/browser/extensions/api/input_ime/input_ime_api.h" + #endif + +@@ -88,7 +88,7 @@ void EnsureBrowserContextKeyedServiceFactoriesBuilt() + extensions::IdentityAPI::GetFactoryInstance(); + extensions::InstallTrackerFactory::GetInstance(); + extensions::InstallVerifierFactory::GetInstance(); +-#if defined(OS_CHROMEOS) || defined(OS_LINUX) || defined(OS_WIN) ++#if defined(OS_CHROMEOS) || defined(OS_LINUX) || defined(OS_WIN) || defined(OS_BSD) + extensions::InputImeAPI::GetFactoryInstance(); + #endif + extensions::LanguageSettingsPrivateDelegateFactory::GetInstance(); diff --git a/www/iridium/files/patch-chrome_browser_extensions_external__provider__impl.cc b/www/iridium/files/patch-chrome_browser_extensions_external__provider__impl.cc new file mode 100644 index 000000000000..8c813c1db5c8 --- /dev/null +++ b/www/iridium/files/patch-chrome_browser_extensions_external__provider__impl.cc @@ -0,0 +1,20 @@ +--- chrome/browser/extensions/external_provider_impl.cc.orig 2020-03-16 18:39:44 UTC ++++ chrome/browser/extensions/external_provider_impl.cc +@@ -760,7 +760,7 @@ void ExternalProviderImpl::CreateExternalProviders( + } + #endif + if (!profile->GetPrefs()->GetBoolean(pref_names::kBlockExternalExtensions)) { +-#if defined(OS_LINUX) && !defined(OS_CHROMEOS) ++#if (defined(OS_LINUX) && !defined(OS_CHROMEOS)) || defined(OS_BSD) + provider_list->push_back(std::make_unique<ExternalProviderImpl>( + service, + base::MakeRefCounted<ExternalPrefLoader>( +@@ -787,7 +787,7 @@ void ExternalProviderImpl::CreateExternalProviders( + bundled_extension_creation_flags)); + + // Define a per-user source of external extensions. +-#if defined(OS_MACOSX) || (defined(OS_LINUX) && BUILDFLAG(CHROMIUM_BRANDING)) ++#if defined(OS_MACOSX) || ((defined(OS_LINUX) || defined(OS_BSD)) && BUILDFLAG(CHROMIUM_BRANDING)) + provider_list->push_back(std::make_unique<ExternalProviderImpl>( + service, + base::MakeRefCounted<ExternalPrefLoader>( diff --git a/www/iridium/files/patch-chrome_browser_extensions_install__signer.cc b/www/iridium/files/patch-chrome_browser_extensions_install__signer.cc new file mode 100644 index 000000000000..831136e37584 --- /dev/null +++ b/www/iridium/files/patch-chrome_browser_extensions_install__signer.cc @@ -0,0 +1,18 @@ +--- chrome/browser/extensions/install_signer.cc.orig 2020-03-16 18:39:44 UTC ++++ chrome/browser/extensions/install_signer.cc +@@ -294,13 +294,13 @@ void LogRequestStartHistograms() { + DCHECK(g_single_thread_checker.Get().CalledOnValidThread()); + + // Process::Current().CreationTime is only defined on some platforms. +-#if defined(OS_MACOSX) || defined(OS_WIN) || defined(OS_LINUX) ++#if defined(OS_MACOSX) || defined(OS_WIN) || defined(OS_LINUX) || defined(OS_BSD) + const base::Time process_creation_time = + base::Process::Current().CreationTime(); + UMA_HISTOGRAM_COUNTS_1M( + "ExtensionInstallSigner.UptimeAtTimeOfRequest", + (base::Time::Now() - process_creation_time).InSeconds()); +-#endif // defined(OS_MACOSX) || defined(OS_WIN) || defined(OS_LINUX) ++#endif // defined(OS_MACOSX) || defined(OS_WIN) || defined(OS_LINUX) || defined(OS_BSD) + + base::TimeDelta delta; + base::TimeTicks now = base::TimeTicks::Now(); diff --git a/www/iridium/files/patch-chrome_browser_first__run_first__run__dialog.h b/www/iridium/files/patch-chrome_browser_first__run_first__run__dialog.h new file mode 100644 index 000000000000..c079a7eac3e3 --- /dev/null +++ b/www/iridium/files/patch-chrome_browser_first__run_first__run__dialog.h @@ -0,0 +1,11 @@ +--- chrome/browser/first_run/first_run_dialog.h.orig 2019-07-29 18:50:26 UTC ++++ chrome/browser/first_run/first_run_dialog.h +@@ -9,7 +9,7 @@ + #include "build/build_config.h" + + // Hide this function on platforms where the dialog does not exist. +-#if defined(OS_MACOSX) || (defined(OS_LINUX) && !defined(OS_CHROMEOS)) ++#if defined(OS_MACOSX) || (defined(OS_LINUX) && !defined(OS_CHROMEOS)) || defined(OS_BSD) + + class Profile; + diff --git a/www/iridium/files/patch-chrome_browser_first__run_first__run__internal.h b/www/iridium/files/patch-chrome_browser_first__run_first__run__internal.h new file mode 100644 index 000000000000..5b60fc717be9 --- /dev/null +++ b/www/iridium/files/patch-chrome_browser_first__run_first__run__internal.h @@ -0,0 +1,18 @@ +--- chrome/browser/first_run/first_run_internal.h.orig 2019-07-29 18:50:45 UTC ++++ chrome/browser/first_run/first_run_internal.h +@@ -64,13 +64,13 @@ FirstRunState DetermineFirstRunState(bool has_sentinel + bool force_first_run, + bool no_first_run); + +-#if defined(OS_MACOSX) || (defined(OS_LINUX) && !defined(OS_CHROMEOS)) ++#if defined(OS_MACOSX) || (defined(OS_LINUX) && !defined(OS_CHROMEOS)) || defined(OS_BSD) + // For testing, forces the first run dialog to either be shown or not. If not + // called, the decision to show the dialog or not will be made by Chrome based + // on a number of factors (such as install type, whether it's a Chrome-branded + // build, etc). + void ForceFirstRunDialogShownForTesting(bool shown); +-#endif // defined(OS_MACOSX) || (defined(OS_LINUX) && !defined(OS_CHROMEOS)) ++#endif // defined(OS_MACOSX) || (defined(OS_LINUX) && !defined(OS_CHROMEOS)) || defined(OS_BSD) + + } // namespace internal + } // namespace first_run diff --git a/www/iridium/files/patch-chrome_browser_first__run_first__run__internal__posix.cc b/www/iridium/files/patch-chrome_browser_first__run_first__run__internal__posix.cc new file mode 100644 index 000000000000..1a28c1282fc1 --- /dev/null +++ b/www/iridium/files/patch-chrome_browser_first__run_first__run__internal__posix.cc @@ -0,0 +1,20 @@ +--- chrome/browser/first_run/first_run_internal_posix.cc.orig 2020-04-10 00:39:11 UTC ++++ chrome/browser/first_run/first_run_internal_posix.cc +@@ -46,7 +46,7 @@ enum class ForcedShowDialogState { + ForcedShowDialogState g_forced_show_dialog_state = + ForcedShowDialogState::kNotForced; + +-#if !defined(OS_CHROMEOS) ++#if !defined(OS_CHROMEOS) && !defined(OS_BSD) + // Returns whether the first run dialog should be shown. This is only true for + // certain builds, and only if the user has not already set preferences. In a + // real, official-build first run, initializes the default metrics reporting if +@@ -100,7 +100,7 @@ void ForceFirstRunDialogShownForTesting(bool shown) { + } + + void DoPostImportPlatformSpecificTasks(Profile* profile) { +-#if !defined(OS_CHROMEOS) ++#if !defined(OS_CHROMEOS) && !defined(OS_BSD) + if (!ShouldShowFirstRunDialog()) + return; + diff --git a/www/iridium/files/patch-chrome_browser_flag__descriptions.cc b/www/iridium/files/patch-chrome_browser_flag__descriptions.cc new file mode 100644 index 000000000000..1a6b198aa788 --- /dev/null +++ b/www/iridium/files/patch-chrome_browser_flag__descriptions.cc @@ -0,0 +1,65 @@ +--- chrome/browser/flag_descriptions.cc.orig 2020-04-10 00:39:02 UTC ++++ chrome/browser/flag_descriptions.cc +@@ -3651,7 +3651,7 @@ const char kZeroStateFilesDescription[] = + + #endif // defined(OS_CHROMEOS) + +-#if defined(OS_CHROMEOS) || defined(OS_LINUX) ++#if defined(OS_CHROMEOS) || defined(OS_LINUX) || defined(OS_BSD) + + #if BUILDFLAG(USE_TCMALLOC) + const char kDynamicTcmallocName[] = "Dynamic Tcmalloc Tuning"; +@@ -3660,7 +3660,7 @@ const char kDynamicTcmallocDescription[] = + "utilization."; + #endif // BUILDFLAG(USE_TCMALLOC) + +-#endif // #if defined(OS_CHROMEOS) || defined(OS_LINUX) ++#endif // #if defined(OS_CHROMEOS) || defined(OS_LINUX) || defined(OS_BSD) + + // All views-based platforms -------------------------------------------------- + +@@ -3685,13 +3685,13 @@ const char kReopenTabInProductHelpDescription[] = + + // Random platform combinations ----------------------------------------------- + +-#if defined(OS_WIN) || defined(OS_LINUX) || defined(OS_CHROMEOS) ++#if defined(OS_WIN) || defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD) + + const char kWebGL2ComputeContextName[] = "WebGL 2.0 Compute"; + const char kWebGL2ComputeContextDescription[] = + "Enable the use of WebGL 2.0 Compute API."; + +-#endif // defined(OS_WIN) || defined(OS_LINUX) || defined(OS_CHROMEOS) ++#endif // defined(OS_WIN) || defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD) + + #if BUILDFLAG(ENABLE_CLICK_TO_CALL) + +@@ -3708,7 +3708,7 @@ const char kClickToCallDetectionV2Description[] = + + #endif // BUILDFLAG(ENABLE_CLICK_TO_CALL) + +-#if defined(OS_WIN) || defined(OS_MACOSX) || defined(OS_LINUX) || \ ++#if defined(OS_WIN) || defined(OS_MACOSX) || defined(OS_LINUX) || defined(OS_BSD) || \ + defined(OS_CHROMEOS) + + const char kRemoteCopyReceiverName[] = +@@ -3717,16 +3717,16 @@ const char kRemoteCopyReceiverDescription[] = + "Enables the remote copy feature to handle messages by writing content to " + "the clipboard and showing a notification to the user."; + +-#endif // defined(OS_WIN) || defined(OS_MACOSX) || defined(OS_LINUX) || ++#endif // defined(OS_WIN) || defined(OS_MACOSX) || defined(OS_LINUX) || defined(OS_BSD) || + // defined(OS_CHROMEOS) + +-#if defined(OS_WIN) || defined(OS_MACOSX) || defined(OS_LINUX) ++#if defined(OS_WIN) || defined(OS_MACOSX) || defined(OS_LINUX) || defined(OS_BSD) + + const char kDirectManipulationStylusName[] = "Direct Manipulation Stylus"; + const char kDirectManipulationStylusDescription[] = + "If enabled, Chrome will scroll web pages on stylus drag."; + +-#endif // defined(OS_WIN) || defined(OS_MACOSX) || defined(OS_LINUX) ++#endif // defined(OS_WIN) || defined(OS_MACOSX) || defined(OS_LINUX) || defined(OS_BSD) + + #if defined(OS_WIN) || defined(OS_MACOSX) || defined(OS_CHROMEOS) + diff --git a/www/iridium/files/patch-chrome_browser_flag__descriptions.h b/www/iridium/files/patch-chrome_browser_flag__descriptions.h new file mode 100644 index 000000000000..ad2ca09a3baa --- /dev/null +++ b/www/iridium/files/patch-chrome_browser_flag__descriptions.h @@ -0,0 +1,72 @@ +--- chrome/browser/flag_descriptions.h.orig 2020-04-10 00:39:02 UTC ++++ chrome/browser/flag_descriptions.h +@@ -21,9 +21,9 @@ + #include "ui/android/buildflags.h" + #endif // defined(OS_ANDROID) + +-#if defined(OS_LINUX) ++#if defined(OS_LINUX) || defined(OS_BSD) + #include "base/allocator/buildflags.h" +-#endif // defined(OS_LINUX) ++#endif // defined(OS_LINUX) || defined(OS_BSD) + + // This file declares strings used in chrome://flags. These messages are not + // translated, because instead of end-users they target Chromium developers and +@@ -2132,14 +2132,14 @@ extern const char kZeroStateFilesDescription[]; + + #endif // #if defined(OS_CHROMEOS) + +-#if defined(OS_CHROMEOS) || defined(OS_LINUX) ++#if defined(OS_CHROMEOS) || defined(OS_LINUX) || defined(OS_BSD) + + #if BUILDFLAG(USE_TCMALLOC) + extern const char kDynamicTcmallocName[]; + extern const char kDynamicTcmallocDescription[]; + #endif // BUILDFLAG(USE_TCMALLOC) + +-#endif // #if defined(OS_CHROMEOS) || defined(OS_LINUX) ++#endif // #if defined(OS_CHROMEOS) || defined(OS_LINUX) || defined(OS_BSD) + + // All views-based platforms -------------------------------------------------- + +@@ -2158,12 +2158,12 @@ extern const char kReopenTabInProductHelpDescription[] + + // Random platform combinations ----------------------------------------------- + +-#if defined(OS_WIN) || defined(OS_LINUX) || defined(OS_CHROMEOS) ++#if defined(OS_WIN) || defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD) + + extern const char kWebGL2ComputeContextName[]; + extern const char kWebGL2ComputeContextDescription[]; + +-#endif // defined(OS_WIN) || defined(OS_LINUX) || defined(OS_CHROMEOS) ++#endif // defined(OS_WIN) || defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD) + + #if BUILDFLAG(ENABLE_CLICK_TO_CALL) + +@@ -2175,21 +2175,21 @@ extern const char kClickToCallDetectionV2Description[] + + #endif // BUILDFLAG(ENABLE_CLICK_TO_CALL) + +-#if defined(OS_WIN) || defined(OS_MACOSX) || defined(OS_LINUX) || \ ++#if defined(OS_WIN) || defined(OS_MACOSX) || defined(OS_LINUX) || defined(OS_BSD) || \ + defined(OS_CHROMEOS) + + extern const char kRemoteCopyReceiverName[]; + extern const char kRemoteCopyReceiverDescription[]; + +-#endif // defined(OS_WIN) || defined(OS_MACOSX) || defined(OS_LINUX) || ++#endif // defined(OS_WIN) || defined(OS_MACOSX) || defined(OS_LINUX) || defined(OS_BSD) || + // defined(OS_CHROMEOS) + +-#if defined(OS_WIN) || defined(OS_MACOSX) || defined(OS_LINUX) ++#if defined(OS_WIN) || defined(OS_MACOSX) || defined(OS_LINUX) || defined(OS_BSD) + + extern const char kDirectManipulationStylusName[]; + extern const char kDirectManipulationStylusDescription[]; + +-#endif // defined(OS_WIN) || defined(OS_MACOSX) || defined(OS_LINUX) ++#endif // defined(OS_WIN) || defined(OS_MACOSX) || defined(OS_LINUX) || defined(OS_BSD) + + #if defined(OS_WIN) || defined(OS_MACOSX) || defined(OS_CHROMEOS) + diff --git a/www/iridium/files/patch-chrome_browser_media__galleries_fileapi_mtp__device__map__service.cc b/www/iridium/files/patch-chrome_browser_media__galleries_fileapi_mtp__device__map__service.cc new file mode 100644 index 000000000000..93a3d5742fd1 --- /dev/null +++ b/www/iridium/files/patch-chrome_browser_media__galleries_fileapi_mtp__device__map__service.cc @@ -0,0 +1,15 @@ +--- chrome/browser/media_galleries/fileapi/mtp_device_map_service.cc.orig 2019-04-30 22:22:34 UTC ++++ chrome/browser/media_galleries/fileapi/mtp_device_map_service.cc +@@ -39,10 +39,12 @@ void MTPDeviceMapService::RegisterMTPFileSystem( + // Note that this initializes the delegate asynchronously, but since + // the delegate will only be used from the IO thread, it is guaranteed + // to be created before use of it expects it to be there. ++#if !defined(OS_FREEBSD) + CreateMTPDeviceAsyncDelegate( + device_location, read_only, + base::Bind(&MTPDeviceMapService::AddAsyncDelegate, + base::Unretained(this), device_location, read_only)); ++#endif + mtp_device_usage_map_[key] = 0; + } + diff --git a/www/iridium/files/patch-chrome_browser_media__galleries_media__file__system__registry.cc b/www/iridium/files/patch-chrome_browser_media__galleries_media__file__system__registry.cc new file mode 100644 index 000000000000..922d7c8beb61 --- /dev/null +++ b/www/iridium/files/patch-chrome_browser_media__galleries_media__file__system__registry.cc @@ -0,0 +1,14 @@ +--- chrome/browser/media_galleries/media_file_system_registry.cc.orig 2019-04-30 22:22:34 UTC ++++ chrome/browser/media_galleries/media_file_system_registry.cc +@@ -732,7 +732,10 @@ class MediaFileSystemRegistry::MediaFileSystemContextI + // Constructor in 'private' section because depends on private class definition. + MediaFileSystemRegistry::MediaFileSystemRegistry() + : file_system_context_(new MediaFileSystemContextImpl) { +- StorageMonitor::GetInstance()->AddObserver(this); ++ // This conditional is needed for shutdown. Destructors ++ // try to get the media file system registry. ++ if (StorageMonitor::GetInstance()) ++ StorageMonitor::GetInstance()->AddObserver(this); + } + + MediaFileSystemRegistry::~MediaFileSystemRegistry() { diff --git a/www/iridium/files/patch-chrome_browser_media_router_discovery_discovery__network__list__posix.cc b/www/iridium/files/patch-chrome_browser_media_router_discovery_discovery__network__list__posix.cc new file mode 100644 index 000000000000..c131ed5d1aa8 --- /dev/null +++ b/www/iridium/files/patch-chrome_browser_media_router_discovery_discovery__network__list__posix.cc @@ -0,0 +1,28 @@ +--- chrome/browser/media/router/discovery/discovery_network_list_posix.cc.orig 2019-03-11 22:00:53 UTC ++++ chrome/browser/media/router/discovery/discovery_network_list_posix.cc +@@ -10,6 +10,7 @@ + #include <netinet/in.h> + #include <sys/socket.h> + #include <sys/types.h> ++#include <sys/time.h> + + #include <algorithm> + +@@ -19,7 +20,7 @@ + #include "chrome/browser/media/router/discovery/discovery_network_list_wifi.h" + #include "net/base/net_errors.h" + +-#if !defined(OS_MACOSX) ++#if !defined(OS_MACOSX) && !defined(OS_BSD) + #include <netpacket/packet.h> + #else + #include <net/if_dl.h> +@@ -28,7 +29,7 @@ + namespace media_router { + namespace { + +-#if !defined(OS_MACOSX) ++#if !defined(OS_MACOSX) && !defined(OS_BSD) + using sll = struct sockaddr_ll; + #define SOCKET_ARP_TYPE(s) ((s)->sll_hatype) + #define SOCKET_ADDRESS_LEN(s) ((s)->sll_halen) diff --git a/www/iridium/files/patch-chrome_browser_media_router_discovery_discovery__network__list__wifi__linux.cc b/www/iridium/files/patch-chrome_browser_media_router_discovery_discovery__network__list__wifi__linux.cc new file mode 100644 index 000000000000..23a0d4544e24 --- /dev/null +++ b/www/iridium/files/patch-chrome_browser_media_router_discovery_discovery__network__list__wifi__linux.cc @@ -0,0 +1,27 @@ +--- chrome/browser/media/router/discovery/discovery_network_list_wifi_linux.cc.orig 2019-03-11 22:00:53 UTC ++++ chrome/browser/media/router/discovery/discovery_network_list_wifi_linux.cc +@@ -9,8 +9,6 @@ + #include <sys/socket.h> + #include <sys/types.h> + +-#include <linux/wireless.h> +- + #include "base/files/scoped_file.h" + #include "base/logging.h" + #include "net/base/network_interfaces_linux.h" +@@ -20,6 +18,7 @@ namespace media_router { + bool MaybeGetWifiSSID(const std::string& if_name, std::string* ssid_out) { + DCHECK(ssid_out); + ++#if !defined(OS_BSD) + base::ScopedFD ioctl_socket(socket(AF_INET, SOCK_DGRAM, 0)); + if (!ioctl_socket.is_valid()) { + // AF_INET is for IPv4, so it may fail for IPv6-only hosts even when there +@@ -41,6 +40,7 @@ bool MaybeGetWifiSSID(const std::string& if_name, std: + ssid_out->assign(ssid); + return true; + } ++#endif + return false; + } + diff --git a/www/iridium/files/patch-chrome_browser_media_router_providers_wired__display_wired__display__media__route__provider.cc b/www/iridium/files/patch-chrome_browser_media_router_providers_wired__display_wired__display__media__route__provider.cc new file mode 100644 index 000000000000..9b007ae67c87 --- /dev/null +++ b/www/iridium/files/patch-chrome_browser_media_router_providers_wired__display_wired__display__media__route__provider.cc @@ -0,0 +1,23 @@ +--- chrome/browser/media/router/providers/wired_display/wired_display_media_route_provider.cc.orig 2019-09-09 21:55:09 UTC ++++ chrome/browser/media/router/providers/wired_display/wired_display_media_route_provider.cc +@@ -112,6 +112,12 @@ void WiredDisplayMediaRouteProvider::CreateRoute( + bool incognito, + CreateRouteCallback callback) { + DCHECK(!base::Contains(presentations_, presentation_id)); ++#if defined(OS_BSD) ++ std::move(callback).Run(base::nullopt, nullptr, ++ std::string("Not implemented"), ++ RouteRequestResult::UNKNOWN_ERROR); ++ return; ++#else + base::Optional<Display> display = GetDisplayBySinkId(sink_id); + if (!display) { + std::move(callback).Run(base::nullopt, nullptr, +@@ -138,6 +144,7 @@ void WiredDisplayMediaRouteProvider::CreateRoute( + std::move(callback).Run(route, nullptr, base::nullopt, + RouteRequestResult::OK); + NotifyRouteObservers(); ++#endif + } + + void WiredDisplayMediaRouteProvider::JoinRoute( diff --git a/www/iridium/files/patch-chrome_browser_media_webrtc_webrtc__event__log__uploader.cc b/www/iridium/files/patch-chrome_browser_media_webrtc_webrtc__event__log__uploader.cc new file mode 100644 index 000000000000..76fb8bab73c0 --- /dev/null +++ b/www/iridium/files/patch-chrome_browser_media_webrtc_webrtc__event__log__uploader.cc @@ -0,0 +1,11 @@ +--- chrome/browser/media/webrtc/webrtc_event_log_uploader.cc.orig 2020-02-03 21:52:40 UTC ++++ chrome/browser/media/webrtc/webrtc_event_log_uploader.cc +@@ -38,7 +38,7 @@ constexpr size_t kExpectedMimeOverheadBytes = 1000; / + const char kProduct[] = "Chrome"; + #elif defined(OS_MACOSX) + const char kProduct[] = "Chrome_Mac"; +-#elif defined(OS_LINUX) ++#elif defined(OS_LINUX) || defined(OS_BSD) + const char kProduct[] = "Chrome_Linux"; + #elif defined(OS_ANDROID) + const char kProduct[] = "Chrome_Android"; diff --git a/www/iridium/files/patch-chrome_browser_media_webrtc_webrtc__log__uploader.cc b/www/iridium/files/patch-chrome_browser_media_webrtc_webrtc__log__uploader.cc new file mode 100644 index 000000000000..c1ca8fcabf4e --- /dev/null +++ b/www/iridium/files/patch-chrome_browser_media_webrtc_webrtc__log__uploader.cc @@ -0,0 +1,11 @@ +--- chrome/browser/media/webrtc/webrtc_log_uploader.cc.orig 2019-10-21 19:06:22 UTC ++++ chrome/browser/media/webrtc/webrtc_log_uploader.cc +@@ -358,6 +358,8 @@ void WebRtcLogUploader::SetupMultipart( + 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/iridium/files/patch-chrome_browser_media_webrtc_webrtc__logging__controller.cc b/www/iridium/files/patch-chrome_browser_media_webrtc_webrtc__logging__controller.cc new file mode 100644 index 000000000000..981d24078676 --- /dev/null +++ b/www/iridium/files/patch-chrome_browser_media_webrtc_webrtc__logging__controller.cc @@ -0,0 +1,33 @@ +--- chrome/browser/media/webrtc/webrtc_logging_controller.cc.orig 2020-03-16 18:39:44 UTC ++++ chrome/browser/media/webrtc/webrtc_logging_controller.cc +@@ -24,10 +24,10 @@ + #include "content/public/browser/render_process_host.h" + #include "services/service_manager/public/cpp/connector.h" + +-#if defined(OS_LINUX) || defined(OS_CHROMEOS) ++#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD) + #include "content/public/browser/child_process_security_policy.h" + #include "storage/browser/file_system/isolated_context.h" +-#endif // defined(OS_LINUX) || defined(OS_CHROMEOS) ++#endif // defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD) + + using webrtc_event_logging::WebRtcEventLogManager; + +@@ -270,7 +270,7 @@ void WebRtcLoggingController::StartEventLogging( + web_app_id, callback); + } + +-#if defined(OS_LINUX) || defined(OS_CHROMEOS) ++#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD) + void WebRtcLoggingController::GetLogsDirectory( + const LogsDirectoryCallback& callback, + const LogsDirectoryErrorCallback& error_callback) { +@@ -315,7 +315,7 @@ void WebRtcLoggingController::GrantLogsDirectoryAccess + base::SequencedTaskRunnerHandle::Get()->PostTask( + FROM_HERE, base::BindOnce(callback, file_system.id(), registered_name)); + } +-#endif // defined(OS_LINUX) || defined(OS_CHROMEOS) ++#endif // defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD) + + void WebRtcLoggingController::OnRtpPacket( + std::unique_ptr<uint8_t[]> packet_header, diff --git a/www/iridium/files/patch-chrome_browser_media_webrtc_webrtc__logging__controller.h b/www/iridium/files/patch-chrome_browser_media_webrtc_webrtc__logging__controller.h new file mode 100644 index 000000000000..e3ef33fc829f --- /dev/null +++ b/www/iridium/files/patch-chrome_browser_media_webrtc_webrtc__logging__controller.h @@ -0,0 +1,36 @@ +--- chrome/browser/media/webrtc/webrtc_logging_controller.h.orig 2019-10-30 15:50:11 UTC ++++ chrome/browser/media/webrtc/webrtc_logging_controller.h +@@ -129,13 +129,13 @@ class WebRtcLoggingController + size_t web_app_id, + const StartEventLoggingCallback& callback); + +-#if defined(OS_LINUX) || defined(OS_CHROMEOS) ++#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD) + // Ensures that the WebRTC Logs directory exists and then grants render + // process access to the 'WebRTC Logs' directory, and invokes |callback| with + // the ids necessary to create a DirectoryEntry object. + void GetLogsDirectory(const LogsDirectoryCallback& callback, + const LogsDirectoryErrorCallback& error_callback); +-#endif // defined(OS_LINUX) || defined(OS_CHROMEOS) ++#endif // defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD) + + // chrome::mojom::WebRtcLoggingClient methods: + void OnAddMessages( +@@ -188,7 +188,7 @@ class WebRtcLoggingController + bool success, + const std::string& error_message); + +-#if defined(OS_LINUX) || defined(OS_CHROMEOS) ++#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD) + // Grants the render process access to the 'WebRTC Logs' directory, and + // invokes |callback| with the ids necessary to create a DirectoryEntry + // object. If the |logs_path| couldn't be created or found, |error_callback| +@@ -197,7 +197,7 @@ class WebRtcLoggingController + const LogsDirectoryCallback& callback, + const LogsDirectoryErrorCallback& error_callback, + const base::FilePath& logs_path); +-#endif // defined(OS_LINUX) || defined(OS_CHROMEOS) ++#endif // defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD) + + static base::FilePath GetLogDirectoryAndEnsureExists( + const base::FilePath& browser_context_directory_path); diff --git a/www/iridium/files/patch-chrome_browser_memory__details.cc b/www/iridium/files/patch-chrome_browser_memory__details.cc new file mode 100644 index 000000000000..2c4302248909 --- /dev/null +++ b/www/iridium/files/patch-chrome_browser_memory__details.cc @@ -0,0 +1,20 @@ +--- chrome/browser/memory_details.cc.orig 2019-03-11 22:00:53 UTC ++++ chrome/browser/memory_details.cc +@@ -38,7 +38,7 @@ + #include "services/resource_coordinator/public/cpp/memory_instrumentation/memory_instrumentation.h" + #include "ui/base/l10n/l10n_util.h" + +-#if defined(OS_POSIX) && !defined(OS_MACOSX) && !defined(OS_ANDROID) ++#if defined(OS_POSIX) && !defined(OS_MACOSX) && !defined(OS_ANDROID) && !defined(OS_BSD) + #include "services/service_manager/zygote/zygote_host_linux.h" + #endif + +@@ -336,7 +336,7 @@ void MemoryDetails::CollectChildInfoOnUIThread() { + process.titles.push_back(title); + } + +-#if defined(OS_POSIX) && !defined(OS_MACOSX) && !defined(OS_ANDROID) ++#if defined(OS_POSIX) && !defined(OS_MACOSX) && !defined(OS_ANDROID) && !defined(OS_BSD) + if (service_manager::ZygoteHost::GetInstance()->IsZygotePid(process.pid)) { + process.process_type = content::PROCESS_TYPE_ZYGOTE; + } diff --git a/www/iridium/files/patch-chrome_browser_memory__details__linux.cc b/www/iridium/files/patch-chrome_browser_memory__details__linux.cc new file mode 100644 index 000000000000..1112bd81ffcc --- /dev/null +++ b/www/iridium/files/patch-chrome_browser_memory__details__linux.cc @@ -0,0 +1,13 @@ +--- chrome/browser/memory_details_linux.cc.orig 2019-03-11 22:00:53 UTC ++++ chrome/browser/memory_details_linux.cc +@@ -72,8 +72,10 @@ ProcessData GetProcessDataMemoryInformation( + + std::unique_ptr<base::ProcessMetrics> metrics( + base::ProcessMetrics::CreateProcessMetrics(pid)); ++#if !defined(OS_BSD) + pmi.num_open_fds = metrics->GetOpenFdCount(); + pmi.open_fds_soft_limit = metrics->GetOpenFdSoftLimit(); ++#endif + + process_data.processes.push_back(pmi); + } diff --git a/www/iridium/files/patch-chrome_browser_metrics_bluetooth__available__utility.cc b/www/iridium/files/patch-chrome_browser_metrics_bluetooth__available__utility.cc new file mode 100644 index 000000000000..3bb3c96f9188 --- /dev/null +++ b/www/iridium/files/patch-chrome_browser_metrics_bluetooth__available__utility.cc @@ -0,0 +1,13 @@ +--- chrome/browser/metrics/bluetooth_available_utility.cc.orig 2019-06-04 18:55:17 UTC ++++ chrome/browser/metrics/bluetooth_available_utility.cc +@@ -76,8 +76,10 @@ void ReportBluetoothAvailability() { + return; + } + ++#if !defined(OS_BSD) + device::BluetoothAdapterFactory::Get().GetAdapter( + base::BindOnce(&OnGetAdapter)); ++#endif + } + + } // namespace bluetooth_utility diff --git a/www/iridium/files/patch-chrome_browser_metrics_chrome__browser__main__extra__parts__metrics.cc b/www/iridium/files/patch-chrome_browser_metrics_chrome__browser__main__extra__parts__metrics.cc new file mode 100644 index 000000000000..dd487ab9da88 --- /dev/null +++ b/www/iridium/files/patch-chrome_browser_metrics_chrome__browser__main__extra__parts__metrics.cc @@ -0,0 +1,21 @@ +--- chrome/browser/metrics/chrome_browser_main_extra_parts_metrics.cc.orig 2019-09-09 21:55:09 UTC ++++ chrome/browser/metrics/chrome_browser_main_extra_parts_metrics.cc +@@ -47,7 +47,9 @@ + + #if defined(OS_LINUX) && !defined(OS_CHROMEOS) + #include <gnu/libc-version.h> ++#endif + ++#if (defined(OS_LINUX) && !defined(OS_CHROMEOS)) || defined(OS_BSD) + #include "base/linux_util.h" + #include "base/strings/string_split.h" + #include "base/strings/string_util.h" +@@ -55,7 +57,7 @@ + #if defined(USE_X11) + #include "ui/base/x/x11_util.h" + #endif +-#endif // defined(OS_LINUX) && !defined(OS_CHROMEOS) ++#endif // defined(OS_LINUX) && !defined(OS_CHROMEOS)) || defined(OS_BSD) + + #if defined(USE_OZONE) || defined(USE_X11) + #include "ui/events/devices/device_data_manager.h" diff --git a/www/iridium/files/patch-chrome_browser_metrics_chrome__metrics__service__client.cc b/www/iridium/files/patch-chrome_browser_metrics_chrome__metrics__service__client.cc new file mode 100644 index 000000000000..a1c3fbc542a8 --- /dev/null +++ b/www/iridium/files/patch-chrome_browser_metrics_chrome__metrics__service__client.cc @@ -0,0 +1,25 @@ +--- chrome/browser/metrics/chrome_metrics_service_client.cc.orig 2020-03-16 18:40:29 UTC ++++ chrome/browser/metrics/chrome_metrics_service_client.cc +@@ -718,11 +718,11 @@ void ChromeMetricsServiceClient::RegisterMetricsServic + #endif // defined(OS_WIN) + + #if defined(OS_WIN) || defined(OS_MACOSX) || \ +- (defined(OS_LINUX) && !defined(OS_CHROMEOS)) ++ (defined(OS_LINUX) && !defined(OS_CHROMEOS)) || defined(OS_BSD) + metrics_service_->RegisterMetricsProvider( + std::make_unique<DesktopPlatformFeaturesMetricsProvider>()); + #endif // defined(OS_WIN) || defined(OS_MACOSX) || \ +- // (defined(OS_LINUX) && !defined(OS_CHROMEOS)) ++ // (defined(OS_LINUX) && !defined(OS_CHROMEOS)) || defined(OS_BSD) + + #if BUILDFLAG(ENABLE_PLUGINS) + plugin_metrics_provider_ = new PluginMetricsProvider(local_state); +@@ -980,7 +980,7 @@ bool ChromeMetricsServiceClient::RegisterForProfileEve + } + #endif + #if defined(OS_WIN) || defined(OS_MACOSX) || \ +- (defined(OS_LINUX) && !defined(OS_CHROMEOS)) ++ (defined(OS_LINUX) && !defined(OS_CHROMEOS)) || defined(OS_BSD) + // This creates the DesktopProfileSessionDurationsServices if it didn't exist + // already. + metrics::DesktopProfileSessionDurationsServiceFactory::GetForBrowserContext( diff --git a/www/iridium/files/patch-chrome_browser_metrics_process__memory__metrics__emitter.cc b/www/iridium/files/patch-chrome_browser_metrics_process__memory__metrics__emitter.cc new file mode 100644 index 000000000000..7994a85f8cec --- /dev/null +++ b/www/iridium/files/patch-chrome_browser_metrics_process__memory__metrics__emitter.cc @@ -0,0 +1,20 @@ +--- chrome/browser/metrics/process_memory_metrics_emitter.cc.orig 2020-03-16 18:40:29 UTC ++++ chrome/browser/metrics/process_memory_metrics_emitter.cc +@@ -438,7 +438,7 @@ void EmitProcessUmaAndUkm(const GlobalMemoryDump::Proc + + builder->SetPrivateMemoryFootprint(pmd.os_dump().private_footprint_kb / 1024); + builder->SetSharedMemoryFootprint(pmd.os_dump().shared_footprint_kb / 1024); +-#if defined(OS_LINUX) || defined(OS_ANDROID) ++#if defined(OS_LINUX) || defined(OS_ANDROID) || defined(OS_BSD) + builder->SetPrivateSwapFootprint(pmd.os_dump().private_footprint_swap_kb / + 1024); + #endif +@@ -461,7 +461,7 @@ void EmitProcessUmaAndUkm(const GlobalMemoryDump::Proc + MEMORY_METRICS_HISTOGRAM_MB(std::string(kMemoryHistogramPrefix) + + process_name + ".SharedMemoryFootprint", + pmd.os_dump().shared_footprint_kb / 1024); +-#if defined(OS_LINUX) || defined(OS_ANDROID) ++#if defined(OS_LINUX) || defined(OS_ANDROID) || defined(OS_BSD) + MEMORY_METRICS_HISTOGRAM_MB(std::string(kMemoryHistogramPrefix) + + process_name + ".PrivateSwapFootprint", + pmd.os_dump().private_footprint_swap_kb / 1024); diff --git a/www/iridium/files/patch-chrome_browser_native__file__system_chrome__native__file__system__permission__context.cc b/www/iridium/files/patch-chrome_browser_native__file__system_chrome__native__file__system__permission__context.cc new file mode 100644 index 000000000000..21db21328ad3 --- /dev/null +++ b/www/iridium/files/patch-chrome_browser_native__file__system_chrome__native__file__system__permission__context.cc @@ -0,0 +1,11 @@ +--- chrome/browser/native_file_system/chrome_native_file_system_permission_context.cc.orig 2020-03-16 18:40:29 UTC ++++ chrome/browser/native_file_system/chrome_native_file_system_permission_context.cc +@@ -144,7 +144,7 @@ const struct { + {base::DIR_APP_DATA, nullptr, true}, + {base::DIR_HOME, FILE_PATH_LITERAL("Library"), true}, + #endif +-#if defined(OS_LINUX) ++#if defined(OS_LINUX) || defined(OS_BSD) + // On Linux also block access to devices via /dev, as well as security + // sensitive data in /sys and /proc. + {kNoBasePathKey, FILE_PATH_LITERAL("/dev"), true}, diff --git a/www/iridium/files/patch-chrome_browser_net_system__network__context__manager.cc b/www/iridium/files/patch-chrome_browser_net_system__network__context__manager.cc new file mode 100644 index 000000000000..aace9f122f49 --- /dev/null +++ b/www/iridium/files/patch-chrome_browser_net_system__network__context__manager.cc @@ -0,0 +1,64 @@ +--- chrome/browser/net/system_network_context_manager.cc.orig 2020-03-16 18:40:29 UTC ++++ chrome/browser/net/system_network_context_manager.cc +@@ -79,11 +79,11 @@ + #include "chrome/browser/chromeos/policy/browser_policy_connector_chromeos.h" + #endif // defined(OS_CHROMEOS) + +-#if defined(OS_LINUX) && !defined(OS_CHROMEOS) ++#if (defined(OS_LINUX) && !defined(OS_CHROMEOS)) || defined(OS_BSD) + #include "chrome/common/chrome_paths_internal.h" + #include "chrome/grit/chromium_strings.h" + #include "ui/base/l10n/l10n_util.h" +-#endif // defined(OS_LINUX) && !defined(OS_CHROMEOS) ++#endif // (defined(OS_LINUX) && !defined(OS_CHROMEOS)) || defined(OS_BSD) + + #if defined(OS_WIN) || defined(OS_MACOSX) + #include "content/public/common/network_service_util.h" +@@ -160,10 +160,10 @@ network::mojom::HttpAuthDynamicParamsPtr CreateHttpAut + auth_dynamic_params->enable_negotiate_port = + local_state->GetBoolean(prefs::kEnableAuthNegotiatePort); + +-#if defined(OS_LINUX) || defined(OS_MACOSX) || defined(OS_CHROMEOS) ++#if defined(OS_LINUX) || defined(OS_MACOSX) || defined(OS_CHROMEOS) || defined(OS_BSD) + auth_dynamic_params->delegate_by_kdc_policy = + local_state->GetBoolean(prefs::kAuthNegotiateDelegateByKdcPolicy); +-#endif // defined(OS_LINUX) || defined(OS_MACOSX) || defined(OS_CHROMEOS) ++#endif // defined(OS_LINUX) || defined(OS_MACOSX) || defined(OS_CHROMEOS) || defined(OS_BSD) + + #if defined(OS_POSIX) + auth_dynamic_params->ntlm_v2_enabled = +@@ -429,10 +429,10 @@ SystemNetworkContextManager::SystemNetworkContextManag + pref_change_registrar_.Add(prefs::kEnableAuthNegotiatePort, + auth_pref_callback); + +-#if defined(OS_LINUX) || defined(OS_MACOSX) || defined(OS_CHROMEOS) ++#if defined(OS_LINUX) || defined(OS_MACOSX) || defined(OS_CHROMEOS) || defined(OS_BSD) + pref_change_registrar_.Add(prefs::kAuthNegotiateDelegateByKdcPolicy, + auth_pref_callback); +-#endif // defined(OS_LINUX) || defined(OS_MACOSX) || defined(OS_CHROMEOS) ++#endif // defined(OS_LINUX) || defined(OS_MACOSX) || defined(OS_CHROMEOS) || defined(OS_BSD) + + #if defined(OS_POSIX) + pref_change_registrar_.Add(prefs::kNtlmV2Enabled, auth_pref_callback); +@@ -485,10 +485,10 @@ void SystemNetworkContextManager::RegisterPrefs(PrefRe + registry->RegisterStringPref(prefs::kAuthServerWhitelist, std::string()); + registry->RegisterStringPref(prefs::kAuthNegotiateDelegateWhitelist, + std::string()); +-#if defined(OS_LINUX) || defined(OS_MACOSX) || defined(OS_CHROMEOS) ++#if defined(OS_LINUX) || defined(OS_MACOSX) || defined(OS_CHROMEOS) || defined(OS_BSD) + registry->RegisterBooleanPref(prefs::kAuthNegotiateDelegateByKdcPolicy, + false); +-#endif // defined(OS_LINUX) || defined(OS_MACOSX) || defined(OS_CHROMEOS) ++#endif // defined(OS_LINUX) || defined(OS_MACOSX) || defined(OS_CHROMEOS) || defined(OS_BSD) + + #if defined(OS_POSIX) + registry->RegisterBooleanPref( +@@ -610,7 +610,7 @@ void SystemNetworkContextManager::OnNetworkServiceCrea + insecure_stub_resolver_enabled, secure_dns_mode, + std::move(dns_over_https_servers)); + +-#if defined(OS_LINUX) && !defined(OS_CHROMEOS) ++#if (defined(OS_BSD) || defined(OS_LINUX)) && !defined(OS_CHROMEOS) + const base::CommandLine& command_line = + *base::CommandLine::ForCurrentProcess(); + diff --git a/www/iridium/files/patch-chrome_browser_notifications_notification__display__service__impl.cc b/www/iridium/files/patch-chrome_browser_notifications_notification__display__service__impl.cc new file mode 100644 index 000000000000..7688028b44a2 --- /dev/null +++ b/www/iridium/files/patch-chrome_browser_notifications_notification__display__service__impl.cc @@ -0,0 +1,20 @@ +--- chrome/browser/notifications/notification_display_service_impl.cc.orig 2020-03-16 18:40:29 UTC ++++ chrome/browser/notifications/notification_display_service_impl.cc +@@ -33,7 +33,7 @@ + #include "chrome/browser/notifications/notification_platform_bridge_message_center.h" + #endif + +-#if defined(OS_LINUX) || defined(OS_MACOSX) || defined(OS_WIN) ++#if defined(OS_LINUX) || defined(OS_MACOSX) || defined(OS_WIN) || defined(OS_BSD) + #include "chrome/browser/send_tab_to_self/desktop_notification_handler.h" + #endif + +@@ -122,7 +122,7 @@ NotificationDisplayServiceImpl::NotificationDisplaySer + AddNotificationHandler(NotificationHandler::Type::WEB_PERSISTENT, + std::make_unique<PersistentNotificationHandler>()); + +-#if defined(OS_LINUX) || defined(OS_MACOSX) || defined(OS_WIN) ++#if defined(OS_LINUX) || defined(OS_MACOSX) || defined(OS_WIN) || defined(OS_BSD) + AddNotificationHandler( + NotificationHandler::Type::SEND_TAB_TO_SELF, + std::make_unique<send_tab_to_self::DesktopNotificationHandler>( diff --git a/www/iridium/files/patch-chrome_browser_password__manager_chrome__password__manager__client.cc b/www/iridium/files/patch-chrome_browser_password__manager_chrome__password__manager__client.cc new file mode 100644 index 000000000000..b9786e7622f2 --- /dev/null +++ b/www/iridium/files/patch-chrome_browser_password__manager_chrome__password__manager__client.cc @@ -0,0 +1,14 @@ +--- chrome/browser/password_manager/chrome_password_manager_client.cc.orig 2020-03-16 18:40:29 UTC ++++ chrome/browser/password_manager/chrome_password_manager_client.cc +@@ -88,7 +88,11 @@ + #include "net/base/url_util.h" + #include "net/cert/cert_status_flags.h" + #include "services/metrics/public/cpp/ukm_recorder.h" ++#if defined(OS_BSD) ++#include <re2/re2.h> ++#else + #include "third_party/re2/src/re2/re2.h" ++#endif + #include "url/url_constants.h" + + #if BUILDFLAG(FULL_SAFE_BROWSING) diff --git a/www/iridium/files/patch-chrome_browser_password__manager_password__store__factory.cc b/www/iridium/files/patch-chrome_browser_password__manager_password__store__factory.cc new file mode 100644 index 000000000000..889049cf9109 --- /dev/null +++ b/www/iridium/files/patch-chrome_browser_password__manager_password__store__factory.cc @@ -0,0 +1,11 @@ +--- chrome/browser/password_manager/password_store_factory.cc.orig 2019-10-21 19:06:22 UTC ++++ chrome/browser/password_manager/password_store_factory.cc +@@ -181,7 +181,7 @@ PasswordStoreFactory::BuildServiceInstanceFor( + base::TimeDelta::FromSeconds(20)); + + #if defined(OS_WIN) || defined(OS_MACOSX) || \ +- (defined(OS_LINUX) && !defined(OS_CHROMEOS)) ++ (defined(OS_LINUX) && !defined(OS_CHROMEOS)) || defined(OS_BSD) + std::unique_ptr<password_manager::PasswordStoreSigninNotifier> notifier = + std::make_unique<password_manager::PasswordStoreSigninNotifierImpl>( + IdentityManagerFactory::GetForProfile(profile)); diff --git a/www/iridium/files/patch-chrome_browser_performance__monitor_process__metrics__history.cc b/www/iridium/files/patch-chrome_browser_performance__monitor_process__metrics__history.cc new file mode 100644 index 000000000000..98bd40401783 --- /dev/null +++ b/www/iridium/files/patch-chrome_browser_performance__monitor_process__metrics__history.cc @@ -0,0 +1,38 @@ +--- chrome/browser/performance_monitor/process_metrics_history.cc.orig 2019-10-21 19:06:22 UTC ++++ chrome/browser/performance_monitor/process_metrics_history.cc +@@ -47,7 +47,7 @@ void ProcessMetricsHistory::SampleMetrics() { + #if defined(OS_WIN) + disk_usage_ = process_metrics_->GetDiskUsageBytesPerSecond(); + #endif +-#if defined(OS_MACOSX) || defined(OS_LINUX) || defined(OS_AIX) ++#if defined(OS_MACOSX) || defined(OS_LINUX) || defined(OS_AIX) || defined(OS_BSD) + idle_wakeups_ = process_metrics_->GetIdleWakeupsPerSecond(); + #endif + #if defined(OS_MACOSX) +@@ -88,7 +88,7 @@ void ProcessMetricsHistory::RunPerformanceTriggers() { + kDiskUsageHistogramMin, kDiskUsageHistogramMax, + kDiskUsageHistogramBucketCount); + #endif +-#if defined(OS_MACOSX) || defined(OS_LINUX) || defined(OS_AIX) ++#if defined(OS_MACOSX) || defined(OS_LINUX) || defined(OS_AIX) || defined(OS_BSD) + UMA_HISTOGRAM_COUNTS_10000( + "PerformanceMonitor.IdleWakeups.BrowserProcess", idle_wakeups_); + #endif +@@ -109,7 +109,7 @@ void ProcessMetricsHistory::RunPerformanceTriggers() { + UMA_HISTOGRAM_BOOLEAN("PerformanceMonitor.HighCPU.RendererProcess", + true); + } +-#if defined(OS_MACOSX) || defined(OS_LINUX) || defined(OS_AIX) ++#if defined(OS_MACOSX) || defined(OS_LINUX) || defined(OS_AIX) || defined(OS_BSD) + UMA_HISTOGRAM_COUNTS_10000( + "PerformanceMonitor.IdleWakeups.RendererProcess", idle_wakeups_); + #endif +@@ -129,7 +129,7 @@ void ProcessMetricsHistory::RunPerformanceTriggers() { + kHistogramBucketCount); + if (cpu_usage_ > kHighCPUUtilizationThreshold) + UMA_HISTOGRAM_BOOLEAN("PerformanceMonitor.HighCPU.GPUProcess", true); +-#if defined(OS_MACOSX) || defined(OS_LINUX) || defined(OS_AIX) ++#if defined(OS_MACOSX) || defined(OS_LINUX) || defined(OS_AIX) || defined(OS_BSD) + UMA_HISTOGRAM_COUNTS_10000("PerformanceMonitor.IdleWakeups.GPUProcess", + idle_wakeups_); + #endif diff --git a/www/iridium/files/patch-chrome_browser_performance__monitor_process__metrics__history.h b/www/iridium/files/patch-chrome_browser_performance__monitor_process__metrics__history.h new file mode 100644 index 000000000000..cb195b6b0cf5 --- /dev/null +++ b/www/iridium/files/patch-chrome_browser_performance__monitor_process__metrics__history.h @@ -0,0 +1,11 @@ +--- chrome/browser/performance_monitor/process_metrics_history.h.orig 2019-06-04 18:55:17 UTC ++++ chrome/browser/performance_monitor/process_metrics_history.h +@@ -72,7 +72,7 @@ class ProcessMetricsHistory { + uint64_t disk_usage_ = 0; + #endif + +-#if defined(OS_MACOSX) || defined(OS_LINUX) || defined(OS_AIX) ++#if defined(OS_MACOSX) || defined(OS_LINUX) || defined(OS_AIX) || defined(OS_BSD) + int idle_wakeups_ = 0; + #endif + #if defined(OS_MACOSX) diff --git a/www/iridium/files/patch-chrome_browser_plugins_plugin__info__host__impl.cc b/www/iridium/files/patch-chrome_browser_plugins_plugin__info__host__impl.cc new file mode 100644 index 000000000000..c45a5b0d8d92 --- /dev/null +++ b/www/iridium/files/patch-chrome_browser_plugins_plugin__info__host__impl.cc @@ -0,0 +1,11 @@ +--- chrome/browser/plugins/plugin_info_host_impl.cc.orig 2020-02-03 21:52:40 UTC ++++ chrome/browser/plugins/plugin_info_host_impl.cc +@@ -382,7 +382,7 @@ void PluginInfoHostImpl::ComponentPluginLookupDone( + std::unique_ptr<component_updater::ComponentInfo> cus_plugin_info) { + if (cus_plugin_info) { + output->status = chrome::mojom::PluginStatus::kComponentUpdateRequired; +-#if defined(OS_LINUX) ++#if defined(OS_LINUX) || defined(OS_BSD) + if (cus_plugin_info->version != base::Version("0")) { + output->status = chrome::mojom::PluginStatus::kRestartRequired; + } diff --git a/www/iridium/files/patch-chrome_browser_plugins_plugins__resource__service.cc b/www/iridium/files/patch-chrome_browser_plugins_plugins__resource__service.cc new file mode 100644 index 000000000000..35342997a152 --- /dev/null +++ b/www/iridium/files/patch-chrome_browser_plugins_plugins__resource__service.cc @@ -0,0 +1,11 @@ +--- chrome/browser/plugins/plugins_resource_service.cc.orig 2020-02-03 21:52:40 UTC ++++ chrome/browser/plugins/plugins_resource_service.cc +@@ -62,7 +62,7 @@ GURL GetPluginsServerURL() { + filename = "plugins_win.json"; + #elif defined(OS_CHROMEOS) + filename = "plugins_chromeos.json"; +-#elif defined(OS_LINUX) ++#elif defined(OS_LINUX) || defined(OS_BSD) + filename = "plugins_linux.json"; + #elif defined(OS_MACOSX) + filename = "plugins_mac.json"; diff --git a/www/iridium/files/patch-chrome_browser_policy_browser__signin__policy__handler.cc b/www/iridium/files/patch-chrome_browser_policy_browser__signin__policy__handler.cc new file mode 100644 index 000000000000..b79d0d1d66d8 --- /dev/null +++ b/www/iridium/files/patch-chrome_browser_policy_browser__signin__policy__handler.cc @@ -0,0 +1,11 @@ +--- chrome/browser/policy/browser_signin_policy_handler.cc.orig 2019-09-16 07:21:37 UTC ++++ chrome/browser/policy/browser_signin_policy_handler.cc +@@ -39,7 +39,7 @@ void BrowserSigninPolicyHandler::ApplyPolicySettings(c + } + switch (static_cast<BrowserSigninMode>(int_value)) { + case BrowserSigninMode::kForced: +-#if !defined(OS_LINUX) ++#if !defined(OS_LINUX) && !defined(OS_BSD) + prefs->SetValue(prefs::kForceBrowserSignin, base::Value(true)); + #endif + FALLTHROUGH; diff --git a/www/iridium/files/patch-chrome_browser_policy_configuration__policy__handler__list__factory.cc b/www/iridium/files/patch-chrome_browser_policy_configuration__policy__handler__list__factory.cc new file mode 100644 index 000000000000..8f82b5f2a44d --- /dev/null +++ b/www/iridium/files/patch-chrome_browser_policy_configuration__policy__handler__list__factory.cc @@ -0,0 +1,43 @@ +--- chrome/browser/policy/configuration_policy_handler_list_factory.cc.orig 2020-03-16 18:40:29 UTC ++++ chrome/browser/policy/configuration_policy_handler_list_factory.cc +@@ -118,7 +118,7 @@ + #endif + + #if defined(OS_WIN) || defined(OS_MACOSX) || \ +- (defined(OS_LINUX) && !defined(OS_CHROMEOS)) ++ (defined(OS_LINUX) && !defined(OS_CHROMEOS)) || defined(OS_BSD) + #include "chrome/browser/browser_switcher/browser_switcher_prefs.h" + #endif + +@@ -355,11 +355,11 @@ const PolicyToPreferenceMapEntry kSimplePolicyMap[] = + { key::kWebComponentsV0Enabled, + prefs::kWebComponentsV0Enabled, + base::Value::Type::BOOLEAN }, +-#if defined(OS_LINUX) || defined(OS_MACOSX) || defined(OS_CHROMEOS) ++#if defined(OS_LINUX) || defined(OS_MACOSX) || defined(OS_CHROMEOS) || defined(OS_BSD) + { key::kAuthNegotiateDelegateByKdcPolicy, + prefs::kAuthNegotiateDelegateByKdcPolicy, + base::Value::Type::BOOLEAN }, +-#endif // defined(OS_LINUX) || defined(OS_MACOSX) || defined(OS_CHROMEOS) ++#endif // defined(OS_LINUX) || defined(OS_MACOSX) || defined(OS_CHROMEOS) || defined(OS_BSD) + #if defined(OS_POSIX) + { key::kNtlmV2Enabled, + prefs::kNtlmV2Enabled, +@@ -1163,7 +1163,7 @@ const PolicyToPreferenceMapEntry kSimplePolicyMap[] = + prefs::kExternalProtocolDialogShowAlwaysOpenCheckbox, + base::Value::Type::BOOLEAN }, + #if defined(OS_WIN) || defined(OS_MACOSX) || \ +- (defined(OS_LINUX) && !defined(OS_CHROMEOS)) ++ (defined(OS_LINUX) && !defined(OS_CHROMEOS)) || defined(OS_BSD) + { key::kAlternativeBrowserPath, + browser_switcher::prefs::kAlternativeBrowserPath, + base::Value::Type::STRING }, +@@ -1203,7 +1203,7 @@ const PolicyToPreferenceMapEntry kSimplePolicyMap[] = + browser_switcher::prefs::kChromeParameters, + base::Value::Type::LIST }, + #endif +-#if defined(OS_LINUX) || defined(OS_WIN) || defined(OS_MACOSX) ++#if defined(OS_LINUX) || defined(OS_WIN) || defined(OS_MACOSX) || defined(OS_BSD) + { key::kBrowserGuestModeEnforced, + prefs::kBrowserGuestModeEnforced, + base::Value::Type::BOOLEAN }, diff --git a/www/iridium/files/patch-chrome_browser_policy_policy__prefs__browsertest.cc b/www/iridium/files/patch-chrome_browser_policy_policy__prefs__browsertest.cc new file mode 100644 index 000000000000..816eeffdc37e --- /dev/null +++ b/www/iridium/files/patch-chrome_browser_policy_policy__prefs__browsertest.cc @@ -0,0 +1,11 @@ +--- chrome/browser/policy/policy_prefs_browsertest.cc.orig 2020-02-03 21:52:40 UTC ++++ chrome/browser/policy/policy_prefs_browsertest.cc +@@ -250,6 +250,8 @@ class PolicyTestCase { + const std::string os("chromeos"); + #elif defined(OS_LINUX) + const std::string os("linux"); ++#elif defined(OS_FREEBSD) ++ const std::string os("freebsd"); + #else + #error "Unknown platform" + #endif diff --git a/www/iridium/files/patch-chrome_browser_prefs_browser__prefs.cc b/www/iridium/files/patch-chrome_browser_prefs_browser__prefs.cc new file mode 100644 index 000000000000..7f9fbfc4cd49 --- /dev/null +++ b/www/iridium/files/patch-chrome_browser_prefs_browser__prefs.cc @@ -0,0 +1,20 @@ +--- chrome/browser/prefs/browser_prefs.cc.orig 2020-03-16 18:40:29 UTC ++++ chrome/browser/prefs/browser_prefs.cc +@@ -360,7 +360,7 @@ + #endif + + #if defined(OS_WIN) || defined(OS_MACOSX) || \ +- (defined(OS_LINUX) && !defined(OS_CHROMEOS)) ++ (defined(OS_LINUX) && !defined(OS_CHROMEOS)) || defined(OS_BSD) + #include "chrome/browser/browser_switcher/browser_switcher_prefs.h" + #endif + +@@ -1022,7 +1022,7 @@ void RegisterProfilePrefs(user_prefs::PrefRegistrySync + #endif + + #if defined(OS_WIN) || defined(OS_MACOSX) || \ +- (defined(OS_LINUX) && !defined(OS_CHROMEOS)) ++ (defined(OS_LINUX) && !defined(OS_CHROMEOS)) || defined(OS_BSD) + browser_switcher::BrowserSwitcherPrefs::RegisterProfilePrefs(registry); + #endif + diff --git a/www/iridium/files/patch-chrome_browser_prefs_pref__service__incognito__whitelist.cc b/www/iridium/files/patch-chrome_browser_prefs_pref__service__incognito__whitelist.cc new file mode 100644 index 000000000000..0fc02f402f9c --- /dev/null +++ b/www/iridium/files/patch-chrome_browser_prefs_pref__service__incognito__whitelist.cc @@ -0,0 +1,11 @@ +--- chrome/browser/prefs/pref_service_incognito_whitelist.cc.orig 2019-12-16 21:50:42 UTC ++++ chrome/browser/prefs/pref_service_incognito_whitelist.cc +@@ -187,7 +187,7 @@ const char* const kPersistentPrefNames[] = { + prefs::kShowFullscreenToolbar, + #endif + +-#if defined(OS_LINUX) && !defined(OS_CHROMEOS) ++#if (defined(OS_BSD) || defined(OS_LINUX)) && !defined(OS_CHROMEOS) + // Toggleing custom frames affects all open windows in the profile, hence + // should be written to the regular profile when changed in incognito mode. + prefs::kUseCustomChromeFrame, diff --git a/www/iridium/files/patch-chrome_browser_process__singleton__posix.cc b/www/iridium/files/patch-chrome_browser_process__singleton__posix.cc new file mode 100644 index 000000000000..f8a7db8e85a3 --- /dev/null +++ b/www/iridium/files/patch-chrome_browser_process__singleton__posix.cc @@ -0,0 +1,34 @@ +--- chrome/browser/process_singleton_posix.cc.orig 2019-10-21 19:06:22 UTC ++++ chrome/browser/process_singleton_posix.cc +@@ -95,11 +95,11 @@ + #include "net/base/network_interfaces.h" + #include "ui/base/l10n/l10n_util.h" + +-#if defined(OS_LINUX) ++#if defined(OS_LINUX) || defined(OS_BSD) + #include "chrome/browser/ui/process_singleton_dialog_linux.h" + #endif + +-#if defined(TOOLKIT_VIEWS) && defined(OS_LINUX) && !defined(OS_CHROMEOS) ++#if defined(TOOLKIT_VIEWS) && (defined(OS_LINUX) || defined(OS_BSD)) && !defined(OS_CHROMEOS) + #include "ui/views/linux_ui/linux_ui.h" + #endif + +@@ -296,7 +296,7 @@ bool DisplayProfileInUseError(const base::FilePath& lo + if (g_disable_prompt) + return g_user_opted_unlock_in_use_profile; + +-#if defined(OS_LINUX) ++#if defined(OS_LINUX) || defined(OS_BSD) + base::string16 relaunch_button_text = l10n_util::GetStringUTF16( + IDS_PROFILE_IN_USE_LINUX_RELAUNCH); + return ShowProcessSingletonDialog(error, relaunch_button_text); +@@ -872,7 +872,7 @@ ProcessSingleton::NotifyResult ProcessSingleton::Notif + SendRemoteProcessInteractionResultHistogram(REMOTE_PROCESS_SHUTTING_DOWN); + return PROCESS_NONE; + } else if (strncmp(buf, kACKToken, base::size(kACKToken) - 1) == 0) { +-#if defined(TOOLKIT_VIEWS) && defined(OS_LINUX) && !defined(OS_CHROMEOS) ++#if defined(TOOLKIT_VIEWS) && (defined(OS_LINUX) || defined(OS_BSD)) && !defined(OS_CHROMEOS) + // Likely NULL in unit tests. + views::LinuxUI* linux_ui = views::LinuxUI::instance(); + if (linux_ui) diff --git a/www/iridium/files/patch-chrome_browser_profiles_chrome__browser__main__extra__parts__profiles.cc b/www/iridium/files/patch-chrome_browser_profiles_chrome__browser__main__extra__parts__profiles.cc new file mode 100644 index 000000000000..a2ac58994f69 --- /dev/null +++ b/www/iridium/files/patch-chrome_browser_profiles_chrome__browser__main__extra__parts__profiles.cc @@ -0,0 +1,11 @@ +--- chrome/browser/profiles/chrome_browser_main_extra_parts_profiles.cc.orig 2020-03-16 18:40:29 UTC ++++ chrome/browser/profiles/chrome_browser_main_extra_parts_profiles.cc +@@ -295,7 +295,7 @@ void ChromeBrowserMainExtraPartsProfiles:: + if (base::FeatureList::IsEnabled(media::kUseMediaHistoryStore)) + media_history::MediaHistoryKeyedServiceFactory::GetInstance(); + #if defined(OS_WIN) || defined(OS_MACOSX) || \ +- (defined(OS_LINUX) && !defined(OS_CHROMEOS)) ++ (defined(OS_LINUX) && !defined(OS_CHROMEOS)) || defined(OS_BSD) + metrics::DesktopProfileSessionDurationsServiceFactory::GetInstance(); + #endif + ModelTypeStoreServiceFactory::GetInstance(); diff --git a/www/iridium/files/patch-chrome_browser_profiles_profile__attributes__entry.cc b/www/iridium/files/patch-chrome_browser_profiles_profile__attributes__entry.cc new file mode 100644 index 000000000000..48f0d0c5ddd2 --- /dev/null +++ b/www/iridium/files/patch-chrome_browser_profiles_profile__attributes__entry.cc @@ -0,0 +1,11 @@ +--- chrome/browser/profiles/profile_attributes_entry.cc.orig 2020-03-16 18:39:44 UTC ++++ chrome/browser/profiles/profile_attributes_entry.cc +@@ -108,7 +108,7 @@ void ProfileAttributesEntry::Initialize(ProfileInfoCac + if (is_force_signin_enabled_) { + if (!IsAuthenticated()) + is_force_signin_profile_locked_ = true; +-#if defined(OS_MACOSX) || defined(OS_LINUX) || defined(OS_WIN) ++#if defined(OS_MACOSX) || defined(OS_LINUX) || defined(OS_WIN) || defined(OS_BSD) + } else if (IsSigninRequired()) { + // Profiles that require signin in the absence of an enterprise policy are + // left-overs from legacy supervised users. Just unlock them, so users can diff --git a/www/iridium/files/patch-chrome_browser_renderer__context__menu_render__view__context__menu.cc b/www/iridium/files/patch-chrome_browser_renderer__context__menu_render__view__context__menu.cc new file mode 100644 index 000000000000..4a46416a7065 --- /dev/null +++ b/www/iridium/files/patch-chrome_browser_renderer__context__menu_render__view__context__menu.cc @@ -0,0 +1,29 @@ +--- chrome/browser/renderer_context_menu/render_view_context_menu.cc.orig 2020-03-16 18:40:29 UTC ++++ chrome/browser/renderer_context_menu/render_view_context_menu.cc +@@ -1702,7 +1702,7 @@ void RenderViewContextMenu::AppendEditableItems() { + // 'Undo' and 'Redo' for text input with no suggestions and no text selected. + // We make an exception for OS X as context clicking will select the closest + // word. In this case both items are always shown. +-#if defined(OS_MACOSX) ++#if defined(OS_MACOSX) || defined(OS_BSD) + menu_model_.AddItemWithStringId(IDC_CONTENT_CONTEXT_UNDO, + IDS_CONTENT_CONTEXT_UNDO); + menu_model_.AddItemWithStringId(IDC_CONTENT_CONTEXT_REDO, +@@ -1744,7 +1744,7 @@ void RenderViewContextMenu::AppendLanguageSettings() { + if (!use_spelling) + return; + +-#if defined(OS_MACOSX) ++#if defined(OS_MACOSX) || defined(OS_BSD) + menu_model_.AddItemWithStringId(IDC_CONTENT_CONTEXT_LANGUAGE_SETTINGS, + IDS_CONTENT_CONTEXT_LANGUAGE_SETTINGS); + #else +@@ -2083,7 +2083,7 @@ bool RenderViewContextMenu::IsCommandIdEnabled(int id) + case IDC_CHECK_SPELLING_WHILE_TYPING: + return prefs->GetBoolean(spellcheck::prefs::kSpellCheckEnable); + +-#if !defined(OS_MACOSX) && defined(OS_POSIX) ++#if !defined(OS_MACOSX) && !defined(OS_BSD) && defined(OS_POSIX) + // TODO(suzhe): this should not be enabled for password fields. + case IDC_INPUT_METHODS_MENU: + return true; diff --git a/www/iridium/files/patch-chrome_browser_renderer__preferences__util.cc b/www/iridium/files/patch-chrome_browser_renderer__preferences__util.cc new file mode 100644 index 000000000000..db4c5e81a31d --- /dev/null +++ b/www/iridium/files/patch-chrome_browser_renderer__preferences__util.cc @@ -0,0 +1,29 @@ +--- chrome/browser/renderer_preferences_util.cc.orig 2020-03-16 18:40:29 UTC ++++ chrome/browser/renderer_preferences_util.cc +@@ -31,7 +31,7 @@ + #include "ui/base/cocoa/defaults_utils.h" + #endif + +-#if defined(USE_AURA) && defined(OS_LINUX) && !defined(OS_CHROMEOS) ++#if defined(USE_AURA) && (defined(OS_BSD) || defined(OS_LINUX)) && !defined(OS_CHROMEOS) + #include "chrome/browser/themes/theme_service.h" + #include "chrome/browser/themes/theme_service_factory.h" + #include "ui/views/linux_ui/linux_ui.h" +@@ -146,7 +146,7 @@ void UpdateFromSystemSettings(blink::mojom::RendererPr + prefs->caret_blink_interval = interval; + #endif + +-#if defined(USE_AURA) && defined(OS_LINUX) && !defined(OS_CHROMEOS) ++#if defined(USE_AURA) && (defined(OS_BSD) || defined(OS_LINUX)) && !defined(OS_CHROMEOS) + views::LinuxUI* linux_ui = views::LinuxUI::instance(); + if (linux_ui) { + if (ThemeServiceFactory::GetForProfile(profile)->UsingSystemTheme()) { +@@ -165,7 +165,7 @@ void UpdateFromSystemSettings(blink::mojom::RendererPr + } + #endif + +-#if defined(OS_LINUX) || defined(OS_ANDROID) || defined(OS_WIN) ++#if defined(OS_LINUX) || defined(OS_ANDROID) || defined(OS_WIN) || defined(OS_BSD) + content::UpdateFontRendererPreferencesFromSystemSettings(prefs); + #endif + diff --git a/www/iridium/files/patch-chrome_browser_resources_safe__browsing_gen__file__type__proto.py b/www/iridium/files/patch-chrome_browser_resources_safe__browsing_gen__file__type__proto.py new file mode 100644 index 000000000000..de779e766d99 --- /dev/null +++ b/www/iridium/files/patch-chrome_browser_resources_safe__browsing_gen__file__type__proto.py @@ -0,0 +1,19 @@ +--- chrome/browser/resources/safe_browsing/gen_file_type_proto.py.orig 2019-03-11 22:00:54 UTC ++++ chrome/browser/resources/safe_browsing/gen_file_type_proto.py +@@ -31,6 +31,7 @@ def PlatformTypes(): + "android": download_file_types_pb2.DownloadFileType.PLATFORM_ANDROID, + "chromeos": download_file_types_pb2.DownloadFileType.PLATFORM_CHROME_OS, + "linux": download_file_types_pb2.DownloadFileType.PLATFORM_LINUX, ++ "bsd": download_file_types_pb2.DownloadFileType.PLATFORM_LINUX, + "mac": download_file_types_pb2.DownloadFileType.PLATFORM_MAC, + "win": download_file_types_pb2.DownloadFileType.PLATFORM_WINDOWS, + } +@@ -169,7 +170,7 @@ class DownloadFileTypeProtoGenerator(BinaryProtoGenera + 'Outfile must have a %d for version and %s for platform.') + parser.add_option('-t', '--type', + help='The platform type. One of android, chromeos, ' + +- 'linux, mac, win') ++ 'linux, bsd, mac, win') + + def AddExtraCommandLineArgsForVirtualEnvRun(self, opts, command): + if opts.type is not None: diff --git a/www/iridium/files/patch-chrome_browser_resources_settings_appearance__page_appearance__browser__proxy.js b/www/iridium/files/patch-chrome_browser_resources_settings_appearance__page_appearance__browser__proxy.js new file mode 100644 index 000000000000..6512d38fe080 --- /dev/null +++ b/www/iridium/files/patch-chrome_browser_resources_settings_appearance__page_appearance__browser__proxy.js @@ -0,0 +1,20 @@ +--- chrome/browser/resources/settings/appearance_page/appearance_browser_proxy.js.orig 2019-10-21 19:06:23 UTC ++++ chrome/browser/resources/settings/appearance_page/appearance_browser_proxy.js +@@ -19,7 +19,7 @@ cr.define('settings', function() { + + useDefaultTheme() {} + +- // <if expr="is_linux and not chromeos"> ++ // <if expr="is_bsd and not chromeos"> + useSystemTheme() {} + + // </if> +@@ -59,7 +59,7 @@ cr.define('settings', function() { + chrome.send('useDefaultTheme'); + } + +- // <if expr="is_linux and not chromeos"> ++ // <if expr="is_bsd and not chromeos"> + /** @override */ + useSystemTheme() { + chrome.send('useSystemTheme'); diff --git a/www/iridium/files/patch-chrome_browser_resources_settings_appearance__page_appearance__page.html b/www/iridium/files/patch-chrome_browser_resources_settings_appearance__page_appearance__page.html new file mode 100644 index 000000000000..1470f1f0d2c0 --- /dev/null +++ b/www/iridium/files/patch-chrome_browser_resources_settings_appearance__page_appearance__page.html @@ -0,0 +1,29 @@ +--- chrome/browser/resources/settings/appearance_page/appearance_page.html.orig 2020-03-16 18:40:29 UTC ++++ chrome/browser/resources/settings/appearance_page/appearance_page.html +@@ -49,7 +49,7 @@ + <cr-link-row class="first" hidden="[[!pageVisibility.setTheme]]" + label="$i18n{themes}" sub-label="[[themeSublabel_]]" + on-click="openThemeUrl_" external></cr-link-row> +-<if expr="not is_linux or chromeos"> ++<if expr="not is_posix or chromeos"> + <template is="dom-if" if="[[prefs.extensions.theme.id.value]]"> + <div class="separator"></div> + <cr-button id="useDefault" on-click="onUseDefaultTap_"> +@@ -57,7 +57,7 @@ + </cr-button> + </template> + </if> +-<if expr="is_linux and not chromeos"> ++<if expr="is_posix and not chromeos"> + <div class="settings-row continuation" + hidden="[[!showThemesSecondary_( + prefs.extensions.theme.id.value, useSystemTheme_)]]" +@@ -120,7 +120,7 @@ + pref="{{prefs.bookmark_bar.show_on_all_tabs}}" + label="$i18n{showBookmarksBar}"> + </settings-toggle-button> +-<if expr="is_linux and not chromeos"> ++<if expr="is_posix and not chromeos"> + <settings-toggle-button + class$="[[getFirst_(pageVisibility.bookmarksBar)]]" + pref="{{prefs.browser.custom_chrome_frame}}" diff --git a/www/iridium/files/patch-chrome_browser_resources_settings_appearance__page_appearance__page.js b/www/iridium/files/patch-chrome_browser_resources_settings_appearance__page_appearance__page.js new file mode 100644 index 000000000000..a080e83db65c --- /dev/null +++ b/www/iridium/files/patch-chrome_browser_resources_settings_appearance__page_appearance__page.js @@ -0,0 +1,33 @@ +--- chrome/browser/resources/settings/appearance_page/appearance_page.js.orig 2020-03-16 18:40:29 UTC ++++ chrome/browser/resources/settings/appearance_page/appearance_page.js +@@ -104,7 +104,7 @@ Polymer({ + 'defaultFontSizeChanged_(prefs.webkit.webprefs.default_font_size.value)', + 'themeChanged_(prefs.extensions.theme.id.value, useSystemTheme_)', + +- // <if expr="is_linux and not chromeos"> ++ // <if expr="is_bsd and not chromeos"> + // NOTE: this pref only exists on Linux. + 'useSystemThemePrefChanged_(prefs.extensions.theme.use_system.value)', + // </if> +@@ -190,7 +190,7 @@ Polymer({ + this.appearanceBrowserProxy_.useDefaultTheme(); + }, + +- // <if expr="is_linux and not chromeos"> ++ // <if expr="is_bsd and not chromeos"> + /** + * @param {boolean} useSystemTheme + * @private +@@ -267,10 +267,10 @@ Polymer({ + } + + let i18nId; +- // <if expr="is_linux and not chromeos"> ++ // <if expr="is_bsd and not chromeos"> + i18nId = useSystemTheme ? 'systemTheme' : 'classicTheme'; + // </if> +- // <if expr="not is_linux or chromeos"> ++ // <if expr="not is_bsd or chromeos"> + i18nId = 'chooseFromWebStore'; + // </if> + this.themeSublabel_ = this.i18n(i18nId); diff --git a/www/iridium/files/patch-chrome_browser_safe__browsing_incident__reporting_incident__handler__util.cc b/www/iridium/files/patch-chrome_browser_safe__browsing_incident__reporting_incident__handler__util.cc new file mode 100644 index 000000000000..2d242ce878e6 --- /dev/null +++ b/www/iridium/files/patch-chrome_browser_safe__browsing_incident__reporting_incident__handler__util.cc @@ -0,0 +1,15 @@ +--- chrome/browser/safe_browsing/incident_reporting/incident_handler_util.cc.orig 2019-06-04 18:55:18 UTC ++++ chrome/browser/safe_browsing/incident_reporting/incident_handler_util.cc +@@ -8,7 +8,12 @@ + + #include "base/hash/hash.h" + #include "base/logging.h" ++//XXX(rene) needs shim headers? ++#if defined(USE_SYSTEM_PROTOBUF) ++#include <google/protobuf/message_lite.h> ++#else + #include "third_party/protobuf/src/google/protobuf/message_lite.h" ++#endif + + namespace safe_browsing { + diff --git a/www/iridium/files/patch-chrome_browser_safe__browsing_incident__reporting_incident__reporting__service.cc b/www/iridium/files/patch-chrome_browser_safe__browsing_incident__reporting_incident__reporting__service.cc new file mode 100644 index 000000000000..0690a0795218 --- /dev/null +++ b/www/iridium/files/patch-chrome_browser_safe__browsing_incident__reporting_incident__reporting__service.cc @@ -0,0 +1,11 @@ +--- chrome/browser/safe_browsing/incident_reporting/incident_reporting_service.cc.orig 2020-04-10 00:39:09 UTC ++++ chrome/browser/safe_browsing/incident_reporting/incident_reporting_service.cc +@@ -674,7 +674,7 @@ void IncidentReportingService::OnEnvironmentDataCollec + environment_collection_pending_ = false; + + // Process::Current().CreationTime() is missing on some platforms. +-#if defined(OS_MACOSX) || defined(OS_WIN) || defined(OS_LINUX) ++#if defined(OS_MACOSX) || defined(OS_WIN) || defined(OS_LINUX) || defined(OS_BSD) + base::TimeDelta uptime = + first_incident_time_ - base::Process::Current().CreationTime(); + environment_data->mutable_process()->set_uptime_msec(uptime.InMilliseconds()); diff --git a/www/iridium/files/patch-chrome_browser_search_search__suggest_search__suggest__service.cc b/www/iridium/files/patch-chrome_browser_search_search__suggest_search__suggest__service.cc new file mode 100644 index 000000000000..bf751427bd2a --- /dev/null +++ b/www/iridium/files/patch-chrome_browser_search_search__suggest_search__suggest__service.cc @@ -0,0 +1,14 @@ +--- chrome/browser/search/search_suggest/search_suggest_service.cc.orig 2019-12-16 21:50:43 UTC ++++ chrome/browser/search/search_suggest/search_suggest_service.cc +@@ -20,7 +20,11 @@ + #include "components/prefs/scoped_user_pref_update.h" + #include "components/signin/public/identity_manager/accounts_in_cookie_jar_info.h" + #include "components/signin/public/identity_manager/identity_manager.h" ++#if defined(OS_BSD) ++#include <re2/re2.h> ++#else + #include "third_party/re2/src/re2/re2.h" ++#endif + + namespace { + diff --git a/www/iridium/files/patch-chrome_browser_send__tab__to__self_receiving__ui__handler__registry.cc b/www/iridium/files/patch-chrome_browser_send__tab__to__self_receiving__ui__handler__registry.cc new file mode 100644 index 000000000000..f8a2b34d89f3 --- /dev/null +++ b/www/iridium/files/patch-chrome_browser_send__tab__to__self_receiving__ui__handler__registry.cc @@ -0,0 +1,20 @@ +--- chrome/browser/send_tab_to_self/receiving_ui_handler_registry.cc.orig 2019-06-07 20:47:39 UTC ++++ chrome/browser/send_tab_to_self/receiving_ui_handler_registry.cc +@@ -11,7 +11,7 @@ + #include "chrome/browser/profiles/profile.h" + #include "chrome/browser/send_tab_to_self/receiving_ui_handler.h" + +-#if defined(OS_LINUX) || defined(OS_MACOSX) || defined(OS_WIN) ++#if defined(OS_LINUX) || defined(OS_MACOSX) || defined(OS_WIN) || defined(OS_BSD) + #include "chrome/browser/send_tab_to_self/desktop_notification_handler.h" + #endif + +@@ -32,7 +32,7 @@ ReceivingUiHandlerRegistry* ReceivingUiHandlerRegistry + // Instantiates all the handlers relevant to this platform. + void ReceivingUiHandlerRegistry::InstantiatePlatformSpecificHandlers( + Profile* profile) { +-#if defined(OS_LINUX) || defined(OS_MACOSX) || defined(OS_WIN) ++#if defined(OS_LINUX) || defined(OS_MACOSX) || defined(OS_WIN) || defined(OS_BSD) + applicable_handlers_.push_back( + std::make_unique<send_tab_to_self::DesktopNotificationHandler>(profile)); + #elif defined(OS_ANDROID) diff --git a/www/iridium/files/patch-chrome_browser_send__tab__to__self_send__tab__to__self__client__service.cc b/www/iridium/files/patch-chrome_browser_send__tab__to__self_send__tab__to__self__client__service.cc new file mode 100644 index 000000000000..d20b30112256 --- /dev/null +++ b/www/iridium/files/patch-chrome_browser_send__tab__to__self_send__tab__to__self__client__service.cc @@ -0,0 +1,11 @@ +--- chrome/browser/send_tab_to_self/send_tab_to_self_client_service.cc.orig 2019-07-29 18:57:56 UTC ++++ chrome/browser/send_tab_to_self/send_tab_to_self_client_service.cc +@@ -41,7 +41,7 @@ void SendTabToSelfClientService::SendTabToSelfModelLoa + void SendTabToSelfClientService::EntriesAddedRemotely( + const std::vector<const SendTabToSelfEntry*>& new_entries) { + for (const std::unique_ptr<ReceivingUiHandler>& handler : GetHandlers()) { +-#if defined(OS_LINUX) || defined(OS_MACOSX) || defined(OS_WIN) ++#if defined(OS_LINUX) || defined(OS_MACOSX) || defined(OS_WIN) || defined(OS_BSD) + // Only respond to notifications corresponding to this service's profile + // for these OSes; mobile does not have a Profile. + // Cast note: on desktop, handlers are guaranteed to be the derived class diff --git a/www/iridium/files/patch-chrome_browser_sharing_shared__clipboard_feature__flags.cc b/www/iridium/files/patch-chrome_browser_sharing_shared__clipboard_feature__flags.cc new file mode 100644 index 000000000000..e1b209c81c94 --- /dev/null +++ b/www/iridium/files/patch-chrome_browser_sharing_shared__clipboard_feature__flags.cc @@ -0,0 +1,17 @@ +--- chrome/browser/sharing/shared_clipboard/feature_flags.cc.orig 2020-02-07 12:34:27 UTC ++++ chrome/browser/sharing/shared_clipboard/feature_flags.cc +@@ -10,12 +10,12 @@ const base::Feature kSharedClipboardReceiver{"SharedCl + const base::Feature kSharedClipboardUI{"SharedClipboardUI", + base::FEATURE_DISABLED_BY_DEFAULT}; + +-#if defined(OS_WIN) || defined(OS_MACOSX) || defined(OS_LINUX) || \ ++#if defined(OS_WIN) || defined(OS_MACOSX) || defined(OS_LINUX) || defined(OS_BSD) || \ + defined(OS_CHROMEOS) + const base::Feature kRemoteCopyReceiver{"RemoteCopyReceiver", + base::FEATURE_DISABLED_BY_DEFAULT}; + + const base::FeatureParam<std::string> kRemoteCopyAllowedOrigins = { + &kRemoteCopyReceiver, "RemoteCopyAllowedOrigins", ""}; +-#endif // defined(OS_WIN) || defined(OS_MACOSX) || defined(OS_LINUX) || ++#endif // defined(OS_WIN) || defined(OS_MACOSX) || defined(OS_LINUX) || defined(OS_BSD) || + // defined(OS_CHROMEOS) diff --git a/www/iridium/files/patch-chrome_browser_sharing_shared__clipboard_feature__flags.h b/www/iridium/files/patch-chrome_browser_sharing_shared__clipboard_feature__flags.h new file mode 100644 index 000000000000..6a0e3079731b --- /dev/null +++ b/www/iridium/files/patch-chrome_browser_sharing_shared__clipboard_feature__flags.h @@ -0,0 +1,19 @@ +--- chrome/browser/sharing/shared_clipboard/feature_flags.h.orig 2020-03-16 18:40:29 UTC ++++ chrome/browser/sharing/shared_clipboard/feature_flags.h +@@ -17,14 +17,14 @@ extern const base::Feature kSharedClipboardReceiver; + // Feature to allow shared clipboard gets processed. + extern const base::Feature kSharedClipboardUI; + +-#if defined(OS_WIN) || defined(OS_MACOSX) || defined(OS_LINUX) || \ ++#if defined(OS_WIN) || defined(OS_MACOSX) || defined(OS_LINUX) || defined(OS_BSD) || \ + defined(OS_CHROMEOS) + // Feature to enable handling remote copy messages. + extern const base::Feature kRemoteCopyReceiver; + + // List of allowed origins to fetch images from, comma separated. + extern const base::FeatureParam<std::string> kRemoteCopyAllowedOrigins; +-#endif // defined(OS_WIN) || defined(OS_MACOSX) || defined(OS_LINUX) || ++#endif // defined(OS_WIN) || defined(OS_MACOSX) || defined(OS_LINUX) || defined(OS_BSD) || + // defined(OS_CHROMEOS) + + #endif // CHROME_BROWSER_SHARING_SHARED_CLIPBOARD_FEATURE_FLAGS_H_ diff --git a/www/iridium/files/patch-chrome_browser_sharing_sharing__device__registration.cc b/www/iridium/files/patch-chrome_browser_sharing_sharing__device__registration.cc new file mode 100644 index 000000000000..0c3723e85860 --- /dev/null +++ b/www/iridium/files/patch-chrome_browser_sharing_sharing__device__registration.cc @@ -0,0 +1,24 @@ +--- chrome/browser/sharing/sharing_device_registration.cc.orig 2020-03-26 18:39:48 UTC ++++ chrome/browser/sharing/sharing_device_registration.cc +@@ -325,7 +325,7 @@ bool SharingDeviceRegistration::IsSmsFetcherSupported( + } + + bool SharingDeviceRegistration::IsRemoteCopySupported() const { +-#if defined(OS_WIN) || defined(OS_MACOSX) || defined(OS_LINUX) || \ ++#if defined(OS_WIN) || defined(OS_MACOSX) || defined(OS_LINUX) || defined(OS_BSD) || \ + defined(OS_CHROMEOS) + return base::FeatureList::IsEnabled(kRemoteCopyReceiver); + #endif +@@ -334,10 +334,10 @@ bool SharingDeviceRegistration::IsRemoteCopySupported( + } + + bool SharingDeviceRegistration::IsPeerConnectionSupported() const { +-#if defined(OS_WIN) || defined(OS_MACOSX) || defined(OS_LINUX) || \ ++#if defined(OS_WIN) || defined(OS_MACOSX) || defined(OS_LINUX) || defined(OS_BSD) || \ + defined(OS_CHROMEOS) + return base::FeatureList::IsEnabled(kSharingPeerConnectionReceiver); +-#endif // defined(OS_WIN) || defined(OS_MACOSX) || defined(OS_LINUX) || ++#endif // defined(OS_WIN) || defined(OS_MACOSX) || defined(OS_LINUX) || defined(OS_BSD) || + // defined(OS_CHROMEOS) + + return false; diff --git a/www/iridium/files/patch-chrome_browser_sharing_sharing__handler__registry__impl.cc b/www/iridium/files/patch-chrome_browser_sharing_sharing__handler__registry__impl.cc new file mode 100644 index 000000000000..a9744c4a6a8d --- /dev/null +++ b/www/iridium/files/patch-chrome_browser_sharing_sharing__handler__registry__impl.cc @@ -0,0 +1,32 @@ +--- chrome/browser/sharing/sharing_handler_registry_impl.cc.orig 2020-03-16 18:39:44 UTC ++++ chrome/browser/sharing/sharing_handler_registry_impl.cc +@@ -24,10 +24,10 @@ + #include "chrome/browser/sharing/webrtc/webrtc_message_handler.h" + #endif // defined(OS_ANDROID) + +-#if defined(OS_WIN) || defined(OS_MACOSX) || defined(OS_LINUX) || \ ++#if defined(OS_WIN) || defined(OS_MACOSX) || defined(OS_LINUX) || defined(OS_BSD) || \ + defined(OS_CHROMEOS) + #include "chrome/browser/sharing/shared_clipboard/remote_copy_message_handler.h" +-#endif // defined(OS_WIN) || defined(OS_MACOSX) || defined(OS_LINUX) ++#endif // defined(OS_WIN) || defined(OS_MACOSX) || defined(OS_LINUX) || defined(OS_BSD) || + // defined(OS_CHROMEOS) + + SharingHandlerRegistryImpl::SharingHandlerRegistryImpl( +@@ -73,14 +73,14 @@ SharingHandlerRegistryImpl::SharingHandlerRegistryImpl + {chrome_browser_sharing::SharingMessage::kSharedClipboardMessage}); + } + +-#if defined(OS_WIN) || defined(OS_MACOSX) || defined(OS_LINUX) || \ ++#if defined(OS_WIN) || defined(OS_MACOSX) || defined(OS_LINUX) || defined(OS_BSD) || \ + defined(OS_CHROMEOS) + if (sharing_device_registration->IsRemoteCopySupported()) { + AddSharingHandler( + std::make_unique<RemoteCopyMessageHandler>(profile), + {chrome_browser_sharing::SharingMessage::kRemoteCopyMessage}); + } +-#endif // defined(OS_WIN) || defined(OS_MACOSX) || defined(OS_LINUX) || ++#endif // defined(OS_WIN) || defined(OS_MACOSX) || defined(OS_LINUX) || defined(OS_BSD) || + // defined(OS_CHROMEOS) + + #if !defined(OS_ANDROID) diff --git a/www/iridium/files/patch-chrome_browser_sharing_sharing__service.cc b/www/iridium/files/patch-chrome_browser_sharing_sharing__service.cc new file mode 100644 index 000000000000..7e096df1b053 --- /dev/null +++ b/www/iridium/files/patch-chrome_browser_sharing_sharing__service.cc @@ -0,0 +1,20 @@ +--- chrome/browser/sharing/sharing_service.cc.orig 2020-03-30 09:34:43 UTC ++++ chrome/browser/sharing/sharing_service.cc +@@ -30,7 +30,7 @@ namespace { + SharingMessageSender::DelegateType GetSendDelegateType( + const syncer::DeviceInfo& device, + const chrome_browser_sharing::SharingMessage& message) { +-#if defined(OS_WIN) || defined(OS_MACOSX) || defined(OS_LINUX) || \ ++#if defined(OS_WIN) || defined(OS_MACOSX) || defined(OS_LINUX) || defined(OS_BSD) || \ + defined(OS_CHROMEOS) + // Messages other than SharedClipboard are always sent via FCM. + if (message.payload_case() != +@@ -56,7 +56,7 @@ SharingMessageSender::DelegateType GetSendDelegateType + // logic once we wrap up the experiment and e.g. only send messages over a + // certain size via WebRTC. + return SharingMessageSender::DelegateType::kWebRtc; +-#endif // defined(OS_WIN) || defined(OS_MACOSX) || defined(OS_LINUX) || ++#endif // defined(OS_WIN) || defined(OS_MACOSX) || defined(OS_LINUX) || defined(OS_BSD) + // defined(OS_CHROMEOS) + + // Only FCM is supported for non desktop OS. diff --git a/www/iridium/files/patch-chrome_browser_sharing_webrtc_webrtc__flags.cc b/www/iridium/files/patch-chrome_browser_sharing_webrtc_webrtc__flags.cc new file mode 100644 index 000000000000..cfac06c08d3d --- /dev/null +++ b/www/iridium/files/patch-chrome_browser_sharing_webrtc_webrtc__flags.cc @@ -0,0 +1,17 @@ +--- chrome/browser/sharing/webrtc/webrtc_flags.cc.orig 2020-03-30 09:35:30 UTC ++++ chrome/browser/sharing/webrtc/webrtc_flags.cc +@@ -4,12 +4,12 @@ + + #include "chrome/browser/sharing/webrtc/webrtc_flags.h" + +-#if defined(OS_WIN) || defined(OS_MACOSX) || defined(OS_LINUX) || \ ++#if defined(OS_WIN) || defined(OS_MACOSX) || defined(OS_LINUX) || defined(OS_BSD) || \ + defined(OS_CHROMEOS) + const base::Feature kSharingPeerConnectionReceiver{ + "SharingPeerConnectionReceiver", base::FEATURE_DISABLED_BY_DEFAULT}; + + const base::Feature kSharingPeerConnectionSender{ + "SharingPeerConnectionSender", base::FEATURE_ENABLED_BY_DEFAULT}; +-#endif // defined(OS_WIN) || defined(OS_MACOSX) || defined(OS_LINUX) || ++#endif // defined(OS_WIN) || defined(OS_MACOSX) || defined(OS_LINUX) || defined(OS_BSD) || + // defined(OS_CHROMEOS) diff --git a/www/iridium/files/patch-chrome_browser_sharing_webrtc_webrtc__flags.h b/www/iridium/files/patch-chrome_browser_sharing_webrtc_webrtc__flags.h new file mode 100644 index 000000000000..fdec699052e2 --- /dev/null +++ b/www/iridium/files/patch-chrome_browser_sharing_webrtc_webrtc__flags.h @@ -0,0 +1,19 @@ +--- chrome/browser/sharing/webrtc/webrtc_flags.h.orig 2020-03-30 09:35:47 UTC ++++ chrome/browser/sharing/webrtc/webrtc_flags.h +@@ -8,14 +8,14 @@ + #include "base/feature_list.h" + #include "build/build_config.h" + +-#if defined(OS_WIN) || defined(OS_MACOSX) || defined(OS_LINUX) || \ ++#if defined(OS_WIN) || defined(OS_MACOSX) || defined(OS_LINUX) || defined(OS_BSD) || \ + defined(OS_CHROMEOS) + // Feature flag to enable receiving PeerConnection requests. + extern const base::Feature kSharingPeerConnectionReceiver; + + // Feature flag to enable sending SharingMessage using PeerConnection. + extern const base::Feature kSharingPeerConnectionSender; +-#endif // defined(OS_WIN) || defined(OS_MACOSX) || defined(OS_LINUX) || ++#endif // defined(OS_WIN) || defined(OS_MACOSX) || defined(OS_LINUX) || defined(OS_BSD) || + // defined(OS_CHROMEOS) + + #endif // CHROME_BROWSER_SHARING_WEBRTC_WEBRTC_FLAGS_H_ diff --git a/www/iridium/files/patch-chrome_browser_signin_signin__util.cc b/www/iridium/files/patch-chrome_browser_signin_signin__util.cc new file mode 100644 index 000000000000..4c230f4f53f2 --- /dev/null +++ b/www/iridium/files/patch-chrome_browser_signin_signin__util.cc @@ -0,0 +1,11 @@ +--- chrome/browser/signin/signin_util.cc.orig 2019-12-16 21:50:43 UTC ++++ chrome/browser/signin/signin_util.cc +@@ -34,7 +34,7 @@ + #include "google_apis/gaia/gaia_auth_util.h" + #include "ui/base/l10n/l10n_util.h" + +-#if defined(OS_WIN) || defined(OS_LINUX) || defined(OS_MACOSX) ++#if defined(OS_WIN) || defined(OS_LINUX) || defined(OS_MACOSX) || defined(OS_BSD) + #include "chrome/browser/ui/browser_finder.h" + #include "chrome/browser/ui/browser_list.h" + #include "chrome/browser/ui/browser_list_observer.h" diff --git a/www/iridium/files/patch-chrome_browser_ssl_ssl__error__controller__client.cc b/www/iridium/files/patch-chrome_browser_ssl_ssl__error__controller__client.cc new file mode 100644 index 000000000000..50ed28cdeb0a --- /dev/null +++ b/www/iridium/files/patch-chrome_browser_ssl_ssl__error__controller__client.cc @@ -0,0 +1,20 @@ +--- chrome/browser/ssl/ssl_error_controller_client.cc.orig 2020-03-16 18:40:29 UTC ++++ chrome/browser/ssl/ssl_error_controller_client.cc +@@ -79,7 +79,7 @@ void LaunchDateAndTimeSettingsImpl() { + #if defined(OS_ANDROID) + chrome::android::OpenDateAndTimeSettings(); + +-#elif defined(OS_LINUX) ++#elif defined(OS_LINUX) || defined(OS_BSD) + struct ClockCommand { + const char* const pathname; + const char* const argument; +@@ -205,7 +205,7 @@ void SSLErrorControllerClient::Proceed() { + } + + bool SSLErrorControllerClient::CanLaunchDateAndTimeSettings() { +-#if defined(OS_ANDROID) || defined(OS_LINUX) || defined(OS_MACOSX) || \ ++#if defined(OS_ANDROID) || defined(OS_LINUX) || defined(OS_MACOSX) || defined(OS_BSD) || \ + defined(OS_WIN) + return true; + #else diff --git a/www/iridium/files/patch-chrome_browser_sync_chrome__sync__client.cc b/www/iridium/files/patch-chrome_browser_sync_chrome__sync__client.cc new file mode 100644 index 000000000000..155f4fdf474c --- /dev/null +++ b/www/iridium/files/patch-chrome_browser_sync_chrome__sync__client.cc @@ -0,0 +1,20 @@ +--- chrome/browser/sync/chrome_sync_client.cc.orig 2020-03-16 18:40:29 UTC ++++ chrome/browser/sync/chrome_sync_client.cc +@@ -442,7 +442,7 @@ ChromeSyncClient::CreateDataTypeControllers(syncer::Sy + } + #endif // defined(OS_CHROMEOS) + +-#if defined(OS_LINUX) || defined(OS_WIN) ++#if defined(OS_LINUX) || defined(OS_WIN) || defined(OS_BSD) + // Dictionary sync is enabled by default. + if (!disabled_types.Has(syncer::DICTIONARY)) { + controllers.push_back( +@@ -450,7 +450,7 @@ ChromeSyncClient::CreateDataTypeControllers(syncer::Sy + syncer::DICTIONARY, model_type_store_factory, + GetSyncableServiceForType(syncer::DICTIONARY), dump_stack)); + } +-#endif // defined(OS_LINUX) || defined(OS_WIN) ++#endif // defined(OS_LINUX) || defined(OS_WIN) || defined(OS_BSD) + + #if defined(OS_CHROMEOS) + if (arc::IsArcAllowedForProfile(profile_) && diff --git a/www/iridium/files/patch-chrome_browser_task__manager_sampling_task__group.cc b/www/iridium/files/patch-chrome_browser_task__manager_sampling_task__group.cc new file mode 100644 index 000000000000..1e077a7ff46c --- /dev/null +++ b/www/iridium/files/patch-chrome_browser_task__manager_sampling_task__group.cc @@ -0,0 +1,56 @@ +--- chrome/browser/task_manager/sampling/task_group.cc.orig 2019-09-09 21:55:10 UTC ++++ chrome/browser/task_manager/sampling/task_group.cc +@@ -33,9 +33,9 @@ const int kBackgroundRefreshTypesMask = + #if defined(OS_WIN) + REFRESH_TYPE_START_TIME | REFRESH_TYPE_CPU_TIME | + #endif // defined(OS_WIN) +-#if defined(OS_LINUX) || defined(OS_MACOSX) ++#if defined(OS_LINUX) || defined(OS_MACOSX) || defined(OS_BSD) + REFRESH_TYPE_FD_COUNT | +-#endif // defined(OS_LINUX) || defined(OS_MACOSX) ++#endif // defined(OS_LINUX) || defined(OS_MACOSX) || defined(OS_BSD) + #if BUILDFLAG(ENABLE_NACL) + REFRESH_TYPE_NACL | + #endif // BUILDFLAG(ENABLE_NACL) +@@ -114,9 +114,9 @@ TaskGroup::TaskGroup( + #if BUILDFLAG(ENABLE_NACL) + nacl_debug_stub_port_(nacl::kGdbDebugStubPortUnknown), + #endif // BUILDFLAG(ENABLE_NACL) +-#if defined(OS_LINUX) || defined(OS_MACOSX) ++#if defined(OS_LINUX) || defined(OS_MACOSX) || defined(OS_BSD) + open_fd_count_(-1), +-#endif // defined(OS_LINUX) || defined(OS_MACOSX) ++#endif // defined(OS_LINUX) || defined(OS_MACOSX) || defined(OS_BSD) + idle_wakeups_per_second_(-1), + gpu_memory_has_duplicates_(false), + is_backgrounded_(false) { +@@ -129,10 +129,10 @@ TaskGroup::TaskGroup( + weak_ptr_factory_.GetWeakPtr()), + base::Bind(&TaskGroup::OnIdleWakeupsRefreshDone, + weak_ptr_factory_.GetWeakPtr()), +-#if defined(OS_LINUX) || defined(OS_MACOSX) ++#if defined(OS_LINUX) || defined(OS_MACOSX) || defined(OS_BSD) + base::Bind(&TaskGroup::OnOpenFdCountRefreshDone, + weak_ptr_factory_.GetWeakPtr()), +-#endif // defined(OS_LINUX) || defined(OS_MACOSX) ++#endif // defined(OS_LINUX) || defined(OS_MACOSX) || defined(OS_BSD) + base::Bind(&TaskGroup::OnProcessPriorityDone, + weak_ptr_factory_.GetWeakPtr())); + +@@ -300,14 +300,14 @@ void TaskGroup::OnRefreshNaClDebugStubPortDone(int nac + } + #endif // BUILDFLAG(ENABLE_NACL) + +-#if defined(OS_LINUX) || defined(OS_MACOSX) ++#if defined(OS_LINUX) || defined(OS_MACOSX) || defined(OS_BSD) + void TaskGroup::OnOpenFdCountRefreshDone(int open_fd_count) { + DCHECK_CURRENTLY_ON(content::BrowserThread::UI); + + open_fd_count_ = open_fd_count; + OnBackgroundRefreshTypeFinished(REFRESH_TYPE_FD_COUNT); + } +-#endif // defined(OS_LINUX) || defined(OS_MACOSX) ++#endif // defined(OS_LINUX) || defined(OS_MACOSX) || defined(OS_BSD) + + void TaskGroup::OnCpuRefreshDone(double cpu_usage) { + DCHECK_CURRENTLY_ON(content::BrowserThread::UI); diff --git a/www/iridium/files/patch-chrome_browser_task__manager_sampling_task__group.h b/www/iridium/files/patch-chrome_browser_task__manager_sampling_task__group.h new file mode 100644 index 000000000000..3b055c6018f5 --- /dev/null +++ b/www/iridium/files/patch-chrome_browser_task__manager_sampling_task__group.h @@ -0,0 +1,48 @@ +--- chrome/browser/task_manager/sampling/task_group.h.orig 2019-10-21 19:06:23 UTC ++++ chrome/browser/task_manager/sampling/task_group.h +@@ -39,7 +39,7 @@ constexpr int kUnsupportedVMRefreshFlags = + REFRESH_TYPE_WEBCACHE_STATS | REFRESH_TYPE_NETWORK_USAGE | + REFRESH_TYPE_NACL | REFRESH_TYPE_IDLE_WAKEUPS | REFRESH_TYPE_HANDLES | + REFRESH_TYPE_START_TIME | REFRESH_TYPE_CPU_TIME | REFRESH_TYPE_PRIORITY | +-#if defined(OS_LINUX) || defined(OS_MACOSX) ++#if defined(OS_LINUX) || defined(OS_MACOSX) || defined(OS_BSD) + REFRESH_TYPE_FD_COUNT | + #endif + REFRESH_TYPE_HARD_FAULTS; +@@ -122,9 +122,9 @@ class TaskGroup { + int nacl_debug_stub_port() const { return nacl_debug_stub_port_; } + #endif // BUILDFLAG(ENABLE_NACL) + +-#if defined(OS_LINUX) || defined(OS_MACOSX) ++#if defined(OS_LINUX) || defined(OS_MACOSX) || defined(OS_BSD) + int open_fd_count() const { return open_fd_count_; } +-#endif // defined(OS_LINUX) || defined(OS_MACOSX) ++#endif // defined(OS_LINUX) || defined(OS_MACOSX) || defined(OS_BSD) + + int idle_wakeups_per_second() const { return idle_wakeups_per_second_; } + +@@ -138,9 +138,9 @@ class TaskGroup { + void RefreshNaClDebugStubPort(int child_process_unique_id); + void OnRefreshNaClDebugStubPortDone(int port); + #endif +-#if defined(OS_LINUX) || defined(OS_MACOSX) ++#if defined(OS_LINUX) || defined(OS_MACOSX) || defined(OS_BSD) + void OnOpenFdCountRefreshDone(int open_fd_count); +-#endif // defined(OS_LINUX) || defined(OS_MACOSX) ++#endif // defined(OS_LINUX) || defined(OS_MACOSX) || defined(OS_BSD) + + void OnCpuRefreshDone(double cpu_usage); + void OnSwappedMemRefreshDone(int64_t swapped_mem_bytes); +@@ -209,10 +209,10 @@ class TaskGroup { + #if BUILDFLAG(ENABLE_NACL) + int nacl_debug_stub_port_; + #endif // BUILDFLAG(ENABLE_NACL) +-#if defined(OS_LINUX) || defined(OS_MACOSX) ++#if defined(OS_LINUX) || defined(OS_MACOSX) || defined(OS_BSD) + // The number of file descriptors currently open by the process. + int open_fd_count_; +-#endif // defined(OS_LINUX) || defined(OS_MACOSX) ++#endif // defined(OS_LINUX) || defined(OS_MACOSX) || defined(OS_BSD) + int idle_wakeups_per_second_; + bool gpu_memory_has_duplicates_; + bool is_backgrounded_; diff --git a/www/iridium/files/patch-chrome_browser_task__manager_sampling_task__group__sampler.cc b/www/iridium/files/patch-chrome_browser_task__manager_sampling_task__group__sampler.cc new file mode 100644 index 000000000000..0727f82f22b9 --- /dev/null +++ b/www/iridium/files/patch-chrome_browser_task__manager_sampling_task__group__sampler.cc @@ -0,0 +1,72 @@ +--- chrome/browser/task_manager/sampling/task_group_sampler.cc.orig 2020-03-16 18:39:45 UTC ++++ chrome/browser/task_manager/sampling/task_group_sampler.cc +@@ -43,9 +43,9 @@ TaskGroupSampler::TaskGroupSampler( + const OnCpuRefreshCallback& on_cpu_refresh, + const OnSwappedMemRefreshCallback& on_swapped_mem_refresh, + const OnIdleWakeupsCallback& on_idle_wakeups, +-#if defined(OS_LINUX) || defined(OS_MACOSX) ++#if defined(OS_LINUX) || defined(OS_MACOSX) || defined(OS_BSD) + const OnOpenFdCountCallback& on_open_fd_count, +-#endif // defined(OS_LINUX) || defined(OS_MACOSX) ++#endif // defined(OS_LINUX) || defined(OS_MACOSX) || defined(OS_BSD) + const OnProcessPriorityCallback& on_process_priority) + : process_(std::move(process)), + process_metrics_(CreateProcessMetrics(process_.Handle())), +@@ -53,9 +53,9 @@ TaskGroupSampler::TaskGroupSampler( + on_cpu_refresh_callback_(on_cpu_refresh), + on_swapped_mem_refresh_callback_(on_swapped_mem_refresh), + on_idle_wakeups_callback_(on_idle_wakeups), +-#if defined(OS_LINUX) || defined(OS_MACOSX) ++#if defined(OS_LINUX) || defined(OS_MACOSX) || defined(OS_BSD) + on_open_fd_count_callback_(on_open_fd_count), +-#endif // defined(OS_LINUX) || defined(OS_MACOSX) ++#endif // defined(OS_LINUX) || defined(OS_MACOSX) || defined(OS_BSD) + on_process_priority_callback_(on_process_priority) { + DCHECK(blocking_pool_runner.get()); + +@@ -85,7 +85,7 @@ void TaskGroupSampler::Refresh(int64_t refresh_flags) + base::BindOnce(on_swapped_mem_refresh_callback_)); + } + +-#if defined(OS_MACOSX) || defined(OS_LINUX) ++#if defined(OS_MACOSX) || defined(OS_LINUX) || defined(OS_BSD) + if (TaskManagerObserver::IsResourceRefreshEnabled(REFRESH_TYPE_IDLE_WAKEUPS, + refresh_flags)) { + base::PostTaskAndReplyWithResult( +@@ -93,9 +93,9 @@ void TaskGroupSampler::Refresh(int64_t refresh_flags) + base::BindOnce(&TaskGroupSampler::RefreshIdleWakeupsPerSecond, this), + base::BindOnce(on_idle_wakeups_callback_)); + } +-#endif // defined(OS_MACOSX) || defined(OS_LINUX) ++#endif // defined(OS_MACOSX) || defined(OS_LINUX) || defined(OS_BSD) + +-#if defined(OS_LINUX) || defined(OS_MACOSX) ++#if defined(OS_LINUX) || defined(OS_MACOSX) || defined(OS_BSD) + if (TaskManagerObserver::IsResourceRefreshEnabled(REFRESH_TYPE_FD_COUNT, + refresh_flags)) { + base::PostTaskAndReplyWithResult( +@@ -103,7 +103,7 @@ void TaskGroupSampler::Refresh(int64_t refresh_flags) + base::BindOnce(&TaskGroupSampler::RefreshOpenFdCount, this), + base::BindOnce(on_open_fd_count_callback_)); + } +-#endif // defined(OS_LINUX) || defined(OS_MACOSX) ++#endif // defined(OS_LINUX) || defined(OS_MACOSX) || defined(OS_BSD) + + if (TaskManagerObserver::IsResourceRefreshEnabled(REFRESH_TYPE_PRIORITY, + refresh_flags)) { +@@ -145,13 +145,13 @@ int TaskGroupSampler::RefreshIdleWakeupsPerSecond() { + return process_metrics_->GetIdleWakeupsPerSecond(); + } + +-#if defined(OS_LINUX) || defined(OS_MACOSX) ++#if defined(OS_LINUX) || defined(OS_MACOSX) || defined(OS_BSD) + int TaskGroupSampler::RefreshOpenFdCount() { + DCHECK(worker_pool_sequenced_checker_.CalledOnValidSequence()); + + return process_metrics_->GetOpenFdCount(); + } +-#endif // defined(OS_LINUX) || defined(OS_MACOSX) ++#endif // defined(OS_LINUX) || defined(OS_MACOSX) || defined(OS_BSD) + + bool TaskGroupSampler::RefreshProcessPriority() { + DCHECK(worker_pool_sequenced_checker_.CalledOnValidSequence()); diff --git a/www/iridium/files/patch-chrome_browser_task__manager_sampling_task__group__sampler.h b/www/iridium/files/patch-chrome_browser_task__manager_sampling_task__group__sampler.h new file mode 100644 index 000000000000..ee309764291e --- /dev/null +++ b/www/iridium/files/patch-chrome_browser_task__manager_sampling_task__group__sampler.h @@ -0,0 +1,50 @@ +--- chrome/browser/task_manager/sampling/task_group_sampler.h.orig 2019-06-04 18:55:18 UTC ++++ chrome/browser/task_manager/sampling/task_group_sampler.h +@@ -32,9 +32,9 @@ class TaskGroupSampler : public base::RefCountedThread + using OnCpuRefreshCallback = base::Callback<void(double)>; + using OnSwappedMemRefreshCallback = base::Callback<void(int64_t)>; + using OnIdleWakeupsCallback = base::Callback<void(int)>; +-#if defined(OS_LINUX) || defined(OS_MACOSX) ++#if defined(OS_LINUX) || defined(OS_MACOSX) || defined(OS_BSD) + using OnOpenFdCountCallback = base::Callback<void(int)>; +-#endif // defined(OS_LINUX) || defined(OS_MACOSX) ++#endif // defined(OS_LINUX) || defined(OS_MACOSX) || defined(OS_BSD) + using OnProcessPriorityCallback = base::Callback<void(bool)>; + + TaskGroupSampler( +@@ -43,9 +43,9 @@ class TaskGroupSampler : public base::RefCountedThread + const OnCpuRefreshCallback& on_cpu_refresh, + const OnSwappedMemRefreshCallback& on_memory_refresh, + const OnIdleWakeupsCallback& on_idle_wakeups, +-#if defined(OS_LINUX) || defined(OS_MACOSX) ++#if defined(OS_LINUX) || defined(OS_MACOSX) || defined(OS_BSD) + const OnOpenFdCountCallback& on_open_fd_count, +-#endif // defined(OS_LINUX) || defined(OS_MACOSX) ++#endif // defined(OS_LINUX) || defined(OS_MACOSX) || defined(OS_BSD) + const OnProcessPriorityCallback& on_process_priority); + + // Refreshes the expensive process' stats (CPU usage, memory usage, and idle +@@ -60,9 +60,9 @@ class TaskGroupSampler : public base::RefCountedThread + double RefreshCpuUsage(); + int64_t RefreshSwappedMem(); + int RefreshIdleWakeupsPerSecond(); +-#if defined(OS_LINUX) || defined(OS_MACOSX) ++#if defined(OS_LINUX) || defined(OS_MACOSX) || defined(OS_BSD) + int RefreshOpenFdCount(); +-#endif // defined(OS_LINUX) || defined(OS_MACOSX) ++#endif // defined(OS_LINUX) || defined(OS_MACOSX) || defined(OS_BSD) + bool RefreshProcessPriority(); + + // The process that holds the handle that we own so that we can use it for +@@ -84,9 +84,9 @@ class TaskGroupSampler : public base::RefCountedThread + const OnCpuRefreshCallback on_cpu_refresh_callback_; + const OnSwappedMemRefreshCallback on_swapped_mem_refresh_callback_; + const OnIdleWakeupsCallback on_idle_wakeups_callback_; +-#if defined(OS_LINUX) || defined(OS_MACOSX) ++#if defined(OS_LINUX) || defined(OS_MACOSX) || defined(OS_BSD) + const OnOpenFdCountCallback on_open_fd_count_callback_; +-#endif // defined(OS_LINUX) || defined(OS_MACOSX) ++#endif // defined(OS_LINUX) || defined(OS_MACOSX) || defined(OS_BSD) + const OnProcessPriorityCallback on_process_priority_callback_; + + // To assert we're running on the correct thread. diff --git a/www/iridium/files/patch-chrome_browser_task__manager_sampling_task__manager__impl.cc b/www/iridium/files/patch-chrome_browser_task__manager_sampling_task__manager__impl.cc new file mode 100644 index 000000000000..cb287277caa7 --- /dev/null +++ b/www/iridium/files/patch-chrome_browser_task__manager_sampling_task__manager__impl.cc @@ -0,0 +1,16 @@ +--- chrome/browser/task_manager/sampling/task_manager_impl.cc.orig 2019-10-21 19:06:23 UTC ++++ chrome/browser/task_manager/sampling/task_manager_impl.cc +@@ -219,11 +219,11 @@ void TaskManagerImpl::GetUSERHandles(TaskId task_id, + } + + int TaskManagerImpl::GetOpenFdCount(TaskId task_id) const { +-#if defined(OS_LINUX) || defined(OS_MACOSX) ++#if defined(OS_LINUX) || defined(OS_MACOSX) || defined(OS_BSD) + return GetTaskGroupByTaskId(task_id)->open_fd_count(); + #else + return -1; +-#endif // defined(OS_LINUX) || defined(OS_MACOSX) ++#endif // defined(OS_LINUX) || defined(OS_MACOSX) || defined(OS_BSD) + } + + bool TaskManagerImpl::IsTaskOnBackgroundedProcess(TaskId task_id) const { diff --git a/www/iridium/files/patch-chrome_browser_task__manager_task__manager__observer.h b/www/iridium/files/patch-chrome_browser_task__manager_task__manager__observer.h new file mode 100644 index 000000000000..ee059c93979b --- /dev/null +++ b/www/iridium/files/patch-chrome_browser_task__manager_task__manager__observer.h @@ -0,0 +1,16 @@ +--- chrome/browser/task_manager/task_manager_observer.h.orig 2019-03-11 22:00:54 UTC ++++ chrome/browser/task_manager/task_manager_observer.h +@@ -43,11 +43,11 @@ enum RefreshType { + // or backgrounded. + REFRESH_TYPE_PRIORITY = 1 << 13, + +-#if defined(OS_LINUX) || defined(OS_MACOSX) ++#if defined(OS_LINUX) || defined(OS_MACOSX) || defined(OS_BSD) + // For observers interested in getting the number of open file descriptors of + // processes. + REFRESH_TYPE_FD_COUNT = 1 << 14, +-#endif // defined(OS_LINUX) || defined(OS_MACOSX) ++#endif // defined(OS_LINUX) || defined(OS_MACOSX) || defined(OS_BSD) + + REFRESH_TYPE_KEEPALIVE_COUNT = 1 << 15, + REFRESH_TYPE_MEMORY_FOOTPRINT = 1 << 16, diff --git a/www/iridium/files/patch-chrome_browser_themes_theme__service__factory.cc b/www/iridium/files/patch-chrome_browser_themes_theme__service__factory.cc new file mode 100644 index 000000000000..cf606ad8b2ce --- /dev/null +++ b/www/iridium/files/patch-chrome_browser_themes_theme__service__factory.cc @@ -0,0 +1,29 @@ +--- chrome/browser/themes/theme_service_factory.cc.orig 2020-03-16 18:39:45 UTC ++++ chrome/browser/themes/theme_service_factory.cc +@@ -23,7 +23,7 @@ + #include "chrome/browser/themes/theme_helper_win.h" + #endif + +-#if defined(OS_LINUX) && !defined(OS_CHROMEOS) ++#if (defined(OS_LINUX) && !defined(OS_CHROMEOS)) || defined(OS_BSD) + #include "chrome/browser/themes/theme_service_aura_linux.h" + #include "ui/views/linux_ui/linux_ui.h" + #endif +@@ -78,7 +78,7 @@ ThemeServiceFactory::~ThemeServiceFactory() {} + + KeyedService* ThemeServiceFactory::BuildServiceInstanceFor( + content::BrowserContext* profile) const { +-#if defined(OS_LINUX) && !defined(OS_CHROMEOS) ++#if (defined(OS_LINUX) && !defined(OS_CHROMEOS)) || defined(OS_BSD) + using ThemeService = ThemeServiceAuraLinux; + #endif + +@@ -90,7 +90,7 @@ KeyedService* ThemeServiceFactory::BuildServiceInstanc + + void ThemeServiceFactory::RegisterProfilePrefs( + user_prefs::PrefRegistrySyncable* registry) { +-#if defined(OS_LINUX) && !defined(OS_CHROMEOS) ++#if (defined(OS_LINUX) && !defined(OS_CHROMEOS)) || defined(OS_BSD) + bool default_uses_system_theme = false; + + const views::LinuxUI* linux_ui = views::LinuxUI::instance(); diff --git a/www/iridium/files/patch-chrome_browser_tracing_crash__service__uploader.cc b/www/iridium/files/patch-chrome_browser_tracing_crash__service__uploader.cc new file mode 100644 index 000000000000..9e2f7535e762 --- /dev/null +++ b/www/iridium/files/patch-chrome_browser_tracing_crash__service__uploader.cc @@ -0,0 +1,11 @@ +--- chrome/browser/tracing/crash_service_uploader.cc.orig 2020-03-16 18:40:29 UTC ++++ chrome/browser/tracing/crash_service_uploader.cc +@@ -160,6 +160,8 @@ void TraceCrashServiceUploader::DoCompressOnBackground + const char product[] = "Chrome_Linux"; + #elif defined(OS_ANDROID) + const char product[] = "Chrome_Android"; ++#elif defined(OS_FREEBSD) ++ const char product[] = "Chrome_FreeBSD"; + #else + #error Platform not supported. + #endif diff --git a/www/iridium/files/patch-chrome_browser_ui_browser__command__controller.cc b/www/iridium/files/patch-chrome_browser_ui_browser__command__controller.cc new file mode 100644 index 000000000000..1ee7f7ff4e27 --- /dev/null +++ b/www/iridium/files/patch-chrome_browser_ui_browser__command__controller.cc @@ -0,0 +1,38 @@ +--- chrome/browser/ui/browser_command_controller.cc.orig 2020-03-16 18:40:30 UTC ++++ chrome/browser/ui/browser_command_controller.cc +@@ -82,7 +82,7 @@ + #include "chrome/browser/ui/browser_commands_chromeos.h" + #endif + +-#if defined(OS_LINUX) && !defined(OS_CHROMEOS) ++#if (defined(OS_LINUX) || defined(OS_BSD)) && !defined(OS_CHROMEOS) + #include "ui/base/ime/linux/text_edit_key_bindings_delegate_auralinux.h" + #endif + +@@ -252,7 +252,7 @@ bool BrowserCommandController::IsReservedCommandOrKey( + #endif + } + +-#if defined(OS_LINUX) && !defined(OS_CHROMEOS) ++#if (defined(OS_LINUX) || defined(OS_BSD)) && !defined(OS_CHROMEOS) + // If this key was registered by the user as a content editing hotkey, then + // it is not reserved. + ui::TextEditKeyBindingsDelegateAuraLinux* delegate = +@@ -476,7 +476,7 @@ bool BrowserCommandController::ExecuteCommandWithDispo + break; + #endif + +-#if defined(OS_LINUX) && !defined(OS_CHROMEOS) ++#if (defined(OS_LINUX) || defined(OS_BSD)) && !defined(OS_CHROMEOS) + case IDC_MINIMIZE_WINDOW: + browser_->window()->Minimize(); + break; +@@ -961,7 +961,7 @@ void BrowserCommandController::InitCommandState() { + command_updater_.UpdateCommandEnabled(IDC_VISIT_DESKTOP_OF_LRU_USER_2, true); + command_updater_.UpdateCommandEnabled(IDC_VISIT_DESKTOP_OF_LRU_USER_3, true); + #endif +-#if defined(OS_LINUX) && !defined(OS_CHROMEOS) ++#if (defined(OS_LINUX) || defined(OS_BSD)) && !defined(OS_CHROMEOS) + command_updater_.UpdateCommandEnabled(IDC_MINIMIZE_WINDOW, true); + command_updater_.UpdateCommandEnabled(IDC_MAXIMIZE_WINDOW, true); + command_updater_.UpdateCommandEnabled(IDC_RESTORE_WINDOW, true); diff --git a/www/iridium/files/patch-chrome_browser_ui_browser__view__prefs.cc b/www/iridium/files/patch-chrome_browser_ui_browser__view__prefs.cc new file mode 100644 index 000000000000..c393ceb5d02d --- /dev/null +++ b/www/iridium/files/patch-chrome_browser_ui_browser__view__prefs.cc @@ -0,0 +1,20 @@ +--- chrome/browser/ui/browser_view_prefs.cc.orig 2019-03-11 22:00:54 UTC ++++ chrome/browser/ui/browser_view_prefs.cc +@@ -34,7 +34,7 @@ void RegisterBrowserViewLocalPrefs(PrefRegistrySimple* + + void RegisterBrowserViewProfilePrefs( + user_prefs::PrefRegistrySyncable* registry) { +-#if defined(OS_LINUX) && !defined(OS_CHROMEOS) ++#if (defined(OS_LINUX) && !defined(OS_CHROMEOS)) || defined(OS_BSD) + bool custom_frame_pref_default = false; + #if defined(USE_X11) + custom_frame_pref_default = ui::GetCustomFramePrefDefault(); +@@ -45,7 +45,7 @@ void RegisterBrowserViewProfilePrefs( + #endif + registry->RegisterBooleanPref(prefs::kUseCustomChromeFrame, + custom_frame_pref_default); +-#endif // OS_LINUX && !OS_CHROMEOS ++#endif // (OS_LINUX && !OS_CHROMEOS) || defined(OS_BSD) + } + + void MigrateBrowserTabStripPrefs(PrefService* prefs) { diff --git a/www/iridium/files/patch-chrome_browser_ui_exclusive__access_exclusive__access__bubble.cc b/www/iridium/files/patch-chrome_browser_ui_exclusive__access_exclusive__access__bubble.cc new file mode 100644 index 000000000000..c3704c9ebe7d --- /dev/null +++ b/www/iridium/files/patch-chrome_browser_ui_exclusive__access_exclusive__access__bubble.cc @@ -0,0 +1,11 @@ +--- chrome/browser/ui/exclusive_access/exclusive_access_bubble.cc.orig 2019-03-11 22:00:54 UTC ++++ chrome/browser/ui/exclusive_access/exclusive_access_bubble.cc +@@ -16,7 +16,7 @@ + + // NOTE(koz): Linux doesn't use the thick shadowed border, so we add padding + // here. +-#if defined(OS_LINUX) ++#if defined(OS_LINUX) || defined(OS_BSD) + const int ExclusiveAccessBubble::kPaddingPx = 8; + #else + const int ExclusiveAccessBubble::kPaddingPx = 15; diff --git a/www/iridium/files/patch-chrome_browser_ui_gtk_print__dialog__gtk.cc b/www/iridium/files/patch-chrome_browser_ui_gtk_print__dialog__gtk.cc new file mode 100644 index 000000000000..6d796805d2fa --- /dev/null +++ b/www/iridium/files/patch-chrome_browser_ui_gtk_print__dialog__gtk.cc @@ -0,0 +1,11 @@ +--- chrome/browser/ui/gtk/print_dialog_gtk.cc.orig 2020-03-16 18:40:30 UTC ++++ chrome/browser/ui/gtk/print_dialog_gtk.cc +@@ -336,7 +336,7 @@ void PrintDialogGtk::ShowDialog( + // Since we only generate PDF, only show printers that support PDF. + // TODO(thestig) Add more capabilities to support? + GtkPrintCapabilities cap = static_cast<GtkPrintCapabilities>( +- GTK_PRINT_CAPABILITY_GENERATE_PDF | GTK_PRINT_CAPABILITY_PAGE_SET | ++ GTK_PRINT_CAPABILITY_GENERATE_PS | GTK_PRINT_CAPABILITY_GENERATE_PDF | GTK_PRINT_CAPABILITY_PAGE_SET | + GTK_PRINT_CAPABILITY_COPIES | GTK_PRINT_CAPABILITY_COLLATE | + GTK_PRINT_CAPABILITY_REVERSE); + gtk_print_unix_dialog_set_manual_capabilities(GTK_PRINT_UNIX_DIALOG(dialog_), diff --git a/www/iridium/files/patch-chrome_browser_ui_input__method_input__method__engine__base.cc b/www/iridium/files/patch-chrome_browser_ui_input__method_input__method__engine__base.cc new file mode 100644 index 000000000000..fd379c49386c --- /dev/null +++ b/www/iridium/files/patch-chrome_browser_ui_input__method_input__method__engine__base.cc @@ -0,0 +1,11 @@ +--- chrome/browser/ui/input_method/input_method_engine_base.cc.orig 2020-02-03 21:53:29 UTC ++++ chrome/browser/ui/input_method/input_method_engine_base.cc +@@ -31,7 +31,7 @@ + #include "ui/base/ime/chromeos/ime_keymap.h" + #elif defined(OS_WIN) + #include "ui/events/keycodes/keyboard_codes_win.h" +-#elif defined(OS_LINUX) ++#elif defined(OS_LINUX) || defined(OS_BSD) + #include "ui/events/keycodes/keyboard_codes_posix.h" + #endif + diff --git a/www/iridium/files/patch-chrome_browser_ui_sad__tab.cc b/www/iridium/files/patch-chrome_browser_ui_sad__tab.cc new file mode 100644 index 000000000000..d03e6c550af9 --- /dev/null +++ b/www/iridium/files/patch-chrome_browser_ui_sad__tab.cc @@ -0,0 +1,11 @@ +--- chrome/browser/ui/sad_tab.cc.orig 2020-03-16 18:39:45 UTC ++++ chrome/browser/ui/sad_tab.cc +@@ -188,7 +188,7 @@ std::vector<int> SadTab::GetSubMessages() { + // Only show Incognito suggestion if not already in Incognito mode. + if (!web_contents_->GetBrowserContext()->IsOffTheRecord()) + message_ids.insert(message_ids.begin(), IDS_SAD_TAB_RELOAD_INCOGNITO); +-#if defined(OS_MACOSX) || defined(OS_LINUX) ++#if defined(OS_MACOSX) || defined(OS_LINUX) || defined(OS_BSD) + // Note: on macOS, Linux and ChromeOS, the first bullet is either one of + // IDS_SAD_TAB_RELOAD_CLOSE_TABS or IDS_SAD_TAB_RELOAD_CLOSE_NOTABS + // followed by one of the above suggestions. diff --git a/www/iridium/files/patch-chrome_browser_ui_startup_bad__flags__prompt.cc b/www/iridium/files/patch-chrome_browser_ui_startup_bad__flags__prompt.cc new file mode 100644 index 000000000000..e40b9803cffb --- /dev/null +++ b/www/iridium/files/patch-chrome_browser_ui_startup_bad__flags__prompt.cc @@ -0,0 +1,11 @@ +--- chrome/browser/ui/startup/bad_flags_prompt.cc.orig 2020-02-03 21:53:29 UTC ++++ chrome/browser/ui/startup/bad_flags_prompt.cc +@@ -87,7 +87,7 @@ static const char* kBadFlags[] = { + extensions::switches::kExtensionsOnChromeURLs, + #endif + +-#if defined(OS_LINUX) && !defined(OS_CHROMEOS) ++#if (defined(OS_LINUX) || defined(OS_BSD)) && !defined(OS_CHROMEOS) + // Speech dispatcher is buggy, it can crash and it can make Chrome freeze. + // http://crbug.com/327295 + switches::kEnableSpeechDispatcher, diff --git a/www/iridium/files/patch-chrome_browser_ui_startup_startup__browser__creator.cc b/www/iridium/files/patch-chrome_browser_ui_startup_startup__browser__creator.cc new file mode 100644 index 000000000000..b3cf9e596cbe --- /dev/null +++ b/www/iridium/files/patch-chrome_browser_ui_startup_startup__browser__creator.cc @@ -0,0 +1,31 @@ +--- chrome/browser/ui/startup/startup_browser_creator.cc.orig 2020-02-03 21:52:41 UTC ++++ chrome/browser/ui/startup/startup_browser_creator.cc +@@ -82,7 +82,7 @@ + #include "chrome/browser/ui/user_manager.h" + #endif + +-#if defined(TOOLKIT_VIEWS) && defined(OS_LINUX) ++#if defined(TOOLKIT_VIEWS) && (defined(OS_LINUX) || defined(OS_BSD)) + #include "ui/events/devices/x11/touch_factory_x11.h" // nogncheck + #endif + +@@ -291,7 +291,7 @@ bool IsSilentLaunchEnabled(const base::CommandLine& co + // true, send a warning if guest mode is requested but not allowed by policy. + bool IsGuestModeEnforced(const base::CommandLine& command_line, + bool show_warning) { +-#if defined(OS_LINUX) || defined(OS_WIN) || defined(OS_MACOSX) ++#if defined(OS_LINUX) || defined(OS_WIN) || defined(OS_MACOSX) || defined(OS_BSD) + PrefService* service = g_browser_process->local_state(); + DCHECK(service); + +@@ -662,8 +662,10 @@ bool StartupBrowserCreator::ProcessCmdLineImpl( + } + #endif // OS_CHROMEOS + ++#if 0 /* XXX */ + #if defined(TOOLKIT_VIEWS) && defined(USE_X11) + ui::TouchFactory::SetTouchDeviceListFromCommandLine(); ++#endif + #endif + + #if defined(OS_MACOSX) diff --git a/www/iridium/files/patch-chrome_browser_ui_tab__helpers.cc b/www/iridium/files/patch-chrome_browser_ui_tab__helpers.cc new file mode 100644 index 000000000000..053ec7216342 --- /dev/null +++ b/www/iridium/files/patch-chrome_browser_ui_tab__helpers.cc @@ -0,0 +1,25 @@ +--- chrome/browser/ui/tab_helpers.cc.orig 2020-03-16 18:40:30 UTC ++++ chrome/browser/ui/tab_helpers.cc +@@ -132,7 +132,7 @@ + #include "components/zoom/zoom_controller.h" + #endif // defined(OS_ANDROID) + +-#if defined(OS_WIN) || defined(OS_MACOSX) || defined(OS_LINUX) ++#if defined(OS_WIN) || defined(OS_MACOSX) || defined(OS_LINUX) || defined(OS_BSD) + #include "chrome/browser/ui/blocked_content/framebust_block_tab_helper.h" + #include "chrome/browser/ui/hats/hats_helper.h" + #endif +@@ -347,11 +347,11 @@ void TabHelpers::AttachTabHelpers(WebContents* web_con + #endif + + #if defined(OS_WIN) || defined(OS_MACOSX) || \ +- (defined(OS_LINUX) && !defined(OS_CHROMEOS)) ++ (defined(OS_LINUX) && !defined(OS_CHROMEOS)) || defined(OS_BSD) + metrics::DesktopSessionDurationObserver::CreateForWebContents(web_contents); + #endif + +-#if defined(OS_WIN) || defined(OS_MACOSX) || defined(OS_LINUX) ++#if defined(OS_WIN) || defined(OS_MACOSX) || defined(OS_LINUX) || defined(OS_BSD) + if (base::FeatureList::IsEnabled( + features::kHappinessTrackingSurveysForDesktop) || + base::FeatureList::IsEnabled( diff --git a/www/iridium/files/patch-chrome_browser_ui_task__manager_task__manager__columns.cc b/www/iridium/files/patch-chrome_browser_ui_task__manager_task__manager__columns.cc new file mode 100644 index 000000000000..a5abcc83206d --- /dev/null +++ b/www/iridium/files/patch-chrome_browser_ui_task__manager_task__manager__columns.cc @@ -0,0 +1,15 @@ +--- chrome/browser/ui/task_manager/task_manager_columns.cc.orig 2019-03-11 22:00:54 UTC ++++ chrome/browser/ui/task_manager/task_manager_columns.cc +@@ -93,10 +93,10 @@ const TableColumnData kColumns[] = { + base::size("100000") * kCharWidth, -1, true, false, false}, + #endif + +-#if defined(OS_LINUX) || defined(OS_MACOSX) ++#if defined(OS_LINUX) || defined(OS_MACOSX) || defined(OS_BSD) + {IDS_TASK_MANAGER_OPEN_FD_COUNT_COLUMN, ui::TableColumn::RIGHT, -1, 0, + base::size("999") * kCharWidth, -1, true, false, false}, +-#endif // defined(OS_LINUX) || defined(OS_MACOSX) ++#endif // defined(OS_LINUX) || defined(OS_MACOSX) || defined(OS_BSD) + {IDS_TASK_MANAGER_PROCESS_PRIORITY_COLUMN, ui::TableColumn::LEFT, -1, 0, + base::size("background") * kCharWidth, -1, true, true, false}, + {IDS_TASK_MANAGER_KEEPALIVE_COUNT_COLUMN, ui::TableColumn::RIGHT, -1, 0, diff --git a/www/iridium/files/patch-chrome_browser_ui_task__manager_task__manager__table__model.cc b/www/iridium/files/patch-chrome_browser_ui_task__manager_task__manager__table__model.cc new file mode 100644 index 000000000000..0f8d7e671406 --- /dev/null +++ b/www/iridium/files/patch-chrome_browser_ui_task__manager_task__manager__table__model.cc @@ -0,0 +1,50 @@ +--- chrome/browser/ui/task_manager/task_manager_table_model.cc.orig 2019-12-16 21:50:43 UTC ++++ chrome/browser/ui/task_manager/task_manager_table_model.cc +@@ -450,13 +450,13 @@ base::string16 TaskManagerTableModel::GetText(int row, + ? stringifier_->backgrounded_string() + : stringifier_->foregrounded_string(); + +-#if defined(OS_LINUX) || defined(OS_MACOSX) ++#if defined(OS_LINUX) || defined(OS_MACOSX) || defined(OS_BSD) + case IDS_TASK_MANAGER_OPEN_FD_COUNT_COLUMN: { + const int fd_count = observed_task_manager()->GetOpenFdCount(tasks_[row]); + return fd_count >= 0 ? base::FormatNumber(fd_count) + : stringifier_->n_a_string(); + } +-#endif // defined(OS_LINUX) || defined(OS_MACOSX) ++#endif // defined(OS_LINUX) || defined(OS_MACOSX) || defined(OS_BSD) + + case IDS_TASK_MANAGER_KEEPALIVE_COUNT_COLUMN: { + return stringifier_->GetKeepaliveCountText( +@@ -616,7 +616,7 @@ int TaskManagerTableModel::CompareValues(int row1, + return BooleanCompare(is_proc1_bg, is_proc2_bg); + } + +-#if defined(OS_LINUX) || defined(OS_MACOSX) ++#if defined(OS_LINUX) || defined(OS_MACOSX) || defined(OS_BSD) + case IDS_TASK_MANAGER_OPEN_FD_COUNT_COLUMN: { + const int proc1_fd_count = + observed_task_manager()->GetOpenFdCount(tasks_[row1]); +@@ -624,7 +624,7 @@ int TaskManagerTableModel::CompareValues(int row1, + observed_task_manager()->GetOpenFdCount(tasks_[row2]); + return ValueCompare(proc1_fd_count, proc2_fd_count); + } +-#endif // defined(OS_LINUX) || defined(OS_MACOSX) ++#endif // defined(OS_LINUX) || defined(OS_MACOSX) || defined(OS_BSD) + + default: + NOTREACHED(); +@@ -790,11 +790,11 @@ void TaskManagerTableModel::UpdateRefreshTypes(int col + type = REFRESH_TYPE_KEEPALIVE_COUNT; + break; + +-#if defined(OS_LINUX) || defined(OS_MACOSX) ++#if defined(OS_LINUX) || defined(OS_MACOSX) || defined(OS_BSD) + case IDS_TASK_MANAGER_OPEN_FD_COUNT_COLUMN: + type = REFRESH_TYPE_FD_COUNT; + break; +-#endif // defined(OS_LINUX) || defined(OS_MACOSX) ++#endif // defined(OS_LINUX) || defined(OS_MACOSX) || defined(OS_BSD) + + default: + NOTREACHED(); diff --git a/www/iridium/files/patch-chrome_browser_ui_toolbar_app__menu__model.cc b/www/iridium/files/patch-chrome_browser_ui_toolbar_app__menu__model.cc new file mode 100644 index 000000000000..f348ce9eaf16 --- /dev/null +++ b/www/iridium/files/patch-chrome_browser_ui_toolbar_app__menu__model.cc @@ -0,0 +1,11 @@ +--- chrome/browser/ui/toolbar/app_menu_model.cc.orig 2020-03-16 18:40:30 UTC ++++ chrome/browser/ui/toolbar/app_menu_model.cc +@@ -684,7 +684,7 @@ bool AppMenuModel::IsCommandIdVisible(int command_id) + return app_menu_icon_controller_->GetTypeAndSeverity().type == + AppMenuIconController::IconType::UPGRADE_NOTIFICATION; + } +-#if !defined(OS_LINUX) || defined(USE_AURA) ++#if (!defined(OS_LINUX) && !defined(OS_BSD)) || defined(USE_AURA) + case IDC_BOOKMARK_THIS_TAB: + return !chrome::ShouldRemoveBookmarkThisTabUI(browser_->profile()); + case IDC_BOOKMARK_ALL_TABS: diff --git a/www/iridium/files/patch-chrome_browser_ui_views_accelerator__table.cc b/www/iridium/files/patch-chrome_browser_ui_views_accelerator__table.cc new file mode 100644 index 000000000000..5b89c27e8d36 --- /dev/null +++ b/www/iridium/files/patch-chrome_browser_ui_views_accelerator__table.cc @@ -0,0 +1,46 @@ +--- chrome/browser/ui/views/accelerator_table.cc.orig 2019-09-09 21:55:11 UTC ++++ chrome/browser/ui/views/accelerator_table.cc +@@ -51,7 +51,7 @@ const AcceleratorMapping kAcceleratorMap[] = { + {ui::VKEY_S, ui::EF_PLATFORM_ACCELERATOR, IDC_SAVE_PAGE}, + {ui::VKEY_9, ui::EF_PLATFORM_ACCELERATOR, IDC_SELECT_LAST_TAB}, + {ui::VKEY_NUMPAD9, ui::EF_PLATFORM_ACCELERATOR, IDC_SELECT_LAST_TAB}, +-#if defined(OS_LINUX) && !defined(OS_CHROMEOS) ++#if (defined(OS_LINUX) || defined(OS_BSD)) && !defined(OS_CHROMEOS) + {ui::VKEY_9, ui::EF_ALT_DOWN, IDC_SELECT_LAST_TAB}, + {ui::VKEY_NUMPAD9, ui::EF_ALT_DOWN, IDC_SELECT_LAST_TAB}, + {ui::VKEY_NEXT, ui::EF_CONTROL_DOWN | ui::EF_SHIFT_DOWN, IDC_MOVE_TAB_NEXT}, +@@ -81,7 +81,7 @@ const AcceleratorMapping kAcceleratorMap[] = { + {ui::VKEY_NUMPAD7, ui::EF_PLATFORM_ACCELERATOR, IDC_SELECT_TAB_6}, + {ui::VKEY_8, ui::EF_PLATFORM_ACCELERATOR, IDC_SELECT_TAB_7}, + {ui::VKEY_NUMPAD8, ui::EF_PLATFORM_ACCELERATOR, IDC_SELECT_TAB_7}, +-#if defined(OS_LINUX) && !defined(OS_CHROMEOS) ++#if (defined(OS_LINUX) || defined(OS_BSD)) && !defined(OS_CHROMEOS) + {ui::VKEY_1, ui::EF_ALT_DOWN, IDC_SELECT_TAB_0}, + {ui::VKEY_NUMPAD1, ui::EF_ALT_DOWN, IDC_SELECT_TAB_0}, + {ui::VKEY_2, ui::EF_ALT_DOWN, IDC_SELECT_TAB_1}, +@@ -99,7 +99,7 @@ const AcceleratorMapping kAcceleratorMap[] = { + {ui::VKEY_8, ui::EF_ALT_DOWN, IDC_SELECT_TAB_7}, + {ui::VKEY_NUMPAD8, ui::EF_ALT_DOWN, IDC_SELECT_TAB_7}, + {ui::VKEY_BROWSER_FAVORITES, ui::EF_NONE, IDC_SHOW_BOOKMARK_BAR}, +-#endif // OS_LINUX && !OS_CHROMEOS ++#endif // (OS_LINUX || OS_BSD) && !OS_CHROMEOS + {ui::VKEY_B, ui::EF_SHIFT_DOWN | ui::EF_PLATFORM_ACCELERATOR, + IDC_SHOW_BOOKMARK_BAR}, + {ui::VKEY_OEM_MINUS, ui::EF_PLATFORM_ACCELERATOR, IDC_ZOOM_MINUS}, +@@ -125,14 +125,14 @@ const AcceleratorMapping kAcceleratorMap[] = { + IDC_SHOW_AVATAR_MENU}, + + // Platform-specific key maps. +-#if defined(OS_LINUX) ++#if defined(OS_LINUX) || defined(OS_BSD) + {ui::VKEY_BROWSER_BACK, ui::EF_NONE, IDC_BACK}, + {ui::VKEY_BROWSER_FORWARD, ui::EF_NONE, IDC_FORWARD}, + {ui::VKEY_BROWSER_HOME, ui::EF_NONE, IDC_HOME}, + {ui::VKEY_BROWSER_REFRESH, ui::EF_NONE, IDC_RELOAD}, + {ui::VKEY_BROWSER_REFRESH, ui::EF_CONTROL_DOWN, IDC_RELOAD_BYPASSING_CACHE}, + {ui::VKEY_BROWSER_REFRESH, ui::EF_SHIFT_DOWN, IDC_RELOAD_BYPASSING_CACHE}, +-#endif // defined(OS_LINUX) ++#endif // defined(OS_LINUX) || defined(OS_BSD) + + #if defined(OS_CHROMEOS) + // On Chrome OS, VKEY_BROWSER_SEARCH is handled in Ash. diff --git a/www/iridium/files/patch-chrome_browser_ui_views_chrome__browser__main__extra__parts__views.cc b/www/iridium/files/patch-chrome_browser_ui_views_chrome__browser__main__extra__parts__views.cc new file mode 100644 index 000000000000..47a25b7a998d --- /dev/null +++ b/www/iridium/files/patch-chrome_browser_ui_views_chrome__browser__main__extra__parts__views.cc @@ -0,0 +1,38 @@ +--- chrome/browser/ui/views/chrome_browser_main_extra_parts_views.cc.orig 2020-02-03 21:52:41 UTC ++++ chrome/browser/ui/views/chrome_browser_main_extra_parts_views.cc +@@ -33,7 +33,7 @@ + #include "ui/wm/core/wm_state.h" + #endif // defined(USE_AURA) + +-#if defined(OS_LINUX) && !defined(OS_CHROMEOS) ++#if (defined(OS_BSD) || defined(OS_LINUX)) && !defined(OS_CHROMEOS) + #include <sys/stat.h> + #include <sys/types.h> + #include <unistd.h> +@@ -43,7 +43,7 @@ + #include "chrome/grit/generated_resources.h" + #include "content/public/common/content_switches.h" + #include "ui/base/l10n/l10n_util.h" +-#endif // defined(OS_LINUX) && !defined(OS_CHROMEOS) ++#endif // (defined(OS_BSD) || defined(OS_LINUX)) && !defined(OS_CHROMEOS) + + // This connector is used in ui_devtools's TracingAgent to hook up with the + // tracing service. +@@ -105,7 +105,7 @@ void ChromeBrowserMainExtraPartsViews::PreProfileInit( + devtools_server_->tracing_agent()); + } + +-#if defined(OS_LINUX) && !defined(OS_CHROMEOS) ++#if (defined(OS_BSD) || defined(OS_LINUX)) && !defined(OS_CHROMEOS) + // On the Linux desktop, we want to prevent the user from logging in as root, + // so that we don't destroy the profile. Now that we have some minimal ui + // initialized, check to see if we're running as root and bail if we are. +@@ -136,7 +136,7 @@ void ChromeBrowserMainExtraPartsViews::PreProfileInit( + base::RunLoop().RunUntilIdle(); + + exit(EXIT_FAILURE); +-#endif // defined(OS_LINUX) && !defined(OS_CHROMEOS) ++#endif // (defined(OS_BSD) || defined(OS_LINUX)) && !defined(OS_CHROMEOS) + } + + void ChromeBrowserMainExtraPartsViews::PostBrowserStart() { diff --git a/www/iridium/files/patch-chrome_browser_ui_views_chrome__views__delegate.h b/www/iridium/files/patch-chrome_browser_ui_views_chrome__views__delegate.h new file mode 100644 index 000000000000..59453a839cab --- /dev/null +++ b/www/iridium/files/patch-chrome_browser_ui_views_chrome__views__delegate.h @@ -0,0 +1,11 @@ +--- chrome/browser/ui/views/chrome_views_delegate.h.orig 2019-06-04 18:55:18 UTC ++++ chrome/browser/ui/views/chrome_views_delegate.h +@@ -44,7 +44,7 @@ class ChromeViewsDelegate : public views::ViewsDelegat + HICON GetSmallWindowIcon() const override; + int GetAppbarAutohideEdges(HMONITOR monitor, + base::OnceClosure callback) override; +-#elif defined(OS_LINUX) && !defined(OS_CHROMEOS) ++#elif (defined(OS_LINUX) && !defined(OS_CHROMEOS)) || defined(OS_BSD) + gfx::ImageSkia* GetDefaultWindowIcon() const override; + bool WindowManagerProvidesTitleBar(bool maximized) override; + #endif diff --git a/www/iridium/files/patch-chrome_browser_ui_views_download_download__item__view.cc b/www/iridium/files/patch-chrome_browser_ui_views_download_download__item__view.cc new file mode 100644 index 000000000000..2e9f1501f8a7 --- /dev/null +++ b/www/iridium/files/patch-chrome_browser_ui_views_download_download__item__view.cc @@ -0,0 +1,20 @@ +--- chrome/browser/ui/views/download/download_item_view.cc.orig 2020-03-17 09:40:34 UTC ++++ chrome/browser/ui/views/download/download_item_view.cc +@@ -234,7 +234,7 @@ DownloadItemView::DownloadItemView(DownloadUIModel::Do + open_button_ = AddChildView(std::move(open_button)); + + int file_name_style = views::style::STYLE_PRIMARY; +-#if !defined(OS_LINUX) ++#if !defined(OS_LINUX) && !defined(OS_BSD) + if (base::FeatureList::IsEnabled(safe_browsing::kUseNewDownloadWarnings)) + file_name_style = STYLE_EMPHASIZED; + #endif +@@ -1633,7 +1633,7 @@ void DownloadItemView::StyleFilenameInLabel(views::Sty + if (!base::FeatureList::IsEnabled(safe_browsing::kUseNewDownloadWarnings)) + return; + +-#if !defined(OS_LINUX) ++#if !defined(OS_LINUX) && !defined(OS_BSD) + base::string16 filename = ElidedFilename(); + size_t file_name_position = label->GetText().find(filename); + if (file_name_position != std::string::npos) { diff --git a/www/iridium/files/patch-chrome_browser_ui_views_first__run__dialog.cc b/www/iridium/files/patch-chrome_browser_ui_views_first__run__dialog.cc new file mode 100644 index 000000000000..d2029ff732a8 --- /dev/null +++ b/www/iridium/files/patch-chrome_browser_ui_views_first__run__dialog.cc @@ -0,0 +1,13 @@ +--- chrome/browser/ui/views/first_run_dialog.cc.orig 2020-03-16 18:40:30 UTC ++++ chrome/browser/ui/views/first_run_dialog.cc +@@ -114,8 +114,10 @@ void FirstRunDialog::Done() { + bool FirstRunDialog::Accept() { + GetWidget()->Hide(); + ++#if !defined(OS_BSD) + ChangeMetricsReportingStateWithReply(report_crashes_->GetChecked(), + base::Bind(&InitCrashReporterIfEnabled)); ++#endif + + if (make_default_->GetChecked()) + shell_integration::SetAsDefaultBrowser(); diff --git a/www/iridium/files/patch-chrome_browser_ui_views_frame_browser__frame.cc b/www/iridium/files/patch-chrome_browser_ui_views_frame_browser__frame.cc new file mode 100644 index 000000000000..c1d853c940c7 --- /dev/null +++ b/www/iridium/files/patch-chrome_browser_ui_views_frame_browser__frame.cc @@ -0,0 +1,11 @@ +--- chrome/browser/ui/views/frame/browser_frame.cc.orig 2019-10-21 19:06:24 UTC ++++ chrome/browser/ui/views/frame/browser_frame.cc +@@ -46,7 +46,7 @@ + namespace { + + bool IsUsingGtkTheme(Profile* profile) { +-#if defined(OS_LINUX) && !defined(OS_CHROMEOS) ++#if (defined(OS_LINUX) && !defined(OS_CHROMEOS)) || defined(OS_BSD) + return ThemeServiceFactory::GetForProfile(profile)->UsingSystemTheme(); + #else + return false; diff --git a/www/iridium/files/patch-chrome_browser_ui_views_frame_browser__non__client__frame__view__factory__views.cc b/www/iridium/files/patch-chrome_browser_ui_views_frame_browser__non__client__frame__view__factory__views.cc new file mode 100644 index 000000000000..cca78f0e9ece --- /dev/null +++ b/www/iridium/files/patch-chrome_browser_ui_views_frame_browser__non__client__frame__view__factory__views.cc @@ -0,0 +1,20 @@ +--- chrome/browser/ui/views/frame/browser_non_client_frame_view_factory_views.cc.orig 2019-03-11 22:00:54 UTC ++++ chrome/browser/ui/views/frame/browser_non_client_frame_view_factory_views.cc +@@ -13,7 +13,7 @@ + #include "chrome/browser/ui/views/frame/glass_browser_frame_view.h" + #endif + +-#if defined(OS_LINUX) && !defined(OS_CHROMEOS) ++#if (defined(OS_BSD) || defined(OS_LINUX)) && !defined(OS_CHROMEOS) + #include "ui/views/linux_ui/linux_ui.h" + #endif + +@@ -32,7 +32,7 @@ OpaqueBrowserFrameView* CreateOpaqueBrowserFrameView( + BrowserView* browser_view) { + #if BUILDFLAG(ENABLE_NATIVE_WINDOW_NAV_BUTTONS) + std::unique_ptr<views::NavButtonProvider> nav_button_provider; +-#if defined(OS_LINUX) && !defined(OS_CHROMEOS) ++#if (defined(OS_LINUX) && !defined(OS_CHROMEOS)) || defined(OS_BSD) + if (ThemeServiceFactory::GetForProfile(browser_view->browser()->profile()) + ->UsingSystemTheme() && + views::LinuxUI::instance()) { diff --git a/www/iridium/files/patch-chrome_browser_ui_views_frame_browser__view.cc b/www/iridium/files/patch-chrome_browser_ui_views_frame_browser__view.cc new file mode 100644 index 000000000000..b69b8869760f --- /dev/null +++ b/www/iridium/files/patch-chrome_browser_ui_views_frame_browser__view.cc @@ -0,0 +1,11 @@ +--- chrome/browser/ui/views/frame/browser_view.cc.orig 2020-03-16 18:40:30 UTC ++++ chrome/browser/ui/views/frame/browser_view.cc +@@ -1633,7 +1633,7 @@ void BrowserView::UserChangedTheme(BrowserThemeChangeT + const bool should_use_native_frame = frame_->ShouldUseNativeFrame(); + + bool must_regenerate_frame; +-#if defined(OS_LINUX) && !defined(OS_CHROMEOS) ++#if (defined(OS_LINUX) && !defined(OS_CHROMEOS)) || defined(OS_BSD) + // GTK and user theme changes can both change frame buttons, so the frame + // always needs to be regenerated on Linux. + must_regenerate_frame = true; diff --git a/www/iridium/files/patch-chrome_browser_ui_views_frame_opaque__browser__frame__view.cc b/www/iridium/files/patch-chrome_browser_ui_views_frame_opaque__browser__frame__view.cc new file mode 100644 index 000000000000..9429876dcf27 --- /dev/null +++ b/www/iridium/files/patch-chrome_browser_ui_views_frame_opaque__browser__frame__view.cc @@ -0,0 +1,29 @@ +--- chrome/browser/ui/views/frame/opaque_browser_frame_view.cc.orig 2020-03-16 18:39:45 UTC ++++ chrome/browser/ui/views/frame/opaque_browser_frame_view.cc +@@ -48,7 +48,7 @@ + #include "ui/views/window/vector_icons/vector_icons.h" + #include "ui/views/window/window_shape.h" + +-#if defined(OS_LINUX) ++#if defined(OS_LINUX) || defined(OS_BSD) + #include "ui/views/controls/menu/menu_runner.h" + #endif + +@@ -349,7 +349,7 @@ void OpaqueBrowserFrameView::ButtonPressed(views::Butt + } else if (sender == close_button_) { + frame()->CloseWithReason(views::Widget::ClosedReason::kCloseButtonClicked); + } else if (sender == window_icon_) { +-#if defined(OS_LINUX) ++#if defined(OS_LINUX) || defined(OS_BSD) + // TODO(pbos): Figure out / document why this is Linux only. This needs a + // comment. + views::MenuRunner menu_runner(frame()->GetSystemMenuModel(), +@@ -478,7 +478,7 @@ bool OpaqueBrowserFrameView::EverHasVisibleBackgroundT + + OpaqueBrowserFrameView::FrameButtonStyle + OpaqueBrowserFrameView::GetFrameButtonStyle() const { +-#if defined(OS_LINUX) && !defined(OS_CHROMEOS) ++#if (defined(OS_LINUX) && !defined(OS_CHROMEOS)) || defined(OS_BSD) + return FrameButtonStyle::kMdButton; + #else + return FrameButtonStyle::kImageButton; diff --git a/www/iridium/files/patch-chrome_browser_ui_views_frame_opaque__browser__frame__view__platform__specific.cc b/www/iridium/files/patch-chrome_browser_ui_views_frame_opaque__browser__frame__view__platform__specific.cc new file mode 100644 index 000000000000..0586d8bb467d --- /dev/null +++ b/www/iridium/files/patch-chrome_browser_ui_views_frame_opaque__browser__frame__view__platform__specific.cc @@ -0,0 +1,11 @@ +--- chrome/browser/ui/views/frame/opaque_browser_frame_view_platform_specific.cc.orig 2019-04-30 22:22:36 UTC ++++ chrome/browser/ui/views/frame/opaque_browser_frame_view_platform_specific.cc +@@ -6,7 +6,7 @@ + + #include "build/build_config.h" + +-#if !defined(OS_LINUX) ++#if !defined(OS_LINUX) && !defined(OS_FREEBSD) + + // static + std::unique_ptr<OpaqueBrowserFrameViewPlatformSpecific> diff --git a/www/iridium/files/patch-chrome_browser_ui_views_frame_system__menu__model__builder.cc b/www/iridium/files/patch-chrome_browser_ui_views_frame_system__menu__model__builder.cc new file mode 100644 index 000000000000..dc06c4f10c39 --- /dev/null +++ b/www/iridium/files/patch-chrome_browser_ui_views_frame_system__menu__model__builder.cc @@ -0,0 +1,29 @@ +--- chrome/browser/ui/views/frame/system_menu_model_builder.cc.orig 2020-02-03 21:52:41 UTC ++++ chrome/browser/ui/views/frame/system_menu_model_builder.cc +@@ -62,7 +62,7 @@ void SystemMenuModelBuilder::BuildMenu(ui::SimpleMenuM + + void SystemMenuModelBuilder::BuildSystemMenuForBrowserWindow( + ui::SimpleMenuModel* model) { +-#if defined(OS_LINUX) && !defined(OS_CHROMEOS) ++#if (defined(OS_LINUX) && !defined(OS_CHROMEOS)) || defined(OS_BSD) + model->AddItemWithStringId(IDC_MINIMIZE_WINDOW, IDS_MINIMIZE_WINDOW_MENU); + model->AddItemWithStringId(IDC_MAXIMIZE_WINDOW, IDS_MAXIMIZE_WINDOW_MENU); + model->AddItemWithStringId(IDC_RESTORE_WINDOW, IDS_RESTORE_WINDOW_MENU); +@@ -75,7 +75,7 @@ void SystemMenuModelBuilder::BuildSystemMenuForBrowser + model->AddSeparator(ui::NORMAL_SEPARATOR); + model->AddItemWithStringId(IDC_TASK_MANAGER, IDS_TASK_MANAGER); + } +-#if defined(OS_LINUX) && !defined(OS_CHROMEOS) ++#if (defined(OS_LINUX) || defined(OS_BSD)) && !defined(OS_CHROMEOS) + model->AddSeparator(ui::NORMAL_SEPARATOR); + model->AddCheckItemWithStringId(IDC_USE_SYSTEM_TITLE_BAR, + IDS_SHOW_WINDOW_DECORATIONS_MENU); +@@ -113,7 +113,7 @@ void SystemMenuModelBuilder::BuildSystemMenuForAppOrPo + model->AddSeparator(ui::NORMAL_SEPARATOR); + model->AddItemWithStringId(IDC_TASK_MANAGER, IDS_TASK_MANAGER); + } +-#if defined(OS_LINUX) && !defined(OS_CHROMEOS) ++#if (defined(OS_LINUX) || defined(OS_BSD)) && !defined(OS_CHROMEOS) + model->AddSeparator(ui::NORMAL_SEPARATOR); + model->AddItemWithStringId(IDC_CLOSE_WINDOW, IDS_CLOSE); + #endif diff --git a/www/iridium/files/patch-chrome_browser_ui_views_frame_system__menu__model__delegate.cc b/www/iridium/files/patch-chrome_browser_ui_views_frame_system__menu__model__delegate.cc new file mode 100644 index 000000000000..0e2672a7af5f --- /dev/null +++ b/www/iridium/files/patch-chrome_browser_ui_views_frame_system__menu__model__delegate.cc @@ -0,0 +1,29 @@ +--- chrome/browser/ui/views/frame/system_menu_model_delegate.cc.orig 2019-06-04 18:55:18 UTC ++++ chrome/browser/ui/views/frame/system_menu_model_delegate.cc +@@ -15,7 +15,7 @@ + #include "components/sessions/core/tab_restore_service.h" + #include "ui/base/l10n/l10n_util.h" + +-#if defined(OS_LINUX) && !defined(OS_CHROMEOS) ++#if (defined(OS_LINUX) || defined(OS_BSD)) && !defined(OS_CHROMEOS) + #include "chrome/common/pref_names.h" + #include "components/prefs/pref_service.h" + #endif +@@ -30,7 +30,7 @@ SystemMenuModelDelegate::SystemMenuModelDelegate( + SystemMenuModelDelegate::~SystemMenuModelDelegate() {} + + bool SystemMenuModelDelegate::IsCommandIdChecked(int command_id) const { +-#if defined(OS_LINUX) && !defined(OS_CHROMEOS) ++#if (defined(OS_LINUX) || defined(OS_BSD)) && !defined(OS_CHROMEOS) + if (command_id == IDC_USE_SYSTEM_TITLE_BAR) { + PrefService* prefs = browser_->profile()->GetPrefs(); + return !prefs->GetBoolean(prefs::kUseCustomChromeFrame); +@@ -44,7 +44,7 @@ bool SystemMenuModelDelegate::IsCommandIdEnabled(int c + } + + bool SystemMenuModelDelegate::IsCommandIdVisible(int command_id) const { +-#if defined(OS_LINUX) && !defined(OS_CHROMEOS) ++#if (defined(OS_LINUX) && !defined(OS_CHROMEOS)) || defined(OS_BSD) + bool is_maximized = browser_->window()->IsMaximized(); + switch (command_id) { + case IDC_MAXIMIZE_WINDOW: diff --git a/www/iridium/files/patch-chrome_browser_ui_views_hung__renderer__view.cc b/www/iridium/files/patch-chrome_browser_ui_views_hung__renderer__view.cc new file mode 100644 index 000000000000..45d717c16389 --- /dev/null +++ b/www/iridium/files/patch-chrome_browser_ui_views_hung__renderer__view.cc @@ -0,0 +1,11 @@ +--- chrome/browser/ui/views/hung_renderer_view.cc.orig 2020-03-16 18:40:30 UTC ++++ chrome/browser/ui/views/hung_renderer_view.cc +@@ -417,7 +417,7 @@ bool HungRendererDialogView::Cancel() { + content::RenderProcessHost* rph = + hung_pages_table_model_->GetRenderWidgetHost()->GetProcess(); + if (rph) { +-#if defined(OS_LINUX) ++#if defined(OS_LINUX) || defined(OS_BSD) + // A generic |CrashDumpHungChildProcess()| is not implemented for Linux. + // Instead we send an explicit IPC to crash on the renderer's IO thread. + rph->ForceCrash(); diff --git a/www/iridium/files/patch-chrome_browser_ui_views_tabs_new__tab__button.cc b/www/iridium/files/patch-chrome_browser_ui_views_tabs_new__tab__button.cc new file mode 100644 index 000000000000..98e130553ec0 --- /dev/null +++ b/www/iridium/files/patch-chrome_browser_ui_views_tabs_new__tab__button.cc @@ -0,0 +1,11 @@ +--- chrome/browser/ui/views/tabs/new_tab_button.cc.orig 2019-12-16 21:51:24 UTC ++++ chrome/browser/ui/views/tabs/new_tab_button.cc +@@ -84,7 +84,7 @@ class NewTabButton::HighlightPathGenerator + NewTabButton::NewTabButton(TabStrip* tab_strip, views::ButtonListener* listener) + : views::ImageButton(listener), tab_strip_(tab_strip) { + set_animate_on_state_change(true); +-#if defined(OS_LINUX) && !defined(OS_CHROMEOS) ++#if (defined(OS_LINUX) || defined(OS_BSD)) && !defined(OS_CHROMEOS) + set_triggerable_event_flags(triggerable_event_flags() | + ui::EF_MIDDLE_MOUSE_BUTTON); + #endif diff --git a/www/iridium/files/patch-chrome_browser_ui_views_tabs_tab.cc b/www/iridium/files/patch-chrome_browser_ui_views_tabs_tab.cc new file mode 100644 index 000000000000..beabaf0792a0 --- /dev/null +++ b/www/iridium/files/patch-chrome_browser_ui_views_tabs_tab.cc @@ -0,0 +1,11 @@ +--- chrome/browser/ui/views/tabs/tab.cc.orig 2020-03-16 18:40:30 UTC ++++ chrome/browser/ui/views/tabs/tab.cc +@@ -584,7 +584,7 @@ void Tab::MaybeUpdateHoverStatus(const ui::MouseEvent& + if (mouse_hovered_ || !GetWidget()->IsMouseEventsEnabled()) + return; + +-#if defined(OS_LINUX) ++#if defined(OS_LINUX) || defined(OS_BSD) + // Move the hit test area for hovering up so that it is not overlapped by tab + // hover cards when they are shown. + // TODO(crbug/978134): Once Linux/CrOS widget transparency is solved, remove diff --git a/www/iridium/files/patch-chrome_browser_ui_views_tabs_tab__drag__controller.cc b/www/iridium/files/patch-chrome_browser_ui_views_tabs_tab__drag__controller.cc new file mode 100644 index 000000000000..166112807cf0 --- /dev/null +++ b/www/iridium/files/patch-chrome_browser_ui_views_tabs_tab__drag__controller.cc @@ -0,0 +1,29 @@ +--- chrome/browser/ui/views/tabs/tab_drag_controller.cc.orig 2020-03-16 18:40:30 UTC ++++ chrome/browser/ui/views/tabs/tab_drag_controller.cc +@@ -450,7 +450,7 @@ void TabDragController::Init(TabDragContext* source_co + // synchronous on desktop Linux, so use that. + // - Chrome OS + // Releasing capture on Ash cancels gestures so avoid it. +-#if defined(OS_LINUX) ++#if defined(OS_LINUX) || defined(OS_BSD) + can_release_capture_ = false; + #endif + start_point_in_screen_ = gfx::Point(source_view_offset, mouse_offset.y()); +@@ -895,7 +895,7 @@ TabDragController::DragBrowserToNewTabStrip(TabDragCon + else + SetCapture(target_context); + +-#if !defined(OS_LINUX) || defined(OS_CHROMEOS) ++#if (!defined(OS_LINUX) || defined(OS_CHROMEOS)) && !defined(OS_BSD) + // EndMoveLoop is going to snap the window back to its original location. + // Hide it so users don't see this. Hiding a window in Linux aura causes + // it to lose capture so skip it. +@@ -2082,7 +2082,7 @@ TabDragController::Liveness TabDragController::GetLoca + if (dragged_window) + exclude.insert(dragged_window); + } +-#if defined(OS_LINUX) && !defined(OS_CHROMEOS) ++#if (defined(OS_LINUX) && !defined(OS_CHROMEOS)) || defined(OS_BSD) + // Exclude windows which are pending deletion via Browser::TabStripEmpty(). + // These windows can be returned in the Linux Aura port because the browser + // window which was used for dragging is not hidden once all of its tabs are diff --git a/www/iridium/files/patch-chrome_browser_ui_webui_about__ui.cc b/www/iridium/files/patch-chrome_browser_ui_webui_about__ui.cc new file mode 100644 index 000000000000..473b7690ddfc --- /dev/null +++ b/www/iridium/files/patch-chrome_browser_ui_webui_about__ui.cc @@ -0,0 +1,20 @@ +--- chrome/browser/ui/webui/about_ui.cc.orig 2020-02-03 21:52:41 UTC ++++ chrome/browser/ui/webui/about_ui.cc +@@ -561,7 +561,7 @@ std::string ChromeURLs() { + return html; + } + +-#if defined(OS_LINUX) || defined(OS_OPENBSD) ++#if defined(OS_LINUX) || defined(OS_BSD) + std::string AboutLinuxProxyConfig() { + std::string data; + AppendHeader(&data, 0, +@@ -617,7 +617,7 @@ void AboutUIHTMLSource::StartDataRequest( + response = + ui::ResourceBundle::GetSharedInstance().LoadDataResourceString(idr); + } +-#if defined(OS_LINUX) || defined(OS_OPENBSD) ++#if defined(OS_LINUX) || defined(OS_BSD) + } else if (source_name_ == chrome::kChromeUILinuxProxyConfigHost) { + response = AboutLinuxProxyConfig(); + #endif diff --git a/www/iridium/files/patch-chrome_browser_ui_webui_chrome__web__ui__controller__factory.cc b/www/iridium/files/patch-chrome_browser_ui_webui_chrome__web__ui__controller__factory.cc new file mode 100644 index 000000000000..6fed2b7df1f6 --- /dev/null +++ b/www/iridium/files/patch-chrome_browser_ui_webui_chrome__web__ui__controller__factory.cc @@ -0,0 +1,55 @@ +--- chrome/browser/ui/webui/chrome_web_ui_controller_factory.cc.orig 2020-03-16 18:40:30 UTC ++++ chrome/browser/ui/webui/chrome_web_ui_controller_factory.cc +@@ -224,11 +224,11 @@ + #include "chrome/browser/ui/webui/conflicts/conflicts_ui.h" + #endif + +-#if defined(OS_WIN) || defined(OS_MACOSX) || defined(OS_LINUX) ++#if defined(OS_WIN) || defined(OS_MACOSX) || defined(OS_LINUX) || defined(OS_BSD) + #include "chrome/browser/ui/webui/discards/discards_ui.h" + #endif + +-#if defined(OS_WIN) || defined(OS_LINUX) || defined(OS_ANDROID) ++#if defined(OS_WIN) || defined(OS_LINUX) || defined(OS_ANDROID) || defined(OS_BSD) + #include "chrome/browser/ui/webui/sandbox/sandbox_internals_ui.h" + #endif + +@@ -337,7 +337,7 @@ bool IsAboutUI(const GURL& url) { + #if !defined(OS_ANDROID) + || url.host_piece() == chrome::kChromeUITermsHost + #endif +-#if defined(OS_LINUX) || defined(OS_OPENBSD) ++#if defined(OS_LINUX) || defined(OS_BSD) + || url.host_piece() == chrome::kChromeUILinuxProxyConfigHost + #endif + #if defined(OS_CHROMEOS) +@@ -669,7 +669,7 @@ WebUIFactoryFunction GetWebUIFactoryFunction(WebUI* we + if (url.host_piece() == chrome::kChromeUINaClHost) + return &NewWebUI<NaClUI>; + #endif +-#if (defined(OS_LINUX) && defined(TOOLKIT_VIEWS)) || defined(USE_AURA) ++#if (defined(OS_LINUX) && defined(TOOLKIT_VIEWS)) || defined(USE_AURA) || defined(OS_BSD) + if (url.host_piece() == chrome::kChromeUITabModalConfirmDialogHost) + return &NewWebUI<ConstrainedWebDialogUI>; + #endif +@@ -717,17 +717,17 @@ WebUIFactoryFunction GetWebUIFactoryFunction(WebUI* we + return &NewWebUI<CastUI>; + } + #endif +-#if defined(OS_WIN) || defined(OS_LINUX) || defined(OS_ANDROID) ++#if defined(OS_WIN) || defined(OS_LINUX) || defined(OS_ANDROID) || defined(OS_BSD) + if (url.host_piece() == chrome::kChromeUISandboxHost) { + return &NewWebUI<SandboxInternalsUI>; + } + #endif +-#if defined(OS_WIN) || defined(OS_MACOSX) || defined(OS_LINUX) ++#if defined(OS_WIN) || defined(OS_MACOSX) || defined(OS_LINUX) || defined(OS_BSD) + if (url.host_piece() == chrome::kChromeUIDiscardsHost) + return &NewWebUI<DiscardsUI>; + #endif + #if defined(OS_WIN) || defined(OS_MACOSX) || \ +- (defined(OS_LINUX) && !defined(OS_CHROMEOS)) ++ (defined(OS_LINUX) && !defined(OS_CHROMEOS)) || defined(OS_BSD) + if (url.host_piece() == chrome::kChromeUIBrowserSwitchHost) + return &NewWebUI<BrowserSwitchUI>; + #endif diff --git a/www/iridium/files/patch-chrome_browser_ui_webui_settings_appearance__handler.cc b/www/iridium/files/patch-chrome_browser_ui_webui_settings_appearance__handler.cc new file mode 100644 index 000000000000..bf333383f3f1 --- /dev/null +++ b/www/iridium/files/patch-chrome_browser_ui_webui_settings_appearance__handler.cc @@ -0,0 +1,20 @@ +--- chrome/browser/ui/webui/settings/appearance_handler.cc.orig 2019-10-21 19:06:24 UTC ++++ chrome/browser/ui/webui/settings/appearance_handler.cc +@@ -27,7 +27,7 @@ void AppearanceHandler::RegisterMessages() { + "useDefaultTheme", + base::BindRepeating(&AppearanceHandler::HandleUseDefaultTheme, + base::Unretained(this))); +-#if defined(OS_LINUX) && !defined(OS_CHROMEOS) ++#if defined(OS_LINUX) || defined(OS_BSD) && !defined(OS_CHROMEOS) + web_ui()->RegisterMessageCallback( + "useSystemTheme", + base::BindRepeating(&AppearanceHandler::HandleUseSystemTheme, +@@ -39,7 +39,7 @@ void AppearanceHandler::HandleUseDefaultTheme(const ba + ThemeServiceFactory::GetForProfile(profile_)->UseDefaultTheme(); + } + +-#if defined(OS_LINUX) && !defined(OS_CHROMEOS) ++#if defined(OS_LINUX) || defined(OS_BSD) && !defined(OS_CHROMEOS) + void AppearanceHandler::HandleUseSystemTheme(const base::ListValue* args) { + if (profile_->IsSupervised()) + NOTREACHED(); diff --git a/www/iridium/files/patch-chrome_browser_ui_webui_settings_appearance__handler.h b/www/iridium/files/patch-chrome_browser_ui_webui_settings_appearance__handler.h new file mode 100644 index 000000000000..79f7e3050fff --- /dev/null +++ b/www/iridium/files/patch-chrome_browser_ui_webui_settings_appearance__handler.h @@ -0,0 +1,11 @@ +--- chrome/browser/ui/webui/settings/appearance_handler.h.orig 2019-03-11 22:00:54 UTC ++++ chrome/browser/ui/webui/settings/appearance_handler.h +@@ -36,7 +36,7 @@ class AppearanceHandler : public SettingsPageUIHandler + // Changes the UI theme of the browser to the default theme. + void HandleUseDefaultTheme(const base::ListValue* args); + +-#if defined(OS_LINUX) && !defined(OS_CHROMEOS) ++#if (defined(OS_BSD) || defined(OS_LINUX)) && !defined(OS_CHROMEOS) + // Changes the UI theme of the browser to the system (GTK+) theme. + void HandleUseSystemTheme(const base::ListValue* args); + #endif diff --git a/www/iridium/files/patch-chrome_browser_ui_webui_settings_settings__localized__strings__provider.cc b/www/iridium/files/patch-chrome_browser_ui_webui_settings_settings__localized__strings__provider.cc new file mode 100644 index 000000000000..8df5419b8753 --- /dev/null +++ b/www/iridium/files/patch-chrome_browser_ui_webui_settings_settings__localized__strings__provider.cc @@ -0,0 +1,20 @@ +--- chrome/browser/ui/webui/settings/settings_localized_strings_provider.cc.orig 2020-03-16 18:40:30 UTC ++++ chrome/browser/ui/webui/settings/settings_localized_strings_provider.cc +@@ -333,7 +333,7 @@ void AddAppearanceStrings(content::WebUIDataSource* ht + {"enterCustomWebAddress", IDS_SETTINGS_ENTER_CUSTOM_WEB_ADDRESS}, + {"homeButtonDisabled", IDS_SETTINGS_HOME_BUTTON_DISABLED}, + {"themes", IDS_SETTINGS_THEMES}, +-#if defined(OS_LINUX) && !defined(OS_CHROMEOS) ++#if (defined(OS_LINUX) && !defined(OS_CHROMEOS)) || defined(OS_BSD) + {"systemTheme", IDS_SETTINGS_SYSTEM_THEME}, + {"useSystemTheme", IDS_SETTINGS_USE_SYSTEM_THEME}, + {"classicTheme", IDS_SETTINGS_CLASSIC_THEME}, +@@ -348,7 +348,7 @@ void AddAppearanceStrings(content::WebUIDataSource* ht + {"changeHomePage", IDS_SETTINGS_CHANGE_HOME_PAGE}, + {"themesGalleryUrl", IDS_THEMES_GALLERY_URL}, + {"chooseFromWebStore", IDS_SETTINGS_WEB_STORE}, +-#if defined(OS_LINUX) && !defined(OS_CHROMEOS) ++#if (defined(OS_LINUX) && !defined(OS_CHROMEOS)) || defined(OS_BSD) + {"showWindowDecorations", IDS_SHOW_WINDOW_DECORATIONS}, + #endif + #if defined(OS_MACOSX) diff --git a/www/iridium/files/patch-chrome_browser_web__applications_components_web__app__file__handler__registration.cc b/www/iridium/files/patch-chrome_browser_web__applications_components_web__app__file__handler__registration.cc new file mode 100644 index 000000000000..abc103c98166 --- /dev/null +++ b/www/iridium/files/patch-chrome_browser_web__applications_components_web__app__file__handler__registration.cc @@ -0,0 +1,11 @@ +--- chrome/browser/web_applications/components/web_app_file_handler_registration.cc.orig 2020-02-07 12:36:50 UTC ++++ chrome/browser/web_applications/components/web_app_file_handler_registration.cc +@@ -15,7 +15,7 @@ namespace web_app { + // + // Note: Because OS_LINUX includes OS_CHROMEOS be sure to use the stub on + // OS_CHROMEOS. +-#if !defined(OS_WIN) && !(defined(OS_LINUX) && !defined(OS_CHROMEOS)) ++#if !defined(OS_WIN) && !((defined(OS_LINUX) || defined(OS_BSD)) && !defined(OS_CHROMEOS)) + bool ShouldRegisterFileHandlersWithOs() { + return false; + } diff --git a/www/iridium/files/patch-chrome_browser_web__applications_components_web__app__shortcut.cc b/www/iridium/files/patch-chrome_browser_web__applications_components_web__app__shortcut.cc new file mode 100644 index 000000000000..934359b14459 --- /dev/null +++ b/www/iridium/files/patch-chrome_browser_web__applications_components_web__app__shortcut.cc @@ -0,0 +1,11 @@ +--- chrome/browser/web_applications/components/web_app_shortcut.cc.orig 2020-03-17 09:41:50 UTC ++++ chrome/browser/web_applications/components/web_app_shortcut.cc +@@ -35,7 +35,7 @@ namespace { + const int kDesiredIconSizesForShortcut[] = {16, 32, 128, 256, 512}; + const size_t kNumDesiredIconSizesForShortcut = + base::size(kDesiredIconSizesForShortcut); +-#elif defined(OS_LINUX) ++#elif defined(OS_LINUX) || defined(OS_BSD) + // Linux supports icons of any size. FreeDesktop Icon Theme Specification states + // that "Minimally you should install a 48x48 icon in the hicolor theme." + const int kDesiredIconSizesForShortcut[] = {16, 32, 48, 128, 256, 512}; diff --git a/www/iridium/files/patch-chrome_browser_web__applications_extensions_bookmark__app__finalizer__utils.cc b/www/iridium/files/patch-chrome_browser_web__applications_extensions_bookmark__app__finalizer__utils.cc new file mode 100644 index 000000000000..9b0d271a91c7 --- /dev/null +++ b/www/iridium/files/patch-chrome_browser_web__applications_extensions_bookmark__app__finalizer__utils.cc @@ -0,0 +1,11 @@ +--- chrome/browser/web_applications/extensions/bookmark_app_finalizer_utils.cc.orig 2019-10-30 15:54:13 UTC ++++ chrome/browser/web_applications/extensions/bookmark_app_finalizer_utils.cc +@@ -15,7 +15,7 @@ namespace { + + #if !defined(OS_CHROMEOS) + bool CanOsAddDesktopShortcuts() { +-#if defined(OS_LINUX) || defined(OS_WIN) ++#if defined(OS_LINUX) || defined(OS_WIN) || defined(OS_BSD) + return true; + #else + return false; diff --git a/www/iridium/files/patch-chrome_common_BUILD.gn b/www/iridium/files/patch-chrome_common_BUILD.gn new file mode 100644 index 000000000000..bf1e0b6e0415 --- /dev/null +++ b/www/iridium/files/patch-chrome_common_BUILD.gn @@ -0,0 +1,13 @@ +--- chrome/common/BUILD.gn.orig 2020-03-16 18:40:30 UTC ++++ chrome/common/BUILD.gn +@@ -272,6 +272,10 @@ static_library("common") { + public_deps += [ "//ppapi/shared_impl" ] + } + ++ if (is_bsd) { ++ sources -= [ "component_flash_hint_file_linux.cc" ] ++ } ++ + if (enable_extensions) { + sources += [ + "cast_messages.cc", diff --git a/www/iridium/files/patch-chrome_common_channel__info.h b/www/iridium/files/patch-chrome_common_channel__info.h new file mode 100644 index 000000000000..b290d11bd40c --- /dev/null +++ b/www/iridium/files/patch-chrome_common_channel__info.h @@ -0,0 +1,11 @@ +--- chrome/common/channel_info.h.orig 2019-12-17 19:22:25 UTC ++++ chrome/common/channel_info.h +@@ -55,7 +55,7 @@ version_info::Channel GetChannelByName(const std::stri + std::string GetChannelSuffixForDataDir(); + #endif + +-#if defined(OS_LINUX) && !defined(OS_CHROMEOS) ++#if (defined(OS_LINUX) && !defined(OS_CHROMEOS)) || defined(OS_BSD) + // Returns the channel-specific filename of the desktop shortcut used to launch + // the browser. + std::string GetDesktopName(base::Environment* env); diff --git a/www/iridium/files/patch-chrome_common_channel__info__posix.cc b/www/iridium/files/patch-chrome_common_channel__info__posix.cc new file mode 100644 index 000000000000..11726bed5663 --- /dev/null +++ b/www/iridium/files/patch-chrome_common_channel__info__posix.cc @@ -0,0 +1,20 @@ +--- chrome/common/channel_info_posix.cc.orig 2020-02-03 21:52:41 UTC ++++ chrome/common/channel_info_posix.cc +@@ -67,7 +67,7 @@ std::string GetChannelSuffixForDataDir() { + } + } + +-#if defined(OS_LINUX) && !defined(OS_CHROMEOS) ++#if (defined(OS_LINUX) && !defined(OS_CHROMEOS)) || defined(OS_BSD) + std::string GetDesktopName(base::Environment* env) { + #if BUILDFLAG(GOOGLE_CHROME_BRANDING) + version_info::Channel product_channel(GetChannel()); +@@ -89,7 +89,7 @@ std::string GetDesktopName(base::Environment* env) { + return "chromium-browser.desktop"; + #endif + } +-#endif // defined(OS_LINUX) && !defined(OS_CHROMEOS) ++#endif // (defined(OS_LINUX) && !defined(OS_CHROMEOS)) || defined(OS_BSD) + + version_info::Channel GetChannel() { + return GetChannelImpl(nullptr); diff --git a/www/iridium/files/patch-chrome_common_chrome__features.cc b/www/iridium/files/patch-chrome_common_chrome__features.cc new file mode 100644 index 000000000000..4591e746fab7 --- /dev/null +++ b/www/iridium/files/patch-chrome_common_chrome__features.cc @@ -0,0 +1,18 @@ +--- chrome/common/chrome_features.cc.orig 2020-03-16 18:40:30 UTC ++++ chrome/common/chrome_features.cc +@@ -86,13 +86,13 @@ const base::Feature kAsyncDns { + #endif + }; + +-#if defined(OS_WIN) || defined(OS_LINUX) ++#if defined(OS_WIN) || defined(OS_LINUX) || defined(OS_BSD) + // Enables the Restart background mode optimization. When all Chrome UI is + // closed and it goes in the background, allows to restart the browser to + // discard memory. + const base::Feature kBackgroundModeAllowRestart{ + "BackgroundModeAllowRestart", base::FEATURE_DISABLED_BY_DEFAULT}; +-#endif // defined(OS_WIN) || defined(OS_LINUX) ++#endif // defined(OS_WIN) || defined(OS_LINUX) || defined(OS_BSD) + + // Once the user declines a notification permission prompt in a WebContents, + // automatically dismiss subsequent prompts in the same WebContents, from any diff --git a/www/iridium/files/patch-chrome_common_chrome__features.h b/www/iridium/files/patch-chrome_common_chrome__features.h new file mode 100644 index 000000000000..d23bca53bf82 --- /dev/null +++ b/www/iridium/files/patch-chrome_common_chrome__features.h @@ -0,0 +1,15 @@ +--- chrome/common/chrome_features.h.orig 2020-03-16 18:40:30 UTC ++++ chrome/common/chrome_features.h +@@ -68,10 +68,10 @@ extern const base::Feature kAppServiceShelf; + + COMPONENT_EXPORT(CHROME_FEATURES) extern const base::Feature kAsyncDns; + +-#if defined(OS_WIN) || defined(OS_LINUX) ++#if defined(OS_WIN) || defined(OS_LINUX) || defined(OS_BSD) + COMPONENT_EXPORT(CHROME_FEATURES) + extern const base::Feature kBackgroundModeAllowRestart; +-#endif // defined(OS_WIN) || defined(OS_LINUX) ++#endif // defined(OS_WIN) || defined(OS_LINUX) || defined(OS_BSD) + + COMPONENT_EXPORT(CHROME_FEATURES) + extern const base::Feature kBlockRepeatedNotificationPermissionPrompts; diff --git a/www/iridium/files/patch-chrome_common_chrome__paths.cc b/www/iridium/files/patch-chrome_common_chrome__paths.cc new file mode 100644 index 000000000000..8f8695168ae5 --- /dev/null +++ b/www/iridium/files/patch-chrome_common_chrome__paths.cc @@ -0,0 +1,111 @@ +--- chrome/common/chrome_paths.cc.orig 2020-02-03 21:52:41 UTC ++++ chrome/common/chrome_paths.cc +@@ -51,21 +51,21 @@ const base::FilePath::CharType kPepperFlashSystemBaseD + FILE_PATH_LITERAL("Internet Plug-Ins/PepperFlashPlayer"); + #endif + +-#if defined(OS_LINUX) ++#if defined(OS_LINUX) || defined(OS_BSD) + // The path to the external extension <id>.json files. + // /usr/share seems like a good choice, see: http://www.pathname.com/fhs/ + const base::FilePath::CharType kFilepathSinglePrefExtensions[] = + #if BUILDFLAG(GOOGLE_CHROME_BRANDING) +- FILE_PATH_LITERAL("/usr/share/google-chrome/extensions"); ++ FILE_PATH_LITERAL("/usr/local/share/google-chrome/extensions"); + #else +- FILE_PATH_LITERAL("/usr/share/chromium/extensions"); ++ FILE_PATH_LITERAL("/usr/local/share/chromium/extensions"); + #endif // BUILDFLAG(GOOGLE_CHROME_BRANDING) + + // The path to the hint file that tells the pepper plugin loader + // where it can find the latest component updated flash. + const base::FilePath::CharType kComponentUpdatedFlashHint[] = + FILE_PATH_LITERAL("latest-component-updated-flash"); +-#endif // defined(OS_LINUX) ++#endif // defined(OS_LINUX) || defined(OS_BSD) + + #if defined(OS_LINUX) && BUILDFLAG(ENABLE_WIDEVINE_CDM_COMPONENT) + // The name of the hint file that tells the latest component updated Widevine +@@ -204,7 +204,7 @@ bool PathProvider(int key, base::FilePath* result) { + return false; + break; + case chrome::DIR_DEFAULT_DOWNLOADS_SAFE: +-#if defined(OS_WIN) || defined(OS_LINUX) ++#if defined(OS_WIN) || defined(OS_LINUX) || defined(OS_BSD) + if (!GetUserDownloadsDirectorySafe(&cur)) + return false; + break; +@@ -495,6 +495,9 @@ bool PathProvider(int key, base::FilePath* result) { + case chrome::DIR_POLICY_FILES: { + #if BUILDFLAG(GOOGLE_CHROME_BRANDING) + cur = base::FilePath(FILE_PATH_LITERAL("/etc/opt/chrome/policies")); ++#elif defined(OS_BSD) ++ cur = base::FilePath(FILE_PATH_LITERAL( ++ "/usr/local/etc/chrome/policies")); + #else + cur = base::FilePath(FILE_PATH_LITERAL("/etc/chromium/policies")); + #endif +@@ -502,7 +505,7 @@ bool PathProvider(int key, base::FilePath* result) { + } + #endif + #if defined(OS_CHROMEOS) || \ +- (defined(OS_LINUX) && BUILDFLAG(CHROMIUM_BRANDING)) || defined(OS_MACOSX) ++ ((defined(OS_LINUX) || defined(OS_BSD)) && BUILDFLAG(CHROMIUM_BRANDING)) || defined(OS_MACOSX) + case chrome::DIR_USER_EXTERNAL_EXTENSIONS: { + if (!base::PathService::Get(chrome::DIR_USER_DATA, &cur)) + return false; +@@ -510,7 +513,7 @@ bool PathProvider(int key, base::FilePath* result) { + break; + } + #endif +-#if defined(OS_LINUX) ++#if defined(OS_LINUX) || defined(OS_BSD) + case chrome::DIR_STANDALONE_EXTERNAL_EXTENSIONS: { + cur = base::FilePath(kFilepathSinglePrefExtensions); + break; +@@ -545,7 +548,7 @@ bool PathProvider(int key, base::FilePath* result) { + #endif + break; + +-#if defined(OS_LINUX) || defined(OS_MACOSX) ++#if defined(OS_LINUX) || defined(OS_MACOSX) || defined(OS_BSD) + case chrome::DIR_NATIVE_MESSAGING: + #if defined(OS_MACOSX) + #if BUILDFLAG(GOOGLE_CHROME_BRANDING) +@@ -559,6 +562,9 @@ bool PathProvider(int key, base::FilePath* result) { + #if BUILDFLAG(GOOGLE_CHROME_BRANDING) + cur = base::FilePath(FILE_PATH_LITERAL( + "/etc/opt/chrome/native-messaging-hosts")); ++#elif defined(OS_BSD) ++ cur = base::FilePath(FILE_PATH_LITERAL( ++ "/usr/local/etc/chrome/native-messaging-hosts")); + #else + cur = base::FilePath(FILE_PATH_LITERAL( + "/etc/chromium/native-messaging-hosts")); +@@ -571,7 +577,7 @@ bool PathProvider(int key, base::FilePath* result) { + return false; + cur = cur.Append(FILE_PATH_LITERAL("NativeMessagingHosts")); + break; +-#endif // defined(OS_LINUX) || defined(OS_MACOSX) ++#endif // defined(OS_LINUX) || defined(OS_MACOSX) || defined(OS_BSD) + #if !defined(OS_ANDROID) + case chrome::DIR_GLOBAL_GCM_STORE: + if (!base::PathService::Get(chrome::DIR_USER_DATA, &cur)) +@@ -579,7 +585,7 @@ bool PathProvider(int key, base::FilePath* result) { + cur = cur.Append(kGCMStoreDirname); + break; + #endif // !defined(OS_ANDROID) +-#if defined(OS_LINUX) ++#if defined(OS_LINUX) || defined(OS_BSD) + case chrome::FILE_COMPONENT_FLASH_HINT: + if (!base::PathService::Get( + chrome::DIR_COMPONENT_UPDATED_PEPPER_FLASH_PLUGIN, &cur)) { +@@ -587,7 +593,7 @@ bool PathProvider(int key, base::FilePath* result) { + } + cur = cur.Append(kComponentUpdatedFlashHint); + break; +-#endif // defined(OS_LINUX) ++#endif // defined(OS_LINUX) || defined(OS_BSD) + #if defined(OS_CHROMEOS) + case chrome::FILE_CHROME_OS_COMPONENT_FLASH: + cur = base::FilePath(kChromeOSComponentFlash); diff --git a/www/iridium/files/patch-chrome_common_chrome__paths.h b/www/iridium/files/patch-chrome_common_chrome__paths.h new file mode 100644 index 000000000000..703fb6677e76 --- /dev/null +++ b/www/iridium/files/patch-chrome_common_chrome__paths.h @@ -0,0 +1,42 @@ +--- chrome/common/chrome_paths.h.orig 2019-12-16 21:50:44 UTC ++++ chrome/common/chrome_paths.h +@@ -53,7 +53,7 @@ enum { + // contains subdirectories. + #endif + #if defined(OS_CHROMEOS) || \ +- (defined(OS_LINUX) && BUILDFLAG(CHROMIUM_BRANDING)) || defined(OS_MACOSX) ++ ((defined(OS_LINUX) || defined(OS_BSD)) && BUILDFLAG(CHROMIUM_BRANDING)) || defined(OS_MACOSX) + DIR_USER_EXTERNAL_EXTENSIONS, // Directory for per-user external extensions + // on Chrome Mac and Chromium Linux. + // On Chrome OS, this path is used for OEM +@@ -61,7 +61,7 @@ enum { + // create it. + #endif + +-#if defined(OS_LINUX) ++#if defined(OS_LINUX) || defined(OS_BSD) + DIR_STANDALONE_EXTERNAL_EXTENSIONS, // Directory for 'per-extension' + // definition manifest files that + // describe extensions which are to be +@@ -122,7 +122,7 @@ enum { + DIR_SUPERVISED_USER_INSTALLED_WHITELISTS, // Directory where sanitized + // supervised user whitelists are + // installed. +-#if defined(OS_LINUX) || defined(OS_MACOSX) ++#if defined(OS_LINUX) || defined(OS_MACOSX) || defined(OS_BSD) + DIR_NATIVE_MESSAGING, // System directory where native messaging host + // manifest files are stored. + DIR_USER_NATIVE_MESSAGING, // Directory with Native Messaging Hosts +@@ -137,10 +137,10 @@ enum { + DIR_GEN_TEST_DATA, // Directory where generated test data resides. + DIR_TEST_DATA, // Directory where unit test data resides. + DIR_TEST_TOOLS, // Directory where unit test tools reside. +-#if defined(OS_LINUX) ++#if defined(OS_LINUX) || defined(OS_BSD) + FILE_COMPONENT_FLASH_HINT, // A file in a known location that points to + // the component updated flash plugin. +-#endif // defined(OS_LINUX) ++#endif // defined(OS_LINUX) || defined(OS_BSD) + #if defined(OS_CHROMEOS) + FILE_CHROME_OS_COMPONENT_FLASH, // The location of component updated Flash on + // Chrome OS. diff --git a/www/iridium/files/patch-chrome_common_chrome__paths__internal.h b/www/iridium/files/patch-chrome_common_chrome__paths__internal.h new file mode 100644 index 000000000000..9bf429302cd3 --- /dev/null +++ b/www/iridium/files/patch-chrome_common_chrome__paths__internal.h @@ -0,0 +1,11 @@ +--- chrome/common/chrome_paths_internal.h.orig 2019-07-24 18:58:13 UTC ++++ chrome/common/chrome_paths_internal.h +@@ -45,7 +45,7 @@ void GetUserCacheDirectory(const base::FilePath& profi + // Get the path to the user's documents directory. + bool GetUserDocumentsDirectory(base::FilePath* result); + +-#if defined(OS_WIN) || defined(OS_LINUX) ++#if defined(OS_WIN) || defined(OS_LINUX) || defined(OS_BSD) + // Gets the path to a safe default download directory for a user. + bool GetUserDownloadsDirectorySafe(base::FilePath* result); + #endif diff --git a/www/iridium/files/patch-chrome_common_chrome__switches.cc b/www/iridium/files/patch-chrome_common_chrome__switches.cc new file mode 100644 index 000000000000..0cf96df2deef --- /dev/null +++ b/www/iridium/files/patch-chrome_common_chrome__switches.cc @@ -0,0 +1,11 @@ +--- chrome/common/chrome_switches.cc.orig 2020-03-16 18:40:30 UTC ++++ chrome/common/chrome_switches.cc +@@ -846,7 +846,7 @@ const char kAllowNaClFileHandleAPI[] = "allow-n + const char kAllowNaClSocketAPI[] = "allow-nacl-socket-api"; + #endif + +-#if defined(OS_LINUX) || defined(OS_MACOSX) || defined(OS_WIN) ++#if defined(OS_LINUX) || defined(OS_MACOSX) || defined(OS_WIN) || defined(OS_BSD) + const char kEnableNewAppMenuIcon[] = "enable-new-app-menu-icon"; + + // Causes the browser to launch directly in guest mode. diff --git a/www/iridium/files/patch-chrome_common_chrome__switches.h b/www/iridium/files/patch-chrome_common_chrome__switches.h new file mode 100644 index 000000000000..957faae8a127 --- /dev/null +++ b/www/iridium/files/patch-chrome_common_chrome__switches.h @@ -0,0 +1,11 @@ +--- chrome/common/chrome_switches.h.orig 2020-03-16 18:40:30 UTC ++++ chrome/common/chrome_switches.h +@@ -261,7 +261,7 @@ extern const char kAllowNaClFileHandleAPI[]; + extern const char kAllowNaClSocketAPI[]; + #endif + +-#if defined(OS_LINUX) || defined(OS_MACOSX) || defined(OS_WIN) ++#if defined(OS_LINUX) || defined(OS_MACOSX) || defined(OS_WIN) || defined(OS_BSD) + extern const char kEnableNewAppMenuIcon[]; + extern const char kGuest[]; + #endif diff --git a/www/iridium/files/patch-chrome_common_extensions_api_api__sources.gni b/www/iridium/files/patch-chrome_common_extensions_api_api__sources.gni new file mode 100644 index 000000000000..52d07bac4945 --- /dev/null +++ b/www/iridium/files/patch-chrome_common_extensions_api_api__sources.gni @@ -0,0 +1,11 @@ +--- chrome/common/extensions/api/api_sources.gni.orig 2020-02-03 21:52:41 UTC ++++ chrome/common/extensions/api/api_sources.gni +@@ -113,7 +113,7 @@ if (is_chromeos) { + if (use_cups) { + schema_sources_ += [ "printing.idl" ] + } +-} else if (is_linux || is_win) { ++} else if (is_linux || is_bsd || is_win) { + schema_sources_ += [ "input_ime.json" ] + } + diff --git a/www/iridium/files/patch-chrome_common_extensions_command.cc b/www/iridium/files/patch-chrome_common_extensions_command.cc new file mode 100644 index 000000000000..d69c38703319 --- /dev/null +++ b/www/iridium/files/patch-chrome_common_extensions_command.cc @@ -0,0 +1,11 @@ +--- chrome/common/extensions/command.cc.orig 2019-04-30 22:22:37 UTC ++++ chrome/common/extensions/command.cc +@@ -300,7 +300,7 @@ std::string Command::CommandPlatform() { + return values::kKeybindingPlatformMac; + #elif defined(OS_CHROMEOS) + return values::kKeybindingPlatformChromeOs; +-#elif defined(OS_LINUX) ++#elif defined(OS_LINUX) || defined(OS_BSD) + return values::kKeybindingPlatformLinux; + #else + return ""; diff --git a/www/iridium/files/patch-chrome_common_features.gni b/www/iridium/files/patch-chrome_common_features.gni new file mode 100644 index 000000000000..5af21971a15e --- /dev/null +++ b/www/iridium/files/patch-chrome_common_features.gni @@ -0,0 +1,14 @@ +--- chrome/common/features.gni.orig 2020-03-16 18:40:30 UTC ++++ chrome/common/features.gni +@@ -49,9 +49,9 @@ declare_args() { + (is_desktop_linux && use_dbus) || is_chromeos + + enable_one_click_signin = +- is_win || is_mac || (is_linux && !is_chromeos && !is_chromecast) ++ is_win || is_mac || is_bsd || (is_linux && !is_chromeos && !is_chromecast) + +- enable_service_discovery = (enable_mdns && !is_android) || is_mac ++ enable_service_discovery = (enable_mdns && !is_android) || is_mac || is_bsd + + # Enables use of the session service, which is enabled by default. + # Android stores them separately on the Java side. diff --git a/www/iridium/files/patch-chrome_common_media_cdm__host__file__path.cc b/www/iridium/files/patch-chrome_common_media_cdm__host__file__path.cc new file mode 100644 index 000000000000..0f28ca47dca6 --- /dev/null +++ b/www/iridium/files/patch-chrome_common_media_cdm__host__file__path.cc @@ -0,0 +1,11 @@ +--- chrome/common/media/cdm_host_file_path.cc.orig 2020-03-17 09:44:41 UTC ++++ chrome/common/media/cdm_host_file_path.cc +@@ -98,7 +98,7 @@ void AddCdmHostFilePaths( + cdm_host_file_paths->emplace_back(chrome_framework_path, + chrome_framework_sig_path); + +-#elif defined(OS_LINUX) ++#elif defined(OS_LINUX) || defined(OS_BSD) + + base::FilePath chrome_exe_dir; + if (!base::PathService::Get(base::DIR_EXE, &chrome_exe_dir)) diff --git a/www/iridium/files/patch-chrome_common_pref__names.cc b/www/iridium/files/patch-chrome_common_pref__names.cc new file mode 100644 index 000000000000..edf68e0cec56 --- /dev/null +++ b/www/iridium/files/patch-chrome_common_pref__names.cc @@ -0,0 +1,44 @@ +--- chrome/common/pref_names.cc.orig 2020-03-16 18:40:30 UTC ++++ chrome/common/pref_names.cc +@@ -1059,7 +1059,7 @@ const char kForceYouTubeRestrict[] = "settings.force_y + // only using an account that belongs to one of the domains from this pref. + const char kAllowedDomainsForApps[] = "settings.allowed_domains_for_apps"; + +-#if defined(OS_LINUX) && !defined(OS_CHROMEOS) ++#if (defined(OS_LINUX) || defined(OS_BSD)) && !defined(OS_CHROMEOS) + // Linux specific preference on whether we should match the system theme. + const char kUsesSystemTheme[] = "extensions.theme.use_system"; + #endif +@@ -1193,7 +1193,7 @@ const char kShowUpdatePromotionInfoBar[] = + "browser.show_update_promotion_info_bar"; + #endif + +-#if defined(OS_LINUX) && !defined(OS_CHROMEOS) ++#if (defined(OS_LINUX) || defined(OS_BSD)) && !defined(OS_CHROMEOS) + // Boolean that is false if we should show window manager decorations. If + // true, we draw a custom chrome frame (thicker title bar and blue border). + const char kUseCustomChromeFrame[] = "browser.custom_chrome_frame"; +@@ -1621,7 +1621,7 @@ const char kDownloadDefaultDirectory[] = "download.def + // upgrade a unsafe location to a safe location. + const char kDownloadDirUpgraded[] = "download.directory_upgrade"; + +-#if defined(OS_WIN) || defined(OS_LINUX) || defined(OS_MACOSX) ++#if defined(OS_WIN) || defined(OS_LINUX) || defined(OS_MACOSX) || defined(OS_BSD) + const char kOpenPdfDownloadInSystemReader[] = + "download.open_pdf_in_system_reader"; + #endif +@@ -1917,12 +1917,12 @@ const char kGloballyScopeHTTPAuthCacheEnabled[] = + const char kAmbientAuthenticationInPrivateModesEnabled[] = + "auth.ambient_auth_in_private_modes"; + +-#if defined(OS_LINUX) || defined(OS_MACOSX) || defined(OS_CHROMEOS) ++#if defined(OS_LINUX) || defined(OS_MACOSX) || defined(OS_CHROMEOS) || defined(OS_BSD) + // Boolean that specifies whether OK-AS-DELEGATE flag from KDC is respected + // along with kAuthNegotiateDelegateWhitelist. + const char kAuthNegotiateDelegateByKdcPolicy[] = + "auth.negotiate_delegate_by_kdc_policy"; +-#endif // defined(OS_LINUX) || defined(OS_MACOSX) || defined(OS_CHROMEOS) ++#endif // defined(OS_LINUX) || defined(OS_MACOSX) || defined(OS_CHROMEOS) || defined(OS_BSD) + + #if defined(OS_POSIX) + // Boolean that specifies whether NTLMv2 is enabled. diff --git a/www/iridium/files/patch-chrome_common_pref__names.h b/www/iridium/files/patch-chrome_common_pref__names.h new file mode 100644 index 000000000000..7f7af0082f1f --- /dev/null +++ b/www/iridium/files/patch-chrome_common_pref__names.h @@ -0,0 +1,41 @@ +--- chrome/common/pref_names.h.orig 2020-03-16 18:40:30 UTC ++++ chrome/common/pref_names.h +@@ -334,7 +334,7 @@ extern const char kHistoryMenuPromoShown[]; + extern const char kForceGoogleSafeSearch[]; + extern const char kForceYouTubeRestrict[]; + extern const char kAllowedDomainsForApps[]; +-#if defined(OS_LINUX) && !defined(OS_CHROMEOS) ++#if (defined(OS_LINUX) || defined(OS_BSD)) && !defined(OS_CHROMEOS) + extern const char kUsesSystemTheme[]; + #endif + extern const char kCurrentThemePackFilename[]; +@@ -365,7 +365,7 @@ extern const char kDefaultBrowserSettingEnabled[]; + #if defined(OS_MACOSX) + extern const char kShowUpdatePromotionInfoBar[]; + #endif +-#if defined(OS_LINUX) && !defined(OS_CHROMEOS) ++#if (defined(OS_LINUX) || defined(OS_BSD)) && !defined(OS_CHROMEOS) + extern const char kUseCustomChromeFrame[]; + #endif + #if BUILDFLAG(ENABLE_PLUGINS) +@@ -532,7 +532,7 @@ extern const char kAppWindowPlacement[]; + extern const char kDownloadDefaultDirectory[]; + extern const char kDownloadExtensionsToOpen[]; + extern const char kDownloadDirUpgraded[]; +-#if defined(OS_WIN) || defined(OS_LINUX) || defined(OS_MACOSX) ++#if defined(OS_WIN) || defined(OS_LINUX) || defined(OS_MACOSX) || defined(OS_BSD) + extern const char kOpenPdfDownloadInSystemReader[]; + #endif + #if defined(OS_ANDROID) +@@ -744,9 +744,9 @@ extern const char kAllowCrossOriginAuthPrompt[]; + extern const char kGloballyScopeHTTPAuthCacheEnabled[]; + extern const char kAmbientAuthenticationInPrivateModesEnabled[]; + +-#if defined(OS_LINUX) || defined(OS_MACOSX) || defined(OS_CHROMEOS) ++#if defined(OS_LINUX) || defined(OS_MACOSX) || defined(OS_CHROMEOS) || defined(OS_BSD) + extern const char kAuthNegotiateDelegateByKdcPolicy[]; +-#endif // defined(OS_LINUX) || defined(OS_MACOSX) || defined(OS_CHROMEOS) ++#endif // defined(OS_LINUX) || defined(OS_MACOSX) || defined(OS_CHROMEOS) || defined(OS_BSD) + + #if defined(OS_POSIX) + extern const char kNtlmV2Enabled[]; diff --git a/www/iridium/files/patch-chrome_common_webui__url__constants.cc b/www/iridium/files/patch-chrome_common_webui__url__constants.cc new file mode 100644 index 000000000000..c9a01fc94ffe --- /dev/null +++ b/www/iridium/files/patch-chrome_common_webui__url__constants.cc @@ -0,0 +1,48 @@ +--- chrome/common/webui_url_constants.cc.orig 2020-03-16 18:40:30 UTC ++++ chrome/common/webui_url_constants.cc +@@ -321,7 +321,7 @@ bool IsSystemWebUIHost(base::StringPiece host) { + const char kChromeUICastHost[] = "cast"; + #endif + +-#if defined(OS_WIN) || defined(OS_MACOSX) || defined(OS_LINUX) ++#if defined(OS_WIN) || defined(OS_MACOSX) || defined(OS_LINUX) || defined(OS_BSD) + const char kChromeUIDiscardsHost[] = "discards"; + const char kChromeUIDiscardsURL[] = "chrome://discards/"; + const char kChromeUIHatsHost[] = "hats"; +@@ -332,17 +332,17 @@ const char kChromeUIHatsURL[] = "chrome://hats/"; + const char kChromeUILinuxProxyConfigHost[] = "linux-proxy-config"; + #endif + +-#if defined(OS_WIN) || defined(OS_LINUX) || defined(OS_ANDROID) ++#if defined(OS_WIN) || defined(OS_LINUX) || defined(OS_ANDROID) || defined(OS_BSD) + const char kChromeUISandboxHost[] = "sandbox"; + #endif + + #if defined(OS_WIN) || defined(OS_MACOSX) || \ +- (defined(OS_LINUX) && !defined(OS_CHROMEOS)) ++ (defined(OS_LINUX) && !defined(OS_CHROMEOS)) || defined(OS_BSD) + const char kChromeUIBrowserSwitchHost[] = "browser-switch"; + const char kChromeUIBrowserSwitchURL[] = "chrome://browser-switch/"; + #endif + +-#if (defined(OS_LINUX) && defined(TOOLKIT_VIEWS)) || defined(USE_AURA) ++#if ((defined(OS_LINUX) || defined(OS_BSD)) && defined(TOOLKIT_VIEWS)) || defined(USE_AURA) + const char kChromeUITabModalConfirmDialogHost[] = "tab-modal-confirm-dialog"; + #endif + +@@ -608,13 +608,13 @@ const char* const kChromeHostURLs[] = { + kChromeUIInternetDetailDialogHost, + kChromeUIAssistantOptInHost, + #endif +-#if defined(OS_WIN) || defined(OS_MACOSX) || defined(OS_LINUX) ++#if defined(OS_WIN) || defined(OS_MACOSX) || defined(OS_LINUX) || defined(OS_BSD) + kChromeUIDiscardsHost, + #endif + #if defined(OS_POSIX) && !defined(OS_MACOSX) && !defined(OS_ANDROID) + kChromeUILinuxProxyConfigHost, + #endif +-#if defined(OS_WIN) || defined(OS_LINUX) || defined(OS_ANDROID) ++#if defined(OS_WIN) || defined(OS_LINUX) || defined(OS_ANDROID) || defined(OS_BSD) + kChromeUISandboxHost, + #endif + #if defined(OS_WIN) diff --git a/www/iridium/files/patch-chrome_common_webui__url__constants.h b/www/iridium/files/patch-chrome_common_webui__url__constants.h new file mode 100644 index 000000000000..dc27881da387 --- /dev/null +++ b/www/iridium/files/patch-chrome_common_webui__url__constants.h @@ -0,0 +1,32 @@ +--- chrome/common/webui_url_constants.h.orig 2020-03-16 18:40:30 UTC ++++ chrome/common/webui_url_constants.h +@@ -275,7 +275,7 @@ bool IsSystemWebUIHost(base::StringPiece host); + extern const char kChromeUICastHost[]; + #endif + +-#if defined(OS_WIN) || defined(OS_MACOSX) || defined(OS_LINUX) ++#if defined(OS_WIN) || defined(OS_MACOSX) || defined(OS_LINUX) || defined(OS_BSD) + extern const char kChromeUIDiscardsHost[]; + extern const char kChromeUIDiscardsURL[]; + extern const char kChromeUIHatsHost[]; +@@ -287,17 +287,17 @@ extern const char kChromeUIHatsURL[]; + extern const char kChromeUILinuxProxyConfigHost[]; + #endif + +-#if defined(OS_WIN) || defined(OS_LINUX) || defined(OS_ANDROID) ++#if defined(OS_WIN) || defined(OS_LINUX) || defined(OS_ANDROID) || defined(OS_BSD) + extern const char kChromeUISandboxHost[]; + #endif + + #if defined(OS_WIN) || defined(OS_MACOSX) || \ +- (defined(OS_LINUX) && !defined(OS_CHROMEOS)) ++ (defined(OS_LINUX) && !defined(OS_CHROMEOS)) || defined(OS_BSD) + extern const char kChromeUIBrowserSwitchHost[]; + extern const char kChromeUIBrowserSwitchURL[]; + #endif + +-#if (defined(OS_LINUX) && defined(TOOLKIT_VIEWS)) || defined(USE_AURA) ++#if ((defined(OS_LINUX) || defined(OS_BSD)) && defined(TOOLKIT_VIEWS)) || defined(USE_AURA) + extern const char kChromeUITabModalConfirmDialogHost[]; + #endif + diff --git a/www/iridium/files/patch-chrome_renderer_chrome__content__renderer__client.cc b/www/iridium/files/patch-chrome_renderer_chrome__content__renderer__client.cc new file mode 100644 index 000000000000..e6be28220164 --- /dev/null +++ b/www/iridium/files/patch-chrome_renderer_chrome__content__renderer__client.cc @@ -0,0 +1,11 @@ +--- chrome/renderer/chrome_content_renderer_client.cc.orig 2020-03-16 18:40:30 UTC ++++ chrome/renderer/chrome_content_renderer_client.cc +@@ -1053,7 +1053,7 @@ WebPlugin* ChromeContentRendererClient::CreatePlugin( + } + + case chrome::mojom::PluginStatus::kRestartRequired: { +-#if defined(OS_LINUX) ++#if defined(OS_LINUX) || defined(OS_BSD) + placeholder = + create_blocked_plugin(IDR_BLOCKED_PLUGIN_HTML, + l10n_util::GetStringFUTF16( diff --git a/www/iridium/files/patch-chrome_renderer_pepper_pepper__flash__font__file__host.cc b/www/iridium/files/patch-chrome_renderer_pepper_pepper__flash__font__file__host.cc new file mode 100644 index 000000000000..d77103710996 --- /dev/null +++ b/www/iridium/files/patch-chrome_renderer_pepper_pepper__flash__font__file__host.cc @@ -0,0 +1,29 @@ +--- chrome/renderer/pepper/pepper_flash_font_file_host.cc.orig 2019-03-11 22:00:54 UTC ++++ chrome/renderer/pepper/pepper_flash_font_file_host.cc +@@ -15,7 +15,7 @@ + #include "ppapi/proxy/ppapi_messages.h" + #include "ppapi/proxy/serialized_structs.h" + +-#if defined(OS_LINUX) || defined(OS_OPENBSD) ++#if defined(OS_LINUX) || defined(OS_BSD) + #include "components/services/font/public/cpp/font_loader.h" + #include "content/public/common/common_sandbox_support_linux.h" + #elif defined(OS_WIN) +@@ -29,7 +29,7 @@ PepperFlashFontFileHost::PepperFlashFontFileHost( + const ppapi::proxy::SerializedFontDescription& description, + PP_PrivateFontCharset charset) + : ResourceHost(host->GetPpapiHost(), instance, resource) { +-#if defined(OS_LINUX) ++#if defined(OS_LINUX) || defined(OS_BSD) + // The global SkFontConfigInterface is configured and initialized with a + // SkFontconfigInterface compatible font_service::FontLoader in + // RendererBlinkPlatformImpl (called from RenderThreadImpl::Init) at startup +@@ -74,7 +74,7 @@ bool PepperFlashFontFileHost::GetFontData(uint32_t tab + void* buffer, + size_t* length) { + bool result = false; +-#if defined(OS_LINUX) ++#if defined(OS_LINUX) || defined(OS_BSD) + if (font_file_.IsValid()) { + result = content::GetFontTable(font_file_.GetPlatformFile(), table, + 0 /* offset */, diff --git a/www/iridium/files/patch-chrome_renderer_pepper_pepper__flash__font__file__host.h b/www/iridium/files/patch-chrome_renderer_pepper_pepper__flash__font__file__host.h new file mode 100644 index 000000000000..6acbcf8fc2d9 --- /dev/null +++ b/www/iridium/files/patch-chrome_renderer_pepper_pepper__flash__font__file__host.h @@ -0,0 +1,20 @@ +--- chrome/renderer/pepper/pepper_flash_font_file_host.h.orig 2019-03-11 22:00:54 UTC ++++ chrome/renderer/pepper/pepper_flash_font_file_host.h +@@ -14,7 +14,7 @@ + #include "ppapi/c/private/pp_private_font_charset.h" + #include "ppapi/host/resource_host.h" + +-#if defined(OS_LINUX) || defined(OS_OPENBSD) ++#if defined(OS_LINUX) || defined(OS_BSD) + #include "base/files/file.h" + #elif defined(OS_WIN) + #include "third_party/skia/include/core/SkRefCnt.h" +@@ -50,7 +50,7 @@ class PepperFlashFontFileHost : public ppapi::host::Re + uint32_t table); + bool GetFontData(uint32_t table, void* buffer, size_t* length); + +-#if defined(OS_LINUX) ++#if defined(OS_LINUX) || defined(OS_BSD) + base::File font_file_; + #elif defined(OS_WIN) + sk_sp<SkTypeface> typeface_; diff --git a/www/iridium/files/patch-chrome_service_cloud__print_print__system.cc b/www/iridium/files/patch-chrome_service_cloud__print_print__system.cc new file mode 100644 index 000000000000..8624cc6a5068 --- /dev/null +++ b/www/iridium/files/patch-chrome_service_cloud__print_print__system.cc @@ -0,0 +1,11 @@ +--- chrome/service/cloud_print/print_system.cc.orig 2019-03-11 22:00:54 UTC ++++ chrome/service/cloud_print/print_system.cc +@@ -36,7 +36,7 @@ std::string PrintSystem::GenerateProxyId() { + return base::GenerateGUID(); + } + +-#if defined(OS_LINUX) && !defined(USE_CUPS) ++#if (defined(OS_LINUX) || defined(OS_BSD)) && !defined(USE_CUPS) + scoped_refptr<PrintSystem> PrintSystem::CreateInstance( + const base::DictionaryValue*) { + return nullptr; diff --git a/www/iridium/files/patch-chrome_test_BUILD.gn b/www/iridium/files/patch-chrome_test_BUILD.gn new file mode 100644 index 000000000000..67e371b45b43 --- /dev/null +++ b/www/iridium/files/patch-chrome_test_BUILD.gn @@ -0,0 +1,11 @@ +--- chrome/test/BUILD.gn.orig 2020-03-16 18:40:30 UTC ++++ chrome/test/BUILD.gn +@@ -6042,7 +6042,7 @@ test("chrome_app_unittests") { + "//components/safe_browsing:buildflags", + "//components/tracing", + ] +- if (!is_fuchsia) { ++ if (!is_fuchsia && !is_bsd) { + # TODO(crbug.com/753619): Enable crash reporting on Fuchsia. + deps += [ "//third_party/breakpad:client" ] + } diff --git a/www/iridium/files/patch-chrome_test_base_chrome__test__launcher.cc b/www/iridium/files/patch-chrome_test_base_chrome__test__launcher.cc new file mode 100644 index 000000000000..d09f2d1d0fd1 --- /dev/null +++ b/www/iridium/files/patch-chrome_test_base_chrome__test__launcher.cc @@ -0,0 +1,20 @@ +--- chrome/test/base/chrome_test_launcher.cc.orig 2020-04-06 07:46:40 UTC ++++ chrome/test/base/chrome_test_launcher.cc +@@ -59,7 +59,7 @@ + #endif + + #if defined(OS_WIN) || defined(OS_MACOSX) || \ +- (defined(OS_LINUX) && !defined(OS_CHROMEOS)) ++ (defined(OS_LINUX) && !defined(OS_CHROMEOS)) || defined(OS_BSD) + #include "chrome/browser/first_run/scoped_relaunch_chrome_browser_override.h" + #include "testing/gtest/include/gtest/gtest.h" + #endif +@@ -221,7 +221,7 @@ int LaunchChromeTests(size_t parallel_jobs, + } + + #if defined(OS_WIN) || defined(OS_MACOSX) || \ +- (defined(OS_LINUX) && !defined(OS_CHROMEOS)) ++ (defined(OS_LINUX) && !defined(OS_CHROMEOS)) || defined(OS_BSD) + // Cause a test failure for any test that triggers an unexpected relaunch. + // Tests that fail here should likely be restructured to put the "before + // relaunch" code into a PRE_ test with its own diff --git a/www/iridium/files/patch-chrome_test_base_in__process__browser__test.cc b/www/iridium/files/patch-chrome_test_base_in__process__browser__test.cc new file mode 100644 index 000000000000..f4de4bb39b0c --- /dev/null +++ b/www/iridium/files/patch-chrome_test_base_in__process__browser__test.cc @@ -0,0 +1,40 @@ +--- chrome/test/base/in_process_browser_test.cc.orig 2020-04-03 04:11:30 UTC ++++ chrome/test/base/in_process_browser_test.cc +@@ -77,6 +77,10 @@ + #include "chrome/test/base/scoped_bundle_swizzler_mac.h" + #endif + ++#if defined(OS_FREEBSD) ++#include <signal.h> ++#endif ++ + #if defined(OS_WIN) + #include "base/win/scoped_com_initializer.h" + #include "base/win/windows_version.h" +@@ -104,7 +108,7 @@ + #include "ui/events/test/event_generator.h" + #endif // defined(OS_CHROMEOS) + +-#if !defined(OS_CHROMEOS) && defined(OS_LINUX) ++#if !defined(OS_CHROMEOS) && (defined(OS_LINUX) || defined(OS_BSD)) + #include "ui/views/test/test_desktop_screen_x11.h" + #endif + +@@ -253,7 +257,7 @@ void InProcessBrowserTest::SetUp() { + // Cookies). Without this on Mac and Linux, many tests will hang waiting for a + // user to approve KeyChain/kwallet access. On Windows this is not needed as + // OS APIs never block. +-#if defined(OS_MACOSX) || defined(OS_LINUX) ++#if defined(OS_MACOSX) || defined(OS_LINUX) || defined(OS_BSD) + OSCryptMocker::SetUp(); + #endif + +@@ -308,7 +312,7 @@ void InProcessBrowserTest::TearDown() { + com_initializer_.reset(); + #endif + BrowserTestBase::TearDown(); +-#if defined(OS_MACOSX) || defined(OS_LINUX) ++#if defined(OS_MACOSX) || defined(OS_LINUX) || defined(OS_BSD) + OSCryptMocker::TearDown(); + #endif + diff --git a/www/iridium/files/patch-chrome_test_base_interactive__ui__tests__main.cc b/www/iridium/files/patch-chrome_test_base_interactive__ui__tests__main.cc new file mode 100644 index 000000000000..f80c31dcc8d4 --- /dev/null +++ b/www/iridium/files/patch-chrome_test_base_interactive__ui__tests__main.cc @@ -0,0 +1,25 @@ +--- chrome/test/base/interactive_ui_tests_main.cc.orig 2020-04-06 07:47:38 UTC ++++ chrome/test/base/interactive_ui_tests_main.cc +@@ -16,7 +16,7 @@ + #if defined(USE_AURA) + #include "ui/aura/test/ui_controls_factory_aura.h" + #include "ui/base/test/ui_controls_aura.h" +-#if defined(USE_OZONE) && defined(OS_LINUX) && !defined(OS_CHROMEOS) ++#if defined(USE_OZONE) && ((defined(OS_LINUX) && !defined(OS_CHROMEOS)) || defined(OS_BSD)) + #include "ui/ozone/public/ozone_platform.h" + #endif + #if defined(USE_X11) +@@ -54,11 +54,11 @@ class InteractiveUITestSuite : public ChromeTestSuite + com_initializer_.reset(new base::win::ScopedCOMInitializer()); + ui_controls::InstallUIControlsAura( + aura::test::CreateUIControlsAura(nullptr)); +-#elif defined(USE_OZONE) && defined(OS_LINUX) ++#elif defined(USE_OZONE) && (defined(OS_LINUX) || defined(OS_BSD)) + ui::OzonePlatform::InitParams params; + params.single_process = true; + ui::OzonePlatform::InitializeForUI(params); +-#elif defined(OS_LINUX) ++#elif defined(OS_LINUX) || defined(OS_BSD) + ui_controls::InstallUIControlsAura( + views::test::CreateUIControlsDesktopAura()); + #else diff --git a/www/iridium/files/patch-chrome_test_base_test__browser__window.h b/www/iridium/files/patch-chrome_test_base_test__browser__window.h new file mode 100644 index 000000000000..842f9dd09dd2 --- /dev/null +++ b/www/iridium/files/patch-chrome_test_base_test__browser__window.h @@ -0,0 +1,11 @@ +--- chrome/test/base/test_browser_window.h.orig 2020-04-06 07:48:42 UTC ++++ chrome/test/base/test_browser_window.h +@@ -178,7 +178,7 @@ class TestBrowserWindow : public BrowserWindow { + bool is_source_keyboard) override {} + + #if defined(OS_CHROMEOS) || defined(OS_MACOSX) || defined(OS_WIN) || \ +- defined(OS_LINUX) ++ defined(OS_LINUX) || defined(OS_BSD) + void ShowHatsBubble(const std::string& site_id) override {} + #endif + diff --git a/www/iridium/files/patch-chrome_test_base_testing__browser__process.h b/www/iridium/files/patch-chrome_test_base_testing__browser__process.h new file mode 100644 index 000000000000..97a81118bddd --- /dev/null +++ b/www/iridium/files/patch-chrome_test_base_testing__browser__process.h @@ -0,0 +1,13 @@ +--- chrome/test/base/testing_browser_process.h.orig 2019-09-09 21:55:11 UTC ++++ chrome/test/base/testing_browser_process.h +@@ -116,8 +116,8 @@ class TestingBrowserProcess : public BrowserProcess { + DownloadRequestLimiter* download_request_limiter() override; + StartupData* startup_data() override; + +-#if (defined(OS_WIN) || defined(OS_LINUX)) && !defined(OS_CHROMEOS) +- void StartAutoupdateTimer() override {} ++#if (defined(OS_WIN) || defined(OS_LINUX) || defined(OS_FREEBSD)) && !defined(OS_CHROMEOS) ++ void StartAutoupdateTimer() /*override*/ {} + #endif + + component_updater::ComponentUpdateService* component_updater() override; diff --git a/www/iridium/files/patch-chrome_test_chromedriver_chrome__launcher.cc b/www/iridium/files/patch-chrome_test_chromedriver_chrome__launcher.cc new file mode 100644 index 000000000000..79b4cc08b788 --- /dev/null +++ b/www/iridium/files/patch-chrome_test_chromedriver_chrome__launcher.cc @@ -0,0 +1,13 @@ +--- chrome/test/chromedriver/chrome_launcher.cc.orig 2020-03-16 18:40:30 UTC ++++ chrome/test/chromedriver/chrome_launcher.cc +@@ -69,6 +69,10 @@ + #include "chrome/test/chromedriver/keycode_text_conversion.h" + #endif + ++#if defined(OS_BSD) ++#include <sys/wait.h> ++#endif ++ + namespace { + + const char* const kCommonSwitches[] = { diff --git a/www/iridium/files/patch-chrome_test_chromedriver_chrome_chrome__finder.cc b/www/iridium/files/patch-chrome_test_chromedriver_chrome_chrome__finder.cc new file mode 100644 index 000000000000..1aa645203816 --- /dev/null +++ b/www/iridium/files/patch-chrome_test_chromedriver_chrome_chrome__finder.cc @@ -0,0 +1,20 @@ +--- chrome/test/chromedriver/chrome/chrome_finder.cc.orig 2020-02-24 18:39:10 UTC ++++ chrome/test/chromedriver/chrome/chrome_finder.cc +@@ -50,7 +50,7 @@ void GetApplicationDirs(std::vector<base::FilePath>* l + installation_locations[i].Append(L"Chromium\\Application")); + } + } +-#elif defined(OS_LINUX) ++#elif defined(OS_LINUX) || defined(OS_BSD) + void GetApplicationDirs(std::vector<base::FilePath>* locations) { + // TODO: Respect users' PATH variables. + // Until then, we use an approximation of the most common defaults. +@@ -136,7 +136,7 @@ bool FindChrome(base::FilePath* browser_exe) { + #if defined(OS_WIN) || defined(OS_MACOSX) + base::FilePath(chrome::kBrowserProcessExecutablePath), + base::FilePath(chrome::kBrowserProcessExecutablePathChromium) +-#elif defined(OS_LINUX) ++#elif defined(OS_LINUX) || defined(OS_BSD) + base::FilePath("google-chrome"), + base::FilePath(chrome::kBrowserProcessExecutablePath), + base::FilePath(chrome::kBrowserProcessExecutablePathChromium), diff --git a/www/iridium/files/patch-chrome_test_chromedriver_key__converter__unittest.cc b/www/iridium/files/patch-chrome_test_chromedriver_key__converter__unittest.cc new file mode 100644 index 000000000000..81970dcbbec1 --- /dev/null +++ b/www/iridium/files/patch-chrome_test_chromedriver_key__converter__unittest.cc @@ -0,0 +1,38 @@ +--- chrome/test/chromedriver/key_converter_unittest.cc.orig 2020-03-23 14:46:39 UTC ++++ chrome/test/chromedriver/key_converter_unittest.cc +@@ -278,7 +278,7 @@ TEST(KeyConverter, AllShorthandKeys) { + ->Generate(&key_events); + builder.Generate(&key_events); + builder.SetKeyCode(ui::VKEY_TAB); +-#if defined(OS_LINUX) ++#if defined(OS_LINUX) || defined(OS_BSD) + builder.SetText("\t", "\t")->Generate(&key_events); + #else + builder.SetText(std::string(), std::string()); +@@ -286,7 +286,7 @@ TEST(KeyConverter, AllShorthandKeys) { + key_events.push_back(builder.SetType(kKeyUpEventType)->Build()); + #endif + builder.SetKeyCode(ui::VKEY_BACK); +-#if defined(OS_LINUX) ++#if defined(OS_LINUX) || defined(OS_BSD) + builder.SetText("\b", "\b")->Generate(&key_events); + #else + builder.SetText(std::string(), std::string()); +@@ -297,7 +297,7 @@ TEST(KeyConverter, AllShorthandKeys) { + CheckEventsReleaseModifiers("\n\r\n\t\b ", key_events); + } + +-#if defined(OS_LINUX) ++#if defined(OS_LINUX) || defined(OS_BSD) + // Fails on bots: crbug.com/174962 + #define MAYBE_AllEnglishKeyboardSymbols DISABLED_AllEnglishKeyboardSymbols + #else +@@ -354,7 +354,7 @@ TEST(KeyConverter, AllEnglishKeyboardTextChars) { + TEST(KeyConverter, AllSpecialWebDriverKeysOnEnglishKeyboard) { + ui::ScopedKeyboardLayout keyboard_layout(ui::KEYBOARD_LAYOUT_ENGLISH_US); + const char kTextForKeys[] = { +-#if defined(OS_LINUX) ++#if defined(OS_LINUX) || defined(OS_BSD) + 0, 0, 0, 0, '\t', 0, '\r', '\r', 0, 0, 0, 0, 0, + #else + 0, 0, 0, 0, 0, 0, '\r', '\r', 0, 0, 0, 0, 0, diff --git a/www/iridium/files/patch-chromecast_browser_cast__browser__main__parts.cc b/www/iridium/files/patch-chromecast_browser_cast__browser__main__parts.cc new file mode 100644 index 000000000000..06032792b186 --- /dev/null +++ b/www/iridium/files/patch-chromecast_browser_cast__browser__main__parts.cc @@ -0,0 +1,56 @@ +--- chromecast/browser/cast_browser_main_parts.cc.orig 2020-03-16 18:40:30 UTC ++++ chromecast/browser/cast_browser_main_parts.cc +@@ -74,7 +74,7 @@ + #include "ui/base/ui_base_switches.h" + #include "ui/gl/gl_switches.h" + +-#if defined(OS_LINUX) ++#if defined(OS_LINUX) || defined(OS_BSD) + #include <fontconfig/fontconfig.h> + #include <signal.h> + #include <sys/prctl.h> +@@ -263,7 +263,7 @@ class CastViewsDelegate : public views::ViewsDelegate + + #endif // defined(USE_AURA) + +-#if defined(OS_LINUX) ++#if defined(OS_LINUX) || defined(OS_BSD) + + base::FilePath GetApplicationFontsDir() { + std::unique_ptr<base::Environment> env(base::Environment::Create()); +@@ -279,7 +279,7 @@ base::FilePath GetApplicationFontsDir() { + } + } + +-#endif // defined(OS_LINUX) ++#endif // defined(OS_LINUX) || defined(OS_BSD) + + } // namespace + +@@ -308,7 +308,7 @@ const DefaultCommandLineSwitch kDefaultSwitches[] = { + {cc::switches::kDisableThreadedAnimation, ""}, + #endif // defined(OS_ANDROID) + #endif // BUILDFLAG(IS_CAST_AUDIO_ONLY) +-#if defined(OS_LINUX) ++#if defined(OS_LINUX) || defined(OS_BSD) + #if defined(ARCH_CPU_X86_FAMILY) + // This is needed for now to enable the x11 Ozone platform to work with + // current Linux/NVidia OpenGL drivers. +@@ -318,7 +318,7 @@ const DefaultCommandLineSwitch kDefaultSwitches[] = { + {switches::kEnableHardwareOverlays, "cast"}, + #endif + #endif +-#endif // defined(OS_LINUX) ++#endif // defined(OS_LINUX) || defined(OS_BSD) + // It's better to start GPU process on demand. For example, for TV platforms + // cast starts in background and can't render until TV switches to cast + // input. +@@ -459,7 +459,7 @@ void CastBrowserMainParts::ToolkitInitialized() { + views_delegate_ = std::make_unique<CastViewsDelegate>(); + #endif // defined(USE_AURA) + +-#if defined(OS_LINUX) ++#if defined(OS_LINUX) || defined(OS_BSD) + base::FilePath dir_font = GetApplicationFontsDir(); + const FcChar8 *dir_font_char8 = reinterpret_cast<const FcChar8*>(dir_font.value().data()); + if (!FcConfigAppFontAddDir(gfx::GetGlobalFontConfig(), dir_font_char8)) { diff --git a/www/iridium/files/patch-chromecast_browser_cast__content__browser__client.cc b/www/iridium/files/patch-chromecast_browser_cast__content__browser__client.cc new file mode 100644 index 000000000000..ceca4fa67274 --- /dev/null +++ b/www/iridium/files/patch-chromecast_browser_cast__content__browser__client.cc @@ -0,0 +1,11 @@ +--- chromecast/browser/cast_content_browser_client.cc.orig 2020-03-16 18:40:30 UTC ++++ chromecast/browser/cast_content_browser_client.cc +@@ -448,7 +448,7 @@ void CastContentBrowserClient::AppendExtraCommandLineS + switches::kAudioOutputChannels)); + } + } else if (process_type == switches::kGpuProcess) { +-#if defined(OS_LINUX) ++#if defined(OS_LINUX) || defined(OS_BSD) + // Necessary for accelerated 2d canvas. By default on Linux, Chromium + // assumes GLES2 contexts can be lost to a power-save mode, which breaks GPU + // canvas apps. diff --git a/www/iridium/files/patch-chromecast_browser_metrics_BUILD.gn b/www/iridium/files/patch-chromecast_browser_metrics_BUILD.gn new file mode 100644 index 000000000000..e3c84406e9bf --- /dev/null +++ b/www/iridium/files/patch-chromecast_browser_metrics_BUILD.gn @@ -0,0 +1,11 @@ +--- chromecast/browser/metrics/BUILD.gn.orig 2019-07-24 18:58:17 UTC ++++ chromecast/browser/metrics/BUILD.gn +@@ -32,7 +32,7 @@ cast_source_set("metrics") { + "//third_party/metrics_proto", + ] + +- if (is_linux) { ++ if (is_linux || is_bsd) { + sources += [ + "external_metrics.cc", + "external_metrics.h", diff --git a/www/iridium/files/patch-chromecast_browser_tts_tts__controller__impl.cc b/www/iridium/files/patch-chromecast_browser_tts_tts__controller__impl.cc new file mode 100644 index 000000000000..2c4456163b65 --- /dev/null +++ b/www/iridium/files/patch-chromecast_browser_tts_tts__controller__impl.cc @@ -0,0 +1,14 @@ +--- chromecast/browser/tts/tts_controller_impl.cc.orig 2019-03-11 22:00:56 UTC ++++ chromecast/browser/tts/tts_controller_impl.cc +@@ -390,7 +390,11 @@ int TtsControllerImpl::QueueSize() { + } + + TtsPlatformImpl* TtsControllerImpl::GetPlatformImpl() { ++#if defined(OS_BSD) ++ return NULL; ++#else + return platform_impl_.get(); ++#endif // defined(OS_BSD) + } + + std::string TtsControllerImpl::GetApplicationLocale() const { diff --git a/www/iridium/files/patch-chromecast_external__mojo_public_cpp_external__mojo__broker.cc b/www/iridium/files/patch-chromecast_external__mojo_public_cpp_external__mojo__broker.cc new file mode 100644 index 000000000000..381734887dcb --- /dev/null +++ b/www/iridium/files/patch-chromecast_external__mojo_public_cpp_external__mojo__broker.cc @@ -0,0 +1,20 @@ +--- chromecast/external_mojo/public/cpp/external_mojo_broker.cc.orig 2020-02-03 21:52:43 UTC ++++ chromecast/external_mojo/public/cpp/external_mojo_broker.cc +@@ -7,7 +7,7 @@ + #include <map> + #include <utility> + +-#if OS_LINUX ++#if defined(OS_LINUX) || defined(OS_BSD) + #include <sys/stat.h> + #endif + +@@ -393,7 +393,7 @@ ExternalMojoBroker::ExternalMojoBroker(const std::stri + named_channel.TakeServerEndpoint(); + DCHECK(server_endpoint.is_valid()); + +-#if OS_LINUX ++#if defined(OS_LINUX) || defined(OS_BSD) + chmod(broker_path.c_str(), 0770); + #endif + diff --git a/www/iridium/files/patch-chromecast_media_base_monotonic__clock.cc b/www/iridium/files/patch-chromecast_media_base_monotonic__clock.cc new file mode 100644 index 000000000000..d141e1f0a1cb --- /dev/null +++ b/www/iridium/files/patch-chromecast_media_base_monotonic__clock.cc @@ -0,0 +1,23 @@ +--- chromecast/media/base/monotonic_clock.cc.orig 2019-10-30 15:55:35 UTC ++++ chromecast/media/base/monotonic_clock.cc +@@ -9,9 +9,9 @@ + #include "base/time/time.h" + #include "build/build_config.h" + +-#if defined(OS_ANDROID) || defined(OS_LINUX) ++#if defined(OS_ANDROID) || defined(OS_LINUX) || defined(OS_BSD) + #include "chromecast/media/base/buildflags.h" +-#endif // defined(OS_ANDROID) || defined(OS_LINUX) ++#endif // defined(OS_ANDROID) || defined(OS_LINUX) || defined(OS_BSD) + + #if defined(OS_FUCHSIA) + #include <zircon/syscalls.h> +@@ -20,7 +20,7 @@ + namespace chromecast { + namespace media { + +-#if defined(OS_ANDROID) || defined(OS_LINUX) ++#if defined(OS_ANDROID) || defined(OS_LINUX) || defined(OS_BSD) + int64_t MonotonicClockNow() { + timespec now = {0, 0}; + #if BUILDFLAG(MEDIA_CLOCK_MONOTONIC_RAW) diff --git a/www/iridium/files/patch-chromecast_renderer_cast__content__renderer__client.cc b/www/iridium/files/patch-chromecast_renderer_cast__content__renderer__client.cc new file mode 100644 index 000000000000..079d79856b84 --- /dev/null +++ b/www/iridium/files/patch-chromecast_renderer_cast__content__renderer__client.cc @@ -0,0 +1,11 @@ +--- chromecast/renderer/cast_content_renderer_client.cc.orig 2020-03-17 09:46:13 UTC ++++ chromecast/renderer/cast_content_renderer_client.cc +@@ -208,7 +208,7 @@ void CastContentRendererClient::RenderFrameCreated( + dispatcher->OnRenderFrameCreated(render_frame); + #endif + +-#if defined(OS_LINUX) && defined(USE_OZONE) ++#if (defined(OS_LINUX) || defined(OS_BSD)) && defined(USE_OZONE) + // JsChannelBindings destroys itself when the RenderFrame is destroyed. + JsChannelBindings::Create(render_frame); + #endif diff --git a/www/iridium/files/patch-components_autofill_content_renderer_password__form__conversion__utils.cc b/www/iridium/files/patch-components_autofill_content_renderer_password__form__conversion__utils.cc new file mode 100644 index 000000000000..f9da88b9683c --- /dev/null +++ b/www/iridium/files/patch-components_autofill_content_renderer_password__form__conversion__utils.cc @@ -0,0 +1,14 @@ +--- components/autofill/content/renderer/password_form_conversion_utils.cc.orig 2019-12-16 21:50:45 UTC ++++ components/autofill/content/renderer/password_form_conversion_utils.cc +@@ -19,7 +19,11 @@ + #include "third_party/blink/public/web/web_form_control_element.h" + #include "third_party/blink/public/web/web_input_element.h" + #include "third_party/blink/public/web/web_local_frame.h" ++#if defined(OS_BSD) ++#include <re2/re2.h> ++#else + #include "third_party/re2/src/re2/re2.h" ++#endif + #include "url/gurl.h" + + using blink::WebElement; diff --git a/www/iridium/files/patch-components_autofill_core_browser_autofill__experiments.cc b/www/iridium/files/patch-components_autofill_core_browser_autofill__experiments.cc new file mode 100644 index 000000000000..294953ed5551 --- /dev/null +++ b/www/iridium/files/patch-components_autofill_core_browser_autofill__experiments.cc @@ -0,0 +1,11 @@ +--- components/autofill/core/browser/autofill_experiments.cc.orig 2019-12-16 21:50:45 UTC ++++ components/autofill/core/browser/autofill_experiments.cc +@@ -233,7 +233,7 @@ bool IsAutofillNoLocalSaveOnUploadSuccessExperimentEna + } + + bool OfferStoreUnmaskedCards(bool is_off_the_record) { +-#if defined(OS_LINUX) && !defined(OS_CHROMEOS) ++#if (defined(OS_LINUX) && !defined(OS_CHROMEOS)) || defined(OS_BSD) + // The checkbox can be forced on with a flag, but by default we don't store + // on Linux due to lack of system keychain integration. See crbug.com/162735 + return base::CommandLine::ForCurrentProcess()->HasSwitch( diff --git a/www/iridium/files/patch-components_autofill_core_browser_autofill__external__delegate.cc b/www/iridium/files/patch-components_autofill_core_browser_autofill__external__delegate.cc new file mode 100644 index 000000000000..25ba63628ba8 --- /dev/null +++ b/www/iridium/files/patch-components_autofill_core_browser_autofill__external__delegate.cc @@ -0,0 +1,11 @@ +--- components/autofill/core/browser/autofill_external_delegate.cc.orig 2020-03-16 18:40:30 UTC ++++ components/autofill/core/browser/autofill_external_delegate.cc +@@ -118,7 +118,7 @@ void AutofillExternalDelegate::OnSuggestionsReturned( + + // Append the "Hide Suggestions" menu item for only Autofill Address and + // Autocomplete popups. +-#if defined(OS_WIN) || defined(OS_LINUX) || defined(OS_MACOSX) || \ ++#if defined(OS_WIN) || defined(OS_LINUX) || defined(OS_MACOSX) || defined(OS_BSD) || \ + defined(OS_CHROMEOS) + if (base::FeatureList::IsEnabled( + features::kAutofillEnableHideSuggestionsUI)) { diff --git a/www/iridium/files/patch-components_autofill_core_browser_personal__data__manager.cc b/www/iridium/files/patch-components_autofill_core_browser_personal__data__manager.cc new file mode 100644 index 000000000000..76d3e7dee3ed --- /dev/null +++ b/www/iridium/files/patch-components_autofill_core_browser_personal__data__manager.cc @@ -0,0 +1,15 @@ +--- components/autofill/core/browser/personal_data_manager.cc.orig 2020-03-16 18:40:30 UTC ++++ components/autofill/core/browser/personal_data_manager.cc +@@ -1856,10 +1856,10 @@ bool PersonalDataManager::IsServerCard(const CreditCar + + bool PersonalDataManager::ShouldShowCardsFromAccountOption() const { + // The feature is only for Linux, Windows and Mac. +-#if (!defined(OS_LINUX) && !defined(OS_WIN) && !defined(OS_MACOSX)) || \ ++#if (!defined(OS_LINUX) && !defined(OS_WIN) && !defined(OS_MACOSX) && !defined(OS_BSD)) || \ + defined(OS_CHROMEOS) + return false; +-#endif // (!defined(OS_LINUX) && !defined(OS_WIN) && !defined(OS_MACOSX)) || ++#endif // (!defined(OS_LINUX) && !defined(OS_WIN) && !defined(OS_MACOSX) && !defined(OS_BSD)) || + // defined(OS_CHROMEOS) + + // This option should only be shown for users that have not enabled the Sync diff --git a/www/iridium/files/patch-components_autofill_core_common_autofill__payments__features.cc b/www/iridium/files/patch-components_autofill_core_common_autofill__payments__features.cc new file mode 100644 index 000000000000..016f6de85d3c --- /dev/null +++ b/www/iridium/files/patch-components_autofill_core_common_autofill__payments__features.cc @@ -0,0 +1,11 @@ +--- components/autofill/core/common/autofill_payments_features.cc.orig 2020-03-16 18:40:30 UTC ++++ components/autofill/core/common/autofill_payments_features.cc +@@ -122,7 +122,7 @@ const base::Feature kAutofillUpstreamEditableExpiratio + + bool ShouldShowImprovedUserConsentForCreditCardSave() { + #if defined(OS_WIN) || defined(OS_MACOSX) || \ +- (defined(OS_LINUX) && !defined(OS_CHROMEOS)) ++ (defined(OS_LINUX) && !defined(OS_CHROMEOS)) || defined(OS_BSD) + // The new user consent UI is fully launched on MacOS, Windows and Linux. + return true; + #endif diff --git a/www/iridium/files/patch-components_autofill_core_common_autofill__util.cc b/www/iridium/files/patch-components_autofill_core_common_autofill__util.cc new file mode 100644 index 000000000000..f4cdea27b407 --- /dev/null +++ b/www/iridium/files/patch-components_autofill_core_common_autofill__util.cc @@ -0,0 +1,11 @@ +--- components/autofill/core/common/autofill_util.cc.orig 2019-09-09 21:55:14 UTC ++++ components/autofill/core/common/autofill_util.cc +@@ -213,7 +213,7 @@ bool SanitizedFieldIsEmpty(const base::string16& value + } + + bool ShouldAutoselectFirstSuggestionOnArrowDown() { +-#if defined(OS_WIN) || defined(OS_MACOSX) || defined(OS_LINUX) ++#if defined(OS_WIN) || defined(OS_MACOSX) || defined(OS_LINUX) || defined(OS_BSD) + return true; + #else + return false; diff --git a/www/iridium/files/patch-components_content__settings_core_browser_website__settings__registry.cc b/www/iridium/files/patch-components_content__settings_core_browser_website__settings__registry.cc new file mode 100644 index 000000000000..3c85edbf2e08 --- /dev/null +++ b/www/iridium/files/patch-components_content__settings_core_browser_website__settings__registry.cc @@ -0,0 +1,11 @@ +--- components/content_settings/core/browser/website_settings_registry.cc.orig 2019-03-11 22:00:56 UTC ++++ components/content_settings/core/browser/website_settings_registry.cc +@@ -66,7 +66,7 @@ const WebsiteSettingsInfo* WebsiteSettingsRegistry::Re + #if defined(OS_WIN) + if (!(platform & PLATFORM_WINDOWS)) + return nullptr; +-#elif defined(OS_LINUX) && !defined(OS_CHROMEOS) ++#elif (defined(OS_LINUX) || defined(OS_BSD)) && !defined(OS_CHROMEOS) + if (!(platform & PLATFORM_LINUX)) + return nullptr; + #elif defined(OS_MACOSX) && !defined(OS_IOS) diff --git a/www/iridium/files/patch-components_cookie__config_cookie__store__util.cc b/www/iridium/files/patch-components_cookie__config_cookie__store__util.cc new file mode 100644 index 000000000000..871d1f936cc4 --- /dev/null +++ b/www/iridium/files/patch-components_cookie__config_cookie__store__util.cc @@ -0,0 +1,24 @@ +--- components/cookie_config/cookie_store_util.cc.orig 2019-03-11 22:00:56 UTC ++++ components/cookie_config/cookie_store_util.cc +@@ -11,7 +11,7 @@ + + namespace cookie_config { + +-#if defined(OS_WIN) || defined(OS_MACOSX) || defined(OS_LINUX) ++#if defined(OS_WIN) || defined(OS_MACOSX) || defined(OS_LINUX) || defined(OS_BSD) + namespace { + + // Use the operating system's mechanisms to encrypt cookies before writing +@@ -63,10 +63,10 @@ base::LazyInstance<CookieOSCryptoDelegate>::Destructor + net::CookieCryptoDelegate* GetCookieCryptoDelegate() { + return g_cookie_crypto_delegate.Pointer(); + } +-#else // defined(OS_WIN) || defined(OS_MACOSX) || defined(OS_LINUX) ++#else // defined(OS_WIN) || defined(OS_MACOSX) || defined(OS_LINUX) || defined(OS_BSD) + net::CookieCryptoDelegate* GetCookieCryptoDelegate() { + return NULL; + } +-#endif // defined(OS_WIN) || defined(OS_MACOSX) || defined(OS_LINUX) ++#endif // defined(OS_WIN) || defined(OS_MACOSX) || defined(OS_LINUX) || defined(OS_BSD) + + } // namespace cookie_config diff --git a/www/iridium/files/patch-components_crash_content_app_BUILD.gn b/www/iridium/files/patch-components_crash_content_app_BUILD.gn new file mode 100644 index 000000000000..2d01264b0bad --- /dev/null +++ b/www/iridium/files/patch-components_crash_content_app_BUILD.gn @@ -0,0 +1,52 @@ +--- components/crash/content/app/BUILD.gn.orig 2020-03-16 18:40:30 UTC ++++ components/crash/content/app/BUILD.gn +@@ -49,17 +49,20 @@ static_library("app") { + "crashpad_win.cc", + ] + +- if (is_mac || is_win || is_android || is_linux) { ++ if ((is_mac || is_win || is_android || is_linux) && !is_bsd) { + sources += [ "crashpad.cc" ] + } + +- if (is_linux) { ++ if (is_linux && !is_bsd) { + sources += [ + "breakpad_linux.cc", + "breakpad_linux.h", + "breakpad_linux_impl.h", + ] + } ++ if (is_bsd) { ++ sources -= [ "crashpad_linux.cc" ] ++ } + + defines = [ "CRASH_IMPLEMENTATION" ] + +@@ -69,7 +72,7 @@ static_library("app") { + "//build:branding_buildflags", + ] + +- if (is_mac || is_win || is_android || is_linux) { ++ if ((is_mac || is_win || is_android || is_linux) && !is_bsd) { + deps += [ + "//third_party/crashpad/crashpad/client", + "//third_party/crashpad/crashpad/util", +@@ -95,7 +98,7 @@ static_library("app") { + ] + } + +- if (is_linux) { ++ if (is_linux && !is_bsd) { + deps += [ "//third_party/breakpad:client" ] + } + +@@ -126,7 +129,7 @@ static_library("app") { + libs = [ "log" ] + } + +- if (is_linux) { ++ if (is_linux && !is_bsd) { + data_deps = [ "//third_party/crashpad/crashpad/handler:crashpad_handler" ] + } + } diff --git a/www/iridium/files/patch-components_crash_content_app_crashpad.cc b/www/iridium/files/patch-components_crash_content_app_crashpad.cc new file mode 100644 index 000000000000..f709f5f3087d --- /dev/null +++ b/www/iridium/files/patch-components_crash_content_app_crashpad.cc @@ -0,0 +1,43 @@ +--- components/crash/content/app/crashpad.cc.orig 2019-04-30 22:22:41 UTC ++++ components/crash/content/app/crashpad.cc +@@ -104,6 +104,12 @@ void InitializeCrashpadImpl(bool initial_client, + const base::FilePath& exe_path, + const std::vector<std::string>& initial_arguments, + bool embedded_handler) { ++ ++#if defined(OS_BSD) ++ NOTIMPLEMENTED(); ++ return; ++#endif ++ + static bool initialized = false; + DCHECK(!initialized); + initialized = true; +@@ -124,7 +130,7 @@ void InitializeCrashpadImpl(bool initial_client, + DCHECK(browser_process || process_type == "Chrome Installer" || + process_type == "notification-helper" || + process_type == "GCPW Installer" || process_type == "GCPW DLL"); +-#elif defined(OS_LINUX) || defined(OS_ANDROID) ++#elif defined(OS_LINUX) || defined(OS_ANDROID) || defined(OS_BSD) + DCHECK(browser_process); + #else + #error Port. +@@ -192,7 +198,7 @@ void InitializeCrashpadImpl(bool initial_client, + // other "main, first process" to initialize things. There is no "relauncher" + // on Windows, so this is synonymous with initial_client. + const bool should_initialize_database_and_set_upload_policy = initial_client; +-#elif defined(OS_LINUX) || defined(OS_ANDROID) ++#elif defined(OS_LINUX) || defined(OS_ANDROID) || defined(OS_BSD) + const bool should_initialize_database_and_set_upload_policy = browser_process; + #endif + if (should_initialize_database_and_set_upload_policy) { +@@ -272,7 +278,9 @@ bool GetUploadsEnabled() { + + #if !defined(OS_ANDROID) + void DumpWithoutCrashing() { ++#if !defined(OS_BSD) + CRASHPAD_SIMULATE_CRASH(); ++#endif + } + #endif + diff --git a/www/iridium/files/patch-components_crash_content_app_crashpad.h b/www/iridium/files/patch-components_crash_content_app_crashpad.h new file mode 100644 index 000000000000..caf10f1a4f6a --- /dev/null +++ b/www/iridium/files/patch-components_crash_content_app_crashpad.h @@ -0,0 +1,66 @@ +--- components/crash/content/app/crashpad.h.orig 2019-12-19 16:46:22 UTC ++++ components/crash/content/app/crashpad.h +@@ -22,7 +22,7 @@ + #include <windows.h> + #endif + +-#if defined(OS_LINUX) ++#if defined(OS_LINUX) || defined(OS_BSD) + #include <signal.h> + #endif + +@@ -37,7 +37,7 @@ class CrashReportDatabase; + + namespace crash_reporter { + +-#if defined(OS_LINUX) ++#if defined(OS_LINUX) || defined(OS_BSD) + // TODO(jperaza): Remove kEnableCrashpad and IsCrashpadEnabled() when Crashpad + // is fully enabled on Linux. + extern const char kEnableCrashpad[]; +@@ -146,11 +146,11 @@ void RequestSingleCrashUpload(const std::string& local + + void DumpWithoutCrashing(); + +-#if defined(OS_LINUX) || defined(OS_ANDROID) ++#if defined(OS_LINUX) || defined(OS_ANDROID) || defined(OS_BSD) + // Logs message and immediately crashes the current process without triggering a + // crash dump. + void CrashWithoutDumping(const std::string& message); +-#endif // defined(OS_LINUX) || defined(OS_ANDROID) ++#endif // defined(OS_LINUX) || defined(OS_ANDROID) || defined(OS_BSD) + + // Returns the Crashpad database path, only valid in the browser. + base::FilePath GetCrashpadDatabasePath(); +@@ -188,7 +188,7 @@ bool DumpWithoutCrashingForClient(CrashReporterClient* + void WhitelistMemoryRange(void* begin, size_t size); + #endif // OS_ANDROID + +-#if defined(OS_LINUX) ++#if defined(OS_LINUX) || defined(OS_BSD) + // Install a handler that gets a chance to handle faults before Crashpad. This + // is used by V8 for trap-based bounds checks. + void SetFirstChanceExceptionHandler(bool (*handler)(int, siginfo_t*, void*)); +@@ -196,7 +196,7 @@ void SetFirstChanceExceptionHandler(bool (*handler)(in + // Gets the socket and process ID of the Crashpad handler connected to this + // process, valid if this function returns `true`. + bool GetHandlerSocket(int* sock, pid_t* pid); +-#endif // OS_LINUX ++#endif // OS_LINUX || OS_BSD + + namespace internal { + +@@ -212,11 +212,11 @@ DWORD WINAPI DumpProcessForHungInputThread(void* param + + #endif // defined(OS_WIN) + +-#if defined(OS_LINUX) || defined(OS_ANDROID) ++#if defined(OS_LINUX) || defined(OS_ANDROID) || defined(OS_BSD) + // Starts the handler process with an initial client connected on fd. + // Returns `true` on success. + bool StartHandlerForClient(int fd); +-#endif // OS_LINUX || OS_ANDROID ++#endif // OS_LINUX || OS_ANDROID || OS_BSD + + // The platform-specific portion of InitializeCrashpad(). On Windows, if + // |user_data_dir| is non-empty, the user data directory will be passed to the diff --git a/www/iridium/files/patch-components_crash_content_app_crashpad__linux.cc b/www/iridium/files/patch-components_crash_content_app_crashpad__linux.cc new file mode 100644 index 000000000000..20d5d6295eb7 --- /dev/null +++ b/www/iridium/files/patch-components_crash_content_app_crashpad__linux.cc @@ -0,0 +1,24 @@ +--- components/crash/content/app/crashpad_linux.cc.orig 2020-03-16 18:39:48 UTC ++++ components/crash/content/app/crashpad_linux.cc +@@ -5,7 +5,9 @@ + #include "components/crash/content/app/crashpad.h" + + #include <pthread.h> ++#if !defined(OS_BSD) + #include <sys/prctl.h> ++#endif + + #include <limits> + +@@ -67,9 +69,11 @@ void SetPtracerAtFork() { + if (!GetHandlerSocket(nullptr, &pid)) { + return; + } ++#if !defined(OS_BSD) + if (pid > 0 && prctl(PR_SET_PTRACER, pid, 0, 0, 0) != 0) { + PLOG(ERROR) << "prctl"; + } ++#endif + } + + namespace internal { diff --git a/www/iridium/files/patch-components_crash_content_browser_BUILD.gn b/www/iridium/files/patch-components_crash_content_browser_BUILD.gn new file mode 100644 index 000000000000..6c5e78455e0f --- /dev/null +++ b/www/iridium/files/patch-components_crash_content_browser_BUILD.gn @@ -0,0 +1,27 @@ +--- components/crash/content/browser/BUILD.gn.orig 2019-03-11 22:00:56 UTC ++++ components/crash/content/browser/BUILD.gn +@@ -28,7 +28,7 @@ source_set("browser") { + "//content/public/common", + ] + +- if (is_linux || is_android) { ++ if ((is_linux && !is_bsd) || is_android) { + set_sources_assignment_filter([]) + + # Want this file on both Linux and Android. +@@ -42,13 +42,13 @@ source_set("browser") { + deps += [ "//third_party/crashpad/crashpad/client" ] + } + +- if (!is_android) { ++ if (!is_android && !is_bsd) { + deps += [ "//third_party/breakpad:client" ] + } + + # This is not in the GYP build but this target includes breakpad client + # headers, so add the dependency here. +- if ((is_posix && !is_ios) || is_fuchsia) { ++ if ((is_posix && !is_ios && !is_bsd) || is_fuchsia) { + configs += [ "//third_party/breakpad:client_config" ] + public_configs = [ "//third_party/breakpad:client_config" ] + } diff --git a/www/iridium/files/patch-components_crash_core_common_BUILD.gn b/www/iridium/files/patch-components_crash_core_common_BUILD.gn new file mode 100644 index 000000000000..b7c5ab969a32 --- /dev/null +++ b/www/iridium/files/patch-components_crash_core_common_BUILD.gn @@ -0,0 +1,31 @@ +--- components/crash/core/common/BUILD.gn.orig 2020-03-16 18:39:48 UTC ++++ components/crash/core/common/BUILD.gn +@@ -7,7 +7,7 @@ import("//components/gwp_asan/buildflags/buildflags.gn + + declare_args() { + # If set to true, this will stub out and disable the entire crash key system. +- use_crash_key_stubs = is_fuchsia ++ use_crash_key_stubs = is_fuchsia || is_bsd + } + + group("common") { +@@ -104,7 +104,9 @@ target(crash_key_target_type, "crash_key_lib") { + ] + } + +- deps += [ "//third_party/breakpad:client" ] ++ if (!is_bsd) { ++ deps += [ "//third_party/breakpad:client" ] ++ } + if (use_combined_annotations) { + public_deps += [ "//third_party/crashpad/crashpad/client" ] + } +@@ -167,7 +169,7 @@ source_set("unit_tests") { + sources += [ "objc_zombie_unittest.mm" ] + } + +- if (!is_mac && !is_ios && !is_win && !is_fuchsia && !is_android) { ++ if (!is_mac && !is_ios && !is_win && !is_fuchsia && !is_android && !is_bsd) { + include_dirs = [ "//third_party/breakpad/breakpad/src/" ] + sources += [ "crash_key_breakpad_unittest.cc" ] + } diff --git a/www/iridium/files/patch-components_discardable__memory_service_discardable__shared__memory__manager.cc b/www/iridium/files/patch-components_discardable__memory_service_discardable__shared__memory__manager.cc new file mode 100644 index 000000000000..def54d6eaffa --- /dev/null +++ b/www/iridium/files/patch-components_discardable__memory_service_discardable__shared__memory__manager.cc @@ -0,0 +1,20 @@ +--- components/discardable_memory/service/discardable_shared_memory_manager.cc.orig 2020-03-16 18:40:30 UTC ++++ components/discardable_memory/service/discardable_shared_memory_manager.cc +@@ -33,7 +33,7 @@ + #include "components/discardable_memory/common/discardable_shared_memory_heap.h" + #include "mojo/public/cpp/bindings/self_owned_receiver.h" + +-#if defined(OS_LINUX) ++#if defined(OS_LINUX) || defined(OS_BSD) + #include "base/files/file_path.h" + #include "base/files/file_util.h" + #include "base/metrics/histogram_macros.h" +@@ -182,7 +182,7 @@ int64_t GetDefaultMemoryLimit() { + max_default_memory_limit /= 8; + #endif + +-#if defined(OS_LINUX) ++#if defined(OS_LINUX) || defined(OS_BSD) + base::FilePath shmem_dir; + if (base::GetShmemTempDir(false, &shmem_dir)) { + int64_t shmem_dir_amount_of_free_space = diff --git a/www/iridium/files/patch-components_download_internal_common_base__file.cc b/www/iridium/files/patch-components_download_internal_common_base__file.cc new file mode 100644 index 000000000000..dbb0a0dd18dd --- /dev/null +++ b/www/iridium/files/patch-components_download_internal_common_base__file.cc @@ -0,0 +1,20 @@ +--- components/download/internal/common/base_file.cc.orig 2019-12-16 21:50:45 UTC ++++ components/download/internal/common/base_file.cc +@@ -603,7 +603,7 @@ GURL GetEffectiveAuthorityURL(const GURL& source_url, + + } // namespace + +-#if defined(OS_WIN) || defined(OS_MACOSX) || defined(OS_LINUX) ++#if defined(OS_WIN) || defined(OS_MACOSX) || defined(OS_LINUX) || defined(OS_BSD) + + DownloadInterruptReason BaseFile::AnnotateWithSourceInformationSync( + const std::string& client_guid, +@@ -621,7 +621,7 @@ DownloadInterruptReason BaseFile::AnnotateWithSourceIn + + return QuarantineFileResultToReason(result); + } +-#else // !OS_WIN && !OS_MACOSX && !OS_LINUX ++#else // !OS_WIN && !OS_MACOSX && !OS_LINUX && !OS_BSD + DownloadInterruptReason BaseFile::AnnotateWithSourceInformationSync( + const std::string& client_guid, + const GURL& source_url, diff --git a/www/iridium/files/patch-components_feature__engagement_public_event__constants.cc b/www/iridium/files/patch-components_feature__engagement_public_event__constants.cc new file mode 100644 index 000000000000..ea4af4e91c50 --- /dev/null +++ b/www/iridium/files/patch-components_feature__engagement_public_event__constants.cc @@ -0,0 +1,27 @@ +--- components/feature_engagement/public/event_constants.cc.orig 2020-02-03 21:52:44 UTC ++++ components/feature_engagement/public/event_constants.cc +@@ -12,12 +12,12 @@ namespace feature_engagement { + namespace events { + + #if defined(OS_IOS) || defined(OS_WIN) || defined(OS_MACOSX) || \ +- defined(OS_LINUX) || defined(OS_CHROMEOS) ++ defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD) + const char kNewTabOpened[] = "new_tab_opened"; + #endif // defined(OS_IOS) || defined(OS_WIN) || defined(OS_MACOSX) || +- // defined(OS_LINUX) || defined(OS_CHROMEOS) ++ // defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD) + +-#if defined(OS_WIN) || defined(OS_MACOSX) || defined(OS_LINUX) || \ ++#if defined(OS_WIN) || defined(OS_MACOSX) || defined(OS_LINUX) || defined(OS_BSD) || \ + defined(OS_CHROMEOS) + const char kReopenTabConditionsMet[] = "reopen_tab_conditions_met"; + const char kTabReopened[] = "tab_reopened"; +@@ -42,7 +42,7 @@ const char kIncognitoWindowOpened[] = "incognito_windo + const char kIncognitoWindowSessionTimeMet[] = + "incognito_window_session_time_met"; + #endif // BUILDFLAG(ENABLE_LEGACY_DESKTOP_IN_PRODUCT_HELP) +-#endif // defined(OS_WIN) || defined(OS_MACOSX) || defined(OS_LINUX) || ++#endif // defined(OS_WIN) || defined(OS_MACOSX) || defined(OS_LINUX) || defined(OS_BSD) || + // defined(OS_CHROMEOS) + + #if defined(OS_IOS) diff --git a/www/iridium/files/patch-components_feature__engagement_public_event__constants.h b/www/iridium/files/patch-components_feature__engagement_public_event__constants.h new file mode 100644 index 000000000000..96b274df41fb --- /dev/null +++ b/www/iridium/files/patch-components_feature__engagement_public_event__constants.h @@ -0,0 +1,30 @@ +--- components/feature_engagement/public/event_constants.h.orig 2020-02-03 21:52:44 UTC ++++ components/feature_engagement/public/event_constants.h +@@ -14,15 +14,15 @@ namespace events { + + // Desktop and IOS. + #if defined(OS_IOS) || defined(OS_WIN) || defined(OS_MACOSX) || \ +- defined(OS_LINUX) || defined(OS_CHROMEOS) ++ defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD) + // The user has explicitly opened a new tab via an entry point from inside of + // Chrome. + extern const char kNewTabOpened[]; + #endif // defined(OS_IOS) || defined(OS_WIN) || defined(OS_MACOSX) || +- // defined(OS_LINUX) || defined(OS_CHROMEOS) ++ // defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD) + + // Desktop +-#if defined(OS_WIN) || defined(OS_MACOSX) || defined(OS_LINUX) || \ ++#if defined(OS_WIN) || defined(OS_MACOSX) || defined(OS_LINUX) || defined(OS_BSD) || \ + defined(OS_CHROMEOS) + // All conditions for reopen closed tab IPH were met. Since this IPH needs to + // track user events (opening/closing tabs, focusing the omnibox, etc) on the +@@ -80,7 +80,7 @@ extern const char kIncognitoWindowOpened[]; + extern const char kIncognitoWindowSessionTimeMet[]; + #endif // BUILDFLAG(ENABLE_LEGACY_DESKTOP_IN_PRODUCT_HELP) + +-#endif // defined(OS_WIN) || defined(OS_MACOSX) || defined(OS_LINUX) || ++#endif // defined(OS_WIN) || defined(OS_MACOSX) || defined(OS_LINUX) || defined(OS_BSD) || + // defined(OS_CHROMEOS) + + #if defined(OS_IOS) diff --git a/www/iridium/files/patch-components_feature__engagement_public_feature__constants.cc b/www/iridium/files/patch-components_feature__engagement_public_feature__constants.cc new file mode 100644 index 000000000000..699be09ed7b4 --- /dev/null +++ b/www/iridium/files/patch-components_feature__engagement_public_feature__constants.cc @@ -0,0 +1,20 @@ +--- components/feature_engagement/public/feature_constants.cc.orig 2020-02-03 21:53:30 UTC ++++ components/feature_engagement/public/feature_constants.cc +@@ -14,7 +14,7 @@ const base::Feature kIPHDemoMode{"IPH_DemoMode", + const base::Feature kIPHDummyFeature{"IPH_Dummy", + base::FEATURE_DISABLED_BY_DEFAULT}; + +-#if defined(OS_WIN) || defined(OS_MACOSX) || defined(OS_LINUX) || \ ++#if defined(OS_WIN) || defined(OS_MACOSX) || defined(OS_LINUX) || defined(OS_BSD) || \ + defined(OS_CHROMEOS) + const base::Feature kIPHFocusModeFeature{"IPH_FocusMode", + base::FEATURE_DISABLED_BY_DEFAULT}; +@@ -33,7 +33,7 @@ const base::Feature kIPHIncognitoWindowFeature{ + const base::Feature kIPHNewTabFeature{"IPH_NewTab", + base::FEATURE_DISABLED_BY_DEFAULT}; + #endif // BUILDFLAG(ENABLE_LEGACY_DESKTOP_IN_PRODUCT_HELP) +-#endif // defined(OS_WIN) || defined(OS_MACOSX) || defined(OS_LINUX) || ++#endif // defined(OS_WIN) || defined(OS_MACOSX) || defined(OS_LINUX) || defined(OS_BSD) || + // defined(OS_CHROMEOS) + + #if defined(OS_ANDROID) diff --git a/www/iridium/files/patch-components_feature__engagement_public_feature__constants.h b/www/iridium/files/patch-components_feature__engagement_public_feature__constants.h new file mode 100644 index 000000000000..415b6f1d8c71 --- /dev/null +++ b/www/iridium/files/patch-components_feature__engagement_public_feature__constants.h @@ -0,0 +1,20 @@ +--- components/feature_engagement/public/feature_constants.h.orig 2020-02-03 21:53:30 UTC ++++ components/feature_engagement/public/feature_constants.h +@@ -17,7 +17,7 @@ extern const base::Feature kIPHDemoMode; + // A feature to ensure all arrays can contain at least one feature. + extern const base::Feature kIPHDummyFeature; + +-#if defined(OS_WIN) || defined(OS_MACOSX) || defined(OS_LINUX) || \ ++#if defined(OS_WIN) || defined(OS_MACOSX) || defined(OS_LINUX) || defined(OS_BSD) || \ + defined(OS_CHROMEOS) + extern const base::Feature kIPHFocusModeFeature; + extern const base::Feature kIPHGlobalMediaControlsFeature; +@@ -29,7 +29,7 @@ extern const base::Feature kIPHBookmarkFeature; + extern const base::Feature kIPHIncognitoWindowFeature; + extern const base::Feature kIPHNewTabFeature; + #endif // BUILDFLAG(ENABLE_LEGACY_DESKTOP_IPH) +-#endif // defined(OS_WIN) || defined(OS_MACOSX) || defined(OS_LINUX) || ++#endif // defined(OS_WIN) || defined(OS_MACOSX) || defined(OS_LINUX) || defined(OS_BSD) || + // defined(OS_CHROMEOS) + + // All the features declared for Android below that are also used in Java, diff --git a/www/iridium/files/patch-components_feature__engagement_public_feature__list.cc b/www/iridium/files/patch-components_feature__engagement_public_feature__list.cc new file mode 100644 index 000000000000..6bfd36f75f8d --- /dev/null +++ b/www/iridium/files/patch-components_feature__engagement_public_feature__list.cc @@ -0,0 +1,20 @@ +--- components/feature_engagement/public/feature_list.cc.orig 2020-03-16 18:39:48 UTC ++++ components/feature_engagement/public/feature_list.cc +@@ -58,7 +58,7 @@ const base::Feature* const kAllFeatures[] = { + &kIPHBadgedReadingListFeature, + &kIPHBadgedTranslateManualTriggerFeature, + #endif // defined(OS_IOS) +-#if defined(OS_WIN) || defined(OS_MACOSX) || defined(OS_LINUX) || \ ++#if defined(OS_WIN) || defined(OS_MACOSX) || defined(OS_LINUX) || defined(OS_BSD) || \ + defined(OS_CHROMEOS) + &kIPHFocusModeFeature, + &kIPHGlobalMediaControlsFeature, +@@ -69,7 +69,7 @@ const base::Feature* const kAllFeatures[] = { + &kIPHIncognitoWindowFeature, + &kIPHNewTabFeature, + #endif // BUILDFLAG(ENABLE_LEGACY_DESKTOP_IN_PRODUCT_HELP) +-#endif // defined(OS_WIN) || defined(OS_MACOSX) || defined(OS_LINUX) || ++#endif // defined(OS_WIN) || defined(OS_MACOSX) || defined(OS_LINUX) || defined(OS_BSD) || + // defined(OS_CHROMEOS) + }; + } // namespace diff --git a/www/iridium/files/patch-components_feature__engagement_public_feature__list.h b/www/iridium/files/patch-components_feature__engagement_public_feature__list.h new file mode 100644 index 000000000000..246d10568f99 --- /dev/null +++ b/www/iridium/files/patch-components_feature__engagement_public_feature__list.h @@ -0,0 +1,38 @@ +--- components/feature_engagement/public/feature_list.h.orig 2020-03-16 18:39:48 UTC ++++ components/feature_engagement/public/feature_list.h +@@ -111,7 +111,7 @@ DEFINE_VARIATION_PARAM(kIPHBadgedTranslateManualTrigge + "IPH_BadgedTranslateManualTrigger"); + #endif // defined(OS_IOS) + +-#if defined(OS_WIN) || defined(OS_MACOSX) || defined(OS_LINUX) || \ ++#if defined(OS_WIN) || defined(OS_MACOSX) || defined(OS_LINUX) || defined(OS_BSD) || \ + defined(OS_CHROMEOS) + DEFINE_VARIATION_PARAM(kIPHFocusModeFeature, "IPH_FocusMode"); + DEFINE_VARIATION_PARAM(kIPHGlobalMediaControls, "IPH_GlobalMediaControls"); +@@ -122,7 +122,7 @@ DEFINE_VARIATION_PARAM(kIPHBookmarkFeature, "IPH_Bookm + DEFINE_VARIATION_PARAM(kIPHIncognitoWindowFeature, "IPH_IncognitoWindow"); + DEFINE_VARIATION_PARAM(kIPHNewTabFeature, "IPH_NewTab"); + #endif // BUILDFLAG(ENABLE_LEGACY_DESKTOP_IN_PRODUCT_HELP) +-#endif // defined(OS_WIN) || defined(OS_MACOSX) || defined(OS_LINUX) || ++#endif // defined(OS_WIN) || defined(OS_MACOSX) || defined(OS_LINUX) || defined(OS_BSD) || + // defined(OS_CHROMEOS) + + } // namespace +@@ -172,7 +172,7 @@ constexpr flags_ui::FeatureEntry::FeatureVariation + VARIATION_ENTRY(kIPHNewIncognitoTabTipFeature), + VARIATION_ENTRY(kIPHBadgedReadingListFeature), + VARIATION_ENTRY(kIPHBadgedTranslateManualTriggerFeature), +-#elif defined(OS_WIN) || defined(OS_MACOSX) || defined(OS_LINUX) || \ ++#elif defined(OS_WIN) || defined(OS_MACOSX) || defined(OS_LINUX) || defined(OS_BSD) || \ + defined(OS_CHROMEOS) + VARIATION_ENTRY(kIPHFocusModeFeature), + VARIATION_ENTRY(kIPHGlobalMediaControls), +@@ -183,7 +183,7 @@ constexpr flags_ui::FeatureEntry::FeatureVariation + VARIATION_ENTRY(kIPHIncognitoWindowFeature), + VARIATION_ENTRY(kIPHNewTabFeature), + #endif // BUILDFLAG(ENABLE_LEGACY_DESKTOP_IN_PRODUCT_HELP) +-#endif // defined(OS_WIN) || defined(OS_MACOSX) || defined(OS_LINUX) || ++#endif // defined(OS_WIN) || defined(OS_MACOSX) || defined(OS_LINUX) || defined(OS_BSD) || + // defined(OS_CHROMEOS) + }; + diff --git a/www/iridium/files/patch-components_feedback_anonymizer__tool.cc b/www/iridium/files/patch-components_feedback_anonymizer__tool.cc new file mode 100644 index 000000000000..ec853d75bd26 --- /dev/null +++ b/www/iridium/files/patch-components_feedback_anonymizer__tool.cc @@ -0,0 +1,14 @@ +--- components/feedback/anonymizer_tool.cc.orig 2020-03-16 18:40:30 UTC ++++ components/feedback/anonymizer_tool.cc +@@ -15,7 +15,11 @@ + #include "base/threading/thread_restrictions.h" + #include "content/public/browser/browser_thread.h" + #include "net/base/ip_address.h" ++#if defined(OS_BSD) ++#include <re2/re2.h> ++#else + #include "third_party/re2/src/re2/re2.h" ++#endif + + using re2::RE2; + diff --git a/www/iridium/files/patch-components_flags__ui_flags__state.cc b/www/iridium/files/patch-components_flags__ui_flags__state.cc new file mode 100644 index 000000000000..fdaa3f2f453c --- /dev/null +++ b/www/iridium/files/patch-components_flags__ui_flags__state.cc @@ -0,0 +1,11 @@ +--- components/flags_ui/flags_state.cc.orig 2020-02-03 21:53:30 UTC ++++ components/flags_ui/flags_state.cc +@@ -693,7 +693,7 @@ int FlagsState::GetCurrentPlatform() { + return kOsWin; + #elif defined(OS_CHROMEOS) // Needs to be before the OS_LINUX check. + return kOsCrOS; +-#elif defined(OS_LINUX) || defined(OS_OPENBSD) ++#elif defined(OS_LINUX) || defined(OS_OPENBSD) || defined(OS_FREEBSD) + return kOsLinux; + #elif defined(OS_ANDROID) + return kOsAndroid; diff --git a/www/iridium/files/patch-components_gcm__driver_gcm__client.h b/www/iridium/files/patch-components_gcm__driver_gcm__client.h new file mode 100644 index 000000000000..d40f905a889e --- /dev/null +++ b/www/iridium/files/patch-components_gcm__driver_gcm__client.h @@ -0,0 +1,10 @@ +--- components/gcm_driver/gcm_client.h.orig 2020-02-03 21:53:30 UTC ++++ components/gcm_driver/gcm_client.h +@@ -87,6 +87,7 @@ class GCMClient { + PLATFORM_CROS, + PLATFORM_IOS, + PLATFORM_ANDROID, ++ PLATFORM_BSD, + PLATFORM_UNSPECIFIED + }; + diff --git a/www/iridium/files/patch-components_gcm__driver_gcm__client__impl.cc b/www/iridium/files/patch-components_gcm__driver_gcm__client__impl.cc new file mode 100644 index 000000000000..52e43837a5bd --- /dev/null +++ b/www/iridium/files/patch-components_gcm__driver_gcm__client__impl.cc @@ -0,0 +1,12 @@ +--- components/gcm_driver/gcm_client_impl.cc.orig 2020-02-03 21:53:30 UTC ++++ components/gcm_driver/gcm_client_impl.cc +@@ -135,6 +135,9 @@ void ToCheckinProtoVersion( + case GCMClient::PLATFORM_CROS: + platform = checkin_proto::ChromeBuildProto_Platform_PLATFORM_CROS; + break; ++ case GCMClient::PLATFORM_BSD: ++ platform = checkin_proto::ChromeBuildProto_Platform_PLATFORM_LINUX; ++ break; + case GCMClient::PLATFORM_UNSPECIFIED: + // For unknown platform, return as LINUX. + platform = checkin_proto::ChromeBuildProto_Platform_PLATFORM_LINUX; diff --git a/www/iridium/files/patch-components_keyed__service_core_dependency__graph__unittest.cc b/www/iridium/files/patch-components_keyed__service_core_dependency__graph__unittest.cc new file mode 100644 index 000000000000..bbf7cb18c4a1 --- /dev/null +++ b/www/iridium/files/patch-components_keyed__service_core_dependency__graph__unittest.cc @@ -0,0 +1,14 @@ +--- components/keyed_service/core/dependency_graph_unittest.cc.orig 2019-03-11 22:00:56 UTC ++++ components/keyed_service/core/dependency_graph_unittest.cc +@@ -9,7 +9,11 @@ + #include "components/keyed_service/core/dependency_graph.h" + #include "components/keyed_service/core/dependency_node.h" + #include "testing/gtest/include/gtest/gtest.h" ++#if defined(OS_BSD) ++#include <re2/re2.h> ++#else + #include "third_party/re2/src/re2/re2.h" ++#endif + + namespace { + diff --git a/www/iridium/files/patch-components_metrics_BUILD.gn b/www/iridium/files/patch-components_metrics_BUILD.gn new file mode 100644 index 000000000000..b89758947847 --- /dev/null +++ b/www/iridium/files/patch-components_metrics_BUILD.gn @@ -0,0 +1,14 @@ +--- components/metrics/BUILD.gn.orig 2020-03-16 18:40:30 UTC ++++ components/metrics/BUILD.gn +@@ -173,6 +173,11 @@ jumbo_static_library("metrics") { + if (is_fuchsia) { + sources += [ "drive_metrics_provider_fuchsia.cc" ] + } ++ ++ if (is_bsd) { ++ sources -= [ "system_memory_stats_recorder_linux.cc" ] ++ } ++ + } + + if (is_android) { diff --git a/www/iridium/files/patch-components_metrics_drive__metrics__provider__linux.cc b/www/iridium/files/patch-components_metrics_drive__metrics__provider__linux.cc new file mode 100644 index 000000000000..7e51eab82bdb --- /dev/null +++ b/www/iridium/files/patch-components_metrics_drive__metrics__provider__linux.cc @@ -0,0 +1,16 @@ +--- components/metrics/drive_metrics_provider_linux.cc.orig 2019-03-11 22:00:56 UTC ++++ components/metrics/drive_metrics_provider_linux.cc +@@ -4,7 +4,13 @@ + + #include "components/metrics/drive_metrics_provider.h" + ++#if defined(OS_BSD) ++#include <sys/types.h> ++#define MAJOR(dev) major(dev) ++#define MINOR(dev) minor(dev) ++#else + #include <linux/kdev_t.h> // For MAJOR()/MINOR(). ++#endif + #include <sys/stat.h> + #include <string> + diff --git a/www/iridium/files/patch-components_metrics_metrics__log.cc b/www/iridium/files/patch-components_metrics_metrics__log.cc new file mode 100644 index 000000000000..22cb98c234a2 --- /dev/null +++ b/www/iridium/files/patch-components_metrics_metrics__log.cc @@ -0,0 +1,11 @@ +--- components/metrics/metrics_log.cc.orig 2019-10-21 19:06:29 UTC ++++ components/metrics/metrics_log.cc +@@ -202,7 +202,7 @@ void MetricsLog::RecordCoreSystemProfile( + // OperatingSystemVersion refers to the ChromeOS release version. + #if defined(OS_CHROMEOS) + os->set_kernel_version(base::SysInfo::KernelVersion()); +-#elif defined(OS_LINUX) ++#elif defined(OS_LINUX) || defined(OS_BSD) + // Linux operating system version is copied over into kernel version to be + // consistent. + os->set_kernel_version(base::SysInfo::OperatingSystemVersion()); diff --git a/www/iridium/files/patch-components_metrics_system__memory__stats__recorder__linux.cc b/www/iridium/files/patch-components_metrics_system__memory__stats__recorder__linux.cc new file mode 100644 index 000000000000..1cb338f7464b --- /dev/null +++ b/www/iridium/files/patch-components_metrics_system__memory__stats__recorder__linux.cc @@ -0,0 +1,18 @@ +--- components/metrics/system_memory_stats_recorder_linux.cc.orig 2019-09-09 21:55:14 UTC ++++ components/metrics/system_memory_stats_recorder_linux.cc +@@ -30,6 +30,7 @@ namespace metrics { + UMA_HISTOGRAM_LINEAR(name, sample, 2500, 50) + + void RecordMemoryStats(RecordMemoryStatsType type) { ++#if !defined(OS_FREEBSD) + base::SystemMemoryInfoKB memory; + if (!base::GetSystemMemoryInfo(&memory)) + return; +@@ -81,6 +82,7 @@ void RecordMemoryStats(RecordMemoryStatsType type) { + break; + } + } ++#endif // !defined(OS_FREEBSD) + } + + } // namespace metrics diff --git a/www/iridium/files/patch-components_neterror_resources_neterror.js b/www/iridium/files/patch-components_neterror_resources_neterror.js new file mode 100644 index 000000000000..07a9dedb488d --- /dev/null +++ b/www/iridium/files/patch-components_neterror_resources_neterror.js @@ -0,0 +1,11 @@ +--- components/neterror/resources/neterror.js.orig 2020-02-03 21:53:30 UTC ++++ components/neterror/resources/neterror.js +@@ -201,7 +201,7 @@ function setUpCachedButton(buttonStrings) { + } + + let primaryControlOnLeft = true; +-// <if expr="is_macosx or is_ios or is_linux or is_android"> ++// <if expr="is_macosx or is_ios or is_linux or is_android or is_bsd"> + primaryControlOnLeft = false; + // </if> + diff --git a/www/iridium/files/patch-components_network__session__configurator_browser_network__session__configurator.cc b/www/iridium/files/patch-components_network__session__configurator_browser_network__session__configurator.cc new file mode 100644 index 000000000000..658b31ad44fb --- /dev/null +++ b/www/iridium/files/patch-components_network__session__configurator_browser_network__session__configurator.cc @@ -0,0 +1,11 @@ +--- components/network_session_configurator/browser/network_session_configurator.cc.orig 2020-03-16 18:40:30 UTC ++++ components/network_session_configurator/browser/network_session_configurator.cc +@@ -718,7 +718,7 @@ net::URLRequestContextBuilder::HttpCacheParams::Type C + } + #endif // #if !defined(OS_ANDROID) + +-#if defined(OS_ANDROID) || defined(OS_LINUX) || defined(OS_CHROMEOS) ++#if defined(OS_ANDROID) || defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD) + return net::URLRequestContextBuilder::HttpCacheParams::DISK_SIMPLE; + #else + return net::URLRequestContextBuilder::HttpCacheParams::DISK_BLOCKFILE; diff --git a/www/iridium/files/patch-components_new__or__sad__tab__strings.grdp b/www/iridium/files/patch-components_new__or__sad__tab__strings.grdp new file mode 100644 index 000000000000..015ca5836d21 --- /dev/null +++ b/www/iridium/files/patch-components_new__or__sad__tab__strings.grdp @@ -0,0 +1,47 @@ +--- components/new_or_sad_tab_strings.grdp.orig 2020-03-16 18:40:30 UTC ++++ components/new_or_sad_tab_strings.grdp +@@ -51,7 +51,7 @@ + Open page in a new Incognito window (⇧⌘N) + </message> + </if> +- <if expr="is_win or is_linux or chromeos"> ++ <if expr="is_win or is_posix or chromeos"> + <message name="IDS_SAD_TAB_RELOAD_INCOGNITO" desc="One of the bullet points displayed on the web page if a reload failed to fix the issue, advising the user to open the web page in Chrome's Incognito mode."> + Open page in a new Incognito window (Ctrl-Shift-N) + </message> +@@ -66,7 +66,7 @@ + Close other tabs or apps + </message> + </if> +- <if expr="is_linux and not chromeos"> ++ <if expr="is_posix and not chromeos"> + <message name="IDS_SAD_TAB_RELOAD_CLOSE_TABS" desc="One of the bullet points displayed on the web page if a reload failed to fix the issue, advising the user to close other Chrome tabs or programs running on their computer."> + Close other tabs or programs + </message> +@@ -76,7 +76,7 @@ + Close other apps + </message> + </if> +- <if expr="is_linux and not chromeos"> ++ <if expr="is_posix and not chromeos"> + <message name="IDS_SAD_TAB_RELOAD_CLOSE_NOTABS" desc="One of the bullet points displayed on the web page if a reload failed to fix the issue, advising the user to close other programs running on their computer (Linux)."> + Close other programs + </message> +@@ -91,7 +91,7 @@ + Restart Chromium + </message> + </if> +- <if expr="is_win or is_linux or is_macosx or chromeos"> ++ <if expr="is_win or is_posix or is_macosx or chromeos"> + <message name="IDS_SAD_TAB_RELOAD_RESTART_DEVICE" desc="One of the bullet points displayed on the web page if a reload failed to fix the issue, advising the user to restart their computer."> + Restart your computer + </message> +@@ -106,7 +106,7 @@ + Learn more + </message> + </if> +- <if expr="is_win or is_linux or is_macosx or chromeos"> ++ <if expr="is_win or is_posix or is_macosx or chromeos"> + <message name="IDS_SAD_TAB_ERROR_CODE" desc="The message displayed on the crashed web page indicating the type of the crash."> + Error code: <ph name="ERROR_CODE">$1<ex>STATUS_ACCESS_VIOLATION</ex></ph> + </message> diff --git a/www/iridium/files/patch-components_os__crypt_os__crypt.h b/www/iridium/files/patch-components_os__crypt_os__crypt.h new file mode 100644 index 000000000000..f9e601a9a454 --- /dev/null +++ b/www/iridium/files/patch-components_os__crypt_os__crypt.h @@ -0,0 +1,48 @@ +--- components/os_crypt/os_crypt.h.orig 2020-02-03 21:53:30 UTC ++++ components/os_crypt/os_crypt.h +@@ -15,9 +15,9 @@ + #include "base/strings/string16.h" + #include "build/build_config.h" + +-#if defined(OS_LINUX) && !defined(OS_CHROMEOS) ++#if (defined(OS_LINUX) && !defined(OS_CHROMEOS)) || defined(OS_BSD) + class KeyStorageLinux; +-#endif // defined(OS_LINUX) && !defined(OS_CHROMEOS) ++#endif // (defined(OS_LINUX) && !defined(OS_CHROMEOS)) || defined(OS_BSD) + + #if defined(OS_WIN) || (defined(OS_MACOSX) && !defined(OS_IOS)) + class PrefRegistrySimple; +@@ -34,13 +34,13 @@ struct Config; + // true for Linux, if a password management tool is available. + class OSCrypt { + public: +-#if defined(OS_LINUX) && !defined(OS_CHROMEOS) ++#if (defined(OS_LINUX) && !defined(OS_CHROMEOS)) || defined(OS_BSD) + // Set the configuration of OSCrypt. + static COMPONENT_EXPORT(OS_CRYPT) void SetConfig( + std::unique_ptr<os_crypt::Config> config); +-#endif // defined(OS_LINUX) && !defined(OS_CHROMEOS) ++#endif // (defined(OS_LINUX) && !defined(OS_CHROMEOS)) || defined(OS_BSD) + +-#if defined(OS_MACOSX) || (defined(OS_LINUX) && !defined(OS_CHROMEOS)) ++#if defined(OS_MACOSX) || (defined(OS_LINUX) && !defined(OS_CHROMEOS)) || defined(OS_BSD) + // On Linux returns true iff the real secret key (not hardcoded one) is + // available. On MacOS returns true if Keychain is available (for mock + // Keychain it returns true if not using locked Keychain, false if using +@@ -131,7 +131,7 @@ class OSCrypt { + DISALLOW_IMPLICIT_CONSTRUCTORS(OSCrypt); + }; + +-#if defined(OS_LINUX) && !defined(OS_CHROMEOS) ++#if (defined(OS_LINUX) && !defined(OS_CHROMEOS)) || defined(OS_BSD) + // For unit testing purposes, inject methods to be used. + // |get_key_storage_mock| provides the desired |KeyStorage| implementation. + // If the provider returns |nullptr|, a hardcoded password will be used. +@@ -146,6 +146,6 @@ void UseMockKeyStorageForTesting( + // Clears any caching and most lazy initialisations performed by the production + // code. Should be used after any test which required a password. + COMPONENT_EXPORT(OS_CRYPT) void ClearCacheForTesting(); +-#endif // defined(OS_LINUX) && !defined(OS_CHROMEOS) ++#endif // (defined(OS_LINUX) && !defined(OS_CHROMEOS)) || defined(OS_BSD) + + #endif // COMPONENTS_OS_CRYPT_OS_CRYPT_H_ diff --git a/www/iridium/files/patch-components_os__crypt_os__crypt__unittest.cc b/www/iridium/files/patch-components_os__crypt_os__crypt__unittest.cc new file mode 100644 index 000000000000..d8cbdaad386c --- /dev/null +++ b/www/iridium/files/patch-components_os__crypt_os__crypt__unittest.cc @@ -0,0 +1,11 @@ +--- components/os_crypt/os_crypt_unittest.cc.orig 2019-03-11 22:00:56 UTC ++++ components/os_crypt/os_crypt_unittest.cc +@@ -18,7 +18,7 @@ + #include "components/os_crypt/os_crypt_mocker.h" + #include "testing/gtest/include/gtest/gtest.h" + +-#if defined(OS_LINUX) && !defined(OS_CHROMEOS) ++#if (defined(OS_LINUX) || defined(OS_BSD)) && !defined(OS_CHROMEOS) + #include "components/os_crypt/os_crypt_mocker_linux.h" + #endif + diff --git a/www/iridium/files/patch-components_plugins_renderer_plugin__placeholder.cc b/www/iridium/files/patch-components_plugins_renderer_plugin__placeholder.cc new file mode 100644 index 000000000000..0f704d529edf --- /dev/null +++ b/www/iridium/files/patch-components_plugins_renderer_plugin__placeholder.cc @@ -0,0 +1,14 @@ +--- components/plugins/renderer/plugin_placeholder.cc.orig 2019-03-11 22:00:56 UTC ++++ components/plugins/renderer/plugin_placeholder.cc +@@ -17,7 +17,11 @@ + #include "third_party/blink/public/web/web_plugin_container.h" + #include "third_party/blink/public/web/web_script_source.h" + #include "third_party/blink/public/web/web_serialized_script_value.h" ++#if defined(OS_BSD) ++#include <re2/re2.h> ++#else + #include "third_party/re2/src/re2/re2.h" ++#endif // defined(OS_BSD) + + namespace plugins { + diff --git a/www/iridium/files/patch-components_policy_core_common_cloud_cloud__policy__util.cc b/www/iridium/files/patch-components_policy_core_common_cloud_cloud__policy__util.cc new file mode 100644 index 000000000000..06a59baab59d --- /dev/null +++ b/www/iridium/files/patch-components_policy_core_common_cloud_cloud__policy__util.cc @@ -0,0 +1,73 @@ +--- components/policy/core/common/cloud/cloud_policy_util.cc.orig 2020-02-03 21:52:44 UTC ++++ components/policy/core/common/cloud/cloud_policy_util.cc +@@ -16,7 +16,7 @@ + #include <wincred.h> + #endif + +-#if defined(OS_LINUX) && !defined(OS_CHROMEOS) || defined(OS_MACOSX) ++#if (defined(OS_LINUX) && !defined(OS_CHROMEOS)) || defined(OS_MACOSX) || defined(OS_BSD) + #include <pwd.h> + #include <sys/types.h> + #include <unistd.h> +@@ -31,7 +31,7 @@ + #import <SystemConfiguration/SCDynamicStoreCopySpecific.h> + #endif + +-#if defined(OS_LINUX) && !defined(OS_CHROMEOS) ++#if (defined(OS_LINUX) && !defined(OS_CHROMEOS)) || defined(OS_BSD) + #include <limits.h> // For HOST_NAME_MAX + #endif + +@@ -60,7 +60,7 @@ + #include "base/system/sys_info.h" + #endif + +-#if defined(OS_LINUX) && !defined(OS_CHROMEOS) ++#if (defined(OS_LINUX) && !defined(OS_CHROMEOS)) || defined(OS_BSD) + #include "base/system/sys_info.h" + #endif + +@@ -69,11 +69,24 @@ namespace policy { + namespace em = enterprise_management; + + std::string GetMachineName() { +-#if defined(OS_LINUX) && !defined(OS_CHROMEOS) ++#if (defined(OS_LINUX) && !defined(OS_CHROMEOS)) + char hostname[HOST_NAME_MAX]; + if (gethostname(hostname, HOST_NAME_MAX) == 0) // Success. + return hostname; + return std::string(); ++#elif defined(OS_BSD) ++ long host_name_max = sysconf(_SC_HOST_NAME_MAX); ++ if (host_name_max != -1) { ++ char *hostname = new char[host_name_max + 1](); ++ std::string hostname_r; ++ ++ if (gethostname(hostname, host_name_max) == 0) ++ hostname_r = hostname; ++ ++ delete[] hostname; ++ return hostname_r; ++ } ++ return std::string(); + #elif defined(OS_MACOSX) + // TODO(crbug.com/1024115): Find a different replacement for -[NSHost + // currentHost] on iOS. +@@ -123,7 +136,7 @@ std::string GetMachineName() { + } + + std::string GetOSVersion() { +-#if defined(OS_LINUX) || defined(OS_MACOSX) ++#if defined(OS_LINUX) || defined(OS_MACOSX) || defined(OS_BSD) + return base::SysInfo::OperatingSystemVersion(); + #elif defined(OS_WIN) + base::win::OSInfo::VersionNumber version_number = +@@ -146,7 +159,7 @@ std::string GetOSArchitecture() { + } + + std::string GetOSUsername() { +-#if defined(OS_LINUX) && !defined(OS_CHROMEOS) || defined(OS_MACOSX) ++#if (defined(OS_LINUX) && !defined(OS_CHROMEOS)) || defined(OS_MACOSX) || defined(OS_BSD) + struct passwd* creds = getpwuid(getuid()); + if (!creds || !creds->pw_name) + return std::string(); diff --git a/www/iridium/files/patch-components_policy_core_common_schema.cc b/www/iridium/files/patch-components_policy_core_common_schema.cc new file mode 100644 index 000000000000..084085fb3d9f --- /dev/null +++ b/www/iridium/files/patch-components_policy_core_common_schema.cc @@ -0,0 +1,14 @@ +--- components/policy/core/common/schema.cc.orig 2019-03-11 22:00:56 UTC ++++ components/policy/core/common/schema.cc +@@ -23,7 +23,11 @@ + #include "base/strings/stringprintf.h" + #include "components/policy/core/common/json_schema_constants.h" + #include "components/policy/core/common/schema_internal.h" ++#if defined(OS_FREEBSD) ++#include <re2/re2.h> ++#else + #include "third_party/re2/src/re2/re2.h" ++#endif + + namespace schema = json_schema_constants; + diff --git a/www/iridium/files/patch-components_policy_resources_policy__templates.json b/www/iridium/files/patch-components_policy_resources_policy__templates.json new file mode 100644 index 000000000000..5eca40e4b2ae --- /dev/null +++ b/www/iridium/files/patch-components_policy_resources_policy__templates.json @@ -0,0 +1,83 @@ +--- components/policy/resources/policy_templates.json.orig 2020-03-16 18:40:31 UTC ++++ components/policy/resources/policy_templates.json +@@ -1088,7 +1088,7 @@ + 'owners': ['file://components/policy/resources/OWNERS'], + 'type': 'string', + 'schema': { 'type': 'string' }, +- 'supported_on': ['chrome.*:8-', 'chrome_os:11-', 'android:81-'], ++ 'supported_on': ['chrome.*:8-', 'chrome_os:11-', 'android:81-', 'chrome.freebsd:9-'], + 'features': { + 'can_be_recommended': True, + 'dynamic_refresh': True, +@@ -1118,7 +1118,7 @@ + 'owners': ['file://components/policy/resources/OWNERS'], + 'type': 'main', + 'schema': { 'type': 'boolean' }, +- 'supported_on': ['chrome.*:8-', 'chrome_os:11-'], ++ 'supported_on': ['chrome.*:8-', 'chrome_os:11-', 'chrome.freebsd:9-'], + 'features': { + 'can_be_recommended': True, + 'dynamic_refresh': True, +@@ -1145,7 +1145,7 @@ + 'owners': ['file://components/policy/resources/OWNERS'], + 'type': 'string', + 'schema': { 'type': 'string' }, +- 'supported_on': ['chrome.*:58-', 'chrome_os:58-'], ++ 'supported_on': ['chrome.*:58-', 'chrome_os:58-', 'chrome.freebsd:9-'], + 'features': { + 'can_be_recommended': True, + 'dynamic_refresh': True, +@@ -1944,7 +1944,7 @@ + 'owners': ['jamiewalch@chromium.org', 'rkjnsn@chromium.org'], + 'type': 'main', + 'schema': { 'type': 'boolean' }, +- 'supported_on': ['chrome.linux:25-', 'chrome.mac:25-', 'chrome_os:42-'], ++ 'supported_on': ['chrome.linux:25-', 'chrome.mac:25-', 'chrome_os:42-', 'chrome.freebsd:25-'], + 'features': { + 'dynamic_refresh': True, + 'per_profile': False, +@@ -3807,7 +3807,7 @@ + 'owners': ['file://components/policy/resources/OWNERS'], + 'type': 'string', + 'schema': { 'type': 'string' }, +- 'supported_on': ['chrome.linux:9-'], ++ 'supported_on': ['chrome.linux:9-', 'chrome.freebsd:9-'], + 'features': { + 'dynamic_refresh': False, + 'per_profile': False, +@@ -3861,7 +3861,7 @@ + 'owners': ['file://components/policy/resources/OWNERS'], + 'type': 'main', + 'schema': { 'type': 'boolean' }, +- 'supported_on': ['chrome.linux:63-','chrome.mac:63-','chrome_os:63-','android:63-','webview_android:63-'], ++ 'supported_on': ['chrome.linux:63-','chrome.mac:63-','chrome_os:63-','android:63-','webview_android:63-', 'chrome.freebsd:63-'], + 'features': { + 'dynamic_refresh': True, + 'per_profile': False, +@@ -7329,7 +7329,7 @@ + 'owners': ['file://src/net/cert/OWNERS'], + 'type': 'main', + 'schema': { 'type': 'boolean' }, +- 'supported_on': ['chrome_os:30-', 'chrome.linux:30-', 'chrome.win:30-'], ++ 'supported_on': ['chrome_os:30-', 'chrome.linux:30-', 'chrome.win:30-', 'chrome.freebsd:30-'], + 'features': { + 'dynamic_refresh': True, + 'per_profile': False, +@@ -8621,7 +8621,7 @@ + 'owners': ['file://components/policy/resources/OWNERS'], + 'type': 'main', + 'schema': { 'type': 'boolean' }, +- 'supported_on': ['chrome.win:19-', 'chrome.linux:19-'], ++ 'supported_on': ['chrome.win:19-', 'chrome.linux:19-', 'chrome.freebsd:19-'], + 'features': { + 'can_be_recommended': True, + 'dynamic_refresh': True, +@@ -9297,7 +9297,7 @@ + 'owners': ['file://components/policy/resources/OWNERS'], + 'type': 'main', + 'schema': { 'type': 'boolean' }, +- 'supported_on': ['chrome.win:31-', 'chrome.linux:31-', 'chrome_os:31-'], ++ 'supported_on': ['chrome.win:31-', 'chrome.linux:31-', 'chrome_os:31-', 'chrome.freebsd:31-'], + 'features': { + 'dynamic_refresh': True, + 'per_profile': True, diff --git a/www/iridium/files/patch-components_policy_tools_generate__policy__source.py b/www/iridium/files/patch-components_policy_tools_generate__policy__source.py new file mode 100644 index 000000000000..0274c627676a --- /dev/null +++ b/www/iridium/files/patch-components_policy_tools_generate__policy__source.py @@ -0,0 +1,19 @@ +--- components/policy/tools/generate_policy_source.py.orig 2020-02-03 21:53:30 UTC ++++ components/policy/tools/generate_policy_source.py +@@ -97,6 +97,7 @@ class PolicyDetails: + 'chrome.linux', + 'chrome.mac', + 'chrome.fuchsia', ++ 'chrome.freebsd', + 'chrome.*', + 'chrome.win7', + ]: +@@ -119,7 +120,7 @@ class PolicyDetails: + if platform.startswith('chrome.'): + platform_sub = platform[7:] + if platform_sub == '*': +- self.platforms.extend(['win', 'mac', 'linux', 'fuchsia']) ++ self.platforms.extend(['win', 'mac', 'linux', 'fuchsia', 'freebsd']) + elif platform_sub == 'win7': + self.platforms.append('win') + else: diff --git a/www/iridium/files/patch-components_previews_core_previews__features.cc b/www/iridium/files/patch-components_previews_core_previews__features.cc new file mode 100644 index 000000000000..fabf0b3025ea --- /dev/null +++ b/www/iridium/files/patch-components_previews_core_previews__features.cc @@ -0,0 +1,18 @@ +--- components/previews/core/previews_features.cc.orig 2019-03-11 22:00:57 UTC ++++ components/previews/core/previews_features.cc +@@ -14,12 +14,12 @@ namespace features { + // are enabled are controlled by other features. + const base::Feature kPreviews { + "Previews", +-#if defined(OS_ANDROID) || defined(OS_LINUX) ++#if defined(OS_ANDROID) || defined(OS_LINUX) || defined(OS_BSD) + // Previews allowed for Android (but also allow on Linux for dev/debug). + base::FEATURE_ENABLED_BY_DEFAULT +-#else // !defined(OS_ANDROID) || defined(OS_LINUX) ++#else // !defined(OS_ANDROID) || defined(OS_LINUX) || defined(OS_BSD) + base::FEATURE_DISABLED_BY_DEFAULT +-#endif // defined(OS_ANDROID) || defined(OS_LINUX) ++#endif // defined(OS_ANDROID) || defined(OS_LINUX) || defined(OS_BSD) + }; + + // Enables the Offline previews on android slow connections. diff --git a/www/iridium/files/patch-components_security__interstitials_content_captive__portal__blocking__page.cc b/www/iridium/files/patch-components_security__interstitials_content_captive__portal__blocking__page.cc new file mode 100644 index 000000000000..b9eaf2aa1e95 --- /dev/null +++ b/www/iridium/files/patch-components_security__interstitials_content_captive__portal__blocking__page.cc @@ -0,0 +1,11 @@ +--- components/security_interstitials/content/captive_portal_blocking_page.cc.orig 2020-03-16 18:39:49 UTC ++++ components/security_interstitials/content/captive_portal_blocking_page.cc +@@ -106,7 +106,7 @@ std::string CaptivePortalBlockingPage::GetWiFiSSID() c + wifi_service->GetConnectedNetworkSSID(&ssid, &error); + if (!error.empty()) + return std::string(); +-#elif defined(OS_LINUX) ++#elif defined(OS_LINUX) || defined(OS_BSD) + ssid = net::GetWifiSSID(); + #elif defined(OS_ANDROID) + ssid = net::android::GetWifiSSID(); diff --git a/www/iridium/files/patch-components_services_paint__preview__compositor_paint__preview__compositor__collection__impl.cc b/www/iridium/files/patch-components_services_paint__preview__compositor_paint__preview__compositor__collection__impl.cc new file mode 100644 index 000000000000..f6e9116c28d0 --- /dev/null +++ b/www/iridium/files/patch-components_services_paint__preview__compositor_paint__preview__compositor__collection__impl.cc @@ -0,0 +1,29 @@ +--- components/services/paint_preview_compositor/paint_preview_compositor_collection_impl.cc.orig 2020-02-24 18:39:14 UTC ++++ components/services/paint_preview_compositor/paint_preview_compositor_collection_impl.cc +@@ -15,7 +15,7 @@ + + #if defined(OS_WIN) + #include "content/public/child/dwrite_font_proxy_init_win.h" +-#elif defined(OS_LINUX) ++#elif defined(OS_LINUX) || defined(OS_BSD) + #include "components/services/font/public/cpp/font_loader.h" + #endif + +@@ -35,7 +35,7 @@ PaintPreviewCompositorCollectionImpl::PaintPreviewComp + // Initialize font access for Skia. + #if defined(OS_WIN) + content::InitializeDWriteFontProxy(); +-#elif defined(OS_LINUX) ++#elif defined(OS_LINUX) || defined(OS_BSD) + mojo::PendingRemote<font_service::mojom::FontService> font_service; + content::UtilityThread::Get()->BindHostReceiver( + font_service.InitWithNewPipeAndPassReceiver()); +@@ -54,7 +54,7 @@ PaintPreviewCompositorCollectionImpl::PaintPreviewComp + // encoding to PNG or we could provide our own codec implementations. + + // Sanity check that fonts are working. +-#if defined(OS_LINUX) ++#if defined(OS_LINUX) || defined(OS_BSD) + // No WebSandbox is provided on Linux so the local fonts aren't accessible. + // This is fine since since the subsetted fonts are provided in the SkPicture. + // However, we still need to check that the SkFontMgr starts as it is used by diff --git a/www/iridium/files/patch-components_services_paint__preview__compositor_paint__preview__compositor__collection__impl.h b/www/iridium/files/patch-components_services_paint__preview__compositor_paint__preview__compositor__collection__impl.h new file mode 100644 index 000000000000..d84c48a27037 --- /dev/null +++ b/www/iridium/files/patch-components_services_paint__preview__compositor_paint__preview__compositor__collection__impl.h @@ -0,0 +1,20 @@ +--- components/services/paint_preview_compositor/paint_preview_compositor_collection_impl.h.orig 2020-02-26 13:13:33 UTC ++++ components/services/paint_preview_compositor/paint_preview_compositor_collection_impl.h +@@ -19,7 +19,7 @@ + #include "mojo/public/cpp/bindings/pending_receiver.h" + #include "mojo/public/cpp/bindings/receiver.h" + +-#if defined(OS_LINUX) ++#if defined(OS_LINUX) || defined(OS_BSD) + #include "components/services/font/public/cpp/font_loader.h" + #include "third_party/skia/include/core/SkRefCnt.h" + #endif +@@ -68,7 +68,7 @@ class PaintPreviewCompositorCollectionImpl + std::unique_ptr<PaintPreviewCompositorImpl>> + compositors_; + +-#if defined(OS_LINUX) ++#if defined(OS_LINUX) || defined(OS_BSD) + sk_sp<font_service::FontLoader> font_loader_; + #endif + diff --git a/www/iridium/files/patch-components_storage__monitor_BUILD.gn b/www/iridium/files/patch-components_storage__monitor_BUILD.gn new file mode 100644 index 000000000000..3d90d22d647b --- /dev/null +++ b/www/iridium/files/patch-components_storage__monitor_BUILD.gn @@ -0,0 +1,16 @@ +--- components/storage_monitor/BUILD.gn.orig 2019-10-21 19:06:30 UTC ++++ components/storage_monitor/BUILD.gn +@@ -81,6 +81,13 @@ static_library("storage_monitor") { + } + } + ++ if (is_bsd) { ++ sources += [ ++ "storage_monitor_freebsd.cc", ++ "storage_monitor_freebsd.h", ++ ] ++ } ++ + if (use_udev) { + sources += [ + "udev_util_linux.cc", diff --git a/www/iridium/files/patch-components_storage__monitor_removable__device__constants.cc b/www/iridium/files/patch-components_storage__monitor_removable__device__constants.cc new file mode 100644 index 000000000000..055ef8ce5281 --- /dev/null +++ b/www/iridium/files/patch-components_storage__monitor_removable__device__constants.cc @@ -0,0 +1,11 @@ +--- components/storage_monitor/removable_device_constants.cc.orig 2019-03-11 22:00:57 UTC ++++ components/storage_monitor/removable_device_constants.cc +@@ -10,7 +10,7 @@ namespace storage_monitor { + const char kFSUniqueIdPrefix[] = "UUID:"; + const char kVendorModelSerialPrefix[] = "VendorModelSerial:"; + +-#if defined(OS_LINUX) ++#if defined(OS_LINUX) || defined(OS_BSD) + const char kVendorModelVolumeStoragePrefix[] = "VendorModelVolumeStorage:"; + #endif + diff --git a/www/iridium/files/patch-components_storage__monitor_removable__device__constants.h b/www/iridium/files/patch-components_storage__monitor_removable__device__constants.h new file mode 100644 index 000000000000..6417016c4b7e --- /dev/null +++ b/www/iridium/files/patch-components_storage__monitor_removable__device__constants.h @@ -0,0 +1,11 @@ +--- components/storage_monitor/removable_device_constants.h.orig 2019-03-11 22:00:57 UTC ++++ components/storage_monitor/removable_device_constants.h +@@ -15,7 +15,7 @@ namespace storage_monitor { + extern const char kFSUniqueIdPrefix[]; + extern const char kVendorModelSerialPrefix[]; + +-#if defined(OS_LINUX) ++#if defined(OS_LINUX) || defined(OS_BSD) + extern const char kVendorModelVolumeStoragePrefix[]; + #endif + diff --git a/www/iridium/files/patch-components_storage__monitor_storage__monitor__freebsd.cc b/www/iridium/files/patch-components_storage__monitor_storage__monitor__freebsd.cc new file mode 100644 index 000000000000..5565618b98b3 --- /dev/null +++ b/www/iridium/files/patch-components_storage__monitor_storage__monitor__freebsd.cc @@ -0,0 +1,57 @@ +--- components/storage_monitor/storage_monitor_freebsd.cc.orig 2019-03-17 01:47:13 UTC ++++ components/storage_monitor/storage_monitor_freebsd.cc +@@ -0,0 +1,54 @@ ++// Copyright 2014 The Chromium Authors. All rights reserved. ++// Use of this source code is governed by a BSD-style license that can be ++// found in the LICENSE file. ++ ++// StorageMonitorFreeBSD implementation. ++ ++#include "components/storage_monitor/storage_monitor_freebsd.h" ++ ++#include <stdio.h> ++ ++#include <list> ++ ++#include "base/bind.h" ++#include "base/metrics/histogram.h" ++#include "base/process/kill.h" ++#include "base/process/launch.h" ++#include "base/stl_util.h" ++#include "base/strings/string_number_conversions.h" ++#include "base/strings/string_util.h" ++#include "base/strings/utf_string_conversions.h" ++#include "components/storage_monitor/media_storage_util.h" ++#include "components/storage_monitor/removable_device_constants.h" ++#include "components/storage_monitor/storage_info.h" ++ ++using content::BrowserThread; ++ ++namespace storage_monitor { ++ ++namespace { ++ ++} // namespace ++ ++StorageMonitorFreeBSD::StorageMonitorFreeBSD() { ++ DCHECK(BrowserThread::CurrentlyOn(BrowserThread::UI)); ++} ++ ++StorageMonitorFreeBSD::~StorageMonitorFreeBSD() { ++ DCHECK(BrowserThread::CurrentlyOn(BrowserThread::UI)); ++} ++ ++void StorageMonitorFreeBSD::Init() { ++} ++ ++bool StorageMonitorFreeBSD::GetStorageInfoForPath( ++ const base::FilePath& path, ++ StorageInfo* device_info) const { ++ return false; // TODO ++} ++ ++StorageMonitor* StorageMonitor::CreateInternal() { ++ return new StorageMonitorFreeBSD(); ++} ++ ++} // namespace storage_monitor diff --git a/www/iridium/files/patch-components_storage__monitor_storage__monitor__freebsd.h b/www/iridium/files/patch-components_storage__monitor_storage__monitor__freebsd.h new file mode 100644 index 000000000000..258c90fede4d --- /dev/null +++ b/www/iridium/files/patch-components_storage__monitor_storage__monitor__freebsd.h @@ -0,0 +1,48 @@ +--- components/storage_monitor/storage_monitor_freebsd.h.orig 2019-03-17 01:47:13 UTC ++++ components/storage_monitor/storage_monitor_freebsd.h +@@ -0,0 +1,45 @@ ++// Copyright 2014 The Chromium Authors. All rights reserved. ++// Use of this source code is governed by a BSD-style license that can be ++// found in the LICENSE file. ++ ++// StorageMonitorFreeBSD processes mount point change events, notifies listeners ++// about the addition and deletion of media devices, and answers queries about ++// mounted devices. ++// StorageMonitorFreeBSD lives on the UI thread, and uses ??? ++// the FILE thread to get mount point change events. ++ ++#ifndef COMPONENTS_STORAGE_MONITOR_STORAGE_MONITOR_FREEBSD_H_ ++#define COMPONENTS_STORAGE_MONITOR_STORAGE_MONITOR_FREEBSD_H_ ++ ++#include <map> ++#include <string> ++ ++#include "base/compiler_specific.h" ++#include "base/files/file_path.h" ++#include "base/files/file_path_watcher.h" ++#include "base/memory/weak_ptr.h" ++#include "components/storage_monitor/storage_monitor.h" ++#include "content/public/browser/browser_thread.h" ++ ++namespace storage_monitor { ++ ++class StorageMonitorFreeBSD : public StorageMonitor { ++ public: ++ // Should only be called by browser start up code. ++ // Use StorageMonitor::GetInstance() instead. ++ explicit StorageMonitorFreeBSD(); ++ virtual ~StorageMonitorFreeBSD(); ++ ++ // Must be called for StorageMonitorFreeBSD to work. ++ virtual void Init() override; ++ private: ++ // StorageMonitor implementation. ++ virtual bool GetStorageInfoForPath(const base::FilePath& path, ++ StorageInfo* device_info) const override; ++ ++ DISALLOW_COPY_AND_ASSIGN(StorageMonitorFreeBSD); ++}; ++ ++} // namespace storage_monitor ++ ++#endif // COMPONENTS_STORAGE_MONITOR_STORAGE_MONITOR_FREEBSD_H_ diff --git a/www/iridium/files/patch-components_sync__device__info_device__info__sync__bridge.cc b/www/iridium/files/patch-components_sync__device__info_device__info__sync__bridge.cc new file mode 100644 index 000000000000..c075e1c2a99c --- /dev/null +++ b/www/iridium/files/patch-components_sync__device__info_device__info__sync__bridge.cc @@ -0,0 +1,16 @@ +--- components/sync_device_info/device_info_sync_bridge.cc.orig 2020-03-16 18:40:31 UTC ++++ components/sync_device_info/device_info_sync_bridge.cc +@@ -456,11 +456,13 @@ void DeviceInfoSyncBridge::OnStoreCreated( + return; + } + ++#if !defined(OS_BSD) + store_ = std::move(store); + + base::SysInfo::GetHardwareInfo( + base::BindOnce(&DeviceInfoSyncBridge::OnHardwareInfoRetrieved, + weak_ptr_factory_.GetWeakPtr())); ++#endif + } + + void DeviceInfoSyncBridge::OnHardwareInfoRetrieved( diff --git a/www/iridium/files/patch-components_sync__device__info_local__device__info__util.cc b/www/iridium/files/patch-components_sync__device__info_local__device__info__util.cc new file mode 100644 index 000000000000..19d4b54c7495 --- /dev/null +++ b/www/iridium/files/patch-components_sync__device__info_local__device__info__util.cc @@ -0,0 +1,11 @@ +--- components/sync_device_info/local_device_info_util.cc.orig 2019-12-31 14:40:27 UTC ++++ components/sync_device_info/local_device_info_util.cc +@@ -19,7 +19,7 @@ std::string GetPersonalizableDeviceNameInternal(); + sync_pb::SyncEnums::DeviceType GetLocalDeviceType() { + #if defined(OS_CHROMEOS) + return sync_pb::SyncEnums_DeviceType_TYPE_CROS; +-#elif defined(OS_LINUX) ++#elif defined(OS_LINUX) || defined(OS_BSD) + return sync_pb::SyncEnums_DeviceType_TYPE_LINUX; + #elif defined(OS_ANDROID) || defined(OS_IOS) + return ui::GetDeviceFormFactor() == ui::DEVICE_FORM_FACTOR_TABLET diff --git a/www/iridium/files/patch-components_sync__device__info_local__device__info__util__linux.cc b/www/iridium/files/patch-components_sync__device__info_local__device__info__util__linux.cc new file mode 100644 index 000000000000..5c9398a7ea7c --- /dev/null +++ b/www/iridium/files/patch-components_sync__device__info_local__device__info__util__linux.cc @@ -0,0 +1,14 @@ +--- components/sync_device_info/local_device_info_util_linux.cc.orig 2020-02-24 18:39:14 UTC ++++ components/sync_device_info/local_device_info_util_linux.cc +@@ -37,8 +37,9 @@ std::string GetPersonalizableDeviceNameInternal() { + #if defined(OS_CHROMEOS) + return GetChromeOSDeviceNameFromType(); + #else +- char hostname[HOST_NAME_MAX]; +- if (gethostname(hostname, HOST_NAME_MAX) == 0) // Success. ++ int len = sysconf(_SC_HOST_NAME_MAX); ++ char hostname[len]; ++ if (gethostname(hostname, _SC_HOST_NAME_MAX) == 0) // Success. + return hostname; + return base::GetLinuxDistro(); + #endif diff --git a/www/iridium/files/patch-components_update__client_update__query__params.cc b/www/iridium/files/patch-components_update__client_update__query__params.cc new file mode 100644 index 000000000000..7da3a9299fb1 --- /dev/null +++ b/www/iridium/files/patch-components_update__client_update__query__params.cc @@ -0,0 +1,11 @@ +--- components/update_client/update_query_params.cc.orig 2019-10-21 19:06:31 UTC ++++ components/update_client/update_query_params.cc +@@ -39,6 +39,8 @@ const char kOs[] = + "fuchsia"; + #elif defined(OS_OPENBSD) + "openbsd"; ++#elif defined(OS_FREEBSD) ++ "freebsd"; + #else + #error "unknown os" + #endif diff --git a/www/iridium/files/patch-components_url__formatter_spoof__checks_idn__spoof__checker.cc b/www/iridium/files/patch-components_url__formatter_spoof__checks_idn__spoof__checker.cc new file mode 100644 index 000000000000..5b6a93f948a3 --- /dev/null +++ b/www/iridium/files/patch-components_url__formatter_spoof__checks_idn__spoof__checker.cc @@ -0,0 +1,11 @@ +--- components/url_formatter/spoof_checks/idn_spoof_checker.cc.orig 2020-03-17 09:48:11 UTC ++++ components/url_formatter/spoof_checks/idn_spoof_checker.cc +@@ -262,7 +262,7 @@ IDNSpoofChecker::IDNSpoofChecker() { + // The ideal fix would be to change the omnibox font used for Thai. In + // that case, the Linux-only list should be revisited and potentially + // removed. +-#if defined(OS_LINUX) ++#if defined(OS_LINUX) || defined(OS_BSD) + "[ทนบพรหเแ๐ดลปฟม]", + #else + "[บพเแ๐]", diff --git a/www/iridium/files/patch-components_url__matcher_regex__set__matcher.cc b/www/iridium/files/patch-components_url__matcher_regex__set__matcher.cc new file mode 100644 index 000000000000..33f3999ba526 --- /dev/null +++ b/www/iridium/files/patch-components_url__matcher_regex__set__matcher.cc @@ -0,0 +1,16 @@ +--- components/url_matcher/regex_set_matcher.cc.orig 2019-03-11 22:00:57 UTC ++++ components/url_matcher/regex_set_matcher.cc +@@ -11,8 +11,13 @@ + #include "base/logging.h" + #include "base/strings/string_util.h" + #include "components/url_matcher/substring_set_matcher.h" ++#if defined(OS_BSD) ++#include <re2/filtered_re2.h> ++#include <re2/re2.h> ++#else + #include "third_party/re2/src/re2/filtered_re2.h" + #include "third_party/re2/src/re2/re2.h" ++#endif + + namespace url_matcher { + diff --git a/www/iridium/files/patch-components_url__matcher_url__matcher__factory.cc b/www/iridium/files/patch-components_url__matcher_url__matcher__factory.cc new file mode 100644 index 000000000000..533e9439604e --- /dev/null +++ b/www/iridium/files/patch-components_url__matcher_url__matcher__factory.cc @@ -0,0 +1,14 @@ +--- components/url_matcher/url_matcher_factory.cc.orig 2019-03-11 22:00:57 UTC ++++ components/url_matcher/url_matcher_factory.cc +@@ -16,7 +16,11 @@ + #include "base/values.h" + #include "components/url_matcher/url_matcher_constants.h" + #include "components/url_matcher/url_matcher_helpers.h" ++#if defined(OS_BSD) ++#include <re2/re2.h> ++#else + #include "third_party/re2/src/re2/re2.h" ++#endif + + namespace url_matcher { + diff --git a/www/iridium/files/patch-components_viz_common_features.cc b/www/iridium/files/patch-components_viz_common_features.cc new file mode 100644 index 000000000000..ad1c4166adfc --- /dev/null +++ b/www/iridium/files/patch-components_viz_common_features.cc @@ -0,0 +1,20 @@ +--- components/viz/common/features.cc.orig 2020-03-17 09:49:01 UTC ++++ components/viz/common/features.cc +@@ -17,7 +17,7 @@ + namespace features { + + // Use Skia's readback API instead of GLRendererCopier. +-#if defined(OS_WIN) || defined(OS_LINUX) ++#if defined(OS_WIN) || defined(OS_LINUX) || defined(OS_BSD) + const base::Feature kUseSkiaForGLReadback{"UseSkiaForGLReadback", + base::FEATURE_ENABLED_BY_DEFAULT}; + #else +@@ -26,7 +26,7 @@ const base::Feature kUseSkiaForGLReadback{"UseSkiaForG + #endif + + // Use the SkiaRenderer. +-#if defined(OS_LINUX) && !(defined(OS_CHROMEOS) || BUILDFLAG(IS_CHROMECAST)) ++#if (defined(OS_LINUX) && !(defined(OS_CHROMEOS) || BUILDFLAG(IS_CHROMECAST))) || defined(OS_BSD) + const base::Feature kUseSkiaRenderer{"UseSkiaRenderer", + base::FEATURE_ENABLED_BY_DEFAULT}; + #else diff --git a/www/iridium/files/patch-components_viz_common_gpu_dawn__context__provider.cc b/www/iridium/files/patch-components_viz_common_gpu_dawn__context__provider.cc new file mode 100644 index 000000000000..ea33615fe7e0 --- /dev/null +++ b/www/iridium/files/patch-components_viz_common_gpu_dawn__context__provider.cc @@ -0,0 +1,11 @@ +--- components/viz/common/gpu/dawn_context_provider.cc.orig 2020-02-26 13:14:08 UTC ++++ components/viz/common/gpu/dawn_context_provider.cc +@@ -17,7 +17,7 @@ namespace { + dawn_native::BackendType GetDefaultBackendType() { + #if defined(OS_WIN) + return dawn_native::BackendType::D3D12; +-#elif defined(OS_LINUX) ++#elif defined(OS_LINUX) || defined(OS_BSD) + return dawn_native::BackendType::Vulkan; + #else + NOTREACHED(); diff --git a/www/iridium/files/patch-components_viz_host_host__display__client.cc b/www/iridium/files/patch-components_viz_host_host__display__client.cc new file mode 100644 index 000000000000..bdfec86f1ddf --- /dev/null +++ b/www/iridium/files/patch-components_viz_host_host__display__client.cc @@ -0,0 +1,11 @@ +--- components/viz/host/host_display_client.cc.orig 2020-02-03 21:52:45 UTC ++++ components/viz/host/host_display_client.cc +@@ -56,7 +56,7 @@ void HostDisplayClient::CreateLayeredWindowUpdater( + } + #endif + +-#if defined(OS_LINUX) && !defined(OS_CHROMEOS) ++#if (defined(OS_LINUX) && !defined(OS_CHROMEOS)) || defined(OS_BSD) + void HostDisplayClient::DidCompleteSwapWithNewSize(const gfx::Size& size) { + NOTIMPLEMENTED(); + } diff --git a/www/iridium/files/patch-components_viz_host_host__display__client.h b/www/iridium/files/patch-components_viz_host_host__display__client.h new file mode 100644 index 000000000000..4b57c1bf5f23 --- /dev/null +++ b/www/iridium/files/patch-components_viz_host_host__display__client.h @@ -0,0 +1,11 @@ +--- components/viz/host/host_display_client.h.orig 2020-02-03 21:52:45 UTC ++++ components/viz/host/host_display_client.h +@@ -43,7 +43,7 @@ class VIZ_HOST_EXPORT HostDisplayClient : public mojom + mojo::PendingReceiver<mojom::LayeredWindowUpdater> receiver) override; + #endif + +-#if defined(OS_LINUX) && !defined(OS_CHROMEOS) ++#if (defined(OS_LINUX) && !defined(OS_CHROMEOS)) || defined(OS_BSD) + void DidCompleteSwapWithNewSize(const gfx::Size& size) override; + #endif + diff --git a/www/iridium/files/patch-components_viz_service_display__embedder_skia__output__device__dawn.cc b/www/iridium/files/patch-components_viz_service_display__embedder_skia__output__device__dawn.cc new file mode 100644 index 000000000000..7b27a7dd14d1 --- /dev/null +++ b/www/iridium/files/patch-components_viz_service_display__embedder_skia__output__device__dawn.cc @@ -0,0 +1,11 @@ +--- components/viz/service/display_embedder/skia_output_device_dawn.cc.orig 2020-02-26 13:15:08 UTC ++++ components/viz/service/display_embedder/skia_output_device_dawn.cc +@@ -10,7 +10,7 @@ + + #if defined(OS_WIN) + #include <dawn_native/D3D12Backend.h> +-#elif defined(OS_LINUX) ++#elif defined(OS_LINUX) || defined(OS_BSD) + #include <dawn_native/VulkanBackend.h> + #endif + diff --git a/www/iridium/files/patch-components_viz_service_display__embedder_skia__output__surface__impl.cc b/www/iridium/files/patch-components_viz_service_display__embedder_skia__output__surface__impl.cc new file mode 100644 index 000000000000..a3cbc1921992 --- /dev/null +++ b/www/iridium/files/patch-components_viz_service_display__embedder_skia__output__surface__impl.cc @@ -0,0 +1,11 @@ +--- components/viz/service/display_embedder/skia_output_surface_impl.cc.orig 2020-03-17 09:50:06 UTC ++++ components/viz/service/display_embedder/skia_output_surface_impl.cc +@@ -224,7 +224,7 @@ void SkiaOutputSurfaceImpl::Reshape(const gfx::Size& s + if (characterization_.isValid()) { + // TODO(vasilyt): We temporary keep old code for linux to not interferee + // with M81. Remove this after. +-#if defined(OS_LINUX) ++#if defined(OS_LINUX) || defined(OS_BSD) + sk_sp<SkColorSpace> sk_color_space = color_space.ToSkColorSpace(); + if (!SkColorSpace::Equals(characterization_.colorSpace(), + sk_color_space.get())) { diff --git a/www/iridium/files/patch-components_viz_service_display__embedder_software__output__surface.cc b/www/iridium/files/patch-components_viz_service_display__embedder_software__output__surface.cc new file mode 100644 index 000000000000..a31cdeada8fc --- /dev/null +++ b/www/iridium/files/patch-components_viz_service_display__embedder_software__output__surface.cc @@ -0,0 +1,20 @@ +--- components/viz/service/display_embedder/software_output_surface.cc.orig 2020-02-03 21:53:31 UTC ++++ components/viz/service/display_embedder/software_output_surface.cc +@@ -118,7 +118,7 @@ void SoftwareOutputSurface::SwapBuffersCallback(base:: + base::TimeTicks now = base::TimeTicks::Now(); + base::TimeDelta interval_to_next_refresh = + now.SnappedToNextTick(refresh_timebase_, refresh_interval_) - now; +-#if defined(OS_LINUX) && !defined(OS_CHROMEOS) ++#if (defined(OS_LINUX) && !defined(OS_CHROMEOS)) || defined(OS_BSD) + if (needs_swap_size_notifications_) + client_->DidSwapWithSize(pixel_size); + #endif +@@ -147,7 +147,7 @@ gfx::OverlayTransform SoftwareOutputSurface::GetDispla + return gfx::OVERLAY_TRANSFORM_NONE; + } + +-#if defined(OS_LINUX) && !defined(OS_CHROMEOS) ++#if (defined(OS_LINUX) && !defined(OS_CHROMEOS)) || defined(OS_BSD) + void SoftwareOutputSurface::SetNeedsSwapSizeNotifications( + bool needs_swap_size_notifications) { + needs_swap_size_notifications_ = needs_swap_size_notifications; diff --git a/www/iridium/files/patch-components_viz_service_display__embedder_software__output__surface.h b/www/iridium/files/patch-components_viz_service_display__embedder_software__output__surface.h new file mode 100644 index 000000000000..78a386e1b26f --- /dev/null +++ b/www/iridium/files/patch-components_viz_service_display__embedder_software__output__surface.h @@ -0,0 +1,20 @@ +--- components/viz/service/display_embedder/software_output_surface.h.orig 2020-03-16 18:40:31 UTC ++++ components/viz/service/display_embedder/software_output_surface.h +@@ -50,7 +50,7 @@ class VIZ_SERVICE_EXPORT SoftwareOutputSurface : publi + UpdateVSyncParametersCallback callback) override; + void SetDisplayTransformHint(gfx::OverlayTransform transform) override {} + gfx::OverlayTransform GetDisplayTransform() override; +-#if defined(OS_LINUX) && !defined(OS_CHROMEOS) ++#if (defined(OS_LINUX) && !defined(OS_CHROMEOS)) || defined(OS_BSD) + void SetNeedsSwapSizeNotifications( + bool needs_swap_size_notifications) override; + #endif +@@ -72,7 +72,7 @@ class VIZ_SERVICE_EXPORT SoftwareOutputSurface : publi + std::queue<std::vector<ui::LatencyInfo>> stored_latency_info_; + ui::LatencyTracker latency_tracker_; + +-#if defined(OS_LINUX) && !defined(OS_CHROMEOS) ++#if (defined(OS_LINUX) && !defined(OS_CHROMEOS)) || defined(OS_BSD) + bool needs_swap_size_notifications_ = false; + #endif + diff --git a/www/iridium/files/patch-components_viz_service_frame__sinks_root__compositor__frame__sink__impl.cc b/www/iridium/files/patch-components_viz_service_frame__sinks_root__compositor__frame__sink__impl.cc new file mode 100644 index 000000000000..f52c82d287af --- /dev/null +++ b/www/iridium/files/patch-components_viz_service_frame__sinks_root__compositor__frame__sink__impl.cc @@ -0,0 +1,20 @@ +--- components/viz/service/frame_sinks/root_compositor_frame_sink_impl.cc.orig 2020-03-16 18:40:31 UTC ++++ components/viz/service/frame_sinks/root_compositor_frame_sink_impl.cc +@@ -49,7 +49,7 @@ RootCompositorFrameSinkImpl::Create( + output_surface->SetNeedsSwapSizeNotifications( + params->send_swap_size_notifications); + +-#if defined(OS_LINUX) && !defined(OS_CHROMEOS) ++#if (defined(OS_LINUX) && !defined(OS_CHROMEOS)) || defined(OS_BSD) + // For X11, we need notify client about swap completion after resizing, so the + // client can use it for synchronize with X11 WM. + output_surface->SetNeedsSwapSizeNotifications(true); +@@ -418,7 +418,7 @@ void RootCompositorFrameSinkImpl::DisplayDidCompleteSw + #if defined(OS_ANDROID) + if (display_client_) + display_client_->DidCompleteSwapWithSize(pixel_size); +-#elif defined(OS_LINUX) && !defined(OS_CHROMEOS) ++#elif (defined(OS_LINUX) && !defined(OS_CHROMEOS)) || defined(OS_BSD) + if (display_client_ && pixel_size != last_swap_pixel_size_) { + last_swap_pixel_size_ = pixel_size; + display_client_->DidCompleteSwapWithNewSize(last_swap_pixel_size_); diff --git a/www/iridium/files/patch-components_viz_service_frame__sinks_root__compositor__frame__sink__impl.h b/www/iridium/files/patch-components_viz_service_frame__sinks_root__compositor__frame__sink__impl.h new file mode 100644 index 000000000000..0cd42362caa3 --- /dev/null +++ b/www/iridium/files/patch-components_viz_service_frame__sinks_root__compositor__frame__sink__impl.h @@ -0,0 +1,11 @@ +--- components/viz/service/frame_sinks/root_compositor_frame_sink_impl.h.orig 2020-03-16 18:40:31 UTC ++++ components/viz/service/frame_sinks/root_compositor_frame_sink_impl.h +@@ -149,7 +149,7 @@ class RootCompositorFrameSinkImpl : public mojom::Comp + base::TimeDelta preferred_frame_interval_ = + FrameRateDecider::UnspecifiedFrameInterval(); + +-#if defined(OS_LINUX) && !defined(OS_CHROMEOS) ++#if (defined(OS_LINUX) && !defined(OS_CHROMEOS)) || defined(OS_BSD) + gfx::Size last_swap_pixel_size_; + #endif + diff --git a/www/iridium/files/patch-components_viz_test_fake__output__surface.cc b/www/iridium/files/patch-components_viz_test_fake__output__surface.cc new file mode 100644 index 000000000000..59a258fd3b15 --- /dev/null +++ b/www/iridium/files/patch-components_viz_test_fake__output__surface.cc @@ -0,0 +1,11 @@ +--- components/viz/test/fake_output_surface.cc.orig 2020-04-06 07:59:49 UTC ++++ components/viz/test/fake_output_surface.cc +@@ -114,7 +114,7 @@ gfx::OverlayTransform FakeOutputSurface::GetDisplayTra + : gfx::OVERLAY_TRANSFORM_NONE; + } + +-#if defined(OS_LINUX) && !defined(OS_CHROMEOS) ++#if (defined(OS_LINUX) && !defined(OS_CHROMEOS)) || defined(OS_BSD) + void FakeOutputSurface::SetNeedsSwapSizeNotifications( + bool needs_swap_size_notifications) {} + #endif diff --git a/www/iridium/files/patch-components_viz_test_fake__output__surface.h b/www/iridium/files/patch-components_viz_test_fake__output__surface.h new file mode 100644 index 000000000000..5da27a2de0cd --- /dev/null +++ b/www/iridium/files/patch-components_viz_test_fake__output__surface.h @@ -0,0 +1,11 @@ +--- components/viz/test/fake_output_surface.h.orig 2020-04-06 08:00:10 UTC ++++ components/viz/test/fake_output_surface.h +@@ -84,7 +84,7 @@ class FakeOutputSurface : public OutputSurface { + UpdateVSyncParametersCallback callback) override; + void SetDisplayTransformHint(gfx::OverlayTransform transform) override; + gfx::OverlayTransform GetDisplayTransform() override; +-#if defined(OS_LINUX) && !defined(OS_CHROMEOS) ++#if (defined(OS_LINUX) && !defined(OS_CHROMEOS)) || defined(OS_BSD) + void SetNeedsSwapSizeNotifications( + bool needs_swap_size_notifications) override; + #endif diff --git a/www/iridium/files/patch-components_viz_test_mock__display__client.h b/www/iridium/files/patch-components_viz_test_mock__display__client.h new file mode 100644 index 000000000000..43940cf13781 --- /dev/null +++ b/www/iridium/files/patch-components_viz_test_mock__display__client.h @@ -0,0 +1,11 @@ +--- components/viz/test/mock_display_client.h.orig 2020-04-06 08:00:42 UTC ++++ components/viz/test/mock_display_client.h +@@ -35,7 +35,7 @@ class MockDisplayClient : public mojom::DisplayClient + MOCK_METHOD1(OnContextCreationResult, void(gpu::ContextResult)); + MOCK_METHOD1(SetPreferredRefreshRate, void(float refresh_rate)); + #endif +-#if defined(OS_LINUX) && !defined(OS_CHROMEOS) ++#if (defined(OS_LINUX) && !defined(OS_CHROMEOS)) || defined(OS_BSD) + MOCK_METHOD1(DidCompleteSwapWithNewSize, void(const gfx::Size&)); + #endif + diff --git a/www/iridium/files/patch-components_webcrypto_algorithms_test__helpers.cc b/www/iridium/files/patch-components_webcrypto_algorithms_test__helpers.cc new file mode 100644 index 000000000000..cc741c7d273f --- /dev/null +++ b/www/iridium/files/patch-components_webcrypto_algorithms_test__helpers.cc @@ -0,0 +1,14 @@ +--- components/webcrypto/algorithms/test_helpers.cc.orig 2019-03-11 22:00:57 UTC ++++ components/webcrypto/algorithms/test_helpers.cc +@@ -25,7 +25,11 @@ + #include "components/webcrypto/status.h" + #include "third_party/blink/public/platform/web_crypto_algorithm_params.h" + #include "third_party/blink/public/platform/web_crypto_key_algorithm.h" ++#if defined(OS_BSD) ++#include <re2/re2.h> ++#else + #include "third_party/re2/src/re2/re2.h" ++#endif + + namespace webcrypto { + diff --git a/www/iridium/files/patch-content_app_content__main__runner__impl.cc b/www/iridium/files/patch-content_app_content__main__runner__impl.cc new file mode 100644 index 000000000000..dc4a030d4d3f --- /dev/null +++ b/www/iridium/files/patch-content_app_content__main__runner__impl.cc @@ -0,0 +1,73 @@ +--- content/app/content_main_runner_impl.cc.orig 2020-03-16 18:40:31 UTC ++++ content/app/content_main_runner_impl.cc +@@ -101,17 +101,17 @@ + #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 "services/service_manager/zygote/common/zygote_fork_delegate_linux.h" + #endif +-#if !defined(OS_MACOSX) && !defined(OS_ANDROID) ++#if !defined(OS_MACOSX) && !defined(OS_ANDROID) && !defined(OS_BSD) + #include "sandbox/linux/services/libc_interceptor.h" + #include "services/service_manager/zygote/zygote_main.h" + #endif + + #endif // OS_POSIX || OS_FUCHSIA + +-#if defined(OS_LINUX) ++#if defined(OS_LINUX) || defined(OS_BSD) + #include "base/native_library.h" + #include "base/rand_util.h" + #include "services/service_manager/zygote/common/common_sandbox_support_linux.h" +@@ -132,7 +132,7 @@ + #include "content/public/common/content_client.h" + #endif + +-#endif // OS_LINUX ++#endif // OS_LINUX || defined(OS_BSD) + + #if !defined(CHROME_MULTIPLE_DLL_BROWSER) + #include "content/child/field_trial.h" +@@ -298,7 +298,7 @@ void InitializeZygoteSandboxForBrowserProcess( + } + #endif // BUILDFLAG(USE_ZYGOTE_HANDLE) + +-#if defined(OS_LINUX) ++#if defined(OS_LINUX) || defined(OS_BSD) + + #if BUILDFLAG(ENABLE_PLUGINS) + // Loads the (native) libraries but does not initialize them (i.e., does not +@@ -395,7 +395,7 @@ void PreSandboxInit() { + } + #endif // BUILDFLAG(USE_ZYGOTE_HANDLE) + +-#endif // OS_LINUX ++#endif // OS_LINUX || OS_BSD + + } // namespace + +@@ -462,7 +462,7 @@ int RunZygote(ContentMainDelegate* delegate) { + delegate->ZygoteStarting(&zygote_fork_delegates); + media::InitializeMediaLibrary(); + +-#if defined(OS_LINUX) ++#if defined(OS_LINUX) || defined(OS_BSD) + PreSandboxInit(); + #endif + +@@ -622,11 +622,11 @@ int ContentMainRunnerImpl::Initialize(const ContentMai + base::GlobalDescriptors::kBaseDescriptor); + #endif // !OS_ANDROID + +-#if defined(OS_LINUX) || defined(OS_OPENBSD) ++#if defined(OS_LINUX) + g_fds->Set(service_manager::kCrashDumpSignal, + service_manager::kCrashDumpSignal + + base::GlobalDescriptors::kBaseDescriptor); +-#endif // OS_LINUX || OS_OPENBSD ++#endif // OS_LINUX + + #endif // !OS_WIN + diff --git a/www/iridium/files/patch-content_browser_browser__main__loop.cc b/www/iridium/files/patch-content_browser_browser__main__loop.cc new file mode 100644 index 000000000000..d390038358d3 --- /dev/null +++ b/www/iridium/files/patch-content_browser_browser__main__loop.cc @@ -0,0 +1,46 @@ +--- content/browser/browser_main_loop.cc.orig 2020-03-16 18:40:31 UTC ++++ content/browser/browser_main_loop.cc +@@ -242,6 +242,13 @@ + #include "mojo/public/cpp/bindings/lib/test_random_mojo_delays.h" + #endif + ++#if defined(OS_BSD) ++#include "content/browser/sandbox_host_linux.h" ++#include "services/service_manager/zygote/common/common_sandbox_support_linux.h" ++#include "content/public/common/common_sandbox_support_linux.h" ++#include "services/service_manager/sandbox/sandbox.h" ++#endif ++ + // One of the linux specific headers defines this as a macro. + #ifdef DestroyAll + #undef DestroyAll +@@ -613,6 +620,11 @@ int BrowserMainLoop::EarlyInitialization() { + // by now since a thread to start the ServiceManager has been created + // before the browser main loop starts. + DCHECK(SandboxHostLinux::GetInstance()->IsInitialized()); ++#elif defined(OS_BSD) ++ SandboxHostLinux::GetInstance()->Init(); ++ base::FileHandleMappingVector fds_to_map; ++ const int sfd = SandboxHostLinux::GetInstance()->GetChildSocket(); ++ fds_to_map.push_back(std::make_pair(sfd, service_manager::GetSandboxFD())); + #endif + + #if defined(USE_X11) +@@ -658,7 +670,7 @@ int BrowserMainLoop::EarlyInitialization() { + } + #endif // !defined(OS_MACOSX) + +-#if defined(OS_MACOSX) || defined(OS_LINUX) || defined(OS_CHROMEOS) || \ ++#if defined(OS_MACOSX) || defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD) || \ + defined(OS_ANDROID) + // We use quite a few file descriptors for our IPC as well as disk the disk + // cache,and the default limit on the Mac is low (256), so bump it up. +@@ -668,7 +680,7 @@ int BrowserMainLoop::EarlyInitialization() { + // users can easily hit this limit with many open tabs. Bump up the limit to + // an arbitrarily high number. See https://crbug.com/539567 + base::IncreaseFdLimitTo(8192); +-#endif // defined(OS_MACOSX) || defined(OS_LINUX) || defined(OS_CHROMEOS) || ++#endif // defined(OS_MACOSX) || defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD) || + // defined(OS_ANDROID) + + #if defined(OS_WIN) diff --git a/www/iridium/files/patch-content_browser_child__process__launcher__helper__linux.cc b/www/iridium/files/patch-content_browser_child__process__launcher__helper__linux.cc new file mode 100644 index 000000000000..49d1b92ec5ea --- /dev/null +++ b/www/iridium/files/patch-content_browser_child__process__launcher__helper__linux.cc @@ -0,0 +1,76 @@ +--- content/browser/child_process_launcher_helper_linux.cc.orig 2020-02-03 21:52:45 UTC ++++ content/browser/child_process_launcher_helper_linux.cc +@@ -17,7 +17,9 @@ + #include "content/public/common/sandboxed_process_launcher_delegate.h" + #include "services/service_manager/sandbox/linux/sandbox_linux.h" + #include "services/service_manager/zygote/common/common_sandbox_support_linux.h" ++#if !defined(OS_BSD) + #include "services/service_manager/zygote/common/zygote_handle.h" ++#endif + #include "services/service_manager/zygote/host/zygote_communication_linux.h" + #include "services/service_manager/zygote/host/zygote_host_impl_linux.h" + +@@ -68,6 +70,7 @@ ChildProcessLauncherHelper::LaunchProcessOnLauncherThr + int* launch_result) { + *is_synchronous_launch = true; + ++#if !defined(OS_BSD) + service_manager::ZygoteHandle zygote_handle = + base::CommandLine::ForCurrentProcess()->HasSwitch(switches::kNoZygote) + ? nullptr +@@ -81,7 +84,6 @@ ChildProcessLauncherHelper::LaunchProcessOnLauncherThr + GetProcessType()); + *launch_result = LAUNCH_RESULT_SUCCESS; + +-#if !defined(OS_OPENBSD) + if (handle) { + // This is just a starting score for a renderer or extension (the + // only types of processes that will be started this way). It will +@@ -92,13 +94,13 @@ ChildProcessLauncherHelper::LaunchProcessOnLauncherThr + service_manager::ZygoteHostImpl::GetInstance()->AdjustRendererOOMScore( + handle, kLowestRendererOomScore); + } +-#endif + + Process process; + process.process = base::Process(handle); + process.zygote = zygote_handle; + return process; + } ++#endif + + Process process; + process.process = base::LaunchProcess(*command_line(), options); +@@ -116,10 +118,14 @@ ChildProcessTerminationInfo ChildProcessLauncherHelper + const ChildProcessLauncherHelper::Process& process, + bool known_dead) { + ChildProcessTerminationInfo info; ++#if !defined(OS_BSD) + if (process.zygote) { + info.status = process.zygote->GetTerminationStatus( + process.process.Handle(), known_dead, &info.exit_code); + } else if (known_dead) { ++#else ++ if (known_dead) { ++#endif + info.status = base::GetKnownDeadTerminationStatus(process.process.Handle(), + &info.exit_code); + } else { +@@ -143,13 +149,17 @@ void ChildProcessLauncherHelper::ForceNormalProcessTer + DCHECK(CurrentlyOnProcessLauncherTaskRunner()); + process.process.Terminate(service_manager::RESULT_CODE_NORMAL_EXIT, false); + // On POSIX, we must additionally reap the child. ++#if !defined(OS_BSD) + if (process.zygote) { + // If the renderer was created via a zygote, we have to proxy the reaping + // through the zygote process. + process.zygote->EnsureProcessTerminated(process.process.Handle()); + } else { ++#endif + base::EnsureProcessTerminated(std::move(process.process)); ++#if !defined(OS_BSD) + } ++#endif + } + + void ChildProcessLauncherHelper::SetProcessPriorityOnLauncherThread( diff --git a/www/iridium/files/patch-content_browser_devtools_protocol_system__info__handler.cc b/www/iridium/files/patch-content_browser_devtools_protocol_system__info__handler.cc new file mode 100644 index 000000000000..3751c782527d --- /dev/null +++ b/www/iridium/files/patch-content_browser_devtools_protocol_system__info__handler.cc @@ -0,0 +1,11 @@ +--- content/browser/devtools/protocol/system_info_handler.cc.orig 2019-12-16 21:51:26 UTC ++++ content/browser/devtools/protocol/system_info_handler.cc +@@ -48,7 +48,7 @@ std::unique_ptr<SystemInfo::Size> GfxSizeToSystemInfoS + // Give the GPU process a few seconds to provide GPU info. + // Linux Debug builds need more time -- see Issue 796437. + // Windows builds need more time -- see Issue 873112 and 1004472. +-#if (defined(OS_LINUX) && !defined(NDEBUG)) ++#if ((defined(OS_LINUX) || defined(OS_BSD)) && !defined(NDEBUG)) + const int kGPUInfoWatchdogTimeoutMs = 20000; + #elif defined(OS_WIN) + const int kGPUInfoWatchdogTimeoutMs = 30000; diff --git a/www/iridium/files/patch-content_browser_gpu_gpu__process__host.cc b/www/iridium/files/patch-content_browser_gpu_gpu__process__host.cc new file mode 100644 index 000000000000..78851da5e325 --- /dev/null +++ b/www/iridium/files/patch-content_browser_gpu_gpu__process__host.cc @@ -0,0 +1,11 @@ +--- content/browser/gpu/gpu_process_host.cc.orig 2020-03-16 18:40:31 UTC ++++ content/browser/gpu/gpu_process_host.cc +@@ -1086,7 +1086,7 @@ bool GpuProcessHost::LaunchGpuProcess() { + std::unique_ptr<base::CommandLine> cmd_line = + std::make_unique<base::CommandLine>(base::CommandLine::NO_PROGRAM); + #else +-#if defined(OS_LINUX) ++#if defined(OS_LINUX) || defined(OS_BSD) + int child_flags = gpu_launcher.empty() ? ChildProcessHost::CHILD_ALLOW_SELF + : ChildProcessHost::CHILD_NORMAL; + #elif defined(OS_MACOSX) diff --git a/www/iridium/files/patch-content_browser_media_media__internals.cc b/www/iridium/files/patch-content_browser_media_media__internals.cc new file mode 100644 index 000000000000..1e117219d0e9 --- /dev/null +++ b/www/iridium/files/patch-content_browser_media_media__internals.cc @@ -0,0 +1,11 @@ +--- content/browser/media/media_internals.cc.orig 2020-03-16 18:40:31 UTC ++++ content/browser/media/media_internals.cc +@@ -531,7 +531,7 @@ void MediaInternals::UpdateVideoCaptureDeviceCapabilit + device_dict->SetString("id", descriptor.device_id); + device_dict->SetString("name", descriptor.GetNameAndModel()); + device_dict->Set("formats", std::move(format_list)); +-#if defined(OS_WIN) || defined(OS_MACOSX) || defined(OS_LINUX) || \ ++#if defined(OS_WIN) || defined(OS_MACOSX) || defined(OS_LINUX) || defined(OS_BSD) || \ + defined(OS_ANDROID) + device_dict->SetString("captureApi", descriptor.GetCaptureApiTypeString()); + #endif diff --git a/www/iridium/files/patch-content_browser_memory_swap__metrics__driver__impl__linux.cc b/www/iridium/files/patch-content_browser_memory_swap__metrics__driver__impl__linux.cc new file mode 100644 index 000000000000..ff345048baf2 --- /dev/null +++ b/www/iridium/files/patch-content_browser_memory_swap__metrics__driver__impl__linux.cc @@ -0,0 +1,27 @@ +--- content/browser/memory/swap_metrics_driver_impl_linux.cc.orig 2019-03-11 22:00:57 UTC ++++ content/browser/memory/swap_metrics_driver_impl_linux.cc +@@ -43,6 +43,7 @@ SwapMetricsDriverImplLinux::~SwapMetricsDriverImplLinu + + SwapMetricsDriver::SwapMetricsUpdateResult + SwapMetricsDriverImplLinux::UpdateMetricsInternal(base::TimeDelta interval) { ++#if !defined(OS_BSD) + base::VmStatInfo vmstat; + if (!base::GetVmStatInfo(&vmstat)) { + return SwapMetricsDriver::SwapMetricsUpdateResult::kSwapMetricsUpdateFailed; +@@ -55,12 +56,15 @@ SwapMetricsDriverImplLinux::UpdateMetricsInternal(base + + if (interval.is_zero()) + return SwapMetricsDriver::SwapMetricsUpdateResult:: +- kSwapMetricsUpdateSuccess; ++ kSwapMetricsUpdateSuccess; + + delegate_->OnSwapInCount(in_counts, interval); + delegate_->OnSwapOutCount(out_counts, interval); + + return SwapMetricsDriver::SwapMetricsUpdateResult::kSwapMetricsUpdateSuccess; ++#else ++ return SwapMetricsDriver::SwapMetricsUpdateResult::kSwapMetricsUpdateFailed; ++#endif + } + + } // namespace content diff --git a/www/iridium/files/patch-content_browser_ppapi__plugin__process__host.cc b/www/iridium/files/patch-content_browser_ppapi__plugin__process__host.cc new file mode 100644 index 000000000000..dd7271ca2db7 --- /dev/null +++ b/www/iridium/files/patch-content_browser_ppapi__plugin__process__host.cc @@ -0,0 +1,11 @@ +--- content/browser/ppapi_plugin_process_host.cc.orig 2020-02-03 21:53:31 UTC ++++ content/browser/ppapi_plugin_process_host.cc +@@ -365,7 +365,7 @@ bool PpapiPluginProcessHost::Init(const PepperPluginIn + base::CommandLine::StringType plugin_launcher = + browser_command_line.GetSwitchValueNative(switches::kPpapiPluginLauncher); + +-#if defined(OS_LINUX) ++#if defined(OS_LINUX) || defined(OS_BSD) + int flags = plugin_launcher.empty() ? ChildProcessHost::CHILD_ALLOW_SELF : + ChildProcessHost::CHILD_NORMAL; + #elif defined(OS_MACOSX) diff --git a/www/iridium/files/patch-content_browser_ppapi__plugin__process__host__receiver__bindings.cc b/www/iridium/files/patch-content_browser_ppapi__plugin__process__host__receiver__bindings.cc new file mode 100644 index 000000000000..41c5edc15175 --- /dev/null +++ b/www/iridium/files/patch-content_browser_ppapi__plugin__process__host__receiver__bindings.cc @@ -0,0 +1,20 @@ +--- content/browser/ppapi_plugin_process_host_receiver_bindings.cc.orig 2019-12-17 19:34:30 UTC ++++ content/browser/ppapi_plugin_process_host_receiver_bindings.cc +@@ -8,7 +8,7 @@ + + #include "build/build_config.h" + +-#if defined(OS_LINUX) ++#if defined(OS_LINUX) || defined(OS_BSD) + #include "components/services/font/public/mojom/font_service.mojom.h" // nogncheck + #include "content/browser/font_service.h" // nogncheck + #endif +@@ -17,7 +17,7 @@ namespace content { + + void PpapiPluginProcessHost::BindHostReceiver( + mojo::GenericPendingReceiver receiver) { +-#if defined(OS_LINUX) ++#if defined(OS_LINUX) || defined(OS_BSD) + if (auto font_receiver = receiver.As<font_service::mojom::FontService>()) + ConnectToFontService(std::move(font_receiver)); + #endif diff --git a/www/iridium/files/patch-content_browser_renderer__host_input_input__device__change__observer.cc b/www/iridium/files/patch-content_browser_renderer__host_input_input__device__change__observer.cc new file mode 100644 index 000000000000..3d6112bc698b --- /dev/null +++ b/www/iridium/files/patch-content_browser_renderer__host_input_input__device__change__observer.cc @@ -0,0 +1,29 @@ +--- content/browser/renderer_host/input/input_device_change_observer.cc.orig 2019-09-09 21:55:16 UTC ++++ content/browser/renderer_host/input/input_device_change_observer.cc +@@ -10,7 +10,7 @@ + + #if defined(OS_WIN) + #include "ui/events/devices/input_device_observer_win.h" +-#elif defined(OS_LINUX) ++#elif defined(OS_LINUX) || defined(OS_BSD) + #include "ui/events/devices/device_data_manager.h" + #elif defined(OS_ANDROID) + #include "ui/events/devices/input_device_observer_android.h" +@@ -22,7 +22,7 @@ InputDeviceChangeObserver::InputDeviceChangeObserver(R + render_view_host_impl_ = rvhi; + #if defined(OS_WIN) + ui::InputDeviceObserverWin::GetInstance()->AddObserver(this); +-#elif defined(OS_LINUX) ++#elif defined(OS_LINUX) || defined(OS_BSD) + ui::DeviceDataManager::GetInstance()->AddObserver(this); + #elif defined(OS_ANDROID) + ui::InputDeviceObserverAndroid::GetInstance()->AddObserver(this); +@@ -32,7 +32,7 @@ InputDeviceChangeObserver::InputDeviceChangeObserver(R + InputDeviceChangeObserver::~InputDeviceChangeObserver() { + #if defined(OS_WIN) + ui::InputDeviceObserverWin::GetInstance()->RemoveObserver(this); +-#elif defined(OS_LINUX) ++#elif defined(OS_LINUX) || defined(OS_BSD) + ui::DeviceDataManager::GetInstance()->RemoveObserver(this); + #elif defined(OS_ANDROID) + ui::InputDeviceObserverAndroid::GetInstance()->RemoveObserver(this); diff --git a/www/iridium/files/patch-content_browser_renderer__host_pepper_pepper__file__io__host.cc b/www/iridium/files/patch-content_browser_renderer__host_pepper_pepper__file__io__host.cc new file mode 100644 index 000000000000..7e10ee7c69a9 --- /dev/null +++ b/www/iridium/files/patch-content_browser_renderer__host_pepper_pepper__file__io__host.cc @@ -0,0 +1,20 @@ +--- content/browser/renderer_host/pepper/pepper_file_io_host.cc.orig 2020-03-16 18:40:31 UTC ++++ content/browser/renderer_host/pepper/pepper_file_io_host.cc +@@ -433,7 +433,7 @@ void PepperFileIOHost::OnLocalFileOpened( + ppapi::host::ReplyMessageContext reply_context, + const base::FilePath& path, + base::File::Error error_code) { +-#if defined(OS_WIN) || defined(OS_LINUX) ++#if defined(OS_WIN) || defined(OS_LINUX) || defined(OS_BSD) + // Quarantining a file before its contents are available is only supported on + // Windows and Linux. + if (!FileOpenForWrite(open_flags_) || error_code != base::File::FILE_OK) { +@@ -454,7 +454,7 @@ void PepperFileIOHost::OnLocalFileOpened( + #endif + } + +-#if defined(OS_WIN) || defined(OS_LINUX) ++#if defined(OS_WIN) || defined(OS_LINUX) || defined(OS_BSD) + void PepperFileIOHost::OnLocalFileQuarantined( + ppapi::host::ReplyMessageContext reply_context, + const base::FilePath& path, diff --git a/www/iridium/files/patch-content_browser_renderer__host_render__message__filter.cc b/www/iridium/files/patch-content_browser_renderer__host_render__message__filter.cc new file mode 100644 index 000000000000..91932a38a5e5 --- /dev/null +++ b/www/iridium/files/patch-content_browser_renderer__host_render__message__filter.cc @@ -0,0 +1,29 @@ +--- content/browser/renderer_host/render_message_filter.cc.orig 2019-12-16 21:50:47 UTC ++++ content/browser/renderer_host/render_message_filter.cc +@@ -70,7 +70,7 @@ + #if defined(OS_MACOSX) + #include "ui/accelerated_widget_mac/window_resize_helper_mac.h" + #endif +-#if defined(OS_LINUX) ++#if defined(OS_LINUX) || defined(OS_BSD) + #include "base/linux_util.h" + #include "base/threading/platform_thread.h" + #endif +@@ -149,7 +149,7 @@ void RenderMessageFilter::CreateFullscreenWidget( + std::move(callback).Run(route_id); + } + +-#if defined(OS_LINUX) ++#if defined(OS_LINUX) || defined(OS_BSD) + void RenderMessageFilter::SetThreadPriorityOnFileThread( + base::PlatformThreadId ns_tid, + base::ThreadPriority priority) { +@@ -170,7 +170,7 @@ void RenderMessageFilter::SetThreadPriorityOnFileThrea + } + #endif + +-#if defined(OS_LINUX) ++#if defined(OS_LINUX) || defined(OS_BSD) + void RenderMessageFilter::SetThreadPriority(int32_t ns_tid, + base::ThreadPriority priority) { + constexpr base::TaskTraits kTraits = { diff --git a/www/iridium/files/patch-content_browser_renderer__host_render__message__filter.h b/www/iridium/files/patch-content_browser_renderer__host_render__message__filter.h new file mode 100644 index 000000000000..f50e2f2912d6 --- /dev/null +++ b/www/iridium/files/patch-content_browser_renderer__host_render__message__filter.h @@ -0,0 +1,19 @@ +--- content/browser/renderer_host/render_message_filter.h.orig 2019-12-16 21:50:47 UTC ++++ content/browser/renderer_host/render_message_filter.h +@@ -87,14 +87,14 @@ class CONTENT_EXPORT RenderMessageFilter + mojo::PendingRemote<mojom::Widget> widget, + CreateFullscreenWidgetCallback callback) override; + void HasGpuProcess(HasGpuProcessCallback callback) override; +-#if defined(OS_LINUX) ++#if defined(OS_LINUX) || defined(OS_BSD) + void SetThreadPriority(int32_t ns_tid, + base::ThreadPriority priority) override; + #endif + + void OnResolveProxy(const GURL& url, IPC::Message* reply_msg); + +-#if defined(OS_LINUX) ++#if defined(OS_LINUX) || defined(OS_BSD) + void SetThreadPriorityOnFileThread(base::PlatformThreadId ns_tid, + base::ThreadPriority priority); + #endif diff --git a/www/iridium/files/patch-content_browser_renderer__host_render__process__host__impl.cc b/www/iridium/files/patch-content_browser_renderer__host_render__process__host__impl.cc new file mode 100644 index 000000000000..f27d90720f9b --- /dev/null +++ b/www/iridium/files/patch-content_browser_renderer__host_render__process__host__impl.cc @@ -0,0 +1,47 @@ +--- content/browser/renderer_host/render_process_host_impl.cc.orig 2020-03-16 18:40:31 UTC ++++ content/browser/renderer_host/render_process_host_impl.cc +@@ -241,7 +241,7 @@ + #include "content/browser/gpu/gpu_data_manager_impl.h" + #endif + +-#if defined(OS_LINUX) ++#if defined(OS_LINUX) || defined(OS_BSD) + #include <sys/resource.h> + #include <sys/time.h> + +@@ -1176,7 +1176,7 @@ static constexpr size_t kUnknownPlatformProcessLimit = + // to indicate failure and std::numeric_limits<size_t>::max() to indicate + // unlimited. + size_t GetPlatformProcessLimit() { +-#if defined(OS_LINUX) ++#if defined(OS_LINUX) || defined(OS_BSD) + struct rlimit limit; + if (getrlimit(RLIMIT_NPROC, &limit) != 0) + return kUnknownPlatformProcessLimit; +@@ -1187,7 +1187,7 @@ size_t GetPlatformProcessLimit() { + #else + // TODO(https://crbug.com/104689): Implement on other platforms. + return kUnknownPlatformProcessLimit; +-#endif // defined(OS_LINUX) ++#endif // defined(OS_LINUX) || defined(OS_BSD) + } + #endif // !defined(OS_ANDROID) && !defined(OS_CHROMEOS) + +@@ -1256,7 +1256,7 @@ class RenderProcessHostImpl::IOThreadHostImpl + return; + } + +-#if defined(OS_LINUX) ++#if defined(OS_LINUX) || defined(OS_BSD) + if (auto font_receiver = receiver.As<font_service::mojom::FontService>()) { + ConnectToFontService(std::move(font_receiver)); + return; +@@ -1651,7 +1651,7 @@ bool RenderProcessHostImpl::Init() { + renderer_prefix = + browser_command_line.GetSwitchValueNative(switches::kRendererCmdPrefix); + +-#if defined(OS_LINUX) ++#if defined(OS_LINUX) || defined(OS_BSD) + int flags = renderer_prefix.empty() ? ChildProcessHost::CHILD_ALLOW_SELF + : ChildProcessHost::CHILD_NORMAL; + #elif defined(OS_MACOSX) diff --git a/www/iridium/files/patch-content_browser_renderer__host_render__process__host__impl.h b/www/iridium/files/patch-content_browser_renderer__host_render__process__host__impl.h new file mode 100644 index 000000000000..616427da0032 --- /dev/null +++ b/www/iridium/files/patch-content_browser_renderer__host_render__process__host__impl.h @@ -0,0 +1,15 @@ +--- content/browser/renderer_host/render_process_host_impl.h.orig 2020-03-16 18:40:31 UTC ++++ content/browser/renderer_host/render_process_host_impl.h +@@ -458,10 +458,10 @@ class CONTENT_EXPORT RenderProcessHostImpl + is_for_guests_only_ = is_for_guests_only; + } + +-#if defined(OS_POSIX) && !defined(OS_ANDROID) && !defined(OS_MACOSX) ++#if defined(OS_POSIX) && !defined(OS_ANDROID) && !defined(OS_MACOSX) && !defined(OS_BSD) + // Launch the zygote early in the browser startup. + static void EarlyZygoteLaunch(); +-#endif // defined(OS_POSIX) && !defined(OS_ANDROID) && !defined(OS_MACOSX) ++#endif // defined(OS_POSIX) && !defined(OS_ANDROID) && !defined(OS_MACOSX) && !defined(OS_BSD) + + // Called when a video capture stream or an audio stream is added or removed + // and used to determine if the process should be backgrounded or not. diff --git a/www/iridium/files/patch-content_browser_renderer__host_render__view__host__impl.cc b/www/iridium/files/patch-content_browser_renderer__host_render__view__host__impl.cc new file mode 100644 index 000000000000..06332b50ef27 --- /dev/null +++ b/www/iridium/files/patch-content_browser_renderer__host_render__view__host__impl.cc @@ -0,0 +1,11 @@ +--- content/browser/renderer_host/render_view_host_impl.cc.orig 2020-03-16 18:40:31 UTC ++++ content/browser/renderer_host/render_view_host_impl.cc +@@ -206,7 +206,7 @@ void RenderViewHostImpl::GetPlatformSpecificPrefs( + display::win::ScreenWin::GetSystemMetricsInDIP(SM_CYVSCROLL); + prefs->arrow_bitmap_width_horizontal_scroll_bar_in_dips = + display::win::ScreenWin::GetSystemMetricsInDIP(SM_CXHSCROLL); +-#elif defined(OS_LINUX) ++#elif defined(OS_LINUX) || defined(OS_BSD) + prefs->system_font_family_name = gfx::Font().GetFontName(); + #endif + } diff --git a/www/iridium/files/patch-content_browser_renderer__host_render__widget__host__view__aura.cc b/www/iridium/files/patch-content_browser_renderer__host_render__widget__host__view__aura.cc new file mode 100644 index 000000000000..99de1314b9ec --- /dev/null +++ b/www/iridium/files/patch-content_browser_renderer__host_render__widget__host__view__aura.cc @@ -0,0 +1,29 @@ +--- content/browser/renderer_host/render_widget_host_view_aura.cc.orig 2020-03-16 18:40:31 UTC ++++ content/browser/renderer_host/render_widget_host_view_aura.cc +@@ -115,7 +115,7 @@ + #include "content/browser/accessibility/browser_accessibility_auralinux.h" + #endif + +-#if defined(OS_LINUX) && !defined(OS_CHROMEOS) ++#if (defined(OS_BSD) || defined(OS_LINUX)) && !defined(OS_CHROMEOS) + #include "ui/base/ime/linux/text_edit_command_auralinux.h" + #include "ui/base/ime/linux/text_edit_key_bindings_delegate_auralinux.h" + #endif +@@ -2171,7 +2171,7 @@ bool RenderWidgetHostViewAura::NeedsInputGrab() { + } + + bool RenderWidgetHostViewAura::NeedsMouseCapture() { +-#if defined(OS_LINUX) && !defined(OS_CHROMEOS) ++#if (defined(OS_BSD) || defined(OS_LINUX)) && !defined(OS_CHROMEOS) + return NeedsInputGrab(); + #endif + return false; +@@ -2340,7 +2340,7 @@ void RenderWidgetHostViewAura::ForwardKeyboardEventWit + if (!target_host) + return; + +-#if defined(OS_LINUX) && !defined(OS_CHROMEOS) ++#if (defined(OS_BSD) || defined(OS_LINUX)) && !defined(OS_CHROMEOS) + ui::TextEditKeyBindingsDelegateAuraLinux* keybinding_delegate = + ui::GetTextEditKeyBindingsDelegate(); + std::vector<ui::TextEditCommandAuraLinux> commands; diff --git a/www/iridium/files/patch-content_browser_renderer__host_render__widget__host__view__event__handler.cc b/www/iridium/files/patch-content_browser_renderer__host_render__widget__host__view__event__handler.cc new file mode 100644 index 000000000000..7321b9e2f949 --- /dev/null +++ b/www/iridium/files/patch-content_browser_renderer__host_render__widget__host__view__event__handler.cc @@ -0,0 +1,11 @@ +--- content/browser/renderer_host/render_widget_host_view_event_handler.cc.orig 2020-02-03 21:53:31 UTC ++++ content/browser/renderer_host/render_widget_host_view_event_handler.cc +@@ -611,7 +611,7 @@ bool RenderWidgetHostViewEventHandler::CanRendererHand + if (event->type() == ui::ET_MOUSE_EXITED) { + if (mouse_locked || selection_popup) + return false; +-#if defined(OS_WIN) || defined(OS_LINUX) ++#if defined(OS_WIN) || defined(OS_LINUX) || defined(OS_BSD) + // Don't forward the mouse leave message which is received when the context + // menu is displayed by the page. This confuses the page and causes state + // changes. diff --git a/www/iridium/files/patch-content_browser_scheduler_responsiveness_jank__monitor.cc b/www/iridium/files/patch-content_browser_scheduler_responsiveness_jank__monitor.cc new file mode 100644 index 000000000000..68b512d069c4 --- /dev/null +++ b/www/iridium/files/patch-content_browser_scheduler_responsiveness_jank__monitor.cc @@ -0,0 +1,11 @@ +--- content/browser/scheduler/responsiveness/jank_monitor.cc.orig 2020-02-03 21:53:31 UTC ++++ content/browser/scheduler/responsiveness/jank_monitor.cc +@@ -321,7 +321,7 @@ void JankMonitor::ThreadExecutionState::DidRunTaskOrEv + // in context menus, among others). Simply ignore the mismatches for now. + // See https://crbug.com/929813 for the details of why the mismatch + // happens. +-#if !defined(OS_CHROMEOS) && defined(OS_LINUX) && defined(USE_OZONE) ++#if !defined(OS_CHROMEOS) && (defined(OS_LINUX) || defined(OS_BSD)) && defined(USE_OZONE) + task_execution_metadata_.clear(); + #endif + return; diff --git a/www/iridium/files/patch-content_browser_scheduler_responsiveness_native__event__observer.cc b/www/iridium/files/patch-content_browser_scheduler_responsiveness_native__event__observer.cc new file mode 100644 index 000000000000..906761601b4b --- /dev/null +++ b/www/iridium/files/patch-content_browser_scheduler_responsiveness_native__event__observer.cc @@ -0,0 +1,29 @@ +--- content/browser/scheduler/responsiveness/native_event_observer.cc.orig 2019-03-11 22:00:58 UTC ++++ content/browser/scheduler/responsiveness/native_event_observer.cc +@@ -15,7 +15,7 @@ + + #include "ui/events/platform/platform_event_source.h" + +-#if defined(OS_LINUX) ++#if defined(OS_LINUX) || defined(OS_BSD) + #include "ui/aura/env.h" + #include "ui/events/event.h" + #endif +@@ -39,7 +39,7 @@ NativeEventObserver::~NativeEventObserver() { + DeregisterObserver(); + } + +-#if defined(OS_LINUX) ++#if defined(OS_LINUX) || defined(OS_BSD) + void NativeEventObserver::RegisterObserver() { + aura::Env::GetInstance()->AddWindowEventDispatcherObserver(this); + } +@@ -61,7 +61,7 @@ void NativeEventObserver::OnWindowEventDispatcherFinis + did_run_event_callback_.Run(info.unique_id); + events_being_processed_.pop_back(); + } +-#endif // defined(OS_LINUX) ++#endif // defined(OS_LINUX) || defined(OS_BSD) + + #if defined(OS_WIN) + void NativeEventObserver::RegisterObserver() { diff --git a/www/iridium/files/patch-content_browser_scheduler_responsiveness_native__event__observer.h b/www/iridium/files/patch-content_browser_scheduler_responsiveness_native__event__observer.h new file mode 100644 index 000000000000..03b31b8d904e --- /dev/null +++ b/www/iridium/files/patch-content_browser_scheduler_responsiveness_native__event__observer.h @@ -0,0 +1,47 @@ +--- content/browser/scheduler/responsiveness/native_event_observer.h.orig 2019-03-11 22:00:58 UTC ++++ content/browser/scheduler/responsiveness/native_event_observer.h +@@ -14,7 +14,7 @@ + #include "content/public/browser/native_event_processor_observer_mac.h" + #endif + +-#if defined(OS_LINUX) ++#if defined(OS_LINUX) || defined(OS_BSD) + #include "ui/aura/window_event_dispatcher_observer.h" + #endif + +@@ -39,7 +39,7 @@ namespace responsiveness { + class CONTENT_EXPORT NativeEventObserver + #if defined(OS_MACOSX) + : public NativeEventProcessorObserver +-#elif defined(OS_LINUX) ++#elif defined(OS_LINUX) || defined(OS_BSD) + : public aura::WindowEventDispatcherObserver + #elif defined(OS_WIN) + : public base::MessagePumpForUI::Observer +@@ -56,7 +56,7 @@ class CONTENT_EXPORT NativeEventObserver + NativeEventObserver(WillRunEventCallback will_run_event_callback, + DidRunEventCallback did_run_event_callback); + +-#if defined(OS_LINUX) ++#if defined(OS_LINUX) || defined(OS_BSD) + ~NativeEventObserver() override; + #else + virtual ~NativeEventObserver(); +@@ -68,7 +68,7 @@ class CONTENT_EXPORT NativeEventObserver + // Exposed for tests. + void WillRunNativeEvent(const void* opaque_identifier) override; + void DidRunNativeEvent(const void* opaque_identifier) override; +-#elif defined(OS_LINUX) ++#elif defined(OS_LINUX) || defined(OS_BSD) + // aura::WindowEventDispatcherObserver overrides: + void OnWindowEventDispatcherStartedProcessing( + aura::WindowEventDispatcher* dispatcher, +@@ -85,7 +85,7 @@ class CONTENT_EXPORT NativeEventObserver + void RegisterObserver(); + void DeregisterObserver(); + +-#if defined(OS_LINUX) ++#if defined(OS_LINUX) || defined(OS_BSD) + struct EventInfo { + const void* unique_id; + }; diff --git a/www/iridium/files/patch-content_browser_scheduler_responsiveness_watcher.cc b/www/iridium/files/patch-content_browser_scheduler_responsiveness_watcher.cc new file mode 100644 index 000000000000..ebeeac2a51c1 --- /dev/null +++ b/www/iridium/files/patch-content_browser_scheduler_responsiveness_watcher.cc @@ -0,0 +1,20 @@ +--- content/browser/scheduler/responsiveness/watcher.cc.orig 2020-02-03 21:52:46 UTC ++++ content/browser/scheduler/responsiveness/watcher.cc +@@ -101,7 +101,7 @@ void Watcher::DidRunTask(const base::PendingTask* task + // in context menus, among others). Simply ignore the mismatches for now. + // See https://crbug.com/929813 for the details of why the mismatch + // happens. +-#if !defined(OS_CHROMEOS) && defined(OS_LINUX) && defined(USE_OZONE) ++#if !defined(OS_CHROMEOS) && (defined(OS_LINUX) || defined(OS_BSD)) && defined(USE_OZONE) + return currently_running_metadata_ui_.clear(); + #endif + DCHECK_LE(*mismatched_task_identifiers, 1); +@@ -170,7 +170,7 @@ void Watcher::DidRunEventOnUIThread(const void* opaque + mismatched_event_identifiers_ui_ += 1; + // See comment in DidRunTask() for why |currently_running_metadata_ui_| may + // be reset. +-#if !defined(OS_CHROMEOS) && defined(OS_LINUX) && defined(USE_OZONE) ++#if !defined(OS_CHROMEOS) && (defined(OS_LINUX) || defined(OS_BSD)) && defined(USE_OZONE) + return currently_running_metadata_ui_.clear(); + #endif + DCHECK_LE(mismatched_event_identifiers_ui_, 1); diff --git a/www/iridium/files/patch-content_browser_utility__process__host.cc b/www/iridium/files/patch-content_browser_utility__process__host.cc new file mode 100644 index 000000000000..8360a7efdc5e --- /dev/null +++ b/www/iridium/files/patch-content_browser_utility__process__host.cc @@ -0,0 +1,11 @@ +--- content/browser/utility_process_host.cc.orig 2020-03-16 18:40:32 UTC ++++ content/browser/utility_process_host.cc +@@ -210,7 +210,7 @@ UtilityProcessHost::UtilityProcessHost() + + UtilityProcessHost::UtilityProcessHost(std::unique_ptr<Client> client) + : sandbox_type_(service_manager::SandboxType::kUtility), +-#if defined(OS_LINUX) ++#if defined(OS_LINUX) || defined(OS_BSD) + child_flags_(ChildProcessHost::CHILD_ALLOW_SELF), + #else + child_flags_(ChildProcessHost::CHILD_NORMAL), diff --git a/www/iridium/files/patch-content_browser_utility__process__host__receiver__bindings.cc b/www/iridium/files/patch-content_browser_utility__process__host__receiver__bindings.cc new file mode 100644 index 000000000000..a69a1ccfe8b3 --- /dev/null +++ b/www/iridium/files/patch-content_browser_utility__process__host__receiver__bindings.cc @@ -0,0 +1,20 @@ +--- content/browser/utility_process_host_receiver_bindings.cc.orig 2020-02-26 13:18:37 UTC ++++ content/browser/utility_process_host_receiver_bindings.cc +@@ -8,7 +8,7 @@ + + #include "build/build_config.h" + +-#if defined(OS_LINUX) ++#if defined(OS_LINUX) || defined(OS_BSD) + #include "components/services/font/public/mojom/font_service.mojom.h" // nogncheck + #include "content/browser/font_service.h" // nogncheck + #endif +@@ -17,7 +17,7 @@ namespace content { + + void UtilityProcessHost::BindHostReceiver( + mojo::GenericPendingReceiver receiver) { +-#if defined(OS_LINUX) ++#if defined(OS_LINUX) || defined(OS_BSD) + if (auto font_receiver = receiver.As<font_service::mojom::FontService>()) { + ConnectToFontService(std::move(font_receiver)); + return; diff --git a/www/iridium/files/patch-content_browser_v8__snapshot__files.cc b/www/iridium/files/patch-content_browser_v8__snapshot__files.cc new file mode 100644 index 000000000000..957c743c222c --- /dev/null +++ b/www/iridium/files/patch-content_browser_v8__snapshot__files.cc @@ -0,0 +1,11 @@ +--- content/browser/v8_snapshot_files.cc.orig 2020-02-24 18:39:15 UTC ++++ content/browser/v8_snapshot_files.cc +@@ -10,7 +10,7 @@ + namespace content { + + std::map<std::string, base::FilePath> GetV8SnapshotFilesToPreload() { +-#if defined(OS_LINUX) ++#if defined(OS_LINUX) || defined(OS_BSD) + #if defined(USE_V8_CONTEXT_SNAPSHOT) + return {{kV8ContextSnapshotDataDescriptor, + base::FilePath(FILE_PATH_LITERAL("v8_context_snapshot.bin"))}}; diff --git a/www/iridium/files/patch-content_browser_webui_shared__resources__data__source.cc b/www/iridium/files/patch-content_browser_webui_shared__resources__data__source.cc new file mode 100644 index 000000000000..cb181bd0c0b3 --- /dev/null +++ b/www/iridium/files/patch-content_browser_webui_shared__resources__data__source.cc @@ -0,0 +1,17 @@ +--- content/browser/webui/shared_resources_data_source.cc.orig 2020-03-16 18:39:50 UTC ++++ content/browser/webui/shared_resources_data_source.cc +@@ -131,12 +131,12 @@ const std::map<int, std::string> CreateMojoResourceIdT + "mojo/mojo/public/mojom/base/text_direction.mojom.html"}, + {IDR_MOJO_TEXT_DIRECTION_MOJOM_LITE_JS, + "mojo/mojo/public/mojom/base/text_direction.mojom-lite.js"}, +-#if defined(OS_WIN) || defined(OS_MACOSX) || defined(OS_LINUX) ++#if defined(OS_WIN) || defined(OS_MACOSX) || defined(OS_LINUX) || defined(OS_BSD) + {IDR_MOJO_TIME_MOJOM_HTML, + "mojo/mojo/public/mojom/base/time.mojom.html"}, + {IDR_MOJO_TIME_MOJOM_LITE_JS, + "mojo/mojo/public/mojom/base/time.mojom-lite.js"}, +-#endif // defined(OS_WIN) || defined(OS_MACOSX) || defined(OS_LINUX) ++#endif // defined(OS_WIN) || defined(OS_MACOSX) || defined(OS_LINUX) || defined(OS_BSD) + }; + } + diff --git a/www/iridium/files/patch-content_common_BUILD.gn b/www/iridium/files/patch-content_common_BUILD.gn new file mode 100644 index 000000000000..3d0913b5242b --- /dev/null +++ b/www/iridium/files/patch-content_common_BUILD.gn @@ -0,0 +1,15 @@ +--- content/common/BUILD.gn.orig 2020-03-16 18:40:32 UTC ++++ content/common/BUILD.gn +@@ -356,6 +356,12 @@ source_set("common") { + libs += [ "android" ] + } + ++ if (is_bsd) { ++ sources -= [ ++ "sandbox_init_linux.cc", ++ ] ++ } ++ + if (is_debug && !is_component_build && enable_plugins) { + # Content depends on the PPAPI message logging stuff; if this isn't here, + # some unit test binaries won't compile. This only worked in release mode diff --git a/www/iridium/files/patch-content_common_common__sandbox__support__linux.cc b/www/iridium/files/patch-content_common_common__sandbox__support__linux.cc new file mode 100644 index 000000000000..95e576060511 --- /dev/null +++ b/www/iridium/files/patch-content_common_common__sandbox__support__linux.cc @@ -0,0 +1,10 @@ +--- content/common/common_sandbox_support_linux.cc.orig 2019-03-11 22:00:58 UTC ++++ content/common/common_sandbox_support_linux.cc +@@ -5,6 +5,7 @@ + #include "content/public/common/common_sandbox_support_linux.h" + + #include <sys/stat.h> ++#include <unistd.h> + + #include <limits> + #include <memory> diff --git a/www/iridium/files/patch-content_common_user__agent.cc b/www/iridium/files/patch-content_common_user__agent.cc new file mode 100644 index 000000000000..d842b3145b5d --- /dev/null +++ b/www/iridium/files/patch-content_common_user__agent.cc @@ -0,0 +1,17 @@ +--- content/common/user_agent.cc.orig 2020-03-16 18:40:32 UTC ++++ content/common/user_agent.cc +@@ -140,6 +140,14 @@ std::string BuildOSCpuInfo(bool include_android_build_ + #endif + ); + ++#if defined(OS_BSD) ++#if defined(__x86_64__) ++ base::StringAppendF(&os_cpu, "; Linux x86_64"); ++#else ++ base::StringAppendF(&os_cpu, "; Linux i686"); ++#endif ++#endif ++ + return os_cpu; + } + diff --git a/www/iridium/files/patch-content_gpu_BUILD.gn b/www/iridium/files/patch-content_gpu_BUILD.gn new file mode 100644 index 000000000000..538b4bc2f7bc --- /dev/null +++ b/www/iridium/files/patch-content_gpu_BUILD.gn @@ -0,0 +1,11 @@ +--- content/gpu/BUILD.gn.orig 2020-03-16 18:40:32 UTC ++++ content/gpu/BUILD.gn +@@ -128,7 +128,7 @@ target(link_target_type, "gpu_sources") { + + # Use DRI on desktop Linux builds. + if (current_cpu != "s390x" && current_cpu != "ppc64" && is_desktop_linux && +- (!is_chromecast || is_cast_desktop_build)) { ++ (!is_chromecast || is_cast_desktop_build) && !is_bsd) { + configs += [ "//build/config/linux/dri" ] + } + } diff --git a/www/iridium/files/patch-content_gpu_gpu__main.cc b/www/iridium/files/patch-content_gpu_gpu__main.cc new file mode 100644 index 000000000000..ba08acddf473 --- /dev/null +++ b/www/iridium/files/patch-content_gpu_gpu__main.cc @@ -0,0 +1,56 @@ +--- content/gpu/gpu_main.cc.orig 2020-03-16 18:40:32 UTC ++++ content/gpu/gpu_main.cc +@@ -84,7 +84,7 @@ + #include "ui/gfx/x/x11_switches.h" // nogncheck + #endif + +-#if defined(OS_LINUX) ++#if defined(OS_LINUX) || defined(OS_BSD) + #include "content/gpu/gpu_sandbox_hook_linux.h" + #include "content/public/common/sandbox_init.h" + #include "services/service_manager/sandbox/linux/sandbox_linux.h" +@@ -109,7 +109,7 @@ namespace content { + + namespace { + +-#if defined(OS_LINUX) ++#if defined(OS_LINUX) && !defined(OS_BSD) + bool StartSandboxLinux(gpu::GpuWatchdogThread*, + const gpu::GPUInfo*, + const gpu::GpuPreferences&); +@@ -177,7 +177,7 @@ class ContentSandboxHelper : public gpu::GpuSandboxHel + bool EnsureSandboxInitialized(gpu::GpuWatchdogThread* watchdog_thread, + const gpu::GPUInfo* gpu_info, + const gpu::GpuPreferences& gpu_prefs) override { +-#if defined(OS_LINUX) ++#if defined(OS_LINUX) && !defined(OS_BSD) + return StartSandboxLinux(watchdog_thread, gpu_info, gpu_prefs); + #elif defined(OS_WIN) + return StartSandboxWindows(sandbox_info_); +@@ -301,7 +301,7 @@ int GpuMain(const MainFunctionParams& parameters) { + main_thread_task_executor = + std::make_unique<base::SingleThreadTaskExecutor>( + gpu_preferences.message_pump_type); +-#elif defined(OS_LINUX) ++#elif defined(OS_LINUX) || defined(OS_BSD) + #error "Unsupported Linux platform." + #elif defined(OS_MACOSX) + // Cross-process CoreAnimation requires a CFRunLoop to function at all, and +@@ -442,7 +442,7 @@ int GpuMain(const MainFunctionParams& parameters) { + + namespace { + +-#if defined(OS_LINUX) ++#if defined(OS_LINUX) && !defined(OS_BSD) + bool StartSandboxLinux(gpu::GpuWatchdogThread* watchdog_thread, + const gpu::GPUInfo* gpu_info, + const gpu::GpuPreferences& gpu_prefs) { +@@ -479,7 +479,7 @@ bool StartSandboxLinux(gpu::GpuWatchdogThread* watchdo + + return res; + } +-#endif // defined(OS_LINUX) ++#endif // defined(OS_LINUX) && !defined(OS_BSD) + + #if defined(OS_WIN) + bool StartSandboxWindows(const sandbox::SandboxInterfaceInfo* sandbox_info) { diff --git a/www/iridium/files/patch-content_gpu_gpu__sandbox__hook__linux.cc b/www/iridium/files/patch-content_gpu_gpu__sandbox__hook__linux.cc new file mode 100644 index 000000000000..55ec485ae8ec --- /dev/null +++ b/www/iridium/files/patch-content_gpu_gpu__sandbox__hook__linux.cc @@ -0,0 +1,58 @@ +--- content/gpu/gpu_sandbox_hook_linux.cc.orig 2020-03-16 18:39:50 UTC ++++ content/gpu/gpu_sandbox_hook_linux.cc +@@ -97,8 +97,9 @@ static const char kLibV4lEncPluginPath[] = + "/usr/lib/libv4l/plugins/libv4l-encplugin.so"; + #endif + +-constexpr int dlopen_flag = RTLD_NOW | RTLD_GLOBAL | RTLD_NODELETE; ++constexpr int dlopen_flag = RTLD_NOW | RTLD_GLOBAL; + ++#if !defined(OS_BSD) + void AddV4L2GpuWhitelist( + std::vector<BrokerFilePermission>* permissions, + const service_manager::SandboxSeccompBPF::Options& options) { +@@ -333,8 +334,10 @@ std::vector<BrokerFilePermission> FilePermissionsForGp + AddStandardGpuWhiteList(&permissions); + return permissions; + } ++#endif + + void LoadArmGpuLibraries() { ++#if !defined(OS_BSD) + // Preload the Mali library. + if (UseChromecastSandboxWhitelist()) { + for (const char* path : kWhitelistedChromecastPaths) { +@@ -349,6 +352,7 @@ void LoadArmGpuLibraries() { + // Preload the Tegra V4L2 (video decode acceleration) library. + dlopen(kLibTegraPath, dlopen_flag); + } ++#endif + } + + bool LoadAmdGpuLibraries() { +@@ -404,6 +408,7 @@ bool LoadLibrariesForGpu( + return true; + } + ++#if !defined(OS_BSD) + sandbox::syscall_broker::BrokerCommandSet CommandSetForGPU( + const service_manager::SandboxLinux::Options& options) { + sandbox::syscall_broker::BrokerCommandSet command_set; +@@ -425,13 +430,17 @@ bool BrokerProcessPreSandboxHook( + service_manager::SetProcessTitleFromCommandLine(nullptr); + return true; + } ++#endif + + } // namespace + + bool GpuProcessPreSandboxHook(service_manager::SandboxLinux::Options options) { ++ NOTIMPLEMENTED(); ++#if !defined(OS_BSD) + service_manager::SandboxLinux::GetInstance()->StartBrokerProcess( + CommandSetForGPU(options), FilePermissionsForGpu(options), + base::BindOnce(BrokerProcessPreSandboxHook), options); ++#endif + + if (!LoadLibrariesForGpu(options)) + return false; diff --git a/www/iridium/files/patch-content_ppapi__plugin_ppapi__blink__platform__impl.cc b/www/iridium/files/patch-content_ppapi__plugin_ppapi__blink__platform__impl.cc new file mode 100644 index 000000000000..8708f1d34421 --- /dev/null +++ b/www/iridium/files/patch-content_ppapi__plugin_ppapi__blink__platform__impl.cc @@ -0,0 +1,29 @@ +--- content/ppapi_plugin/ppapi_blink_platform_impl.cc.orig 2020-02-03 21:52:46 UTC ++++ content/ppapi_plugin/ppapi_blink_platform_impl.cc +@@ -19,7 +19,7 @@ + + #if defined(OS_MACOSX) + #include "content/child/child_process_sandbox_support_impl_mac.h" +-#elif defined(OS_LINUX) ++#elif defined(OS_LINUX) || defined(OS_BSD) + #include "content/child/child_process_sandbox_support_impl_linux.h" + #include "mojo/public/cpp/bindings/pending_remote.h" + #endif +@@ -34,7 +34,7 @@ typedef struct CGFont* CGFontRef; + namespace content { + + PpapiBlinkPlatformImpl::PpapiBlinkPlatformImpl() { +-#if defined(OS_LINUX) ++#if defined(OS_LINUX) || defined(OS_BSD) + mojo::PendingRemote<font_service::mojom::FontService> font_service; + ChildThread::Get()->BindHostReceiver( + font_service.InitWithNewPipeAndPassReceiver()); +@@ -52,7 +52,7 @@ PpapiBlinkPlatformImpl::~PpapiBlinkPlatformImpl() { + void PpapiBlinkPlatformImpl::Shutdown() {} + + blink::WebSandboxSupport* PpapiBlinkPlatformImpl::GetSandboxSupport() { +-#if defined(OS_LINUX) || defined(OS_MACOSX) ++#if defined(OS_LINUX) || defined(OS_MACOSX) || defined(OS_BSD) + return sandbox_support_.get(); + #else + return nullptr; diff --git a/www/iridium/files/patch-content_ppapi__plugin_ppapi__blink__platform__impl.h b/www/iridium/files/patch-content_ppapi__plugin_ppapi__blink__platform__impl.h new file mode 100644 index 000000000000..d246feb0e6c4 --- /dev/null +++ b/www/iridium/files/patch-content_ppapi__plugin_ppapi__blink__platform__impl.h @@ -0,0 +1,25 @@ +--- content/ppapi_plugin/ppapi_blink_platform_impl.h.orig 2019-10-21 19:06:32 UTC ++++ content/ppapi_plugin/ppapi_blink_platform_impl.h +@@ -13,7 +13,7 @@ + #include "build/build_config.h" + #include "content/child/blink_platform_impl.h" + +-#if defined(OS_LINUX) ++#if defined(OS_LINUX) || defined(OS_BSD) + #include "components/services/font/public/cpp/font_loader.h" + #include "third_party/skia/include/core/SkRefCnt.h" + #endif +@@ -36,11 +36,11 @@ class PpapiBlinkPlatformImpl : public BlinkPlatformImp + blink::WebThemeEngine* ThemeEngine() override; + + private: +-#if defined(OS_LINUX) || defined(OS_MACOSX) ++#if defined(OS_LINUX) || defined(OS_MACOSX) || defined(OS_BSD) + std::unique_ptr<blink::WebSandboxSupport> sandbox_support_; + #endif + +-#if defined(OS_LINUX) ++#if defined(OS_LINUX) || defined(OS_BSD) + sk_sp<font_service::FontLoader> font_loader_; + #endif + diff --git a/www/iridium/files/patch-content_public_app_content__main__delegate.cc b/www/iridium/files/patch-content_public_app_content__main__delegate.cc new file mode 100644 index 000000000000..22a460c346ac --- /dev/null +++ b/www/iridium/files/patch-content_public_app_content__main__delegate.cc @@ -0,0 +1,18 @@ +--- content/public/app/content_main_delegate.cc.orig 2020-03-16 18:40:32 UTC ++++ content/public/app/content_main_delegate.cc +@@ -39,13 +39,13 @@ bool ContentMainDelegate::DelaySandboxInitialization( + return false; + } + +-#elif defined(OS_LINUX) ++#elif defined(OS_LINUX) || defined(OS_BSD) + + void ContentMainDelegate::ZygoteStarting( + std::vector<std::unique_ptr<service_manager::ZygoteForkDelegate>>* + delegates) {} + +-#endif // defined(OS_LINUX) ++#endif // defined(OS_LINUX) || defined(OS_BSD) + + int ContentMainDelegate::TerminateForFatalInitializationError() { + CHECK(false); diff --git a/www/iridium/files/patch-content_public_app_content__main__delegate.h b/www/iridium/files/patch-content_public_app_content__main__delegate.h new file mode 100644 index 000000000000..06f339f70e30 --- /dev/null +++ b/www/iridium/files/patch-content_public_app_content__main__delegate.h @@ -0,0 +1,20 @@ +--- content/public/app/content_main_delegate.h.orig 2020-03-16 18:40:32 UTC ++++ content/public/app/content_main_delegate.h +@@ -72,7 +72,7 @@ class CONTENT_EXPORT ContentMainDelegate { + // want it at all. + virtual bool DelaySandboxInitialization(const std::string& process_type); + +-#elif defined(OS_LINUX) ++#elif defined(OS_LINUX) || defined(OS_BSD) + // Tells the embedder that the zygote process is starting, and allows it to + // specify one or more zygote delegates if it wishes by storing them in + // |*delegates|. +@@ -82,7 +82,7 @@ class CONTENT_EXPORT ContentMainDelegate { + + // Called every time the zygote process forks. + virtual void ZygoteForked() {} +-#endif // defined(OS_LINUX) ++#endif // defined(OS_LINUX) || defined(OS_BSD) + + // Fatal errors during initialization are reported by this function, so that + // the embedder can implement graceful exit by displaying some message and diff --git a/www/iridium/files/patch-content_public_common_child__process__host.h b/www/iridium/files/patch-content_public_common_child__process__host.h new file mode 100644 index 000000000000..bf91f4c4d0d2 --- /dev/null +++ b/www/iridium/files/patch-content_public_common_child__process__host.h @@ -0,0 +1,11 @@ +--- content/public/common/child_process_host.h.orig 2020-02-03 21:52:46 UTC ++++ content/public/common/child_process_host.h +@@ -80,7 +80,7 @@ class CONTENT_EXPORT ChildProcessHost : public IPC::Se + // No special behavior requested. + CHILD_NORMAL = 0, + +-#if defined(OS_LINUX) ++#if defined(OS_LINUX) || defined(OS_BSD) + // Indicates that the child execed after forking may be execced from + // /proc/self/exe rather than using the "real" app path. This prevents + // autoupdate from confusing us if it changes the file out from under us. diff --git a/www/iridium/files/patch-content_public_common_common__param__traits__macros.h b/www/iridium/files/patch-content_public_common_common__param__traits__macros.h new file mode 100644 index 000000000000..3fa7b395b5ef --- /dev/null +++ b/www/iridium/files/patch-content_public_common_common__param__traits__macros.h @@ -0,0 +1,11 @@ +--- content/public/common/common_param_traits_macros.h.orig 2020-03-16 18:40:32 UTC ++++ content/public/common/common_param_traits_macros.h +@@ -326,7 +326,7 @@ IPC_STRUCT_TRAITS_BEGIN(blink::mojom::RendererPreferen + IPC_STRUCT_TRAITS_MEMBER(accept_languages) + IPC_STRUCT_TRAITS_MEMBER(disable_client_blocked_error_page) + IPC_STRUCT_TRAITS_MEMBER(plugin_fullscreen_allowed) +-#if defined(OS_LINUX) ++#if defined(OS_LINUX) || defined(OS_BSD) + IPC_STRUCT_TRAITS_MEMBER(system_font_family_name) + #endif + #if defined(OS_WIN) diff --git a/www/iridium/files/patch-content_public_common_content__features.cc b/www/iridium/files/patch-content_public_common_content__features.cc new file mode 100644 index 000000000000..ebaa5f3fdb2a --- /dev/null +++ b/www/iridium/files/patch-content_public_common_content__features.cc @@ -0,0 +1,29 @@ +--- content/public/common/content_features.cc.orig 2020-03-16 18:40:32 UTC ++++ content/public/common/content_features.cc +@@ -48,7 +48,7 @@ const base::Feature kAudioServiceLaunchOnStartup{ + const base::Feature kAudioServiceOutOfProcess{ + "AudioServiceOutOfProcess", + #if defined(OS_WIN) || defined(OS_MACOSX) || \ +- (defined(OS_LINUX) && !defined(OS_CHROMEOS)) ++ (defined(OS_LINUX) && !defined(OS_CHROMEOS)) || defined(OS_BSD) + base::FEATURE_ENABLED_BY_DEFAULT + #else + base::FEATURE_DISABLED_BY_DEFAULT +@@ -693,7 +693,7 @@ const base::Feature kWebAssemblyThreads { + }; + + // Enable WebAssembly trap handler. +-#if (defined(OS_LINUX) || defined(OS_WIN) || defined(OS_MACOSX)) && \ ++#if (defined(OS_BSD) || defined(OS_LINUX) || defined(OS_WIN) || defined(OS_MACOSX)) && \ + defined(ARCH_CPU_X86_64) + const base::Feature kWebAssemblyTrapHandler{"WebAssemblyTrapHandler", + base::FEATURE_ENABLED_BY_DEFAULT}; +@@ -723,7 +723,7 @@ const base::Feature kWebAuth{"WebAuthentication", + // https://w3c.github.io/webauthn + const base::Feature kWebAuthCable { + "WebAuthenticationCable", +-#if !defined(OS_CHROMEOS) && defined(OS_LINUX) ++#if (!defined(OS_CHROMEOS) && defined(OS_LINUX)) || defined(OS_BSD) + base::FEATURE_DISABLED_BY_DEFAULT + #else + base::FEATURE_ENABLED_BY_DEFAULT diff --git a/www/iridium/files/patch-content_public_common_content__switches.cc b/www/iridium/files/patch-content_public_common_content__switches.cc new file mode 100644 index 000000000000..4f1ae111a366 --- /dev/null +++ b/www/iridium/files/patch-content_public_common_content__switches.cc @@ -0,0 +1,11 @@ +--- content/public/common/content_switches.cc.orig 2020-03-16 18:40:32 UTC ++++ content/public/common/content_switches.cc +@@ -997,7 +997,7 @@ const char kEnableAggressiveDOMStorageFlushing[] = + // Enable indication that browser is controlled by automation. + const char kEnableAutomation[] = "enable-automation"; + +-#if defined(OS_LINUX) && !defined(OS_CHROMEOS) ++#if (defined(OS_LINUX) && !defined(OS_CHROMEOS)) || defined(OS_FREEBSD) + // Allows sending text-to-speech requests to speech-dispatcher, a common + // Linux speech service. Because it's buggy, the user must explicitly + // enable it so that visiting a random webpage can't cause instability. diff --git a/www/iridium/files/patch-content_public_common_content__switches.h b/www/iridium/files/patch-content_public_common_content__switches.h new file mode 100644 index 000000000000..1a705f45ae7f --- /dev/null +++ b/www/iridium/files/patch-content_public_common_content__switches.h @@ -0,0 +1,11 @@ +--- content/public/common/content_switches.h.orig 2020-03-16 18:40:32 UTC ++++ content/public/common/content_switches.h +@@ -278,7 +278,7 @@ CONTENT_EXPORT extern const char kRemoteDebuggingSocke + CONTENT_EXPORT extern const char kRendererWaitForJavaDebugger[]; + #endif + +-#if defined(OS_LINUX) && !defined(OS_CHROMEOS) ++#if (defined(OS_LINUX) && !defined(OS_CHROMEOS)) || defined(OS_FREEBSD) + CONTENT_EXPORT extern const char kEnableSpeechDispatcher[]; + #endif + diff --git a/www/iridium/files/patch-content_public_common_use__zoom__for__dsf__policy.cc b/www/iridium/files/patch-content_public_common_use__zoom__for__dsf__policy.cc new file mode 100644 index 000000000000..b448c3f07db5 --- /dev/null +++ b/www/iridium/files/patch-content_public_common_use__zoom__for__dsf__policy.cc @@ -0,0 +1,11 @@ +--- content/public/common/use_zoom_for_dsf_policy.cc.orig 2019-03-11 22:00:58 UTC ++++ content/public/common/use_zoom_for_dsf_policy.cc +@@ -25,7 +25,7 @@ const base::Feature kUseZoomForDsfEnabledByDefault{ + #endif + + bool IsUseZoomForDSFEnabledByDefault() { +-#if defined(OS_LINUX) || defined(OS_FUCHSIA) ++#if defined(OS_LINUX) || defined(OS_FUCHSIA) || defined(OS_BSD) + return true; + #elif defined(OS_WIN) || defined(OS_ANDROID) + return base::FeatureList::IsEnabled(kUseZoomForDsfEnabledByDefault); diff --git a/www/iridium/files/patch-content_public_test_browser__test__base.cc b/www/iridium/files/patch-content_public_test_browser__test__base.cc new file mode 100644 index 000000000000..dd60982ba019 --- /dev/null +++ b/www/iridium/files/patch-content_public_test_browser__test__base.cc @@ -0,0 +1,31 @@ +--- content/public/test/browser_test_base.cc.orig 2020-04-03 04:11:32 UTC ++++ content/public/test/browser_test_base.cc +@@ -71,7 +71,7 @@ + #include "ui/gl/gl_implementation.h" + #include "ui/gl/gl_switches.h" + +-#if defined(OS_LINUX) ++#if defined(OS_LINUX) || defined(OS_BSD) + #include "ui/platform_window/common/platform_window_defaults.h" // nogncheck + #endif + +@@ -98,6 +98,10 @@ + #include "ui/views/test/event_generator_delegate_mac.h" + #endif + ++#if defined(OS_FREEBSD) ++#include <sys/signal.h> ++#endif ++ + #if defined(OS_POSIX) + #include "base/process/process_handle.h" + #endif +@@ -184,7 +188,7 @@ BrowserTestBase::BrowserTestBase() + "a new browser test suite that runs on Android, please add it to " + "//build/android/pylib/gtest/gtest_test_instance.py."; + g_instance_already_created = true; +-#if defined(OS_LINUX) ++#if defined(OS_LINUX) || defined(OS_BSD) + ui::test::EnableTestConfigForPlatformWindows(); + #endif + diff --git a/www/iridium/files/patch-content_public_test_content__browser__test.cc b/www/iridium/files/patch-content_public_test_content__browser__test.cc new file mode 100644 index 000000000000..cc6012d2f89e --- /dev/null +++ b/www/iridium/files/patch-content_public_test_content__browser__test.cc @@ -0,0 +1,29 @@ +--- content/public/test/content_browser_test.cc.orig 2020-04-06 08:25:58 UTC ++++ content/public/test/content_browser_test.cc +@@ -26,7 +26,7 @@ + #include "base/mac/foundation_util.h" + #endif + +-#if !defined(OS_CHROMEOS) && defined(OS_LINUX) ++#if (!defined(OS_CHROMEOS) && defined(OS_LINUX)) || defined(OS_BSD) + #include "ui/base/ime/init/input_method_initializer.h" + #endif + +@@ -83,7 +83,7 @@ void ContentBrowserTest::SetUp() { + #endif + + // LinuxInputMethodContextFactory has to be initialized. +-#if !defined(OS_CHROMEOS) && defined(OS_LINUX) ++#if (!defined(OS_CHROMEOS) && defined(OS_LINUX)) || defined(OS_BSD) + ui::InitializeInputMethodForTesting(); + #endif + +@@ -96,7 +96,7 @@ void ContentBrowserTest::TearDown() { + BrowserTestBase::TearDown(); + + // LinuxInputMethodContextFactory has to be shutdown. +-#if !defined(OS_CHROMEOS) && defined(OS_LINUX) ++#if (!defined(OS_CHROMEOS) && defined(OS_LINUX)) || defined(OS_BSD) + ui::ShutdownInputMethodForTesting(); + #endif + } diff --git a/www/iridium/files/patch-content_public_test_mock__render__thread.cc b/www/iridium/files/patch-content_public_test_mock__render__thread.cc new file mode 100644 index 000000000000..5b12d835bc18 --- /dev/null +++ b/www/iridium/files/patch-content_public_test_mock__render__thread.cc @@ -0,0 +1,11 @@ +--- content/public/test/mock_render_thread.cc.orig 2019-12-16 21:51:26 UTC ++++ content/public/test/mock_render_thread.cc +@@ -73,7 +73,7 @@ class MockRenderMessageFilterImpl : public mojom::Rend + std::move(callback).Run(false); + } + +-#if defined(OS_LINUX) ++#if defined(OS_LINUX) || defined(OS_BSD) + void SetThreadPriority(int32_t platform_thread_id, + base::ThreadPriority thread_priority) override {} + #endif diff --git a/www/iridium/files/patch-content_renderer_media_audio_audio__device__factory.cc b/www/iridium/files/patch-content_renderer_media_audio_audio__device__factory.cc new file mode 100644 index 000000000000..c1a03f802347 --- /dev/null +++ b/www/iridium/files/patch-content_renderer_media_audio_audio__device__factory.cc @@ -0,0 +1,11 @@ +--- content/renderer/media/audio/audio_device_factory.cc.orig 2019-06-04 18:55:23 UTC ++++ content/renderer/media/audio/audio_device_factory.cc +@@ -35,7 +35,7 @@ AudioDeviceFactory* AudioDeviceFactory::factory_ = nul + namespace { + + #if defined(OS_WIN) || defined(OS_MACOSX) || \ +- (defined(OS_LINUX) && !defined(OS_CHROMEOS)) ++ (defined(OS_LINUX) && !defined(OS_CHROMEOS)) || defined(OS_BSD) + // Due to driver deadlock issues on Windows (http://crbug/422522) there is a + // chance device authorization response is never received from the browser side. + // In this case we will time out, to avoid renderer hang forever waiting for diff --git a/www/iridium/files/patch-content_renderer_render__process__impl.cc b/www/iridium/files/patch-content_renderer_render__process__impl.cc new file mode 100644 index 000000000000..c0badaab0886 --- /dev/null +++ b/www/iridium/files/patch-content_renderer_render__process__impl.cc @@ -0,0 +1,20 @@ +--- content/renderer/render_process_impl.cc.orig 2020-03-16 18:40:32 UTC ++++ content/renderer/render_process_impl.cc +@@ -43,7 +43,7 @@ + #if defined(OS_WIN) + #include "base/win/win_util.h" + #endif +-#if defined(OS_LINUX) && defined(ARCH_CPU_X86_64) ++#if (defined(OS_LINUX) || defined(OS_BSD)) && defined(ARCH_CPU_X86_64) + #include "v8/include/v8-wasm-trap-handler-posix.h" + #endif + namespace { +@@ -161,7 +161,7 @@ RenderProcessImpl::RenderProcessImpl() + + SetV8FlagIfNotFeature(features::kWebAssemblyTrapHandler, + "--no-wasm-trap-handler"); +-#if defined(OS_LINUX) && defined(ARCH_CPU_X86_64) ++#if (defined(OS_LINUX) || defined(OS_BSD)) && defined(ARCH_CPU_X86_64) + if (base::FeatureList::IsEnabled(features::kWebAssemblyTrapHandler)) { + base::CommandLine* command_line = base::CommandLine::ForCurrentProcess(); + if (!command_line->HasSwitch( diff --git a/www/iridium/files/patch-content_renderer_render__thread__impl.cc b/www/iridium/files/patch-content_renderer_render__thread__impl.cc new file mode 100644 index 000000000000..c231b5944895 --- /dev/null +++ b/www/iridium/files/patch-content_renderer_render__thread__impl.cc @@ -0,0 +1,51 @@ +--- content/renderer/render_thread_impl.cc.orig 2020-03-16 18:40:32 UTC ++++ content/renderer/render_thread_impl.cc +@@ -172,12 +172,21 @@ + #include "mojo/public/cpp/bindings/message_dumper.h" + #endif + ++#if !defined(OS_BSD) + #if defined(OS_MACOSX) + #include <malloc/malloc.h> + #else + #include <malloc.h> + #endif ++#endif + ++#if defined(OS_BSD) ++#include <stddef.h> ++#include <stdint.h> ++#include <sys/param.h> ++#include <sys/sysctl.h> ++#endif ++ + using base::ThreadRestrictions; + using blink::WebDocument; + using blink::WebFrame; +@@ -731,7 +740,7 @@ void RenderThreadImpl::Init() { + DCHECK(parsed_num_raster_threads) << string_value; + DCHECK_GT(num_raster_threads, 0); + +-#if defined(OS_LINUX) ++#if defined(OS_LINUX) || defined(OS_BSD) + categorized_worker_pool_->SetBackgroundingCallback( + main_thread_scheduler_->DefaultTaskRunner(), + base::BindOnce( +@@ -754,7 +763,7 @@ void RenderThreadImpl::Init() { + base::DiscardableMemoryAllocator::SetInstance( + discardable_memory_allocator_.get()); + +-#if defined(OS_LINUX) ++#if defined(OS_LINUX) || defined(OS_BSD) + if (base::FeatureList::IsEnabled( + blink::features::kBlinkCompositorUseDisplayThreadPriority)) { + render_message_filter()->SetThreadPriority( +@@ -1136,7 +1145,7 @@ media::GpuVideoAcceleratorFactories* RenderThreadImpl: + !cmd_line->HasSwitch(switches::kDisableGpuMemoryBufferVideoFrames); + #else + cmd_line->HasSwitch(switches::kEnableGpuMemoryBufferVideoFrames); +-#endif // defined(OS_MACOSX) || defined(OS_LINUX) || defined(OS_WIN) ++#endif // defined(OS_MACOSX) || defined(OS_LINUX) || defined(OS_WIN) || defined(OS_BSD) + const bool enable_media_stream_gpu_memory_buffers = + enable_gpu_memory_buffers && + base::FeatureList::IsEnabled( diff --git a/www/iridium/files/patch-content_renderer_renderer__blink__platform__impl.cc b/www/iridium/files/patch-content_renderer_renderer__blink__platform__impl.cc new file mode 100644 index 000000000000..716ffe45a392 --- /dev/null +++ b/www/iridium/files/patch-content_renderer_renderer__blink__platform__impl.cc @@ -0,0 +1,47 @@ +--- content/renderer/renderer_blink_platform_impl.cc.orig 2020-03-16 18:40:32 UTC ++++ content/renderer/renderer_blink_platform_impl.cc +@@ -98,7 +98,7 @@ + + #if defined(OS_MACOSX) + #include "content/child/child_process_sandbox_support_impl_mac.h" +-#elif defined(OS_LINUX) ++#elif defined(OS_LINUX) || defined(OS_BSD) + #include "content/child/child_process_sandbox_support_impl_linux.h" + #endif + +@@ -173,7 +173,7 @@ RendererBlinkPlatformImpl::RendererBlinkPlatformImpl( + if (RenderThreadImpl::current()) { + io_runner_ = RenderThreadImpl::current()->GetIOTaskRunner(); + thread_safe_sender_ = RenderThreadImpl::current()->thread_safe_sender(); +-#if defined(OS_LINUX) ++#if defined(OS_LINUX) || defined(OS_BSD) + mojo::PendingRemote<font_service::mojom::FontService> font_service; + RenderThreadImpl::current()->BindHostReceiver( + font_service.InitWithNewPipeAndPassReceiver()); +@@ -183,7 +183,7 @@ RendererBlinkPlatformImpl::RendererBlinkPlatformImpl( + #endif + } + +-#if defined(OS_LINUX) || defined(OS_MACOSX) ++#if defined(OS_LINUX) || defined(OS_MACOSX) || defined(OS_BSD) + if (sandboxEnabled()) { + #if defined(OS_MACOSX) + sandbox_support_ = std::make_unique<WebSandboxSupportMac>(); +@@ -265,7 +265,7 @@ RendererBlinkPlatformImpl::CreateNetworkURLLoaderFacto + + void RendererBlinkPlatformImpl::SetDisplayThreadPriority( + base::PlatformThreadId thread_id) { +-#if defined(OS_LINUX) ++#if defined(OS_LINUX) || defined(OS_BSD) + if (RenderThreadImpl* render_thread = RenderThreadImpl::current()) { + render_thread->render_message_filter()->SetThreadPriority( + thread_id, base::ThreadPriority::DISPLAY); +@@ -278,7 +278,7 @@ blink::BlameContext* RendererBlinkPlatformImpl::GetTop + } + + blink::WebSandboxSupport* RendererBlinkPlatformImpl::GetSandboxSupport() { +-#if defined(OS_LINUX) || defined(OS_MACOSX) ++#if defined(OS_LINUX) || defined(OS_MACOSX) || defined(OS_BSD) + return sandbox_support_.get(); + #else + // These platforms do not require sandbox support. diff --git a/www/iridium/files/patch-content_renderer_renderer__blink__platform__impl.h b/www/iridium/files/patch-content_renderer_renderer__blink__platform__impl.h new file mode 100644 index 000000000000..5aa4c9e85488 --- /dev/null +++ b/www/iridium/files/patch-content_renderer_renderer__blink__platform__impl.h @@ -0,0 +1,29 @@ +--- content/renderer/renderer_blink_platform_impl.h.orig 2020-02-03 21:53:31 UTC ++++ content/renderer/renderer_blink_platform_impl.h +@@ -30,7 +30,7 @@ + #include "third_party/blink/public/mojom/cache_storage/cache_storage.mojom.h" + #include "third_party/blink/public/mojom/loader/code_cache.mojom.h" + +-#if defined(OS_LINUX) ++#if defined(OS_LINUX) || defined(OS_BSD) + #include "components/services/font/public/cpp/font_loader.h" // nogncheck + #include "third_party/skia/include/core/SkRefCnt.h" // nogncheck + #endif +@@ -218,7 +218,7 @@ class CONTENT_EXPORT RendererBlinkPlatformImpl : publi + + scoped_refptr<base::SingleThreadTaskRunner> io_runner_; + +-#if defined(OS_LINUX) || defined(OS_MACOSX) ++#if defined(OS_LINUX) || defined(OS_MACOSX) || defined(OS_BSD) + std::unique_ptr<blink::WebSandboxSupport> sandbox_support_; + #endif + +@@ -242,7 +242,7 @@ class CONTENT_EXPORT RendererBlinkPlatformImpl : publi + mojo::PendingRemote<blink::mojom::CodeCacheHost> code_cache_host_remote_; + mojo::SharedRemote<blink::mojom::CodeCacheHost> code_cache_host_; + +-#if defined(OS_LINUX) ++#if defined(OS_LINUX) || defined(OS_BSD) + sk_sp<font_service::FontLoader> font_loader_; + #endif + diff --git a/www/iridium/files/patch-content_renderer_renderer__main__platform__delegate__linux.cc b/www/iridium/files/patch-content_renderer_renderer__main__platform__delegate__linux.cc new file mode 100644 index 000000000000..3c78e664138b --- /dev/null +++ b/www/iridium/files/patch-content_renderer_renderer__main__platform__delegate__linux.cc @@ -0,0 +1,19 @@ +--- content/renderer/renderer_main_platform_delegate_linux.cc.orig 2020-03-16 18:39:50 UTC ++++ content/renderer/renderer_main_platform_delegate_linux.cc +@@ -30,6 +30,7 @@ void RendererMainPlatformDelegate::PlatformUninitializ + } + + bool RendererMainPlatformDelegate::EnableSandbox() { ++#if !defined(OS_BSD) + // The setuid sandbox is started in the zygote process: zygote_main_linux.cc + // https://chromium.googlesource.com/chromium/src/+/master/docs/linux/suid_sandbox.md + // +@@ -65,7 +66,7 @@ bool RendererMainPlatformDelegate::EnableSandbox() { + CHECK_EQ(errno, EPERM); + } + #endif // __x86_64__ +- ++#endif // ! OS_BSD + return true; + } + diff --git a/www/iridium/files/patch-content_shell_BUILD.gn b/www/iridium/files/patch-content_shell_BUILD.gn new file mode 100644 index 000000000000..6a640a666c6a --- /dev/null +++ b/www/iridium/files/patch-content_shell_BUILD.gn @@ -0,0 +1,11 @@ +--- content/shell/BUILD.gn.orig 2020-03-16 18:40:32 UTC ++++ content/shell/BUILD.gn +@@ -932,7 +932,7 @@ group("content_shell_crash_test") { + if (is_win) { + data_deps += [ "//build/win:copy_cdb_to_output" ] + } +- if (is_posix) { ++ if (is_posix && !is_bsd) { + data_deps += [ + "//third_party/breakpad:dump_syms", + "//third_party/breakpad:minidump_stackwalk", diff --git a/www/iridium/files/patch-content_shell_app_shell__main__delegate.cc b/www/iridium/files/patch-content_shell_app_shell__main__delegate.cc new file mode 100644 index 000000000000..9e3e50211c22 --- /dev/null +++ b/www/iridium/files/patch-content_shell_app_shell__main__delegate.cc @@ -0,0 +1,20 @@ +--- content/shell/app/shell_main_delegate.cc.orig 2020-03-16 18:40:32 UTC ++++ content/shell/app/shell_main_delegate.cc +@@ -306,7 +306,7 @@ bool ShellMainDelegate::BasicStartupComplete(int* exit + } + + void ShellMainDelegate::PreSandboxStartup() { +-#if defined(ARCH_CPU_ARM_FAMILY) && (defined(OS_ANDROID) || defined(OS_LINUX)) ++#if defined(ARCH_CPU_ARM_FAMILY) && (defined(OS_ANDROID) || defined(OS_LINUX) || defined(OS_BSD)) + // Create an instance of the CPU class to parse /proc/cpuinfo and cache + // cpu_brand info. + base::CPU cpu_info; +@@ -325,7 +325,7 @@ void ShellMainDelegate::PreSandboxStartup() { + // Reporting for sub-processes will be initialized in ZygoteForked. + if (process_type != service_manager::switches::kZygoteProcess) { + crash_reporter::InitializeCrashpad(process_type.empty(), process_type); +-#if defined(OS_LINUX) ++#if defined(OS_LINUX) || defined(OS_BSD) + crash_reporter::SetFirstChanceExceptionHandler( + v8::TryHandleWebAssemblyTrapPosix); + #endif diff --git a/www/iridium/files/patch-content_shell_browser_shell__browser__context.cc b/www/iridium/files/patch-content_shell_browser_shell__browser__context.cc new file mode 100644 index 000000000000..d9388fc9f1d2 --- /dev/null +++ b/www/iridium/files/patch-content_shell_browser_shell__browser__context.cc @@ -0,0 +1,20 @@ +--- content/shell/browser/shell_browser_context.cc.orig 2019-10-21 19:06:33 UTC ++++ content/shell/browser/shell_browser_context.cc +@@ -32,7 +32,7 @@ + + #if defined(OS_WIN) + #include "base/base_paths_win.h" +-#elif defined(OS_LINUX) ++#elif defined(OS_LINUX) || defined(OS_BSD) + #include "base/nix/xdg_util.h" + #elif defined(OS_MACOSX) + #include "base/base_paths_mac.h" +@@ -107,7 +107,7 @@ void ShellBrowserContext::InitWhileIOAllowed() { + #if defined(OS_WIN) + CHECK(base::PathService::Get(base::DIR_LOCAL_APP_DATA, &path_)); + path_ = path_.Append(std::wstring(L"content_shell")); +-#elif defined(OS_LINUX) ++#elif defined(OS_LINUX) || defined(OS_BSD) + std::unique_ptr<base::Environment> env(base::Environment::Create()); + base::FilePath config_dir( + base::nix::GetXDGDirectory(env.get(), diff --git a/www/iridium/files/patch-content_shell_browser_shell__browser__main__parts.cc b/www/iridium/files/patch-content_shell_browser_shell__browser__main__parts.cc new file mode 100644 index 000000000000..dc97f7778f08 --- /dev/null +++ b/www/iridium/files/patch-content_shell_browser_shell__browser__main__parts.cc @@ -0,0 +1,20 @@ +--- content/shell/browser/shell_browser_main_parts.cc.orig 2019-12-16 21:51:26 UTC ++++ content/shell/browser/shell_browser_main_parts.cc +@@ -47,7 +47,7 @@ + #if defined(USE_AURA) && defined(USE_X11) + #include "ui/events/devices/x11/touch_factory_x11.h" // nogncheck + #endif +-#if !defined(OS_CHROMEOS) && defined(USE_AURA) && defined(OS_LINUX) ++#if !defined(OS_CHROMEOS) && defined(USE_AURA) && (defined(OS_LINUX) || defined(OS_BSD)) + #include "ui/base/ime/init/input_method_initializer.h" + #endif + #if defined(OS_CHROMEOS) +@@ -123,7 +123,7 @@ int ShellBrowserMainParts::PreEarlyInitialization() { + #if defined(USE_X11) + ui::SetDefaultX11ErrorHandlers(); + #endif +-#if !defined(OS_CHROMEOS) && defined(USE_AURA) && defined(OS_LINUX) ++#if !defined(OS_CHROMEOS) && defined(USE_AURA) && (defined(OS_BSD) || defined(OS_LINUX)) + ui::InitializeInputMethodForTesting(); + #endif + #if defined(OS_ANDROID) diff --git a/www/iridium/files/patch-content_shell_browser_web__test_web__test__browser__context.cc b/www/iridium/files/patch-content_shell_browser_web__test_web__test__browser__context.cc new file mode 100644 index 000000000000..09235357330e --- /dev/null +++ b/www/iridium/files/patch-content_shell_browser_web__test_web__test__browser__context.cc @@ -0,0 +1,11 @@ +--- content/shell/browser/web_test/web_test_browser_context.cc.orig 2020-02-03 21:52:46 UTC ++++ content/shell/browser/web_test/web_test_browser_context.cc +@@ -27,7 +27,7 @@ + + #if defined(OS_WIN) + #include "base/base_paths_win.h" +-#elif defined(OS_LINUX) ++#elif defined(OS_LINUX) || defined(OS_BSD) + #include "base/nix/xdg_util.h" + #elif defined(OS_MACOSX) + #include "base/base_paths_mac.h" diff --git a/www/iridium/files/patch-content_shell_browser_web__test_web__test__browser__main__parts.cc b/www/iridium/files/patch-content_shell_browser_web__test_web__test__browser__main__parts.cc new file mode 100644 index 000000000000..7aa29e2df609 --- /dev/null +++ b/www/iridium/files/patch-content_shell_browser_web__test_web__test__browser__main__parts.cc @@ -0,0 +1,11 @@ +--- content/shell/browser/web_test/web_test_browser_main_parts.cc.orig 2019-09-09 21:55:17 UTC ++++ content/shell/browser/web_test/web_test_browser_main_parts.cc +@@ -36,7 +36,7 @@ + #if defined(USE_AURA) && defined(USE_X11) + #include "ui/events/devices/x11/touch_factory_x11.h" // nogncheck + #endif +-#if !defined(OS_CHROMEOS) && defined(USE_AURA) && defined(OS_LINUX) ++#if !defined(OS_CHROMEOS) && defined(USE_AURA) && (defined(OS_LINUX) || defined(OS_BSD)) + #include "ui/base/ime/init/input_method_initializer.h" + #endif + diff --git a/www/iridium/files/patch-content_shell_test__runner_test__runner.cc b/www/iridium/files/patch-content_shell_test__runner_test__runner.cc new file mode 100644 index 000000000000..c2e390ce3a41 --- /dev/null +++ b/www/iridium/files/patch-content_shell_test__runner_test__runner.cc @@ -0,0 +1,29 @@ +--- content/shell/test_runner/test_runner.cc.orig 2020-03-16 18:40:32 UTC ++++ content/shell/test_runner/test_runner.cc +@@ -62,7 +62,7 @@ + #include "ui/gfx/geometry/size.h" + #include "ui/gfx/skia_util.h" + +-#if defined(OS_LINUX) || defined(OS_FUCHSIA) ++#if defined(OS_LINUX) || defined(OS_FUCHSIA) || defined(OS_BSD) + #include "third_party/blink/public/platform/web_font_render_style.h" + #endif + +@@ -1532,7 +1532,7 @@ void TestRunner::Reset() { + drag_image_.reset(); + + blink::WebSecurityPolicy::ClearOriginAccessList(); +-#if defined(OS_LINUX) || defined(OS_FUCHSIA) ++#if defined(OS_LINUX) || defined(OS_FUCHSIA) || defined(OS_BSD) + blink::WebFontRenderStyle::SetSubpixelPositioning(false); + #endif + +@@ -2111,7 +2111,7 @@ void TestRunner::AddOriginAccessAllowListEntry( + } + + void TestRunner::SetTextSubpixelPositioning(bool value) { +-#if defined(OS_LINUX) || defined(OS_FUCHSIA) ++#if defined(OS_LINUX) || defined(OS_FUCHSIA) || defined(OS_BSD) + // Since FontConfig doesn't provide a variable to control subpixel + // positioning, we'll fall back to setting it globally for all fonts. + blink::WebFontRenderStyle::SetSubpixelPositioning(value); diff --git a/www/iridium/files/patch-content_test_content__test__suite.cc b/www/iridium/files/patch-content_test_content__test__suite.cc new file mode 100644 index 000000000000..de8be8785a7f --- /dev/null +++ b/www/iridium/files/patch-content_test_content__test__suite.cc @@ -0,0 +1,18 @@ +--- content/test/content_test_suite.cc.orig 2019-12-16 21:50:48 UTC ++++ content/test/content_test_suite.cc +@@ -84,6 +84,7 @@ void ContentTestSuite::Initialize() { + // to initialize GL, so don't do it here. + base::CommandLine* command_line = base::CommandLine::ForCurrentProcess(); + bool is_child_process = command_line->HasSwitch(switches::kTestChildProcess); ++#if !defined(OS_BSD) + if (!is_child_process) { + gl::GLSurfaceTestSupport::InitializeNoExtensionsOneOff(); + auto* gpu_feature_info = gpu::GetTestGpuThreadHolder()->GetGpuFeatureInfo(); +@@ -91,6 +92,7 @@ void ContentTestSuite::Initialize() { + gpu_feature_info->disabled_extensions); + gl::init::InitializeExtensionSettingsOneOffPlatform(); + } ++#endif + testing::TestEventListeners& listeners = + testing::UnitTest::GetInstance()->listeners(); + listeners.Append(new TestInitializationListener); diff --git a/www/iridium/files/patch-content_utility_BUILD.gn b/www/iridium/files/patch-content_utility_BUILD.gn new file mode 100644 index 000000000000..6c7ec5a20c2c --- /dev/null +++ b/www/iridium/files/patch-content_utility_BUILD.gn @@ -0,0 +1,11 @@ +--- content/utility/BUILD.gn.orig 2020-03-18 12:50:25 UTC ++++ content/utility/BUILD.gn +@@ -78,7 +78,7 @@ jumbo_source_set("utility") { + deps += [ "//services/proxy_resolver:lib" ] + } + +- if (is_linux) { ++ if (is_linux && !is_bsd) { + deps += [ "//content/utility/soda:soda_sandbox_hook" ] + } + } diff --git a/www/iridium/files/patch-content_utility_utility__blink__platform__with__sandbox__support__impl.cc b/www/iridium/files/patch-content_utility_utility__blink__platform__with__sandbox__support__impl.cc new file mode 100644 index 000000000000..37e61a50af20 --- /dev/null +++ b/www/iridium/files/patch-content_utility_utility__blink__platform__with__sandbox__support__impl.cc @@ -0,0 +1,29 @@ +--- content/utility/utility_blink_platform_with_sandbox_support_impl.cc.orig 2019-12-16 21:50:48 UTC ++++ content/utility/utility_blink_platform_with_sandbox_support_impl.cc +@@ -9,7 +9,7 @@ + + #if defined(OS_MACOSX) + #include "content/child/child_process_sandbox_support_impl_mac.h" +-#elif defined(OS_LINUX) ++#elif defined(OS_LINUX) || defined(OS_BSD) + #include "content/child/child_process_sandbox_support_impl_linux.h" + #endif + +@@ -17,7 +17,7 @@ namespace content { + + UtilityBlinkPlatformWithSandboxSupportImpl:: + UtilityBlinkPlatformWithSandboxSupportImpl() { +-#if defined(OS_LINUX) ++#if defined(OS_LINUX) || defined(OS_BSD) + mojo::PendingRemote<font_service::mojom::FontService> font_service; + UtilityThread::Get()->BindHostReceiver( + font_service.InitWithNewPipeAndPassReceiver()); +@@ -34,7 +34,7 @@ UtilityBlinkPlatformWithSandboxSupportImpl:: + + blink::WebSandboxSupport* + UtilityBlinkPlatformWithSandboxSupportImpl::GetSandboxSupport() { +-#if defined(OS_LINUX) || defined(OS_MACOSX) ++#if defined(OS_LINUX) || defined(OS_MACOSX) || defined(OS_BSD) + return sandbox_support_.get(); + #else + return nullptr; diff --git a/www/iridium/files/patch-content_utility_utility__blink__platform__with__sandbox__support__impl.h b/www/iridium/files/patch-content_utility_utility__blink__platform__with__sandbox__support__impl.h new file mode 100644 index 000000000000..23f525c1b117 --- /dev/null +++ b/www/iridium/files/patch-content_utility_utility__blink__platform__with__sandbox__support__impl.h @@ -0,0 +1,24 @@ +--- content/utility/utility_blink_platform_with_sandbox_support_impl.h.orig 2019-12-16 21:50:48 UTC ++++ content/utility/utility_blink_platform_with_sandbox_support_impl.h +@@ -11,7 +11,7 @@ + #include "build/build_config.h" + #include "third_party/blink/public/platform/platform.h" + +-#if defined(OS_LINUX) ++#if defined(OS_LINUX) || defined(OS_BSD) + #include "components/services/font/public/cpp/font_loader.h" // nogncheck + #include "third_party/skia/include/core/SkRefCnt.h" // nogncheck + #endif +@@ -33,10 +33,10 @@ class UtilityBlinkPlatformWithSandboxSupportImpl : pub + blink::WebSandboxSupport* GetSandboxSupport() override; + + private: +-#if defined(OS_LINUX) || defined(OS_MACOSX) ++#if defined(OS_LINUX) || defined(OS_MACOSX) || defined(OS_BSD) + std::unique_ptr<blink::WebSandboxSupport> sandbox_support_; + #endif +-#if defined(OS_LINUX) ++#if defined(OS_LINUX) || defined(OS_BSD) + sk_sp<font_service::FontLoader> font_loader_; + #endif + diff --git a/www/iridium/files/patch-device_bluetooth_BUILD.gn b/www/iridium/files/patch-device_bluetooth_BUILD.gn new file mode 100644 index 000000000000..222316adc8f5 --- /dev/null +++ b/www/iridium/files/patch-device_bluetooth_BUILD.gn @@ -0,0 +1,11 @@ +--- device/bluetooth/BUILD.gn.orig 2020-03-16 18:39:51 UTC ++++ device/bluetooth/BUILD.gn +@@ -275,7 +275,7 @@ component("bluetooth") { + ] + } + +- if (is_chromeos || is_linux) { ++ if (is_chromeos || (is_linux && !is_bsd)) { + if (use_dbus) { + sources += [ + "bluez/bluetooth_adapter_bluez.cc", diff --git a/www/iridium/files/patch-device_gamepad_gamepad__provider.cc b/www/iridium/files/patch-device_gamepad_gamepad__provider.cc new file mode 100644 index 000000000000..7c9a18a60c34 --- /dev/null +++ b/www/iridium/files/patch-device_gamepad_gamepad__provider.cc @@ -0,0 +1,11 @@ +--- device/gamepad/gamepad_provider.cc.orig 2020-03-16 18:39:51 UTC ++++ device/gamepad/gamepad_provider.cc +@@ -147,7 +147,7 @@ void GamepadProvider::Initialize(std::unique_ptr<Gamep + + if (!polling_thread_) + polling_thread_.reset(new base::Thread("Gamepad polling thread")); +-#if defined(OS_LINUX) ++#if defined(OS_LINUX) || defined(OS_BSD) + // On Linux, the data fetcher needs to watch file descriptors, so the message + // loop needs to be a libevent loop. + const base::MessagePumpType kMessageLoopType = base::MessagePumpType::IO; diff --git a/www/iridium/files/patch-device_gamepad_hid__writer__linux.cc b/www/iridium/files/patch-device_gamepad_hid__writer__linux.cc new file mode 100644 index 000000000000..f962ad16a8f5 --- /dev/null +++ b/www/iridium/files/patch-device_gamepad_hid__writer__linux.cc @@ -0,0 +1,11 @@ +--- device/gamepad/hid_writer_linux.cc.orig 2019-10-31 07:37:06 UTC ++++ device/gamepad/hid_writer_linux.cc +@@ -4,6 +4,8 @@ + + #include "device/gamepad/hid_writer_linux.h" + ++#include <unistd.h> ++ + #include "base/posix/eintr_wrapper.h" + + namespace device { diff --git a/www/iridium/files/patch-extensions_browser_api_declarative__webrequest_webrequest__action.cc b/www/iridium/files/patch-extensions_browser_api_declarative__webrequest_webrequest__action.cc new file mode 100644 index 000000000000..697ace21a29a --- /dev/null +++ b/www/iridium/files/patch-extensions_browser_api_declarative__webrequest_webrequest__action.cc @@ -0,0 +1,14 @@ +--- extensions/browser/api/declarative_webrequest/webrequest_action.cc.orig 2019-10-21 19:06:34 UTC ++++ extensions/browser/api/declarative_webrequest/webrequest_action.cc +@@ -27,7 +27,11 @@ + #include "extensions/common/extension.h" + #include "net/base/registry_controlled_domains/registry_controlled_domain.h" + #include "net/http/http_util.h" ++#if defined(OS_BSD) ++#include <re2/re2.h> ++#else + #include "third_party/re2/src/re2/re2.h" ++#endif + + using extension_web_request_api_helpers::EventResponseDelta; + diff --git a/www/iridium/files/patch-extensions_browser_api_messaging_message__service.cc b/www/iridium/files/patch-extensions_browser_api_messaging_message__service.cc new file mode 100644 index 000000000000..7ded2d7c1140 --- /dev/null +++ b/www/iridium/files/patch-extensions_browser_api_messaging_message__service.cc @@ -0,0 +1,34 @@ +--- extensions/browser/api/messaging/message_service.cc.orig 2020-02-03 21:52:46 UTC ++++ extensions/browser/api/messaging/message_service.cc +@@ -61,7 +61,7 @@ namespace { + + const char kReceivingEndDoesntExistError[] = + "Could not establish connection. Receiving end does not exist."; +-#if defined(OS_WIN) || defined(OS_MACOSX) || defined(OS_LINUX) ++#if defined(OS_WIN) || defined(OS_MACOSX) || defined(OS_LINUX) || defined(OS_BSD) + const char kMissingPermissionError[] = + "Access to native messaging requires nativeMessaging permission."; + const char kProhibitedByPoliciesError[] = +@@ -391,7 +391,7 @@ void MessageService::OpenChannelToNativeApp( + if (!opener_port->IsValidPort()) + return; + +-#if defined(OS_WIN) || defined(OS_MACOSX) || defined(OS_LINUX) ++#if defined(OS_WIN) || defined(OS_MACOSX) || defined(OS_LINUX) || defined(OS_BSD) + bool has_permission = extension->permissions_data()->HasAPIPermission( + APIPermission::kNativeMessaging); + if (!has_permission) { +@@ -441,11 +441,11 @@ void MessageService::OpenChannelToNativeApp( + channel->opener->IncrementLazyKeepaliveCount(); + + AddChannel(std::move(channel), receiver_port_id); +-#else // !(defined(OS_WIN) || defined(OS_MACOSX) || defined(OS_LINUX)) ++#else // !(defined(OS_WIN) || defined(OS_MACOSX) || defined(OS_LINUX) || defined(OS_BSD)) + const char kNativeMessagingNotSupportedError[] = + "Native Messaging is not supported on this platform."; + opener_port->DispatchOnDisconnect(kNativeMessagingNotSupportedError); +-#endif // !(defined(OS_WIN) || defined(OS_MACOSX) || defined(OS_LINUX)) ++#endif // !(defined(OS_WIN) || defined(OS_MACOSX) || defined(OS_LINUX) || defined(OS_BSD)) + } + + void MessageService::OpenChannelToTab(const ChannelEndpoint& source, diff --git a/www/iridium/files/patch-extensions_browser_api_networking__private_networking__private__delegate__factory.cc b/www/iridium/files/patch-extensions_browser_api_networking__private_networking__private__delegate__factory.cc new file mode 100644 index 000000000000..aa2f5369b993 --- /dev/null +++ b/www/iridium/files/patch-extensions_browser_api_networking__private_networking__private__delegate__factory.cc @@ -0,0 +1,20 @@ +--- extensions/browser/api/networking_private/networking_private_delegate_factory.cc.orig 2019-03-11 22:00:58 UTC ++++ extensions/browser/api/networking_private/networking_private_delegate_factory.cc +@@ -11,7 +11,7 @@ + + #if defined(OS_CHROMEOS) + #include "extensions/browser/api/networking_private/networking_private_chromeos.h" +-#elif defined(OS_LINUX) ++#elif defined(OS_LINUX) || defined(OS_BSD) + #include "extensions/browser/api/networking_private/networking_private_linux.h" + #elif defined(OS_WIN) || defined(OS_MACOSX) + #include "components/wifi/wifi_service.h" +@@ -61,7 +61,7 @@ KeyedService* NetworkingPrivateDelegateFactory::BuildS + NetworkingPrivateDelegate* delegate; + #if defined(OS_CHROMEOS) + delegate = new NetworkingPrivateChromeOS(browser_context); +-#elif defined(OS_LINUX) ++#elif defined(OS_LINUX) || defined(OS_BSD) + delegate = new NetworkingPrivateLinux(); + #elif defined(OS_WIN) || defined(OS_MACOSX) + std::unique_ptr<wifi::WiFiService> wifi_service(wifi::WiFiService::Create()); diff --git a/www/iridium/files/patch-extensions_browser_api_web__request_form__data__parser.cc b/www/iridium/files/patch-extensions_browser_api_web__request_form__data__parser.cc new file mode 100644 index 000000000000..aebaba727ff9 --- /dev/null +++ b/www/iridium/files/patch-extensions_browser_api_web__request_form__data__parser.cc @@ -0,0 +1,14 @@ +--- extensions/browser/api/web_request/form_data_parser.cc.orig 2019-03-11 22:00:58 UTC ++++ extensions/browser/api/web_request/form_data_parser.cc +@@ -15,7 +15,11 @@ + #include "base/values.h" + #include "net/base/escape.h" + #include "net/http/http_request_headers.h" ++#if defined(OS_BSD) ++#include <re2/re2.h> ++#else + #include "third_party/re2/src/re2/re2.h" ++#endif + + using base::DictionaryValue; + using base::ListValue; diff --git a/www/iridium/files/patch-extensions_browser_browser__context__keyed__service__factories.cc b/www/iridium/files/patch-extensions_browser_browser__context__keyed__service__factories.cc new file mode 100644 index 000000000000..d640fe45fcf4 --- /dev/null +++ b/www/iridium/files/patch-extensions_browser_browser__context__keyed__service__factories.cc @@ -0,0 +1,11 @@ +--- extensions/browser/browser_context_keyed_service_factories.cc.orig 2020-02-03 21:52:46 UTC ++++ extensions/browser/browser_context_keyed_service_factories.cc +@@ -71,7 +71,7 @@ void EnsureBrowserContextKeyedServiceFactoriesBuilt() + HidDeviceManager::GetFactoryInstance(); + IdleManagerFactory::GetInstance(); + ManagementAPI::GetFactoryInstance(); +-#if defined(OS_LINUX) || defined(OS_WIN) || defined(OS_MACOSX) ++#if defined(OS_LINUX) || defined(OS_WIN) || defined(OS_MACOSX) || defined(OS_BSD) + NetworkingPrivateEventRouterFactory::GetInstance(); + #endif + PowerAPI::GetFactoryInstance(); diff --git a/www/iridium/files/patch-extensions_common_api___permission__features.json b/www/iridium/files/patch-extensions_common_api___permission__features.json new file mode 100644 index 000000000000..554abd741ba8 --- /dev/null +++ b/www/iridium/files/patch-extensions_common_api___permission__features.json @@ -0,0 +1,29 @@ +--- extensions/common/api/_permission_features.json.orig 2020-02-03 21:53:31 UTC ++++ extensions/common/api/_permission_features.json +@@ -135,7 +135,7 @@ + { + "channel": "stable", + "extension_types": ["platform_app"], +- "platforms": ["chromeos", "win", "mac", "linux"], ++ "platforms": ["chromeos", "win", "mac", "linux", "bsd"], + "whitelist": [ + "1C93BD3CF875F4A73C0B2A163BB8FBDA8B8B3D80", // http://crbug.com/387169 + "A3BC37E2148AC4E99BE4B16AF9D42DD1E592BBBE", // http://crbug.com/387169 +@@ -468,7 +468,7 @@ + }, { + "channel": "stable", + "extension_types": ["extension", "legacy_packaged_app", "platform_app"], +- "platforms": ["chromeos", "mac", "win", "linux"], ++ "platforms": ["chromeos", "mac", "win", "linux", "bsd"], + "whitelist": [ + "0DE0F05680A4A056BCEC864ED8DDA84296F82B40", // http://crbug.com/434651 + "1C93BD3CF875F4A73C0B2A163BB8FBDA8B8B3D80", // http://crbug.com/293683 +@@ -499,7 +499,7 @@ + "networkingPrivate": { + "channel": "stable", + "extension_types": ["extension", "legacy_packaged_app", "platform_app"], +- "platforms": ["chromeos", "mac", "win", "linux"], ++ "platforms": ["chromeos", "mac", "win", "linux", "bsd"], + "whitelist": [ + // DO NOT ADD ANY MORE ENTRIES HERE. + // networkingPrivate is being migrated to networking.onc. diff --git a/www/iridium/files/patch-extensions_common_api_runtime.json b/www/iridium/files/patch-extensions_common_api_runtime.json new file mode 100644 index 000000000000..9d5dea52dcbc --- /dev/null +++ b/www/iridium/files/patch-extensions_common_api_runtime.json @@ -0,0 +1,11 @@ +--- extensions/common/api/runtime.json.orig 2020-02-03 21:53:31 UTC ++++ extensions/common/api/runtime.json +@@ -68,7 +68,7 @@ + "id": "PlatformOs", + "type": "string", + "description": "The operating system chrome is running on.", +- "enum": ["mac", "win", "android", "cros", "linux", "openbsd"] ++ "enum": ["mac", "win", "android", "cros", "linux", "freebsd", "openbsd"] + }, + { + "id": "PlatformArch", diff --git a/www/iridium/files/patch-extensions_common_feature__switch.cc b/www/iridium/files/patch-extensions_common_feature__switch.cc new file mode 100644 index 000000000000..9cac45bedcb2 --- /dev/null +++ b/www/iridium/files/patch-extensions_common_feature__switch.cc @@ -0,0 +1,16 @@ +--- extensions/common/feature_switch.cc.orig 2019-10-21 19:06:34 UTC ++++ extensions/common/feature_switch.cc +@@ -42,11 +42,11 @@ class CommonSwitches { + FeatureSwitch::DEFAULT_ENABLED), + load_media_router_component_extension( + kLoadMediaRouterComponentExtensionFlag, +-#if BUILDFLAG(GOOGLE_CHROME_BRANDING) ++#if BUILDFLAG(GOOGLE_CHROME_BRANDING) || defined(OS_BSD) + FeatureSwitch::DEFAULT_ENABLED) + #else + FeatureSwitch::DEFAULT_DISABLED) +-#endif // BUILDFLAG(GOOGLE_CHROME_BRANDING) ++#endif // BUILDFLAG(GOOGLE_CHROME_BRANDING) || defined(OS_BSD) + { + } + diff --git a/www/iridium/files/patch-extensions_common_features_feature.cc b/www/iridium/files/patch-extensions_common_features_feature.cc new file mode 100644 index 000000000000..e97794f406b1 --- /dev/null +++ b/www/iridium/files/patch-extensions_common_features_feature.cc @@ -0,0 +1,11 @@ +--- extensions/common/features/feature.cc.orig 2019-07-24 18:58:27 UTC ++++ extensions/common/features/feature.cc +@@ -20,7 +20,7 @@ namespace extensions { + Feature::Platform Feature::GetCurrentPlatform() { + #if defined(OS_CHROMEOS) + return CHROMEOS_PLATFORM; +-#elif defined(OS_LINUX) ++#elif defined(OS_LINUX) || defined(OS_BSD) + return LINUX_PLATFORM; + #elif defined(OS_MACOSX) + return MACOSX_PLATFORM; diff --git a/www/iridium/files/patch-extensions_common_image__util.cc b/www/iridium/files/patch-extensions_common_image__util.cc new file mode 100644 index 000000000000..7048ea59ebd3 --- /dev/null +++ b/www/iridium/files/patch-extensions_common_image__util.cc @@ -0,0 +1,14 @@ +--- extensions/common/image_util.cc.orig 2020-02-03 21:52:47 UTC ++++ extensions/common/image_util.cc +@@ -18,7 +18,11 @@ + #include "base/strings/stringprintf.h" + #include "base/time/time.h" + #include "base/timer/elapsed_timer.h" ++#if defined(OS_BSD) ++#include <re2/re2.h> ++#else + #include "third_party/re2/src/re2/re2.h" ++#endif // defined(OS_BSD) + #include "third_party/skia/include/core/SkBitmap.h" + #include "third_party/skia/include/core/SkCanvas.h" + #include "third_party/skia/include/core/SkColor.h" diff --git a/www/iridium/files/patch-extensions_common_stack__frame.cc b/www/iridium/files/patch-extensions_common_stack__frame.cc new file mode 100644 index 000000000000..cb1f991f448f --- /dev/null +++ b/www/iridium/files/patch-extensions_common_stack__frame.cc @@ -0,0 +1,14 @@ +--- extensions/common/stack_frame.cc.orig 2019-03-11 22:00:58 UTC ++++ extensions/common/stack_frame.cc +@@ -7,7 +7,11 @@ + #include <string> + + #include "base/strings/utf_string_conversions.h" ++#if defined(OS_BSD) ++#include <re2/re2.h> ++#else + #include "third_party/re2/src/re2/re2.h" ++#endif + + namespace extensions { + diff --git a/www/iridium/files/patch-extensions_renderer_bindings_api__binding__util.cc b/www/iridium/files/patch-extensions_renderer_bindings_api__binding__util.cc new file mode 100644 index 000000000000..e5e060248182 --- /dev/null +++ b/www/iridium/files/patch-extensions_renderer_bindings_api__binding__util.cc @@ -0,0 +1,11 @@ +--- extensions/renderer/bindings/api_binding_util.cc.orig 2019-03-11 22:00:58 UTC ++++ extensions/renderer/bindings/api_binding_util.cc +@@ -129,6 +129,8 @@ std::string GetPlatformString() { + return "mac"; + #elif defined(OS_WIN) + return "win"; ++#elif defined(OS_BSD) ++ return "bsd"; + #else + NOTREACHED(); + return std::string(); diff --git a/www/iridium/files/patch-extensions_shell_app_shell__main__delegate.cc b/www/iridium/files/patch-extensions_shell_app_shell__main__delegate.cc new file mode 100644 index 000000000000..196003fc999d --- /dev/null +++ b/www/iridium/files/patch-extensions_shell_app_shell__main__delegate.cc @@ -0,0 +1,20 @@ +--- extensions/shell/app/shell_main_delegate.cc.orig 2019-09-09 21:55:17 UTC ++++ extensions/shell/app/shell_main_delegate.cc +@@ -38,7 +38,7 @@ + + #if defined(OS_WIN) + #include "base/base_paths_win.h" +-#elif defined(OS_LINUX) ++#elif defined(OS_LINUX) || defined(OS_BSD) + #include "base/nix/xdg_util.h" + #elif defined(OS_MACOSX) + #include "base/base_paths_mac.h" +@@ -70,7 +70,7 @@ base::FilePath GetDataPath() { + return cmd_line->GetSwitchValuePath(switches::kContentShellDataPath); + + base::FilePath data_dir; +-#if defined(OS_LINUX) ++#if defined(OS_LINUX) || defined(OS_BSD) + std::unique_ptr<base::Environment> env(base::Environment::Create()); + data_dir = base::nix::GetXDGDirectory( + env.get(), base::nix::kXdgConfigHomeEnvVar, base::nix::kDotConfigDir); diff --git a/www/iridium/files/patch-extensions_shell_browser_api_runtime_shell__runtime__api__delegate.cc b/www/iridium/files/patch-extensions_shell_browser_api_runtime_shell__runtime__api__delegate.cc new file mode 100644 index 000000000000..194f3950299b --- /dev/null +++ b/www/iridium/files/patch-extensions_shell_browser_api_runtime_shell__runtime__api__delegate.cc @@ -0,0 +1,11 @@ +--- extensions/shell/browser/api/runtime/shell_runtime_api_delegate.cc.orig 2019-09-16 09:48:37 UTC ++++ extensions/shell/browser/api/runtime/shell_runtime_api_delegate.cc +@@ -45,7 +45,7 @@ void ShellRuntimeAPIDelegate::OpenURL(const GURL& unin + bool ShellRuntimeAPIDelegate::GetPlatformInfo(PlatformInfo* info) { + #if defined(OS_CHROMEOS) + info->os = api::runtime::PLATFORM_OS_CROS; +-#elif defined(OS_LINUX) ++#elif defined(OS_LINUX) || defined(OS_BSD) + info->os = api::runtime::PLATFORM_OS_LINUX; + #endif + return true; diff --git a/www/iridium/files/patch-extensions_shell_browser_shell__extensions__api__client.cc b/www/iridium/files/patch-extensions_shell_browser_shell__extensions__api__client.cc new file mode 100644 index 000000000000..7333dad7d6bf --- /dev/null +++ b/www/iridium/files/patch-extensions_shell_browser_shell__extensions__api__client.cc @@ -0,0 +1,20 @@ +--- extensions/shell/browser/shell_extensions_api_client.cc.orig 2019-09-09 21:55:17 UTC ++++ extensions/shell/browser/shell_extensions_api_client.cc +@@ -16,7 +16,7 @@ + #include "extensions/shell/browser/shell_virtual_keyboard_delegate.h" + #include "extensions/shell/browser/shell_web_view_guest_delegate.h" + +-#if defined(OS_LINUX) && !defined(OS_CHROMEOS) ++#if (defined(OS_LINUX) && !defined(OS_CHROMEOS)) || defined(OS_BSD) + #include "extensions/shell/browser/api/file_system/shell_file_system_delegate.h" + #endif + +@@ -52,7 +52,7 @@ ShellExtensionsAPIClient::CreateDisplayInfoProvider() + return std::make_unique<ShellDisplayInfoProvider>(); + } + +-#if defined(OS_LINUX) && !defined(OS_CHROMEOS) ++#if (defined(OS_LINUX) && !defined(OS_CHROMEOS)) || defined(OS_BSD) + FileSystemDelegate* ShellExtensionsAPIClient::GetFileSystemDelegate() { + if (!file_system_delegate_) + file_system_delegate_ = std::make_unique<ShellFileSystemDelegate>(); diff --git a/www/iridium/files/patch-extensions_shell_browser_shell__extensions__api__client.h b/www/iridium/files/patch-extensions_shell_browser_shell__extensions__api__client.h new file mode 100644 index 000000000000..31f01db1d1d5 --- /dev/null +++ b/www/iridium/files/patch-extensions_shell_browser_shell__extensions__api__client.h @@ -0,0 +1,19 @@ +--- extensions/shell/browser/shell_extensions_api_client.h.orig 2019-09-09 21:55:17 UTC ++++ extensions/shell/browser/shell_extensions_api_client.h +@@ -32,14 +32,14 @@ class ShellExtensionsAPIClient : public ExtensionsAPIC + content::BrowserContext* browser_context) const override; + std::unique_ptr<DisplayInfoProvider> CreateDisplayInfoProvider() + const override; +-#if defined(OS_LINUX) && !defined(OS_CHROMEOS) ++#if (defined(OS_LINUX) && !defined(OS_CHROMEOS)) || defined(OS_BSD) + FileSystemDelegate* GetFileSystemDelegate() override; + #endif + MessagingDelegate* GetMessagingDelegate() override; + FeedbackPrivateDelegate* GetFeedbackPrivateDelegate() override; + + private: +-#if defined(OS_LINUX) && !defined(OS_CHROMEOS) ++#if (defined(OS_LINUX) && !defined(OS_CHROMEOS)) || defined(OS_BSD) + std::unique_ptr<FileSystemDelegate> file_system_delegate_; + #endif + std::unique_ptr<MessagingDelegate> messaging_delegate_; diff --git a/www/iridium/files/patch-google__apis_gcm_engine_heartbeat__manager.cc b/www/iridium/files/patch-google__apis_gcm_engine_heartbeat__manager.cc new file mode 100644 index 000000000000..7a7e1a0192c2 --- /dev/null +++ b/www/iridium/files/patch-google__apis_gcm_engine_heartbeat__manager.cc @@ -0,0 +1,53 @@ +--- google_apis/gcm/engine/heartbeat_manager.cc.orig 2020-03-16 18:39:51 UTC ++++ google_apis/gcm/engine/heartbeat_manager.cc +@@ -31,13 +31,13 @@ const int kMinClientHeartbeatIntervalMs = 1000 * 30; + // Minimum time spent sleeping before we force a new heartbeat. + const int kMinSuspendTimeMs = 1000 * 10; // 10 seconds. + +-#if defined(OS_LINUX) && !defined(OS_CHROMEOS) ++#if (defined(OS_LINUX) && !defined(OS_CHROMEOS)) || defined(OS_BSD) + // The period at which to check if the heartbeat time has passed. Used to + // protect against platforms where the timer is delayed by the system being + // suspended. Only needed on linux because the other OSes provide a standard + // way to be notified of system suspend and resume events. + const int kHeartbeatMissedCheckMs = 1000 * 60 * 5; // 5 minutes. +-#endif // defined(OS_LINUX) && !defined(OS_CHROMEOS) ++#endif // (defined(OS_LINUX) && !defined(OS_CHROMEOS)) || defined(OS_BSD) + + } // namespace + +@@ -191,7 +191,7 @@ void HeartbeatManager::RestartTimer() { + base::BindRepeating(&HeartbeatManager::OnHeartbeatTriggered, + weak_ptr_factory_.GetWeakPtr())); + +-#if defined(OS_LINUX) && !defined(OS_CHROMEOS) ++#if (defined(OS_LINUX) && !defined(OS_CHROMEOS)) || defined(OS_BSD) + // Windows, Mac, Android, iOS, and Chrome OS all provide a way to be notified + // when the system is suspending or resuming. The only one that does not is + // Linux so we need to poll to check for missed heartbeats. +@@ -200,7 +200,7 @@ void HeartbeatManager::RestartTimer() { + base::BindOnce(&HeartbeatManager::CheckForMissedHeartbeat, + weak_ptr_factory_.GetWeakPtr()), + base::TimeDelta::FromMilliseconds(kHeartbeatMissedCheckMs)); +-#endif // defined(OS_LINUX) && !defined(OS_CHROMEOS) ++#endif // (defined(OS_LINUX) && !defined(OS_CHROMEOS)) || defined(OS_BSD) + } + + void HeartbeatManager::CheckForMissedHeartbeat() { +@@ -216,14 +216,14 @@ void HeartbeatManager::CheckForMissedHeartbeat() { + return; + } + +-#if defined(OS_LINUX) && !defined(OS_CHROMEOS) ++#if (defined(OS_LINUX) && !defined(OS_CHROMEOS)) || defined(OS_BSD) + // Otherwise check again later. + io_task_runner_->PostDelayedTask( + FROM_HERE, + base::BindOnce(&HeartbeatManager::CheckForMissedHeartbeat, + weak_ptr_factory_.GetWeakPtr()), + base::TimeDelta::FromMilliseconds(kHeartbeatMissedCheckMs)); +-#endif // defined(OS_LINUX) && !defined(OS_CHROMEOS) ++#endif // (defined(OS_LINUX) && !defined(OS_CHROMEOS)) || defined(OS_BSD) + } + + void HeartbeatManager::UpdateHeartbeatInterval() { diff --git a/www/iridium/files/patch-gpu_command__buffer_common_gpu__memory__buffer__support.cc b/www/iridium/files/patch-gpu_command__buffer_common_gpu__memory__buffer__support.cc new file mode 100644 index 000000000000..3756044745e9 --- /dev/null +++ b/www/iridium/files/patch-gpu_command__buffer_common_gpu__memory__buffer__support.cc @@ -0,0 +1,20 @@ +--- gpu/command_buffer/common/gpu_memory_buffer_support.cc.orig 2020-03-16 18:40:32 UTC ++++ gpu/command_buffer/common/gpu_memory_buffer_support.cc +@@ -50,7 +50,7 @@ bool IsImageSizeValidForGpuMemoryBufferFormat(const gf + uint32_t GetPlatformSpecificTextureTarget() { + #if defined(OS_MACOSX) + return GL_TEXTURE_RECTANGLE_ARB; +-#elif defined(OS_ANDROID) || defined(OS_LINUX) ++#elif defined(OS_ANDROID) || defined(OS_LINUX) || defined(OS_BSD) + return GL_TEXTURE_EXTERNAL_OES; + #elif defined(OS_WIN) || defined(OS_FUCHSIA) + return GL_TEXTURE_2D; +@@ -72,7 +72,7 @@ GPU_EXPORT uint32_t GetBufferTextureTarget(gfx::Buffer + + GPU_EXPORT bool NativeBufferNeedsPlatformSpecificTextureTarget( + gfx::BufferFormat format) { +-#if defined(USE_OZONE) || defined(OS_LINUX) ++#if defined(USE_OZONE) || defined(OS_LINUX) || defined(OS_BSD) + // Always use GL_TEXTURE_2D as the target for RGB textures. + // https://crbug.com/916728 + if (format == gfx::BufferFormat::R_8 || format == gfx::BufferFormat::RG_88 || diff --git a/www/iridium/files/patch-gpu_command__buffer_service_external__vk__image__backing.cc b/www/iridium/files/patch-gpu_command__buffer_service_external__vk__image__backing.cc new file mode 100644 index 000000000000..04701c95d5c1 --- /dev/null +++ b/www/iridium/files/patch-gpu_command__buffer_service_external__vk__image__backing.cc @@ -0,0 +1,100 @@ +--- gpu/command_buffer/service/external_vk_image_backing.cc.orig 2020-03-16 18:40:32 UTC ++++ gpu/command_buffer/service/external_vk_image_backing.cc +@@ -27,7 +27,7 @@ + #include "ui/gl/buildflags.h" + #include "ui/gl/gl_context.h" + +-#if defined(OS_LINUX) && BUILDFLAG(USE_DAWN) ++#if (defined(OS_LINUX) || defined(OS_BSD)) && BUILDFLAG(USE_DAWN) + #include "gpu/command_buffer/service/external_vk_image_dawn_representation.h" + #endif + +@@ -35,7 +35,7 @@ + #include "gpu/vulkan/fuchsia/vulkan_fuchsia_ext.h" + #endif + +-#if defined(OS_LINUX) ++#if defined(OS_LINUX) || defined(OS_BSD) + #define GL_HANDLE_TYPE_OPAQUE_FD_EXT 0x9586 + #endif + +@@ -630,7 +630,7 @@ std::unique_ptr<SharedImageRepresentationDawn> + ExternalVkImageBacking::ProduceDawn(SharedImageManager* manager, + MemoryTypeTracker* tracker, + WGPUDevice wgpuDevice) { +-#if defined(OS_LINUX) && BUILDFLAG(USE_DAWN) ++#if (defined(OS_LINUX) || defined(OS_BSD)) && BUILDFLAG(USE_DAWN) + if (!wgpu_format_) { + DLOG(ERROR) << "Format not supported for Dawn"; + return nullptr; +@@ -653,14 +653,14 @@ ExternalVkImageBacking::ProduceDawn(SharedImageManager + return std::make_unique<ExternalVkImageDawnRepresentation>( + manager, this, tracker, wgpuDevice, wgpu_format_.value(), memory_fd, + image_info.fAlloc.fSize, memory_type_index_.value()); +-#else // !defined(OS_LINUX) || !BUILDFLAG(USE_DAWN) ++#else // (!defined(OS_LINUX) && !defined(OS_BSD)) || !BUILDFLAG(USE_DAWN) + NOTIMPLEMENTED_LOG_ONCE(); + return nullptr; + #endif + } + + GLuint ExternalVkImageBacking::ProduceGLTextureInternal() { +-#if defined(OS_LINUX) ++#if defined(OS_LINUX) || defined(OS_BSD) + GrVkImageInfo image_info; + bool result = backend_texture_.getVkImageInfo(&image_info); + DCHECK(result); +@@ -710,7 +710,7 @@ GLuint ExternalVkImageBacking::ProduceGLTextureInterna + #elif defined(OS_FUCHSIA) + NOTIMPLEMENTED_LOG_ONCE(); + return 0; +-#else // !defined(OS_LINUX) && !defined(OS_FUCHSIA) ++#else // !defined(OS_LINUX) && !defined(OS_BSD) && !defined(OS_FUCHSIA) + #error Unsupported OS + #endif + } +@@ -724,7 +724,7 @@ ExternalVkImageBacking::ProduceGLTexture(SharedImageMa + return nullptr; + } + +-#if defined(OS_LINUX) ++#if defined(OS_LINUX) || defined(OS_BSD) + if (!texture_) { + GLuint texture_service_id = ProduceGLTextureInternal(); + if (!texture_service_id) +@@ -755,7 +755,7 @@ ExternalVkImageBacking::ProduceGLTexture(SharedImageMa + #elif defined(OS_FUCHSIA) + NOTIMPLEMENTED_LOG_ONCE(); + return nullptr; +-#else // !defined(OS_LINUX) && !defined(OS_FUCHSIA) ++#else // !defined(OS_LINUX) && !defined(OS_BSD) && !defined(OS_FUCHSIA) + #error Unsupported OS + #endif + } +@@ -770,7 +770,7 @@ ExternalVkImageBacking::ProduceGLTexturePassthrough( + return nullptr; + } + +-#if defined(OS_LINUX) ++#if defined(OS_LINUX) || defined(OS_BSD) + if (!texture_passthrough_) { + GLuint texture_service_id = ProduceGLTextureInternal(); + if (!texture_service_id) +@@ -790,7 +790,7 @@ ExternalVkImageBacking::ProduceGLTexturePassthrough( + #elif defined(OS_FUCHSIA) + NOTIMPLEMENTED_LOG_ONCE(); + return nullptr; +-#else // !defined(OS_LINUX) && !defined(OS_FUCHSIA) ++#else // !defined(OS_LINUX) && !defined(OS_BSD) && !defined(OS_FUCHSIA) + #error Unsupported OS + #endif + } +@@ -808,7 +808,7 @@ ExternalVkImageBacking::ProduceSkia( + tracker); + } + +-#ifdef OS_LINUX ++#if defined(OS_LINUX) || defined(OS_BSD) + int ExternalVkImageBacking::GetMemoryFd(const GrVkImageInfo& image_info) { + VkMemoryGetFdInfoKHR get_fd_info; + get_fd_info.sType = VK_STRUCTURE_TYPE_MEMORY_GET_FD_INFO_KHR; diff --git a/www/iridium/files/patch-gpu_command__buffer_service_external__vk__image__backing.h b/www/iridium/files/patch-gpu_command__buffer_service_external__vk__image__backing.h new file mode 100644 index 000000000000..38283056309d --- /dev/null +++ b/www/iridium/files/patch-gpu_command__buffer_service_external__vk__image__backing.h @@ -0,0 +1,11 @@ +--- gpu/command_buffer/service/external_vk_image_backing.h.orig 2020-03-16 18:40:32 UTC ++++ gpu/command_buffer/service/external_vk_image_backing.h +@@ -132,7 +132,7 @@ class ExternalVkImageBacking final : public ClearTrack + base::Optional<WGPUTextureFormat> wgpu_format, + base::Optional<uint32_t> memory_type_index); + +-#ifdef OS_LINUX ++#if defined(OS_LINUX) || defined(OS_BSD) + // Extract file descriptor from image + int GetMemoryFd(const GrVkImageInfo& image_info); + #endif diff --git a/www/iridium/files/patch-gpu_command__buffer_service_external__vk__image__gl__representation.cc b/www/iridium/files/patch-gpu_command__buffer_service_external__vk__image__gl__representation.cc new file mode 100644 index 000000000000..b94f6df0650f --- /dev/null +++ b/www/iridium/files/patch-gpu_command__buffer_service_external__vk__image__gl__representation.cc @@ -0,0 +1,20 @@ +--- gpu/command_buffer/service/external_vk_image_gl_representation.cc.orig 2020-02-03 21:53:31 UTC ++++ gpu/command_buffer/service/external_vk_image_gl_representation.cc +@@ -179,7 +179,7 @@ GLuint ExternalVkImageGLRepresentationShared::ImportVk + #if defined(OS_FUCHSIA) + NOTIMPLEMENTED_LOG_ONCE(); + return 0; +-#elif defined(OS_LINUX) ++#elif defined(OS_LINUX) || defined(OS_BSD) + if (handle.vk_handle_type() != + VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_OPAQUE_FD_BIT) { + DLOG(ERROR) << "Importing semaphore handle of unexpected type:" +@@ -194,7 +194,7 @@ GLuint ExternalVkImageGLRepresentationShared::ImportVk + fd.release()); + + return gl_semaphore; +-#else // !defined(OS_FUCHSIA) && !defined(OS_LINUX) ++#else // !defined(OS_FUCHSIA) && !defined(OS_LINUX) && !defined(OS_BSD) + #error Unsupported OS + #endif + } diff --git a/www/iridium/files/patch-gpu_command__buffer_service_program__manager.cc b/www/iridium/files/patch-gpu_command__buffer_service_program__manager.cc new file mode 100644 index 000000000000..9309b4a0c7ce --- /dev/null +++ b/www/iridium/files/patch-gpu_command__buffer_service_program__manager.cc @@ -0,0 +1,14 @@ +--- gpu/command_buffer/service/program_manager.cc.orig 2019-03-11 22:00:59 UTC ++++ gpu/command_buffer/service/program_manager.cc +@@ -30,7 +30,11 @@ + #include "gpu/command_buffer/service/program_cache.h" + #include "gpu/command_buffer/service/shader_manager.h" + #include "gpu/config/gpu_preferences.h" ++#if defined(OS_BSD) ++#include <re2/re2.h> ++#else + #include "third_party/re2/src/re2/re2.h" ++#endif + #include "ui/gl/gl_version_info.h" + #include "ui/gl/progress_reporter.h" + diff --git a/www/iridium/files/patch-gpu_command__buffer_tests_gl__copy__texture__CHROMIUM__unittest.cc b/www/iridium/files/patch-gpu_command__buffer_tests_gl__copy__texture__CHROMIUM__unittest.cc new file mode 100644 index 000000000000..efb8db3c0dc3 --- /dev/null +++ b/www/iridium/files/patch-gpu_command__buffer_tests_gl__copy__texture__CHROMIUM__unittest.cc @@ -0,0 +1,11 @@ +--- gpu/command_buffer/tests/gl_copy_texture_CHROMIUM_unittest.cc.orig 2020-03-16 18:39:51 UTC ++++ gpu/command_buffer/tests/gl_copy_texture_CHROMIUM_unittest.cc +@@ -642,7 +642,7 @@ class GLCopyTextureCHROMIUMES3Test : public GLCopyText + + bool ShouldSkipNorm16() const { + DCHECK(!ShouldSkipTest()); +-#if (defined(OS_MACOSX) || defined(OS_WIN) || defined(OS_LINUX)) && \ ++#if (defined(OS_MACOSX) || defined(OS_WIN) || defined(OS_LINUX) || defined(OS_BSD)) && \ + (defined(ARCH_CPU_X86) || defined(ARCH_CPU_X86_64)) + // Make sure it's tested; it is safe to assume that the flag is always true + // on desktop. diff --git a/www/iridium/files/patch-gpu_command__buffer_tests_gl__test__utils.cc b/www/iridium/files/patch-gpu_command__buffer_tests_gl__test__utils.cc new file mode 100644 index 000000000000..9867201456bf --- /dev/null +++ b/www/iridium/files/patch-gpu_command__buffer_tests_gl__test__utils.cc @@ -0,0 +1,20 @@ +--- gpu/command_buffer/tests/gl_test_utils.cc.orig 2020-03-16 18:39:51 UTC ++++ gpu/command_buffer/tests/gl_test_utils.cc +@@ -23,7 +23,7 @@ + #include "ui/gl/gl_version_info.h" + #include "ui/gl/init/gl_factory.h" + +-#if defined(OS_LINUX) ++#if defined(OS_LINUX) || defined(OS_BSD) + #include "ui/gl/gl_image_native_pixmap.h" + #endif + +@@ -445,7 +445,7 @@ void GpuCommandBufferTestEGL::RestoreGLDefault() { + window_system_binding_info_ = gl::GLWindowSystemBindingInfo(); + } + +-#if defined(OS_LINUX) ++#if defined(OS_LINUX) || defined(OS_BSD) + scoped_refptr<gl::GLImageNativePixmap> + GpuCommandBufferTestEGL::CreateGLImageNativePixmap(gfx::BufferFormat format, + gfx::Size size, diff --git a/www/iridium/files/patch-gpu_command__buffer_tests_gl__test__utils.h b/www/iridium/files/patch-gpu_command__buffer_tests_gl__test__utils.h new file mode 100644 index 000000000000..2a43e73c2793 --- /dev/null +++ b/www/iridium/files/patch-gpu_command__buffer_tests_gl__test__utils.h @@ -0,0 +1,11 @@ +--- gpu/command_buffer/tests/gl_test_utils.h.orig 2019-10-21 19:06:35 UTC ++++ gpu/command_buffer/tests/gl_test_utils.h +@@ -120,7 +120,7 @@ class GpuCommandBufferTestEGL { + return gfx::HasExtension(gl_extensions_, extension); + } + +-#if defined(OS_LINUX) ++#if defined(OS_LINUX) || defined(OS_BSD) + // Create GLImageNativePixmap filled in with the given pixels. + scoped_refptr<gl::GLImageNativePixmap> CreateGLImageNativePixmap( + gfx::BufferFormat format, diff --git a/www/iridium/files/patch-gpu_config_gpu__control__list.cc b/www/iridium/files/patch-gpu_config_gpu__control__list.cc new file mode 100644 index 000000000000..e666e762ba6a --- /dev/null +++ b/www/iridium/files/patch-gpu_config_gpu__control__list.cc @@ -0,0 +1,32 @@ +--- gpu/config/gpu_control_list.cc.orig 2020-02-03 21:52:47 UTC ++++ gpu/config/gpu_control_list.cc +@@ -16,7 +16,11 @@ + #include "base/values.h" + #include "build/build_config.h" + #include "gpu/config/gpu_util.h" ++#if defined(OS_BSD) ++#include <re2/re2.h> ++#else + #include "third_party/re2/src/re2/re2.h" ++#endif // defined(OS_BSD) + + namespace gpu { + namespace { +@@ -213,7 +217,7 @@ bool GpuControlList::More::GLVersionInfoMismatch( + GpuControlList::GLType GpuControlList::More::GetDefaultGLType() { + #if defined(OS_CHROMEOS) + return kGLTypeGL; +-#elif defined(OS_LINUX) || defined(OS_OPENBSD) ++#elif defined(OS_LINUX) || defined(OS_BSD) + return kGLTypeGL; + #elif defined(OS_MACOSX) + return kGLTypeGL; +@@ -713,7 +717,7 @@ GpuControlList::OsType GpuControlList::GetOsType() { + return kOsAndroid; + #elif defined(OS_FUCHSIA) + return kOsFuchsia; +-#elif defined(OS_LINUX) || defined(OS_OPENBSD) ++#elif defined(OS_LINUX) || defined(OS_BSD) + return kOsLinux; + #elif defined(OS_MACOSX) + return kOsMacosx; diff --git a/www/iridium/files/patch-gpu_config_gpu__test__config.cc b/www/iridium/files/patch-gpu_config_gpu__test__config.cc new file mode 100644 index 000000000000..c5c6e5e16c76 --- /dev/null +++ b/www/iridium/files/patch-gpu_config_gpu__test__config.cc @@ -0,0 +1,11 @@ +--- gpu/config/gpu_test_config.cc.orig 2019-03-11 22:00:59 UTC ++++ gpu/config/gpu_test_config.cc +@@ -25,7 +25,7 @@ namespace { + GPUTestConfig::OS GetCurrentOS() { + #if defined(OS_CHROMEOS) + return GPUTestConfig::kOsChromeOS; +-#elif defined(OS_LINUX) || defined(OS_OPENBSD) ++#elif defined(OS_LINUX) || defined(OS_BSD) + return GPUTestConfig::kOsLinux; + #elif defined(OS_WIN) + int32_t major_version = 0; diff --git a/www/iridium/files/patch-gpu_ipc_common_gpu__memory__buffer__support.cc b/www/iridium/files/patch-gpu_ipc_common_gpu__memory__buffer__support.cc new file mode 100644 index 000000000000..d06bde69aa2d --- /dev/null +++ b/www/iridium/files/patch-gpu_ipc_common_gpu__memory__buffer__support.cc @@ -0,0 +1,47 @@ +--- gpu/ipc/common/gpu_memory_buffer_support.cc.orig 2020-03-16 18:40:32 UTC ++++ gpu/ipc/common/gpu_memory_buffer_support.cc +@@ -14,7 +14,7 @@ + #include "gpu/ipc/common/gpu_memory_buffer_impl_io_surface.h" + #endif + +-#if defined(OS_LINUX) ++#if defined(OS_LINUX) || defined(OS_BSD) + #include "ui/gfx/client_native_pixmap_factory.h" + #include "ui/gfx/linux/client_native_pixmap_factory_dmabuf.h" + #endif +@@ -24,7 +24,7 @@ + #include "ui/ozone/public/ozone_platform.h" + #endif + +-#if defined(USE_OZONE) || defined(OS_LINUX) ++#if defined(USE_OZONE) || defined(OS_LINUX) || defined(OS_BSD) + #include "gpu/ipc/common/gpu_memory_buffer_impl_native_pixmap.h" + #endif + +@@ -42,7 +42,7 @@ namespace gpu { + GpuMemoryBufferSupport::GpuMemoryBufferSupport() { + #if defined(USE_OZONE) + client_native_pixmap_factory_ = ui::CreateClientNativePixmapFactoryOzone(); +-#elif defined(OS_LINUX) ++#elif defined(OS_LINUX) || defined(OS_BSD) + client_native_pixmap_factory_.reset( + gfx::CreateClientNativePixmapFactoryDmabuf()); + #endif +@@ -56,7 +56,7 @@ GpuMemoryBufferSupport::GetNativeGpuMemoryBufferType() + return gfx::IO_SURFACE_BUFFER; + #elif defined(OS_ANDROID) + return gfx::ANDROID_HARDWARE_BUFFER; +-#elif defined(OS_LINUX) || defined(USE_OZONE) ++#elif defined(OS_LINUX) || defined(USE_OZONE) || defined(OS_BSD) + return gfx::NATIVE_PIXMAP; + #elif defined(OS_WIN) + return gfx::DXGI_SHARED_HANDLE; +@@ -181,7 +181,7 @@ GpuMemoryBufferSupport::CreateGpuMemoryBufferImplFromH + return GpuMemoryBufferImplIOSurface::CreateFromHandle( + std::move(handle), size, format, usage, std::move(callback)); + #endif +-#if defined(OS_LINUX) || defined(USE_OZONE) ++#if defined(OS_LINUX) || defined(USE_OZONE) || defined(OS_BSD) + case gfx::NATIVE_PIXMAP: + return GpuMemoryBufferImplNativePixmap::CreateFromHandle( + client_native_pixmap_factory(), std::move(handle), size, format, diff --git a/www/iridium/files/patch-gpu_ipc_common_gpu__memory__buffer__support.h b/www/iridium/files/patch-gpu_ipc_common_gpu__memory__buffer__support.h new file mode 100644 index 000000000000..dc652a126740 --- /dev/null +++ b/www/iridium/files/patch-gpu_ipc_common_gpu__memory__buffer__support.h @@ -0,0 +1,29 @@ +--- gpu/ipc/common/gpu_memory_buffer_support.h.orig 2019-12-16 21:50:48 UTC ++++ gpu/ipc/common/gpu_memory_buffer_support.h +@@ -16,7 +16,7 @@ + #include "ui/gfx/geometry/size.h" + #include "ui/gfx/gpu_memory_buffer.h" + +-#if defined(OS_LINUX) || defined(USE_OZONE) ++#if defined(OS_LINUX) || defined(OS_BSD) || defined(USE_OZONE) + namespace gfx { + class ClientNativePixmapFactory; + } +@@ -38,7 +38,7 @@ class GPU_EXPORT GpuMemoryBufferSupport { + bool IsNativeGpuMemoryBufferConfigurationSupported(gfx::BufferFormat format, + gfx::BufferUsage usage); + +-#if defined(OS_LINUX) || defined(USE_OZONE) ++#if defined(OS_LINUX) || defined(OS_BSD) || defined(USE_OZONE) + gfx::ClientNativePixmapFactory* client_native_pixmap_factory() { + return client_native_pixmap_factory_.get(); + } +@@ -62,7 +62,7 @@ class GPU_EXPORT GpuMemoryBufferSupport { + GpuMemoryBufferImpl::DestructionCallback callback); + + private: +-#if defined(OS_LINUX) || defined(USE_OZONE) ++#if defined(OS_LINUX) || defined(OS_BSD) || defined(USE_OZONE) + std::unique_ptr<gfx::ClientNativePixmapFactory> client_native_pixmap_factory_; + #endif + diff --git a/www/iridium/files/patch-gpu_ipc_service_gpu__init.cc b/www/iridium/files/patch-gpu_ipc_service_gpu__init.cc new file mode 100644 index 000000000000..2dff9b7c455a --- /dev/null +++ b/www/iridium/files/patch-gpu_ipc_service_gpu__init.cc @@ -0,0 +1,136 @@ +--- gpu/ipc/service/gpu_init.cc.orig 2020-03-16 18:40:32 UTC ++++ gpu/ipc/service/gpu_init.cc +@@ -109,7 +109,7 @@ void InitializePlatformOverlaySettings(GPUInfo* gpu_in + #endif + } + +-#if defined(OS_LINUX) && !defined(OS_CHROMEOS) && !BUILDFLAG(IS_CHROMECAST) ++#if (defined(OS_LINUX) && !defined(OS_CHROMEOS) && !BUILDFLAG(IS_CHROMECAST)) || defined(OS_BSD) + bool CanAccessNvidiaDeviceFile() { + bool res = true; + base::ScopedBlockingCall scoped_blocking_call(FROM_HERE, +@@ -120,7 +120,7 @@ bool CanAccessNvidiaDeviceFile() { + } + return res; + } +-#endif // OS_LINUX && !OS_CHROMEOS && !BUILDFLAG(IS_CHROMECAST) ++#endif // (OS_LINUX && !OS_CHROMEOS && !BUILDFLAG(IS_CHROMECAST)) || defined(OS_BSD) + + class GpuWatchdogInit { + public: +@@ -170,7 +170,7 @@ bool GpuInit::InitializeAndStartSandbox(base::CommandL + gpu_info_.subpixel_font_rendering = true; + #endif + +-#if defined(OS_LINUX) && !defined(OS_CHROMEOS) ++#if (defined(OS_LINUX) && !defined(OS_CHROMEOS)) || defined(OS_BSD) + if (gpu_info_.gpu.vendor_id == 0x10de && // NVIDIA + gpu_info_.gpu.driver_vendor == "NVIDIA" && !CanAccessNvidiaDeviceFile()) + return false; +@@ -221,7 +221,7 @@ bool GpuInit::InitializeAndStartSandbox(base::CommandL + delayed_watchdog_enable = true; + #endif + +-#if defined(OS_LINUX) ++#if defined(OS_LINUX) || defined(OS_BSD) + // PreSandbox is mainly for resource handling and not related to the GPU + // driver, it doesn't need the GPU watchdog. The loadLibrary may take long + // time that killing and restarting the GPU process will not help. +@@ -266,7 +266,7 @@ bool GpuInit::InitializeAndStartSandbox(base::CommandL + } + + bool attempted_startsandbox = false; +-#if defined(OS_LINUX) ++#if defined(OS_LINUX) && !defined(OS_BSD) + // On Chrome OS ARM Mali, GPU driver userspace creates threads when + // initializing a GL context, so start the sandbox early. + // TODO(zmo): Need to collect OS version before this. +@@ -275,7 +275,7 @@ bool GpuInit::InitializeAndStartSandbox(base::CommandL + watchdog_thread_.get(), &gpu_info_, gpu_preferences_); + attempted_startsandbox = true; + } +-#endif // defined(OS_LINUX) ++#endif // defined(OS_LINUX) && !defined(OS_BSD) + + base::TimeTicks before_initialize_one_off = base::TimeTicks::Now(); + +@@ -299,14 +299,14 @@ bool GpuInit::InitializeAndStartSandbox(base::CommandL + } + if (gl_initialized && use_swiftshader && + gl::GetGLImplementation() != gl::kGLImplementationSwiftShaderGL) { +-#if defined(OS_LINUX) ++#if defined(OS_LINUX) || defined(OS_BSD) + VLOG(1) << "Quit GPU process launch to fallback to SwiftShader cleanly " + << "on Linux"; + return false; + #else + gl::init::ShutdownGL(true); + gl_initialized = false; +-#endif // OS_LINUX ++#endif // OS_LINUX || OS_BSD + } + + if (!gl_initialized) { +@@ -332,7 +332,7 @@ bool GpuInit::InitializeAndStartSandbox(base::CommandL + } + } + +-#if defined(OS_LINUX) ++#if defined(OS_LINUX) && !defined(OS_BSD) + // The ContentSandboxHelper is currently the only one implementation of + // gpu::GpuSandboxHelper and it has no dependency. Except on Linux where + // VaapiWrapper checks the GL implementation to determine which display +@@ -370,7 +370,7 @@ bool GpuInit::InitializeAndStartSandbox(base::CommandL + command_line, gpu_feature_info_, + gpu_preferences_.disable_software_rasterizer, false); + if (use_swiftshader) { +-#if defined(OS_LINUX) ++#if defined(OS_LINUX) || defined(OS_BSD) + VLOG(1) << "Quit GPU process launch to fallback to SwiftShader cleanly " + << "on Linux"; + return false; +@@ -384,7 +384,7 @@ bool GpuInit::InitializeAndStartSandbox(base::CommandL + << "failed"; + return false; + } +-#endif // OS_LINUX ++#endif // OS_LINUX || OS_BSD + } + } else { // use_swiftshader == true + switch (gpu_preferences_.use_vulkan) { +@@ -440,7 +440,7 @@ bool GpuInit::InitializeAndStartSandbox(base::CommandL + + InitializePlatformOverlaySettings(&gpu_info_); + +-#if defined(OS_LINUX) ++#if defined(OS_LINUX) || defined(OS_BSD) + // Driver may create a compatibility profile context when collect graphics + // information on Linux platform. Try to collect graphics information + // based on core profile context after disabling platform extensions. +@@ -459,7 +459,7 @@ bool GpuInit::InitializeAndStartSandbox(base::CommandL + return false; + } + } +-#endif // defined(OS_LINUX) ++#endif // defined(OS_LINUX) || defined(OS_BSD) + + if (use_swiftshader) { + AdjustInfoToSwiftShader(); +@@ -637,7 +637,7 @@ void GpuInit::InitializeInProcess(base::CommandLine* c + + InitializePlatformOverlaySettings(&gpu_info_); + +-#if defined(OS_LINUX) ++#if defined(OS_LINUX) || defined(OS_BSD) + // Driver may create a compatibility profile context when collect graphics + // information on Linux platform. Try to collect graphics information + // based on core profile context after disabling platform extensions. +@@ -657,7 +657,7 @@ void GpuInit::InitializeInProcess(base::CommandLine* c + } + } + } +-#endif // defined(OS_LINUX) ++#endif // defined(OS_LINUX) || defined(OS_BSD) + + if (use_swiftshader) { + AdjustInfoToSwiftShader(); diff --git a/www/iridium/files/patch-gpu_ipc_service_gpu__memory__buffer__factory.cc b/www/iridium/files/patch-gpu_ipc_service_gpu__memory__buffer__factory.cc new file mode 100644 index 000000000000..af39329a6e9d --- /dev/null +++ b/www/iridium/files/patch-gpu_ipc_service_gpu__memory__buffer__factory.cc @@ -0,0 +1,20 @@ +--- gpu/ipc/service/gpu_memory_buffer_factory.cc.orig 2019-07-24 18:58:27 UTC ++++ gpu/ipc/service/gpu_memory_buffer_factory.cc +@@ -12,7 +12,7 @@ + #include "gpu/ipc/service/gpu_memory_buffer_factory_io_surface.h" + #endif + +-#if defined(OS_LINUX) || defined(OS_FUCHSIA) ++#if defined(OS_LINUX) || defined(OS_FUCHSIA) || defined(OS_BSD) + #include "gpu/ipc/service/gpu_memory_buffer_factory_native_pixmap.h" + #endif + +@@ -34,7 +34,7 @@ GpuMemoryBufferFactory::CreateNativeType( + return std::make_unique<GpuMemoryBufferFactoryIOSurface>(); + #elif defined(OS_ANDROID) + return std::make_unique<GpuMemoryBufferFactoryAndroidHardwareBuffer>(); +-#elif defined(OS_LINUX) || defined(OS_FUCHSIA) ++#elif defined(OS_LINUX) || defined(OS_FUCHSIA) || defined(OS_BSD) + return std::make_unique<GpuMemoryBufferFactoryNativePixmap>( + vulkan_context_provider); + #elif defined(OS_WIN) diff --git a/www/iridium/files/patch-gpu_ipc_service_gpu__watchdog__thread.cc b/www/iridium/files/patch-gpu_ipc_service_gpu__watchdog__thread.cc new file mode 100644 index 000000000000..bcadfa7d9e7b --- /dev/null +++ b/www/iridium/files/patch-gpu_ipc_service_gpu__watchdog__thread.cc @@ -0,0 +1,56 @@ +--- gpu/ipc/service/gpu_watchdog_thread.cc.orig 2020-03-16 18:40:32 UTC ++++ gpu/ipc/service/gpu_watchdog_thread.cc +@@ -63,7 +63,7 @@ void GpuWatchdogTimeoutHistogram(GpuWatchdogTimeoutEve + base::UmaHistogramEnumeration("GPU.WatchdogThread.V1.Timeout", timeout_event); + } + +-#if defined(USE_X11) ++#if defined(USE_X11) && !defined(OS_BSD) + const base::FilePath::CharType kTtyFilePath[] = + FILE_PATH_LITERAL("/sys/class/tty/tty0/active"); + #endif +@@ -81,7 +81,7 @@ GpuWatchdogThreadImplV1::GpuWatchdogThreadImplV1() + arm_cpu_time_(), + #endif + suspension_counter_(this) +-#if defined(USE_X11) ++#if defined(USE_X11) && !defined(OS_BSD) + , + host_tty_(-1) + #endif +@@ -103,7 +103,7 @@ GpuWatchdogThreadImplV1::GpuWatchdogThreadImplV1() + DCHECK(result); + #endif + +-#if defined(USE_X11) ++#if defined(USE_X11) && !defined(OS_BSD) + tty_file_ = base::OpenFile(base::FilePath(kTtyFilePath), "r"); + UpdateActiveTTY(); + host_tty_ = active_tty_; +@@ -251,7 +251,7 @@ GpuWatchdogThreadImplV1::~GpuWatchdogThreadImplV1() { + + base::PowerMonitor::RemoveObserver(this); + +-#if defined(USE_X11) ++#if defined(USE_X11) && !defined(OS_BSD) + if (tty_file_) + fclose(tty_file_); + #endif +@@ -434,7 +434,7 @@ void GpuWatchdogThreadImplV1::DeliberatelyTerminateToR + return; + #endif + +-#if defined(USE_X11) ++#if defined(USE_X11) && !defined(OS_BSD) + // Don't crash if we're not on the TTY of our host X11 server. + UpdateActiveTTY(); + if (host_tty_ != -1 && active_tty_ != -1 && host_tty_ != active_tty_) { +@@ -609,7 +609,7 @@ base::ThreadTicks GpuWatchdogThreadImplV1::GetWatchedT + } + #endif + +-#if defined(USE_X11) ++#if defined(USE_X11) && !defined(OS_BSD) + void GpuWatchdogThreadImplV1::UpdateActiveTTY() { + last_active_tty_ = active_tty_; + diff --git a/www/iridium/files/patch-gpu_ipc_service_gpu__watchdog__thread.h b/www/iridium/files/patch-gpu_ipc_service_gpu__watchdog__thread.h new file mode 100644 index 000000000000..e81e9e60d43d --- /dev/null +++ b/www/iridium/files/patch-gpu_ipc_service_gpu__watchdog__thread.h @@ -0,0 +1,20 @@ +--- gpu/ipc/service/gpu_watchdog_thread.h.orig 2020-03-16 18:40:32 UTC ++++ gpu/ipc/service/gpu_watchdog_thread.h +@@ -207,7 +207,7 @@ class GPU_IPC_SERVICE_EXPORT GpuWatchdogThreadImplV1 + base::ThreadTicks GetWatchedThreadTime(); + #endif + +-#if defined(USE_X11) ++#if defined(USE_X11) && !defined(OS_BSD) + void UpdateActiveTTY(); + #endif + +@@ -265,7 +265,7 @@ class GPU_IPC_SERVICE_EXPORT GpuWatchdogThreadImplV1 + // whether GpuWatchdogThreadEvent::kGpuWatchdogStart has been recorded. + bool is_watchdog_start_histogram_recorded = false; + +-#if defined(USE_X11) ++#if defined(USE_X11) && !defined(OS_BSD) + FILE* tty_file_; + int host_tty_; + int active_tty_ = -1; diff --git a/www/iridium/files/patch-gpu_vulkan_vulkan__function__pointers.cc b/www/iridium/files/patch-gpu_vulkan_vulkan__function__pointers.cc new file mode 100644 index 000000000000..a6794bea5437 --- /dev/null +++ b/www/iridium/files/patch-gpu_vulkan_vulkan__function__pointers.cc @@ -0,0 +1,32 @@ +--- gpu/vulkan/vulkan_function_pointers.cc.orig 2020-03-16 18:40:32 UTC ++++ gpu/vulkan/vulkan_function_pointers.cc +@@ -782,7 +782,7 @@ bool VulkanFunctionPointers::BindDeviceFunctionPointer + } + #endif // defined(OS_ANDROID) + +-#if defined(OS_LINUX) || defined(OS_ANDROID) ++#if defined(OS_LINUX) || defined(OS_ANDROID) || defined(OS_BSD) + if (gfx::HasExtension(enabled_extensions, + VK_KHR_EXTERNAL_SEMAPHORE_FD_EXTENSION_NAME)) { + vkGetSemaphoreFdKHRFn = reinterpret_cast<PFN_vkGetSemaphoreFdKHR>( +@@ -801,9 +801,9 @@ bool VulkanFunctionPointers::BindDeviceFunctionPointer + return false; + } + } +-#endif // defined(OS_LINUX) || defined(OS_ANDROID) ++#endif // defined(OS_LINUX) || defined(OS_ANDROID) || defined(OS_BSD) + +-#if defined(OS_LINUX) ++#if defined(OS_LINUX) || defined(OS_BSD) + if (gfx::HasExtension(enabled_extensions, + VK_KHR_EXTERNAL_MEMORY_FD_EXTENSION_NAME)) { + vkGetMemoryFdKHRFn = reinterpret_cast<PFN_vkGetMemoryFdKHR>( +@@ -823,7 +823,7 @@ bool VulkanFunctionPointers::BindDeviceFunctionPointer + return false; + } + } +-#endif // defined(OS_LINUX) ++#endif // defined(OS_LINUX) || defined(OS_BSD) + + #if defined(OS_FUCHSIA) + if (gfx::HasExtension(enabled_extensions, diff --git a/www/iridium/files/patch-gpu_vulkan_vulkan__function__pointers.h b/www/iridium/files/patch-gpu_vulkan_vulkan__function__pointers.h new file mode 100644 index 000000000000..5684a3f44924 --- /dev/null +++ b/www/iridium/files/patch-gpu_vulkan_vulkan__function__pointers.h @@ -0,0 +1,45 @@ +--- gpu/vulkan/vulkan_function_pointers.h.orig 2020-03-16 18:40:32 UTC ++++ gpu/vulkan/vulkan_function_pointers.h +@@ -180,15 +180,15 @@ struct VulkanFunctionPointers { + vkGetAndroidHardwareBufferPropertiesANDROIDFn = nullptr; + #endif // defined(OS_ANDROID) + +-#if defined(OS_LINUX) || defined(OS_ANDROID) ++#if defined(OS_LINUX) || defined(OS_ANDROID) || defined(OS_BSD) + PFN_vkGetSemaphoreFdKHR vkGetSemaphoreFdKHRFn = nullptr; + PFN_vkImportSemaphoreFdKHR vkImportSemaphoreFdKHRFn = nullptr; +-#endif // defined(OS_LINUX) || defined(OS_ANDROID) ++#endif // defined(OS_LINUX) || defined(OS_ANDROID) || defined(OS_BSD) + +-#if defined(OS_LINUX) ++#if defined(OS_LINUX) || defined(OS_BSD) + PFN_vkGetMemoryFdKHR vkGetMemoryFdKHRFn = nullptr; + PFN_vkGetMemoryFdPropertiesKHR vkGetMemoryFdPropertiesKHRFn = nullptr; +-#endif // defined(OS_LINUX) ++#endif // defined(OS_LINUX) || defined(OS_BSD) + + #if defined(OS_FUCHSIA) + PFN_vkImportSemaphoreZirconHandleFUCHSIA +@@ -378,18 +378,18 @@ struct VulkanFunctionPointers { + ->vkGetAndroidHardwareBufferPropertiesANDROIDFn + #endif // defined(OS_ANDROID) + +-#if defined(OS_LINUX) || defined(OS_ANDROID) ++#if defined(OS_LINUX) || defined(OS_ANDROID) || defined(OS_BSD) + #define vkGetSemaphoreFdKHR \ + gpu::GetVulkanFunctionPointers()->vkGetSemaphoreFdKHRFn + #define vkImportSemaphoreFdKHR \ + gpu::GetVulkanFunctionPointers()->vkImportSemaphoreFdKHRFn +-#endif // defined(OS_LINUX) || defined(OS_ANDROID) ++#endif // defined(OS_LINUX) || defined(OS_ANDROID) || defined(OS_BSD) + +-#if defined(OS_LINUX) ++#if defined(OS_LINUX) || defined(OS_BSD) + #define vkGetMemoryFdKHR gpu::GetVulkanFunctionPointers()->vkGetMemoryFdKHRFn + #define vkGetMemoryFdPropertiesKHR \ + gpu::GetVulkanFunctionPointers()->vkGetMemoryFdPropertiesKHRFn +-#endif // defined(OS_LINUX) ++#endif // defined(OS_LINUX) || defined(OS_BSD) + + #if defined(OS_FUCHSIA) + #define vkImportSemaphoreZirconHandleFUCHSIA \ diff --git a/www/iridium/files/patch-headless_lib_browser_headless__content__browser__client.cc b/www/iridium/files/patch-headless_lib_browser_headless__content__browser__client.cc new file mode 100644 index 000000000000..86931c284dea --- /dev/null +++ b/www/iridium/files/patch-headless_lib_browser_headless__content__browser__client.cc @@ -0,0 +1,29 @@ +--- headless/lib/browser/headless_content_browser_client.cc.orig 2020-03-16 18:39:51 UTC ++++ headless/lib/browser/headless_content_browser_client.cc +@@ -157,7 +157,7 @@ HeadlessContentBrowserClient::GetGeneratedCodeCacheSet + return content::GeneratedCodeCacheSettings(true, 0, context->GetPath()); + } + +-#if defined(OS_POSIX) && !defined(OS_MACOSX) ++#if defined(OS_POSIX) && !defined(OS_MACOSX) && !defined(OS_BSD) + void HeadlessContentBrowserClient::GetAdditionalMappedFilesForChildProcess( + const base::CommandLine& command_line, + int child_process_id, +@@ -168,7 +168,7 @@ void HeadlessContentBrowserClient::GetAdditionalMapped + mappings->Share(service_manager::kCrashDumpSignal, crash_signal_fd); + #endif // defined(HEADLESS_USE_BREAKPAD) + } +-#endif // defined(OS_POSIX) && !defined(OS_MACOSX) ++#endif // defined(OS_POSIX) && !defined(OS_MACOSX) && !defined(OS_BSD) + + void HeadlessContentBrowserClient::AppendExtraCommandLineSwitches( + base::CommandLine* command_line, +@@ -231,7 +231,7 @@ void HeadlessContentBrowserClient::AppendExtraCommandL + process_type, child_process_id); + } + +-#if defined(OS_LINUX) ++#if defined(OS_LINUX) || defined(OS_BSD) + // Processes may only query perf_event_open with the BPF sandbox disabled. + if (old_command_line.HasSwitch(::switches::kEnableThreadInstructionCount) && + old_command_line.HasSwitch(service_manager::switches::kNoSandbox)) { diff --git a/www/iridium/files/patch-headless_lib_browser_headless__content__browser__client.h b/www/iridium/files/patch-headless_lib_browser_headless__content__browser__client.h new file mode 100644 index 000000000000..f29e51b1a4f7 --- /dev/null +++ b/www/iridium/files/patch-headless_lib_browser_headless__content__browser__client.h @@ -0,0 +1,11 @@ +--- headless/lib/browser/headless_content_browser_client.h.orig 2020-03-16 18:39:51 UTC ++++ headless/lib/browser/headless_content_browser_client.h +@@ -29,7 +29,7 @@ class HeadlessContentBrowserClient : public content::C + override; + content::GeneratedCodeCacheSettings GetGeneratedCodeCacheSettings( + content::BrowserContext* context) override; +-#if defined(OS_POSIX) && !defined(OS_MACOSX) ++#if defined(OS_POSIX) && !defined(OS_MACOSX) && !defined(OS_BSD) + void GetAdditionalMappedFilesForChildProcess( + const base::CommandLine& command_line, + int child_process_id, diff --git a/www/iridium/files/patch-headless_lib_browser_headless__request__context__manager.cc b/www/iridium/files/patch-headless_lib_browser_headless__request__context__manager.cc new file mode 100644 index 000000000000..dbae7f502c62 --- /dev/null +++ b/www/iridium/files/patch-headless_lib_browser_headless__request__context__manager.cc @@ -0,0 +1,29 @@ +--- headless/lib/browser/headless_request_context_manager.cc.orig 2019-12-16 21:51:26 UTC ++++ headless/lib/browser/headless_request_context_manager.cc +@@ -26,7 +26,7 @@ namespace headless { + + namespace { + +-#if defined(OS_LINUX) && !defined(OS_CHROMEOS) ++#if (defined(OS_LINUX) && !defined(OS_CHROMEOS)) || defined(OS_BSD) + static char kProductName[] = "HeadlessChrome"; + #endif + +@@ -56,7 +56,7 @@ net::NetworkTrafficAnnotationTag GetProxyConfigTraffic + return traffic_annotation; + } + +-#if defined(OS_LINUX) && !defined(OS_CHROMEOS) ++#if (defined(OS_LINUX) && !defined(OS_CHROMEOS)) || defined(OS_BSD) + ::network::mojom::CryptConfigPtr BuildCryptConfigOnce( + const base::FilePath& user_data_path) { + static bool done_once = false; +@@ -197,7 +197,7 @@ HeadlessRequestContextManager::HeadlessRequestContextM + proxy_config_monitor_ = std::make_unique<HeadlessProxyConfigMonitor>( + base::ThreadTaskRunnerHandle::Get()); + } +-#if defined(OS_LINUX) && !defined(OS_CHROMEOS) ++#if (defined(OS_LINUX) && !defined(OS_CHROMEOS)) || defined(OS_BSD) + auto crypt_config = BuildCryptConfigOnce(user_data_path_); + if (crypt_config) + content::GetNetworkService()->SetCryptConfig(std::move(crypt_config)); diff --git a/www/iridium/files/patch-headless_lib_headless__content__main__delegate.cc b/www/iridium/files/patch-headless_lib_headless__content__main__delegate.cc new file mode 100644 index 000000000000..b6d23a82eac8 --- /dev/null +++ b/www/iridium/files/patch-headless_lib_headless__content__main__delegate.cc @@ -0,0 +1,20 @@ +--- headless/lib/headless_content_main_delegate.cc.orig 2020-03-16 18:39:51 UTC ++++ headless/lib/headless_content_main_delegate.cc +@@ -405,7 +405,7 @@ int HeadlessContentMainDelegate::RunProcess( + } + #endif // !defined(CHROME_MULTIPLE_DLL_CHILD) + +-#if defined(OS_LINUX) ++#if defined(OS_LINUX) || defined(OS_BSD) + void SIGTERMProfilingShutdown(int signal) { + content::Profiling::Stop(); + struct sigaction sigact; +@@ -440,7 +440,7 @@ void HeadlessContentMainDelegate::ZygoteForked() { + breakpad::InitCrashReporter(process_type); + #endif + } +-#endif // defined(OS_LINUX) ++#endif // defined(OS_LINUX) || defined(OS_BSD) + + // static + HeadlessContentMainDelegate* HeadlessContentMainDelegate::GetInstance() { diff --git a/www/iridium/files/patch-headless_lib_headless__content__main__delegate.h b/www/iridium/files/patch-headless_lib_headless__content__main__delegate.h new file mode 100644 index 000000000000..ea587103f60e --- /dev/null +++ b/www/iridium/files/patch-headless_lib_headless__content__main__delegate.h @@ -0,0 +1,11 @@ +--- headless/lib/headless_content_main_delegate.h.orig 2020-03-16 18:39:51 UTC ++++ headless/lib/headless_content_main_delegate.h +@@ -60,7 +60,7 @@ class HEADLESS_EXPORT HeadlessContentMainDelegate + + HeadlessBrowserImpl* browser() const { return browser_.get(); } + +-#if defined(OS_LINUX) ++#if defined(OS_LINUX) || defined(OS_BSD) + void ZygoteForked() override; + #endif + diff --git a/www/iridium/files/patch-headless_lib_headless__macros.h b/www/iridium/files/patch-headless_lib_headless__macros.h new file mode 100644 index 000000000000..0e99c3066d6d --- /dev/null +++ b/www/iridium/files/patch-headless_lib_headless__macros.h @@ -0,0 +1,13 @@ +--- headless/lib/headless_macros.h.orig 2019-03-11 22:00:59 UTC ++++ headless/lib/headless_macros.h +@@ -7,8 +7,8 @@ + + #include "build/build_config.h" + +-#if defined(OS_POSIX) && !defined(OS_MACOSX) ++#if defined(OS_POSIX) && !defined(OS_MACOSX) && !defined(OS_BSD) + #define HEADLESS_USE_BREAKPAD +-#endif // defined(OS_POSIX) && !defined(OS_MACOSX) ++#endif // defined(OS_POSIX) && !defined(OS_MACOSX) && !defined(OS_BSD) + + #endif // HEADLESS_LIB_HEADLESS_MACROS_H_ diff --git a/www/iridium/files/patch-ipc_ipc__channel.h b/www/iridium/files/patch-ipc_ipc__channel.h new file mode 100644 index 000000000000..81baee2eca8d --- /dev/null +++ b/www/iridium/files/patch-ipc_ipc__channel.h @@ -0,0 +1,11 @@ +--- ipc/ipc_channel.h.orig 2020-02-03 21:53:32 UTC ++++ ipc/ipc_channel.h +@@ -282,7 +282,7 @@ class COMPONENT_EXPORT(IPC) Channel : public Sender { + static std::string GenerateUniqueRandomChannelID(); + #endif + +-#if defined(OS_LINUX) ++#if defined(OS_LINUX) || defined(OS_BSD) + // Sandboxed processes live in a PID namespace, so when sending the IPC hello + // message from client to server we need to send the PID from the global + // PID namespace. diff --git a/www/iridium/files/patch-ipc_ipc__channel__common.cc b/www/iridium/files/patch-ipc_ipc__channel__common.cc new file mode 100644 index 000000000000..9a59e5cfaff6 --- /dev/null +++ b/www/iridium/files/patch-ipc_ipc__channel__common.cc @@ -0,0 +1,20 @@ +--- ipc/ipc_channel_common.cc.orig 2020-02-03 21:52:47 UTC ++++ ipc/ipc_channel_common.cc +@@ -10,7 +10,7 @@ + + namespace IPC { + +-#if defined(OS_LINUX) ++#if defined(OS_LINUX) || defined(OS_BSD) + + namespace { + int g_global_pid = 0; +@@ -26,7 +26,7 @@ int Channel::GetGlobalPid() { + return g_global_pid; + } + +-#endif // defined(OS_LINUX) ++#endif // defined(OS_LINUX) || defined(OS_BSD) + + // static + std::unique_ptr<Channel> Channel::CreateClient( diff --git a/www/iridium/files/patch-ipc_ipc__channel__mojo.cc b/www/iridium/files/patch-ipc_ipc__channel__mojo.cc new file mode 100644 index 000000000000..54e779282f74 --- /dev/null +++ b/www/iridium/files/patch-ipc_ipc__channel__mojo.cc @@ -0,0 +1,15 @@ +--- ipc/ipc_channel_mojo.cc.orig 2020-02-03 21:52:47 UTC ++++ ipc/ipc_channel_mojo.cc +@@ -74,10 +74,10 @@ class MojoChannelFactory : public ChannelFactory { + }; + + base::ProcessId GetSelfPID() { +-#if defined(OS_LINUX) ++#if defined(OS_LINUX) || defined(OS_BSD) + if (int global_pid = Channel::GetGlobalPid()) + return global_pid; +-#endif // OS_LINUX ++#endif // OS_LINUX || OS_BSD + #if defined(OS_NACL) + return -1; + #else diff --git a/www/iridium/files/patch-ipc_ipc__message__utils.cc b/www/iridium/files/patch-ipc_ipc__message__utils.cc new file mode 100644 index 000000000000..00d57043fb58 --- /dev/null +++ b/www/iridium/files/patch-ipc_ipc__message__utils.cc @@ -0,0 +1,11 @@ +--- ipc/ipc_message_utils.cc.orig 2019-07-24 18:58:29 UTC ++++ ipc/ipc_message_utils.cc +@@ -355,7 +355,7 @@ void ParamTraits<unsigned int>::Log(const param_type& + l->append(base::NumberToString(p)); + } + +-#if defined(OS_WIN) || defined(OS_LINUX) || defined(OS_FUCHSIA) || \ ++#if defined(OS_WIN) || defined(OS_LINUX) || defined(OS_FUCHSIA) || defined(OS_BSD) || \ + (defined(OS_ANDROID) && defined(ARCH_CPU_64_BITS)) + void ParamTraits<long>::Log(const param_type& p, std::string* l) { + l->append(base::NumberToString(p)); diff --git a/www/iridium/files/patch-ipc_ipc__message__utils.h b/www/iridium/files/patch-ipc_ipc__message__utils.h new file mode 100644 index 000000000000..39fc150c1a08 --- /dev/null +++ b/www/iridium/files/patch-ipc_ipc__message__utils.h @@ -0,0 +1,11 @@ +--- ipc/ipc_message_utils.h.orig 2020-02-03 21:53:32 UTC ++++ ipc/ipc_message_utils.h +@@ -209,7 +209,7 @@ struct ParamTraits<unsigned int> { + // 3) Android 64 bit and Fuchsia also have int64_t typedef'd to long. + // Since we want to support Android 32<>64 bit IPC, as long as we don't have + // these traits for 32 bit ARM then that'll catch any errors. +-#if defined(OS_WIN) || defined(OS_LINUX) || defined(OS_FUCHSIA) || \ ++#if defined(OS_WIN) || defined(OS_LINUX) || defined(OS_FUCHSIA) || defined(OS_BSD) || \ + (defined(OS_ANDROID) && defined(ARCH_CPU_64_BITS)) + template <> + struct ParamTraits<long> { diff --git a/www/iridium/files/patch-media_BUILD.gn b/www/iridium/files/patch-media_BUILD.gn new file mode 100644 index 000000000000..2e46acb021a0 --- /dev/null +++ b/www/iridium/files/patch-media_BUILD.gn @@ -0,0 +1,12 @@ +--- media/BUILD.gn.orig 2020-03-16 18:40:33 UTC ++++ media/BUILD.gn +@@ -63,6 +63,9 @@ config("media_config") { + defines += [ "DLOPEN_PULSEAUDIO" ] + } + } ++ if (use_sndio) { ++ defines += [ "USE_SNDIO" ] ++ } + if (use_cras) { + defines += [ "USE_CRAS" ] + } diff --git a/www/iridium/files/patch-media_audio_BUILD.gn b/www/iridium/files/patch-media_audio_BUILD.gn new file mode 100644 index 000000000000..a37b99f54c9c --- /dev/null +++ b/www/iridium/files/patch-media_audio_BUILD.gn @@ -0,0 +1,22 @@ +--- media/audio/BUILD.gn.orig 2020-03-16 18:40:33 UTC ++++ media/audio/BUILD.gn +@@ -232,8 +232,18 @@ source_set("audio") { + ] + } + +- if (is_linux) { ++ if (is_linux && !use_sndio) { + sources += [ "linux/audio_manager_linux.cc" ] ++ } ++ if (use_sndio) { ++ libs += [ "sndio" ] ++ sources += [ ++ "openbsd/audio_manager_openbsd.cc", ++ "sndio/sndio_input.cc", ++ "sndio/sndio_input.h", ++ "sndio/sndio_output.cc", ++ "sndio/sndio_output.h" ++ ] + } + + if (use_alsa) { diff --git a/www/iridium/files/patch-media_audio_alsa_audio__manager__alsa.cc b/www/iridium/files/patch-media_audio_alsa_audio__manager__alsa.cc new file mode 100644 index 000000000000..313dd1df12eb --- /dev/null +++ b/www/iridium/files/patch-media_audio_alsa_audio__manager__alsa.cc @@ -0,0 +1,54 @@ +--- media/audio/alsa/audio_manager_alsa.cc.orig 2019-04-30 22:22:52 UTC ++++ media/audio/alsa/audio_manager_alsa.cc +@@ -92,7 +92,9 @@ void AudioManagerAlsa::GetAlsaAudioDevices(StreamType + int card = -1; + + // Loop through the sound cards to get ALSA device hints. ++#if defined(OS_LINUX) + while (!wrapper_->CardNext(&card) && card >= 0) { ++#endif + void** hints = NULL; + int error = wrapper_->DeviceNameHint(card, kPcmInterfaceName, &hints); + if (!error) { +@@ -104,7 +106,9 @@ void AudioManagerAlsa::GetAlsaAudioDevices(StreamType + DLOG(WARNING) << "GetAlsaAudioDevices: unable to get device hints: " + << wrapper_->StrError(error); + } ++#if defined(OS_LINUX) + } ++#endif + } + + void AudioManagerAlsa::GetAlsaDevicesInfo(AudioManagerAlsa::StreamType type, +@@ -187,7 +191,11 @@ bool AudioManagerAlsa::IsAlsaDeviceAvailable( + // goes through software conversion if needed (e.g. incompatible + // sample rate). + // TODO(joi): Should we prefer "hw" instead? ++#ifdef OS_LINUX + static const char kDeviceTypeDesired[] = "plughw"; ++#else ++ static const char kDeviceTypeDesired[] = "plug"; ++#endif + return strncmp(kDeviceTypeDesired, device_name, + base::size(kDeviceTypeDesired) - 1) == 0; + } +@@ -209,7 +217,9 @@ bool AudioManagerAlsa::HasAnyAlsaAudioDevice( + // Loop through the sound cards. + // Don't use snd_device_name_hint(-1,..) since there is a access violation + // inside this ALSA API with libasound.so.2.0.0. ++#if defined(OS_LINUX) + while (!wrapper_->CardNext(&card) && (card >= 0) && !has_device) { ++#endif + int error = wrapper_->DeviceNameHint(card, kPcmInterfaceName, &hints); + if (!error) { + for (void** hint_iter = hints; *hint_iter != NULL; hint_iter++) { +@@ -233,7 +243,9 @@ bool AudioManagerAlsa::HasAnyAlsaAudioDevice( + DLOG(WARNING) << "HasAnyAudioDevice: unable to get device hints: " + << wrapper_->StrError(error); + } ++#if defined(OS_LINUX) + } ++#endif + + return has_device; + } diff --git a/www/iridium/files/patch-media_audio_audio__input__device.cc b/www/iridium/files/patch-media_audio_audio__input__device.cc new file mode 100644 index 000000000000..f96c5ac063c2 --- /dev/null +++ b/www/iridium/files/patch-media_audio_audio__input__device.cc @@ -0,0 +1,11 @@ +--- media/audio/audio_input_device.cc.orig 2019-03-17 21:43:40 UTC ++++ media/audio/audio_input_device.cc +@@ -248,7 +248,7 @@ void AudioInputDevice::OnStreamCreated( + // also a risk of false positives if we are suspending when starting the stream + // here. See comments in AliveChecker and PowerObserverHelper for details and + // todos. +-#if defined(OS_LINUX) ++#if defined(OS_LINUX) || defined(OS_BSD) + const bool stop_at_first_alive_notification = true; + const bool pause_check_during_suspend = false; + #else diff --git a/www/iridium/files/patch-media_audio_audio__manager.cc b/www/iridium/files/patch-media_audio_audio__manager.cc new file mode 100644 index 000000000000..5720491adf54 --- /dev/null +++ b/www/iridium/files/patch-media_audio_audio__manager.cc @@ -0,0 +1,29 @@ +--- media/audio/audio_manager.cc.orig 2019-03-11 22:00:59 UTC ++++ media/audio/audio_manager.cc +@@ -48,7 +48,7 @@ class AudioManagerHelper { + } + #endif + +-#if defined(OS_LINUX) ++#if defined(OS_LINUX) || defined(OS_BSD) + void set_app_name(const std::string& app_name) { app_name_ = app_name; } + const std::string& app_name() const { return app_name_; } + #endif +@@ -59,7 +59,7 @@ class AudioManagerHelper { + std::unique_ptr<base::win::ScopedCOMInitializer> com_initializer_for_testing_; + #endif + +-#if defined(OS_LINUX) ++#if defined(OS_LINUX) || defined(OS_BSD) + std::string app_name_; + #endif + +@@ -128,7 +128,7 @@ std::unique_ptr<AudioManager> AudioManager::CreateForT + return Create(std::move(audio_thread), GetHelper()->fake_log_factory()); + } + +-#if defined(OS_LINUX) ++#if defined(OS_LINUX) || defined(OS_BSD) + // static + void AudioManager::SetGlobalAppName(const std::string& app_name) { + GetHelper()->set_app_name(app_name); diff --git a/www/iridium/files/patch-media_audio_audio__manager.h b/www/iridium/files/patch-media_audio_audio__manager.h new file mode 100644 index 000000000000..817c3d812b8e --- /dev/null +++ b/www/iridium/files/patch-media_audio_audio__manager.h @@ -0,0 +1,11 @@ +--- media/audio/audio_manager.h.orig 2019-03-11 22:00:59 UTC ++++ media/audio/audio_manager.h +@@ -60,7 +60,7 @@ class MEDIA_EXPORT AudioManager { + static std::unique_ptr<AudioManager> CreateForTesting( + std::unique_ptr<AudioThread> audio_thread); + +-#if defined(OS_LINUX) ++#if defined(OS_LINUX) || defined(OS_BSD) + // Sets the name of the audio source as seen by external apps. Only actually + // used with PulseAudio as of this writing. + static void SetGlobalAppName(const std::string& app_name); diff --git a/www/iridium/files/patch-media_base_audio__latency.cc b/www/iridium/files/patch-media_base_audio__latency.cc new file mode 100644 index 000000000000..d2289293450b --- /dev/null +++ b/www/iridium/files/patch-media_base_audio__latency.cc @@ -0,0 +1,11 @@ +--- media/base/audio_latency.cc.orig 2019-03-11 22:00:59 UTC ++++ media/base/audio_latency.cc +@@ -106,7 +106,7 @@ int AudioLatency::GetRtcBufferSize(int sample_rate, in + return frames_per_buffer; + } + +-#if defined(OS_LINUX) || defined(OS_MACOSX) || defined(OS_FUCHSIA) ++#if defined(OS_LINUX) || defined(OS_MACOSX) || defined(OS_FUCHSIA) || defined(OS_BSD) + // On Linux, MacOS and Fuchsia, the low level IO implementations on the + // browser side supports all buffer size the clients want. We use the native + // peer connection buffer size (10ms) to achieve best possible performance. diff --git a/www/iridium/files/patch-media_base_media__switches.cc b/www/iridium/files/patch-media_base_media__switches.cc new file mode 100644 index 000000000000..ed61b97adc9d --- /dev/null +++ b/www/iridium/files/patch-media_base_media__switches.cc @@ -0,0 +1,11 @@ +--- media/base/media_switches.cc.orig 2020-03-17 10:01:08 UTC ++++ media/base/media_switches.cc +@@ -331,7 +331,7 @@ const base::Feature kFallbackAfterDecodeError{"Fallbac + const base::Feature kGlobalMediaControls { + "GlobalMediaControls", + #if defined(OS_WIN) || defined(OS_MACOSX) || \ +- (defined(OS_LINUX) && !defined(OS_CHROMEOS)) ++ (defined(OS_LINUX) && !defined(OS_CHROMEOS)) || defined(OS_BSD) + base::FEATURE_ENABLED_BY_DEFAULT + #else + base::FEATURE_DISABLED_BY_DEFAULT diff --git a/www/iridium/files/patch-media_base_scopedfd__helper.h b/www/iridium/files/patch-media_base_scopedfd__helper.h new file mode 100644 index 000000000000..5b097ec108c3 --- /dev/null +++ b/www/iridium/files/patch-media_base_scopedfd__helper.h @@ -0,0 +1,23 @@ +--- media/base/scopedfd_helper.h.orig 2019-09-09 21:55:20 UTC ++++ media/base/scopedfd_helper.h +@@ -11,17 +11,17 @@ + namespace media { + + // Theoretically, we can test on defined(OS_POSIX) || defined(OS_FUCHSIA), but +-// since the only current user is V4L2 we are limiting the scope to OS_LINUX so ++// since the only current user is V4L2 we are limiting the scope to OS_LINUX || OS_BSD so + // the binary size does not inflate on non-using systems. Feel free to adapt + // this and BUILD.gn as our needs evolve. +-#if defined(OS_LINUX) ++#if defined(OS_LINUX) || defined(OS_BSD) + + // Return a new vector containing duplicates of |fds|, or PCHECKs in case of an + // error. + MEDIA_EXPORT std::vector<base::ScopedFD> DuplicateFDs( + const std::vector<base::ScopedFD>& fds); + +-#endif // OS_LINUX ++#endif // OS_LINUX || OS_BSD + + } // namespace media + diff --git a/www/iridium/files/patch-media_base_video__frame.cc b/www/iridium/files/patch-media_base_video__frame.cc new file mode 100644 index 000000000000..430d0f3c5bb5 --- /dev/null +++ b/www/iridium/files/patch-media_base_video__frame.cc @@ -0,0 +1,74 @@ +--- media/base/video_frame.cc.orig 2019-12-16 21:50:49 UTC ++++ media/base/video_frame.cc +@@ -57,7 +57,7 @@ std::string VideoFrame::StorageTypeToString( + return "OWNED_MEMORY"; + case VideoFrame::STORAGE_SHMEM: + return "SHMEM"; +-#if defined(OS_LINUX) ++#if defined(OS_LINUX) || defined(OS_BSD) + case VideoFrame::STORAGE_DMABUFS: + return "DMABUFS"; + #endif +@@ -74,7 +74,7 @@ std::string VideoFrame::StorageTypeToString( + // static + bool VideoFrame::IsStorageTypeMappable(VideoFrame::StorageType storage_type) { + return +-#if defined(OS_LINUX) ++#if defined(OS_LINUX) || defined(OS_BSD) + // This is not strictly needed but makes explicit that, at VideoFrame + // level, DmaBufs are not mappable from userspace. + storage_type != VideoFrame::STORAGE_DMABUFS && +@@ -257,7 +257,7 @@ static base::Optional<VideoFrameLayout> GetDefaultLayo + return VideoFrameLayout::CreateWithPlanes(format, coded_size, planes); + } + +-#if defined(OS_LINUX) ++#if defined(OS_LINUX) || defined(OS_BSD) + // This class allows us to embed a vector<ScopedFD> into a scoped_refptr, and + // thus to have several VideoFrames share the same set of DMABUF FDs. + class VideoFrame::DmabufHolder +@@ -275,7 +275,7 @@ class VideoFrame::DmabufHolder + friend class base::RefCountedThreadSafe<DmabufHolder>; + ~DmabufHolder() = default; + }; +-#endif // defined(OS_LINUX) ++#endif // defined(OS_LINUX) || defined(OS_BSD) + + // static + bool VideoFrame::IsValidConfig(VideoPixelFormat format, +@@ -588,7 +588,7 @@ scoped_refptr<VideoFrame> VideoFrame::WrapExternalGpuM + return frame; + } + +-#if defined(OS_LINUX) ++#if defined(OS_LINUX) || defined(OS_BSD) + // static + scoped_refptr<VideoFrame> VideoFrame::WrapExternalDmabufs( + const VideoFrameLayout& layout, +@@ -724,7 +724,7 @@ scoped_refptr<VideoFrame> VideoFrame::WrapVideoFrame( + } + } + +-#if defined(OS_LINUX) ++#if defined(OS_LINUX) || defined(OS_BSD) + DCHECK(frame->dmabuf_fds_); + // If there are any |dmabuf_fds_| plugged in, we should refer them too. + wrapping_frame->dmabuf_fds_ = frame->dmabuf_fds_; +@@ -1050,7 +1050,7 @@ VideoFrame::mailbox_holder(size_t texture_index) const + : mailbox_holders_[texture_index]; + } + +-#if defined(OS_LINUX) ++#if defined(OS_LINUX) || defined(OS_BSD) + const std::vector<base::ScopedFD>& VideoFrame::DmabufFds() const { + DCHECK_EQ(storage_type_, STORAGE_DMABUFS); + +@@ -1133,7 +1133,7 @@ VideoFrame::VideoFrame(const VideoFrameLayout& layout, + storage_type_(storage_type), + visible_rect_(Intersection(visible_rect, gfx::Rect(layout.coded_size()))), + natural_size_(natural_size), +-#if defined(OS_LINUX) ++#if defined(OS_LINUX) || defined(OS_BSD) + dmabuf_fds_(base::MakeRefCounted<DmabufHolder>()), + #endif + timestamp_(timestamp), diff --git a/www/iridium/files/patch-media_base_video__frame.h b/www/iridium/files/patch-media_base_video__frame.h new file mode 100644 index 000000000000..d37ffac67837 --- /dev/null +++ b/www/iridium/files/patch-media_base_video__frame.h @@ -0,0 +1,50 @@ +--- media/base/video_frame.h.orig 2020-03-16 18:40:33 UTC ++++ media/base/video_frame.h +@@ -39,9 +39,9 @@ + #include "base/mac/scoped_cftyperef.h" + #endif // defined(OS_MACOSX) + +-#if defined(OS_LINUX) ++#if defined(OS_LINUX) || defined(OS_BSD) + #include "base/files/scoped_file.h" +-#endif // defined(OS_LINUX) ++#endif // defined(OS_LINUX) || defined(OS_BSD) + + namespace gfx { + class GpuMemoryBuffer; +@@ -80,7 +80,7 @@ class MEDIA_EXPORT VideoFrame : public base::RefCounte + STORAGE_UNOWNED_MEMORY = 2, // External, non owned data pointers. + STORAGE_OWNED_MEMORY = 3, // VideoFrame has allocated its own data buffer. + STORAGE_SHMEM = 4, // Backed by unsafe (writable) shared memory. +-#if defined(OS_LINUX) ++#if defined(OS_LINUX) || defined(OS_BSD) + // TODO(mcasas): Consider turning this type into STORAGE_NATIVE + // based on the idea of using this same enum value for both DMA + // buffers on Linux and CVPixelBuffers on Mac (which currently use +@@ -245,7 +245,7 @@ class MEDIA_EXPORT VideoFrame : public base::RefCounte + ReleaseMailboxCB mailbox_holder_release_cb, + base::TimeDelta timestamp); + +-#if defined(OS_LINUX) ++#if defined(OS_LINUX) || defined(OS_BSD) + // Wraps provided dmabufs + // (https://www.kernel.org/doc/html/latest/driver-api/dma-buf.html) with a + // VideoFrame. The frame will take ownership of |dmabuf_fds|, and will +@@ -480,7 +480,7 @@ class MEDIA_EXPORT VideoFrame : public base::RefCounte + // mailbox, the caller must wait for the included sync point. + const gpu::MailboxHolder& mailbox_holder(size_t texture_index) const; + +-#if defined(OS_LINUX) ++#if defined(OS_LINUX) || defined(OS_BSD) + // Returns a vector containing the backing DmaBufs for this frame. The number + // of returned DmaBufs will be equal or less than the number of planes of + // the frame. If there are less, this means that the last FD contains the +@@ -662,7 +662,7 @@ class MEDIA_EXPORT VideoFrame : public base::RefCounte + // GPU memory buffer, if this frame is STORAGE_GPU_MEMORY_BUFFER. + std::unique_ptr<gfx::GpuMemoryBuffer> gpu_memory_buffer_; + +-#if defined(OS_LINUX) ++#if defined(OS_LINUX) || defined(OS_BSD) + class DmabufHolder; + + // Dmabufs for the frame, used when storage is STORAGE_DMABUFS. Size is either diff --git a/www/iridium/files/patch-media_capture_video_create__video__capture__device__factory.cc b/www/iridium/files/patch-media_capture_video_create__video__capture__device__factory.cc new file mode 100644 index 000000000000..ab3b5a40d144 --- /dev/null +++ b/www/iridium/files/patch-media_capture_video_create__video__capture__device__factory.cc @@ -0,0 +1,20 @@ +--- media/capture/video/create_video_capture_device_factory.cc.orig 2019-10-21 19:06:36 UTC ++++ media/capture/video/create_video_capture_device_factory.cc +@@ -10,7 +10,7 @@ + #include "media/capture/video/fake_video_capture_device_factory.h" + #include "media/capture/video/file_video_capture_device_factory.h" + +-#if defined(OS_LINUX) && !defined(OS_CHROMEOS) ++#if (defined(OS_LINUX) && !defined(OS_CHROMEOS)) || defined(OS_BSD) + #include "media/capture/video/linux/video_capture_device_factory_linux.h" + #elif defined(OS_CHROMEOS) + #include "media/capture/video/chromeos/camera_app_device_bridge_impl.h" +@@ -82,7 +82,7 @@ CreateChromeOSVideoCaptureDeviceFactory( + std::unique_ptr<VideoCaptureDeviceFactory> + CreatePlatformSpecificVideoCaptureDeviceFactory( + scoped_refptr<base::SingleThreadTaskRunner> ui_task_runner) { +-#if defined(OS_LINUX) && !defined(OS_CHROMEOS) ++#if (defined(OS_LINUX) && !defined(OS_CHROMEOS)) || defined(OS_BSD) + return std::make_unique<VideoCaptureDeviceFactoryLinux>(ui_task_runner); + #elif defined(OS_CHROMEOS) + return CreateChromeOSVideoCaptureDeviceFactory(ui_task_runner, {}); diff --git a/www/iridium/files/patch-media_capture_video_fake__video__capture__device__factory.cc b/www/iridium/files/patch-media_capture_video_fake__video__capture__device__factory.cc new file mode 100644 index 000000000000..76d95eebd304 --- /dev/null +++ b/www/iridium/files/patch-media_capture_video_fake__video__capture__device__factory.cc @@ -0,0 +1,11 @@ +--- media/capture/video/fake_video_capture_device_factory.cc.orig 2019-12-16 21:50:49 UTC ++++ media/capture/video/fake_video_capture_device_factory.cc +@@ -208,7 +208,7 @@ void FakeVideoCaptureDeviceFactory::GetDeviceDescripto + for (const auto& entry : devices_config_) { + device_descriptors->emplace_back( + base::StringPrintf("fake_device_%d", entry_index), entry.device_id, +-#if defined(OS_LINUX) ++#if defined(OS_LINUX) || defined(OS_BSD) + VideoCaptureApi::LINUX_V4L2_SINGLE_PLANE + #elif defined(OS_MACOSX) + VideoCaptureApi::MACOSX_AVFOUNDATION diff --git a/www/iridium/files/patch-media_capture_video_file__video__capture__device__factory.cc b/www/iridium/files/patch-media_capture_video_file__video__capture__device__factory.cc new file mode 100644 index 000000000000..b1cc42128fa5 --- /dev/null +++ b/www/iridium/files/patch-media_capture_video_file__video__capture__device__factory.cc @@ -0,0 +1,11 @@ +--- media/capture/video/file_video_capture_device_factory.cc.orig 2019-04-30 22:22:52 UTC ++++ media/capture/video/file_video_capture_device_factory.cc +@@ -54,7 +54,7 @@ void FileVideoCaptureDeviceFactory::GetDeviceDescripto + #elif defined(OS_MACOSX) + command_line_file_path.value(), kFileVideoCaptureDeviceName, + VideoCaptureApi::MACOSX_AVFOUNDATION +-#elif defined(OS_LINUX) ++#elif defined(OS_LINUX) || defined(OS_BSD) + command_line_file_path.value(), kFileVideoCaptureDeviceName, + VideoCaptureApi::LINUX_V4L2_SINGLE_PLANE + #else diff --git a/www/iridium/files/patch-media_capture_video_linux_v4l2__capture__delegate.cc b/www/iridium/files/patch-media_capture_video_linux_v4l2__capture__delegate.cc new file mode 100644 index 000000000000..3de31922be93 --- /dev/null +++ b/www/iridium/files/patch-media_capture_video_linux_v4l2__capture__delegate.cc @@ -0,0 +1,26 @@ +--- media/capture/video/linux/v4l2_capture_delegate.cc.orig 2019-03-11 22:00:59 UTC ++++ media/capture/video/linux/v4l2_capture_delegate.cc +@@ -4,8 +4,10 @@ + + #include "media/capture/video/linux/v4l2_capture_delegate.h" + ++#if !defined(OS_BSD) + #include <linux/version.h> + #include <linux/videodev2.h> ++#endif + #include <poll.h> + #include <sys/fcntl.h> + #include <sys/ioctl.h> +@@ -24,10 +26,10 @@ + + using media::mojom::MeteringMode; + +-#if LINUX_VERSION_CODE < KERNEL_VERSION(4, 6, 0) ++// #if LINUX_VERSION_CODE < KERNEL_VERSION(4, 6, 0) + // 16 bit depth, Realsense F200. + #define V4L2_PIX_FMT_Z16 v4l2_fourcc('Z', '1', '6', ' ') +-#endif ++// #endif + + // TODO(aleksandar.stojiljkovic): Wrap this with kernel version check once the + // format is introduced to kernel. diff --git a/www/iridium/files/patch-media_capture_video_video__capture__buffer__pool__impl.cc b/www/iridium/files/patch-media_capture_video_video__capture__buffer__pool__impl.cc new file mode 100644 index 000000000000..7dcb8b174ae1 --- /dev/null +++ b/www/iridium/files/patch-media_capture_video_video__capture__buffer__pool__impl.cc @@ -0,0 +1,11 @@ +--- media/capture/video/video_capture_buffer_pool_impl.cc.orig 2019-12-16 21:50:49 UTC ++++ media/capture/video/video_capture_buffer_pool_impl.cc +@@ -59,7 +59,7 @@ VideoCaptureBufferPoolImpl::CreateSharedMemoryViaRawFi + int buffer_id) { + // This requires platforms where base::SharedMemoryHandle is backed by a + // file descriptor. +-#if defined(OS_LINUX) ++#if defined(OS_LINUX) || defined(OS_BSD) + base::AutoLock lock(lock_); + + VideoCaptureBufferTracker* tracker = GetTracker(buffer_id); diff --git a/www/iridium/files/patch-media_capture_video_video__capture__device__client.cc b/www/iridium/files/patch-media_capture_video_video__capture__device__client.cc new file mode 100644 index 000000000000..b36124fab651 --- /dev/null +++ b/www/iridium/files/patch-media_capture_video_video__capture__device__client.cc @@ -0,0 +1,11 @@ +--- media/capture/video/video_capture_device_client.cc.orig 2019-12-16 21:50:49 UTC ++++ media/capture/video/video_capture_device_client.cc +@@ -297,7 +297,7 @@ void VideoCaptureDeviceClient::OnIncomingCapturedData( + // see http://linuxtv.org/downloads/v4l-dvb-apis/packed-rgb.html. + // Windows RGB24 defines blue at lowest byte, + // see https://msdn.microsoft.com/en-us/library/windows/desktop/dd407253 +-#if defined(OS_LINUX) ++#if defined(OS_LINUX) || defined(OS_BSD) + fourcc_format = libyuv::FOURCC_RAW; + #elif defined(OS_WIN) + fourcc_format = libyuv::FOURCC_24BG; diff --git a/www/iridium/files/patch-media_filters_vp9__parser.h b/www/iridium/files/patch-media_filters_vp9__parser.h new file mode 100644 index 000000000000..5e1f90d692b3 --- /dev/null +++ b/www/iridium/files/patch-media_filters_vp9__parser.h @@ -0,0 +1,10 @@ +--- media/filters/vp9_parser.h.orig 2019-03-11 22:00:59 UTC ++++ media/filters/vp9_parser.h +@@ -14,6 +14,7 @@ + + #include <stddef.h> + #include <stdint.h> ++#include <unistd.h> + #include <sys/types.h> + + #include <memory> diff --git a/www/iridium/files/patch-media_formats_common_offset__byte__queue.cc b/www/iridium/files/patch-media_formats_common_offset__byte__queue.cc new file mode 100644 index 000000000000..38994431f986 --- /dev/null +++ b/www/iridium/files/patch-media_formats_common_offset__byte__queue.cc @@ -0,0 +1,20 @@ +--- media/formats/common/offset_byte_queue.cc.orig 2019-03-11 22:00:59 UTC ++++ media/formats/common/offset_byte_queue.cc +@@ -46,13 +46,13 @@ void OffsetByteQueue::PeekAt(int64_t offset, const uin + *size = tail() - offset; + } + +-bool OffsetByteQueue::Trim(int64_t max_offset) { +- if (max_offset < head_) return true; +- if (max_offset > tail()) { ++bool OffsetByteQueue::Trim(int64_t _max_offset) { ++ if (_max_offset < head_) return true; ++ if (_max_offset > tail()) { + Pop(size_); + return false; + } +- Pop(max_offset - head_); ++ Pop(_max_offset - head_); + return true; + } + diff --git a/www/iridium/files/patch-media_formats_common_offset__byte__queue.h b/www/iridium/files/patch-media_formats_common_offset__byte__queue.h new file mode 100644 index 000000000000..659dd9dfe9b3 --- /dev/null +++ b/www/iridium/files/patch-media_formats_common_offset__byte__queue.h @@ -0,0 +1,22 @@ +--- media/formats/common/offset_byte_queue.h.orig 2019-03-11 22:00:59 UTC ++++ media/formats/common/offset_byte_queue.h +@@ -36,15 +36,15 @@ class MEDIA_EXPORT OffsetByteQueue { + // a null |buf| and a |size| of zero. + void PeekAt(int64_t offset, const uint8_t** buf, int* size); + +- // Marks the bytes up to (but not including) |max_offset| as ready for ++ // Marks the bytes up to (but not including) |_max_offset| as ready for + // deletion. This is relatively inexpensive, but will not necessarily reduce + // the resident buffer size right away (or ever). + // + // Returns true if the full range of bytes were successfully trimmed, +- // including the case where |max_offset| is less than the current head. +- // Returns false if |max_offset| > tail() (although all bytes currently ++ // including the case where |_max_offset| is less than the current head. ++ // Returns false if |_max_offset| > tail() (although all bytes currently + // buffered are still cleared). +- bool Trim(int64_t max_offset); ++ bool Trim(int64_t _max_offset); + + // The head and tail positions, in terms of the file's absolute offsets. + // tail() is an exclusive bound. diff --git a/www/iridium/files/patch-media_formats_mp2t_es__parser__adts.cc b/www/iridium/files/patch-media_formats_mp2t_es__parser__adts.cc new file mode 100644 index 000000000000..a9a96b393d53 --- /dev/null +++ b/www/iridium/files/patch-media_formats_mp2t_es__parser__adts.cc @@ -0,0 +1,26 @@ +--- media/formats/mp2t/es_parser_adts.cc.orig 2019-04-30 22:22:52 UTC ++++ media/formats/mp2t/es_parser_adts.cc +@@ -62,11 +62,11 @@ bool EsParserAdts::LookForAdtsFrame(AdtsFrame* adts_fr + const uint8_t* es; + es_queue_->Peek(&es, &es_size); + +- int max_offset = es_size - kADTSHeaderMinSize; +- if (max_offset <= 0) ++ int _max_offset = es_size - kADTSHeaderMinSize; ++ if (_max_offset <= 0) + return false; + +- for (int offset = 0; offset < max_offset; offset++) { ++ for (int offset = 0; offset < _max_offset; offset++) { + const uint8_t* cur_buf = &es[offset]; + if (!isAdtsSyncWord(cur_buf)) + continue; +@@ -106,7 +106,7 @@ bool EsParserAdts::LookForAdtsFrame(AdtsFrame* adts_fr + return true; + } + +- es_queue_->Pop(max_offset); ++ es_queue_->Pop(_max_offset); + return false; + } + diff --git a/www/iridium/files/patch-media_formats_mp2t_es__parser__mpeg1audio.cc b/www/iridium/files/patch-media_formats_mp2t_es__parser__mpeg1audio.cc new file mode 100644 index 000000000000..cd5710c554b0 --- /dev/null +++ b/www/iridium/files/patch-media_formats_mp2t_es__parser__mpeg1audio.cc @@ -0,0 +1,26 @@ +--- media/formats/mp2t/es_parser_mpeg1audio.cc.orig 2019-03-11 22:00:59 UTC ++++ media/formats/mp2t/es_parser_mpeg1audio.cc +@@ -108,11 +108,11 @@ bool EsParserMpeg1Audio::LookForMpeg1AudioFrame( + const uint8_t* es; + es_queue_->Peek(&es, &es_size); + +- int max_offset = es_size - MPEG1AudioStreamParser::kHeaderSize; +- if (max_offset <= 0) ++ int _max_offset = es_size - MPEG1AudioStreamParser::kHeaderSize; ++ if (_max_offset <= 0) + return false; + +- for (int offset = 0; offset < max_offset; offset++) { ++ for (int offset = 0; offset < _max_offset; offset++) { + const uint8_t* cur_buf = &es[offset]; + if (cur_buf[0] != 0xff) + continue; +@@ -153,7 +153,7 @@ bool EsParserMpeg1Audio::LookForMpeg1AudioFrame( + return true; + } + +- es_queue_->Pop(max_offset); ++ es_queue_->Pop(_max_offset); + return false; + } + diff --git a/www/iridium/files/patch-media_gpu_buffer__validation.cc b/www/iridium/files/patch-media_gpu_buffer__validation.cc new file mode 100644 index 000000000000..7f3005140bd8 --- /dev/null +++ b/www/iridium/files/patch-media_gpu_buffer__validation.cc @@ -0,0 +1,48 @@ +--- media/gpu/buffer_validation.cc.orig 2019-12-17 19:41:51 UTC ++++ media/gpu/buffer_validation.cc +@@ -12,15 +12,15 @@ + #include "ui/gfx/geometry/size.h" + #include "ui/gfx/gpu_memory_buffer.h" + +-#if defined(OS_LINUX) ++#if defined(OS_LINUX) || defined(OS_BSD) + #include <sys/types.h> + #include <unistd.h> +-#endif // defined(OS_LINUX) ++#endif // defined(OS_LINUX) || defined(OS_BSD) + + namespace media { + + bool GetFileSize(const int fd, size_t* size) { +-#if defined(OS_LINUX) ++#if defined(OS_LINUX) || defined(OS_BSD) + if (fd < 0) { + VLOGF(1) << "Invalid file descriptor"; + return false; +@@ -46,7 +46,7 @@ bool GetFileSize(const int fd, size_t* size) { + #else + NOTIMPLEMENTED(); + return false; +-#endif // defined(OS_LINUX) ++#endif // defined(OS_LINUX) || defined(OS_BSD) + } + + bool VerifyGpuMemoryBufferHandle(media::VideoPixelFormat pixel_format, +@@ -56,7 +56,7 @@ bool VerifyGpuMemoryBufferHandle(media::VideoPixelForm + VLOGF(1) << "Unexpected GpuMemoryBufferType: " << gmb_handle.type; + return false; + } +-#if defined(OS_LINUX) ++#if defined(OS_LINUX) || defined(OS_BSD) + const size_t num_planes = media::VideoFrame::NumPlanes(pixel_format); + if (num_planes != gmb_handle.native_pixmap_handle.planes.size() || + num_planes == 0) { +@@ -108,7 +108,7 @@ bool VerifyGpuMemoryBufferHandle(media::VideoPixelForm + #else + NOTIMPLEMENTED(); + return false; +-#endif // defined(OS_LINUX) ++#endif // defined(OS_LINUX) || defined(OS_BSD) + } + + } // namespace media diff --git a/www/iridium/files/patch-media_media__options.gni b/www/iridium/files/patch-media_media__options.gni new file mode 100644 index 000000000000..f2783c3581d2 --- /dev/null +++ b/www/iridium/files/patch-media_media__options.gni @@ -0,0 +1,12 @@ +--- media/media_options.gni.orig 2020-03-16 18:40:33 UTC ++++ media/media_options.gni +@@ -119,6 +119,9 @@ declare_args() { + # Enables runtime selection of ALSA library for audio. + use_alsa = false + ++ # Enable runtime selection of sndio(7) ++ use_sndio = false ++ + # Alsa should be used on non-Android, non-Mac POSIX systems. + # Alsa should be used on desktop Chromecast and audio-only Chromecast builds. + if (is_posix && !is_android && !is_mac && diff --git a/www/iridium/files/patch-media_mojo_clients_mojo__video__encode__accelerator.cc b/www/iridium/files/patch-media_mojo_clients_mojo__video__encode__accelerator.cc new file mode 100644 index 000000000000..b208560a307d --- /dev/null +++ b/www/iridium/files/patch-media_mojo_clients_mojo__video__encode__accelerator.cc @@ -0,0 +1,11 @@ +--- media/mojo/clients/mojo_video_encode_accelerator.cc.orig 2020-03-16 18:40:33 UTC ++++ media/mojo/clients/mojo_video_encode_accelerator.cc +@@ -132,7 +132,7 @@ void MojoVideoEncodeAccelerator::Encode(scoped_refptr< + frame->layout().num_planes()); + DCHECK(vea_.is_bound()); + +-#if defined(OS_LINUX) ++#if defined(OS_LINUX) || defined(OS_BSD) + // TODO(crbug.com/1003197): Remove this once we stop supporting STORAGE_DMABUF + // in VideoEncodeAccelerator. + if (frame->storage_type() == VideoFrame::STORAGE_DMABUFS) { diff --git a/www/iridium/files/patch-media_mojo_mojom_video__frame__mojom__traits.cc b/www/iridium/files/patch-media_mojo_mojom_video__frame__mojom__traits.cc new file mode 100644 index 000000000000..46396d067968 --- /dev/null +++ b/www/iridium/files/patch-media_mojo_mojom_video__frame__mojom__traits.cc @@ -0,0 +1,32 @@ +--- media/mojo/mojom/video_frame_mojom_traits.cc.orig 2020-02-24 18:39:18 UTC ++++ media/mojo/mojom/video_frame_mojom_traits.cc +@@ -20,9 +20,9 @@ + #include "ui/gfx/mojom/buffer_types_mojom_traits.h" + #include "ui/gfx/mojom/color_space_mojom_traits.h" + +-#if defined(OS_LINUX) ++#if defined(OS_LINUX) || defined(OS_BSD) + #include "base/posix/eintr_wrapper.h" +-#endif // defined(OS_LINUX) ++#endif // defined(OS_LINUX) || defined(OS_BSD) + + namespace mojo { + +@@ -60,7 +60,7 @@ media::mojom::VideoFrameDataPtr MakeVideoFrameData( + mojo_frame->PlaneOffset(media::VideoFrame::kVPlane))); + } + +-#if defined(OS_LINUX) ++#if defined(OS_LINUX) || defined(OS_BSD) + if (input->storage_type() == media::VideoFrame::STORAGE_DMABUFS) { + std::vector<mojo::ScopedHandle> dmabuf_fds; + +@@ -161,7 +161,7 @@ bool StructTraits<media::mojom::VideoFrameDataView, + shared_buffer_data.u_offset(), shared_buffer_data.v_offset(), + shared_buffer_data.y_stride(), shared_buffer_data.u_stride(), + shared_buffer_data.v_stride(), timestamp); +-#if defined(OS_LINUX) ++#if defined(OS_LINUX) || defined(OS_BSD) + } else if (data.is_dmabuf_data()) { + media::mojom::DmabufVideoFrameDataDataView dmabuf_data; + data.GetDmabufDataDataView(&dmabuf_data); diff --git a/www/iridium/files/patch-media_mojo_services_gpu__mojo__media__client.cc b/www/iridium/files/patch-media_mojo_services_gpu__mojo__media__client.cc new file mode 100644 index 000000000000..ea181aa1b1f3 --- /dev/null +++ b/www/iridium/files/patch-media_mojo_services_gpu__mojo__media__client.cc @@ -0,0 +1,20 @@ +--- media/mojo/services/gpu_mojo_media_client.cc.orig 2020-03-16 18:40:33 UTC ++++ media/mojo/services/gpu_mojo_media_client.cc +@@ -64,7 +64,7 @@ namespace media { + namespace { + + #if defined(OS_ANDROID) || defined(OS_CHROMEOS) || defined(OS_MACOSX) || \ +- defined(OS_WIN) || defined(OS_LINUX) ++ defined(OS_WIN) || defined(OS_LINUX) || defined(OS_BSD) + gpu::CommandBufferStub* GetCommandBufferStub( + scoped_refptr<base::SingleThreadTaskRunner> gpu_task_runner, + base::WeakPtr<MediaGpuChannelManager> media_gpu_channel_manager, +@@ -263,7 +263,7 @@ std::unique_ptr<VideoDecoder> GpuMojoMediaClient::Crea + command_buffer_id->route_id)); + } + +-#elif defined(OS_MACOSX) || defined(OS_WIN) || defined(OS_LINUX) ++#elif defined(OS_MACOSX) || defined(OS_WIN) || defined(OS_LINUX) || defined(OS_BSD) + video_decoder = VdaVideoDecoder::Create( + task_runner, gpu_task_runner_, media_log->Clone(), target_color_space, + gpu_preferences_, gpu_workarounds_, diff --git a/www/iridium/files/patch-media_video_fake__gpu__memory__buffer.cc b/www/iridium/files/patch-media_video_fake__gpu__memory__buffer.cc new file mode 100644 index 000000000000..684c9adbd4b4 --- /dev/null +++ b/www/iridium/files/patch-media_video_fake__gpu__memory__buffer.cc @@ -0,0 +1,47 @@ +--- media/video/fake_gpu_memory_buffer.cc.orig 2019-12-17 19:43:52 UTC ++++ media/video/fake_gpu_memory_buffer.cc +@@ -6,7 +6,7 @@ + + #include "build/build_config.h" + +-#if defined(OS_LINUX) ++#if defined(OS_LINUX) || defined(OS_BSD) + #include <fcntl.h> + #include <sys/stat.h> + #include <sys/types.h> +@@ -44,7 +44,7 @@ class FakeGpuMemoryBufferImpl : public gpu::GpuMemoryB + + } // namespace + +-#if defined(OS_LINUX) ++#if defined(OS_LINUX) || defined(OS_BSD) + base::ScopedFD GetDummyFD() { + base::ScopedFD fd(open("/dev/zero", O_RDWR)); + DCHECK(fd.is_valid()); +@@ -67,7 +67,7 @@ FakeGpuMemoryBuffer::FakeGpuMemoryBuffer(const gfx::Si + // Set a dummy id since this is for testing only. + handle_.id = gfx::GpuMemoryBufferId(0); + +-#if defined(OS_LINUX) ++#if defined(OS_LINUX) || defined(OS_BSD) + // Set a dummy fd since this is for testing only. + handle_.native_pixmap_handle.planes.push_back( + gfx::NativePixmapPlane(size_.width(), 0, y_plane_size, GetDummyFD())); +@@ -76,7 +76,7 @@ FakeGpuMemoryBuffer::FakeGpuMemoryBuffer(const gfx::Si + size_.width(), handle_.native_pixmap_handle.planes[0].size, + uv_plane_size, GetDummyFD())); + } +-#endif // defined(OS_LINUX) ++#endif // defined(OS_LINUX) || defined(OS_BSD) + } + + FakeGpuMemoryBuffer::~FakeGpuMemoryBuffer() = default; +@@ -135,7 +135,7 @@ gfx::GpuMemoryBufferHandle FakeGpuMemoryBuffer::CloneH + gfx::GpuMemoryBufferHandle handle; + handle.type = gfx::NATIVE_PIXMAP; + handle.id = handle_.id; +-#if defined(OS_LINUX) ++#if defined(OS_LINUX) || defined(OS_BSD) + handle.native_pixmap_handle = + gfx::CloneHandleForIPC(handle_.native_pixmap_handle); + #endif diff --git a/www/iridium/files/patch-media_video_gpu__memory__buffer__video__frame__pool.cc b/www/iridium/files/patch-media_video_gpu__memory__buffer__video__frame__pool.cc new file mode 100644 index 000000000000..3941ed5af217 --- /dev/null +++ b/www/iridium/files/patch-media_video_gpu__memory__buffer__video__frame__pool.cc @@ -0,0 +1,11 @@ +--- media/video/gpu_memory_buffer_video_frame_pool.cc.orig 2020-02-03 21:53:32 UTC ++++ media/video/gpu_memory_buffer_video_frame_pool.cc +@@ -572,7 +572,7 @@ void GpuMemoryBufferVideoFramePool::PoolImpl::CreateHa + } + + bool is_software_backed_video_frame = !video_frame->HasTextures(); +-#if defined(OS_LINUX) ++#if defined(OS_LINUX) || defined(OS_BSD) + is_software_backed_video_frame &= !video_frame->HasDmaBufs(); + #endif + diff --git a/www/iridium/files/patch-media_webrtc_webrtc__switches.cc b/www/iridium/files/patch-media_webrtc_webrtc__switches.cc new file mode 100644 index 000000000000..68078dc67afd --- /dev/null +++ b/www/iridium/files/patch-media_webrtc_webrtc__switches.cc @@ -0,0 +1,11 @@ +--- media/webrtc/webrtc_switches.cc.orig 2020-02-03 21:52:48 UTC ++++ media/webrtc/webrtc_switches.cc +@@ -50,7 +50,7 @@ namespace media { + + bool IsWebRtcApmInAudioServiceEnabled() { + #if defined(OS_WIN) || defined(OS_MACOSX) || \ +- (defined(OS_LINUX) && !defined(OS_CHROMEOS)) ++ (defined(OS_LINUX) && !defined(OS_CHROMEOS)) || defined(OS_BSD) + return base::FeatureList::IsEnabled(features::kWebRtcApmInAudioService) && + !base::CommandLine::ForCurrentProcess()->HasSwitch( + switches::kForceDisableWebRtcApmInAudioService); diff --git a/www/iridium/files/patch-mojo_public_c_system_thunks.cc b/www/iridium/files/patch-mojo_public_c_system_thunks.cc new file mode 100644 index 000000000000..dec03d588689 --- /dev/null +++ b/www/iridium/files/patch-mojo_public_c_system_thunks.cc @@ -0,0 +1,49 @@ +--- mojo/public/c/system/thunks.cc.orig 2020-02-03 21:52:48 UTC ++++ mojo/public/c/system/thunks.cc +@@ -15,7 +15,7 @@ + #include "build/build_config.h" + #include "mojo/public/c/system/core.h" + +-#if defined(OS_CHROMEOS) || defined(OS_LINUX) || defined(OS_WIN) ++#if defined(OS_CHROMEOS) || defined(OS_LINUX) || defined(OS_WIN) || defined(OS_BSD) + #include "base/environment.h" + #include "base/files/file_path.h" + #include "base/optional.h" +@@ -58,7 +58,7 @@ namespace mojo { + class CoreLibraryInitializer { + public: + CoreLibraryInitializer(const MojoInitializeOptions* options) { +-#if defined(OS_CHROMEOS) || defined(OS_LINUX) || defined(OS_WIN) ++#if defined(OS_CHROMEOS) || defined(OS_LINUX) || defined(OS_WIN) || defined(OS_BSD) + bool application_provided_path = false; + base::Optional<base::FilePath> library_path; + if (options && options->struct_size >= sizeof(*options) && +@@ -77,7 +77,7 @@ class CoreLibraryInitializer { + + if (!library_path) { + // Default to looking for the library in the current working directory. +-#if defined(OS_CHROMEOS) || defined(OS_LINUX) ++#if defined(OS_CHROMEOS) || defined(OS_LINUX) || defined(OS_BSD) + const base::FilePath::CharType kDefaultLibraryPathValue[] = + FILE_PATH_LITERAL("./libmojo_core.so"); + #elif defined(OS_WIN) +@@ -127,16 +127,16 @@ class CoreLibraryInitializer { + + CHECK_GT(g_thunks.size, 0u) + << "Invalid mojo_core library: " << library_path->value(); +-#else // defined(OS_CHROMEOS) || defined(OS_LINUX) ++#else // defined(OS_CHROMEOS) || defined(OS_LINUX) || defined(OS_BSD) + NOTREACHED() + << "Dynamic mojo_core loading is not supported on this platform."; +-#endif // defined(OS_CHROMEOS) || defined(OS_LINUX) ++#endif // defined(OS_CHROMEOS) || defined(OS_LINUX) || defined(OS_BSD) + } + + ~CoreLibraryInitializer() = default; + + private: +-#if defined(OS_CHROMEOS) || defined(OS_LINUX) || defined(OS_WIN) ++#if defined(OS_CHROMEOS) || defined(OS_LINUX) || defined(OS_WIN) || defined(OS_BSD) + base::Optional<base::ScopedNativeLibrary> library_; + #endif + diff --git a/www/iridium/files/patch-mojo_public_js_mojo__bindings__resources.grd b/www/iridium/files/patch-mojo_public_js_mojo__bindings__resources.grd new file mode 100644 index 000000000000..b0970950923b --- /dev/null +++ b/www/iridium/files/patch-mojo_public_js_mojo__bindings__resources.grd @@ -0,0 +1,11 @@ +--- mojo/public/js/mojo_bindings_resources.grd.orig 2020-03-16 18:39:53 UTC ++++ mojo/public/js/mojo_bindings_resources.grd +@@ -70,7 +70,7 @@ + use_base_dir="false" + type="BINDATA" + compress="gzip" /> +- <if expr="is_win or is_macosx or is_linux"> ++ <if expr="is_win or is_macosx or is_posix"> + <include name="IDR_MOJO_TIME_MOJOM_HTML" + file="${root_gen_dir}/mojo/public/mojom/base/time.mojom.html" + use_base_dir="false" diff --git a/www/iridium/files/patch-net_BUILD.gn b/www/iridium/files/patch-net_BUILD.gn new file mode 100644 index 000000000000..2696770beb1c --- /dev/null +++ b/www/iridium/files/patch-net_BUILD.gn @@ -0,0 +1,46 @@ +--- net/BUILD.gn.orig 2020-03-16 18:40:33 UTC ++++ net/BUILD.gn +@@ -103,7 +103,7 @@ net_configs = [ + "//build/config/compiler:wexit_time_destructors", + ] + +-if (is_linux) { ++if (is_linux && !is_bsd) { + net_configs += [ "//build/config/linux:libresolv" ] + } + +@@ -1247,6 +1247,16 @@ component("net") { + ] + } + ++ if (is_bsd) { ++ sources -= [ ++ "base/address_tracker_linux.cc", ++ "base/address_tracker_linux.h", ++ "base/network_change_notifier_linux.cc", ++ "base/network_change_notifier_linux.h", ++ "base/network_interfaces_linux.cc" ++ ] ++ } ++ + if (is_mac) { + sources += [ + "base/network_notification_thread_mac.cc", +@@ -1373,7 +1383,7 @@ component("net") { + } + } + +- if (is_android || is_chromeos) { ++ if (is_android || is_chromeos || is_bsd) { + sources += [ + "base/network_change_notifier_posix.cc", + "base/network_change_notifier_posix.h", +@@ -1406,7 +1416,7 @@ component("net") { + } + + # Use getifaddrs() on POSIX platforms, except Linux and Android. +- if (is_posix && !is_linux && !is_android) { ++ if (is_posix && ((!is_linux && !is_android) || (is_bsd))) { + sources += [ + "base/network_interfaces_getifaddrs.cc", + "base/network_interfaces_getifaddrs.h", diff --git a/www/iridium/files/patch-net_base_address__tracker__linux.cc b/www/iridium/files/patch-net_base_address__tracker__linux.cc new file mode 100644 index 000000000000..01047dcf1d20 --- /dev/null +++ b/www/iridium/files/patch-net_base_address__tracker__linux.cc @@ -0,0 +1,88 @@ +--- net/base/address_tracker_linux.cc.orig 2020-03-03 18:53:55 UTC ++++ net/base/address_tracker_linux.cc +@@ -5,7 +5,9 @@ + #include "net/base/address_tracker_linux.h" + + #include <errno.h> ++#if !defined(OS_BSD) + #include <linux/if.h> ++#endif + #include <stdint.h> + #include <sys/ioctl.h> + #include <utility> +@@ -177,6 +179,7 @@ AddressTrackerLinux::AddressTrackerLinux( + AddressTrackerLinux::~AddressTrackerLinux() = default; + + void AddressTrackerLinux::Init() { ++#if !defined(OS_FREEBSD) + netlink_fd_.reset(socket(AF_NETLINK, SOCK_RAW, NETLINK_ROUTE)); + if (!netlink_fd_.is_valid()) { + PLOG(ERROR) << "Could not create NETLINK socket"; +@@ -272,6 +275,7 @@ void AddressTrackerLinux::AbortAndForceOnline() { + connection_type_initialized_cv_.Broadcast(); + } + ++#if !defined(OS_BSD) + AddressTrackerLinux::AddressMap AddressTrackerLinux::GetAddressMap() const { + AddressTrackerAutoLock lock(*this, address_map_lock_); + return address_map_; +@@ -290,6 +294,7 @@ bool AddressTrackerLinux::IsInterfaceIgnored(int inter + const char* interface_name = get_interface_name_(interface_index, buf); + return ignored_interfaces_.find(interface_name) != ignored_interfaces_.end(); + } ++#endif // !OS_BSD + + NetworkChangeNotifier::ConnectionType + AddressTrackerLinux::GetCurrentConnectionType() { +@@ -348,6 +353,7 @@ void AddressTrackerLinux::HandleMessage(const char* bu + bool* address_changed, + bool* link_changed, + bool* tunnel_changed) { ++#if !defined(OS_FREEBSD) + DCHECK(buffer); + // Note that NLMSG_NEXT decrements |length| to reflect the number of bytes + // remaining in |buffer|. +@@ -460,6 +466,10 @@ void AddressTrackerLinux::HandleMessage(const char* bu + break; + } + } ++#else // !OS_FREEBSD ++ NOTIMPLEMENTED(); ++ AbortAndForceOnline(); ++#endif // !OS_FREEBSD + } + + void AddressTrackerLinux::OnFileCanReadWithoutBlocking() { +@@ -487,31 +497,7 @@ bool AddressTrackerLinux::IsTunnelInterfaceName(const + } + + void AddressTrackerLinux::UpdateCurrentConnectionType() { +- AddressTrackerLinux::AddressMap address_map = GetAddressMap(); +- std::unordered_set<int> online_links = GetOnlineLinks(); +- +- // Strip out tunnel interfaces from online_links +- for (auto it = online_links.cbegin(); it != online_links.cend();) { +- if (IsTunnelInterface(*it)) { +- it = online_links.erase(it); +- } else { +- ++it; +- } +- } +- +- NetworkInterfaceList networks; +- NetworkChangeNotifier::ConnectionType type = +- NetworkChangeNotifier::CONNECTION_NONE; +- if (GetNetworkListImpl(&networks, 0, online_links, address_map, +- get_interface_name_)) { +- type = NetworkChangeNotifier::ConnectionTypeFromInterfaceList(networks); +- } else { +- type = online_links.empty() ? NetworkChangeNotifier::CONNECTION_NONE +- : NetworkChangeNotifier::CONNECTION_UNKNOWN; +- } +- +- AddressTrackerAutoLock lock(*this, connection_type_lock_); +- current_connection_type_ = type; ++ NOTIMPLEMENTED(); + } + + int AddressTrackerLinux::GetThreadsWaitingForConnectionTypeInitForTesting() { diff --git a/www/iridium/files/patch-net_base_address__tracker__linux.h b/www/iridium/files/patch-net_base_address__tracker__linux.h new file mode 100644 index 000000000000..50b6ecbc20fb --- /dev/null +++ b/www/iridium/files/patch-net_base_address__tracker__linux.h @@ -0,0 +1,12 @@ +--- net/base/address_tracker_linux.h.orig 2019-03-11 22:01:00 UTC ++++ net/base/address_tracker_linux.h +@@ -7,9 +7,6 @@ + + #include <sys/socket.h> // Needed to include netlink. + // Mask superfluous definition of |struct net|. This is fixed in Linux 2.6.38. +-#define net net_kernel +-#include <linux/rtnetlink.h> +-#undef net + #include <stddef.h> + + #include <map> diff --git a/www/iridium/files/patch-net_base_address__tracker__linux__unittest.cc b/www/iridium/files/patch-net_base_address__tracker__linux__unittest.cc new file mode 100644 index 000000000000..58a442e0f159 --- /dev/null +++ b/www/iridium/files/patch-net_base_address__tracker__linux__unittest.cc @@ -0,0 +1,14 @@ +--- net/base/address_tracker_linux_unittest.cc.orig 2019-03-11 22:01:00 UTC ++++ net/base/address_tracker_linux_unittest.cc +@@ -4,7 +4,11 @@ + + #include "net/base/address_tracker_linux.h" + ++#if defined(__linux__) + #include <linux/if.h> ++#else ++#include <net/if.h> ++#endif + + #include <memory> + #include <unordered_set> diff --git a/www/iridium/files/patch-net_base_features.cc b/www/iridium/files/patch-net_base_features.cc new file mode 100644 index 000000000000..306de5e6d980 --- /dev/null +++ b/www/iridium/files/patch-net_base_features.cc @@ -0,0 +1,11 @@ +--- net/base/features.cc.orig 2020-03-17 10:02:15 UTC ++++ net/base/features.cc +@@ -88,7 +88,7 @@ const base::FeatureParam<int> + #if BUILDFLAG(BUILTIN_CERT_VERIFIER_FEATURE_SUPPORTED) + const base::Feature kCertVerifierBuiltinFeature { + "CertVerifierBuiltin", +-#if defined(OS_CHROMEOS) || defined(OS_LINUX) ++#if defined(OS_CHROMEOS) || defined(OS_LINUX) || defined(OS_BSD) + base::FEATURE_ENABLED_BY_DEFAULT + #else + base::FEATURE_DISABLED_BY_DEFAULT diff --git a/www/iridium/files/patch-net_base_network__change__notifier.cc b/www/iridium/files/patch-net_base_network__change__notifier.cc new file mode 100644 index 000000000000..b570610a6483 --- /dev/null +++ b/www/iridium/files/patch-net_base_network__change__notifier.cc @@ -0,0 +1,28 @@ +--- net/base/network_change_notifier.cc.orig 2020-02-03 21:52:49 UTC ++++ net/base/network_change_notifier.cc +@@ -35,7 +35,7 @@ + #include "net/base/network_change_notifier_linux.h" + #elif defined(OS_MACOSX) + #include "net/base/network_change_notifier_mac.h" +-#elif defined(OS_CHROMEOS) || defined(OS_ANDROID) ++#elif defined(OS_CHROMEOS) || defined(OS_ANDROID) || defined(OS_BSD) + #include "net/base/network_change_notifier_posix.h" + #elif defined(OS_FUCHSIA) + #include "net/base/network_change_notifier_fuchsia.h" +@@ -229,7 +229,7 @@ std::unique_ptr<NetworkChangeNotifier> NetworkChangeNo + // service in a separate process. + return std::make_unique<NetworkChangeNotifierPosix>(initial_type, + initial_subtype); +-#elif defined(OS_CHROMEOS) ++#elif defined(OS_CHROMEOS) || defined(OS_BSD) + return std::make_unique<NetworkChangeNotifierPosix>(initial_type, + initial_subtype); + #elif defined(OS_LINUX) +@@ -241,7 +241,6 @@ std::unique_ptr<NetworkChangeNotifier> NetworkChangeNo + return std::make_unique<NetworkChangeNotifierFuchsia>( + 0 /* required_features */); + #else +- NOTIMPLEMENTED(); + return NULL; + #endif + } diff --git a/www/iridium/files/patch-net_base_network__interfaces__posix.h b/www/iridium/files/patch-net_base_network__interfaces__posix.h new file mode 100644 index 000000000000..44b17ad3eafa --- /dev/null +++ b/www/iridium/files/patch-net_base_network__interfaces__posix.h @@ -0,0 +1,11 @@ +--- net/base/network_interfaces_posix.h.orig 2019-03-11 22:01:00 UTC ++++ net/base/network_interfaces_posix.h +@@ -8,6 +8,8 @@ + // This file provides some basic functionality shared between + // network_interfaces_linux.cc and network_interfaces_getifaddrs.cc. + ++#include <sys/socket.h> ++ + #include <string> + + struct sockaddr; diff --git a/www/iridium/files/patch-net_disk__cache_blockfile_disk__format.h b/www/iridium/files/patch-net_disk__cache_blockfile_disk__format.h new file mode 100644 index 000000000000..655e5cca978c --- /dev/null +++ b/www/iridium/files/patch-net_disk__cache_blockfile_disk__format.h @@ -0,0 +1,12 @@ +--- net/disk_cache/blockfile/disk_format.h.orig 2019-03-11 22:01:01 UTC ++++ net/disk_cache/blockfile/disk_format.h +@@ -149,7 +149,9 @@ struct RankingsNode { + }; + #pragma pack(pop) + ++#if !defined(OS_BSD) + static_assert(sizeof(RankingsNode) == 36, "bad RankingsNode"); ++#endif + + } // namespace disk_cache + diff --git a/www/iridium/files/patch-net_dns_address__sorter__posix.cc b/www/iridium/files/patch-net_dns_address__sorter__posix.cc new file mode 100644 index 000000000000..f462de801f4a --- /dev/null +++ b/www/iridium/files/patch-net_dns_address__sorter__posix.cc @@ -0,0 +1,12 @@ +--- net/dns/address_sorter_posix.cc.orig 2019-03-11 22:01:01 UTC ++++ net/dns/address_sorter_posix.cc +@@ -13,7 +13,9 @@ + #include <sys/socket.h> // Must be included before ifaddrs.h. + #include <ifaddrs.h> + #include <net/if.h> ++#include <net/if_var.h> + #include <netinet/in_var.h> ++#include <netinet6/in6_var.h> + #include <string.h> + #include <sys/ioctl.h> + #endif diff --git a/www/iridium/files/patch-net_dns_dns__config__service__posix__unittest.cc b/www/iridium/files/patch-net_dns_dns__config__service__posix__unittest.cc new file mode 100644 index 000000000000..21bd683f8187 --- /dev/null +++ b/www/iridium/files/patch-net_dns_dns__config__service__posix__unittest.cc @@ -0,0 +1,47 @@ +--- net/dns/dns_config_service_posix_unittest.cc.orig 2019-06-04 18:55:27 UTC ++++ net/dns/dns_config_service_posix_unittest.cc +@@ -2,8 +2,6 @@ + // Use of this source code is governed by a BSD-style license that can be + // found in the LICENSE file. + +-#include <resolv.h> +- + #include <memory> + + #include "base/cancelable_callback.h" +@@ -50,7 +48,7 @@ const char* const kNameserversIPv4[] = { + "1.0.0.1", + }; + +-#if defined(OS_LINUX) ++#if defined(OS_LINUX) || defined(OS_BSD) + const char* const kNameserversIPv6[] = { + NULL, + "2001:DB8:0::42", +@@ -86,7 +84,7 @@ void InitializeResState(res_state res) { + ++res->nscount; + } + +-#if defined(OS_LINUX) ++#if defined(OS_LINUX) || defined(OS_BSD) + // Install IPv6 addresses, replacing the corresponding IPv4 addresses. + unsigned nscount6 = 0; + for (unsigned i = 0; i < base::size(kNameserversIPv6) && i < MAXNS; ++i) { +@@ -107,7 +105,7 @@ void InitializeResState(res_state res) { + } + + void CloseResState(res_state res) { +-#if defined(OS_LINUX) ++#if defined(OS_LINUX) || defined(OS_BSD) + for (int i = 0; i < res->nscount; ++i) { + if (res->_u._ext.nsaddrs[i] != NULL) + free(res->_u._ext.nsaddrs[i]); +@@ -132,7 +130,7 @@ void InitializeExpectedConfig(DnsConfig* config) { + config->nameservers.push_back(IPEndPoint(ip, NS_DEFAULTPORT + i)); + } + +-#if defined(OS_LINUX) ++#if defined(OS_LINUX) || defined(OS_BSD) + for (unsigned i = 0; i < base::size(kNameserversIPv6) && i < MAXNS; ++i) { + if (!kNameserversIPv6[i]) + continue; diff --git a/www/iridium/files/patch-net_dns_dns__reloader.cc b/www/iridium/files/patch-net_dns_dns__reloader.cc new file mode 100644 index 000000000000..34eb7a2e01ca --- /dev/null +++ b/www/iridium/files/patch-net_dns_dns__reloader.cc @@ -0,0 +1,13 @@ +--- net/dns/dns_reloader.cc.orig 2019-03-11 22:01:01 UTC ++++ net/dns/dns_reloader.cc +@@ -7,6 +7,10 @@ + #if defined(OS_POSIX) && !defined(OS_MACOSX) && !defined(OS_OPENBSD) && \ + !defined(OS_ANDROID) && !defined(OS_FUCHSIA) + ++#if defined(OS_FREEBSD) ++#include <netinet/in.h> ++#endif ++ + #include <resolv.h> + + #include "base/lazy_instance.h" diff --git a/www/iridium/files/patch-net_dns_dns__util.cc b/www/iridium/files/patch-net_dns_dns__util.cc new file mode 100644 index 000000000000..be75a59fbd52 --- /dev/null +++ b/www/iridium/files/patch-net_dns_dns__util.cc @@ -0,0 +1,11 @@ +--- net/dns/dns_util.cc.orig 2019-10-21 19:06:38 UTC ++++ net/dns/dns_util.cc +@@ -38,6 +38,8 @@ const uint16_t kFlagNamePointer = 0xc000; + + } // namespace + ++#include <sys/socket.h> ++ + #if defined(OS_POSIX) + #include <netinet/in.h> + #if !defined(OS_NACL) diff --git a/www/iridium/files/patch-net_dns_host__resolver__proc.cc b/www/iridium/files/patch-net_dns_host__resolver__proc.cc new file mode 100644 index 000000000000..752211dde398 --- /dev/null +++ b/www/iridium/files/patch-net_dns_host__resolver__proc.cc @@ -0,0 +1,11 @@ +--- net/dns/host_resolver_proc.cc.orig 2020-02-03 21:52:49 UTC ++++ net/dns/host_resolver_proc.cc +@@ -159,7 +159,7 @@ int SystemHostResolverCall(const std::string& host, + base::ScopedBlockingCall scoped_blocking_call(FROM_HERE, + base::BlockingType::WILL_BLOCK); + +-#if defined(OS_POSIX) && !defined(OS_MACOSX) && !defined(OS_OPENBSD) && \ ++#if defined(OS_POSIX) && !defined(OS_MACOSX) && !defined(OS_BSD) && \ + !defined(OS_ANDROID) && !defined(OS_FUCHSIA) + DnsReloaderMaybeReload(); + #endif diff --git a/www/iridium/files/patch-net_features.gni b/www/iridium/files/patch-net_features.gni new file mode 100644 index 000000000000..cb5adcfbf764 --- /dev/null +++ b/www/iridium/files/patch-net_features.gni @@ -0,0 +1,11 @@ +--- net/features.gni.orig 2019-09-09 21:55:21 UTC ++++ net/features.gni +@@ -23,7 +23,7 @@ declare_args() { + disable_brotli_filter = false + + # Multicast DNS. +- enable_mdns = is_win || is_linux || is_fuchsia || is_mac || is_ios ++ enable_mdns = is_win || is_linux || is_fuchsia || is_mac || is_ios || is_bsd + + # Reporting not used on iOS. + enable_reporting = !is_ios diff --git a/www/iridium/files/patch-net_http_http__auth__gssapi__posix.cc b/www/iridium/files/patch-net_http_http__auth__gssapi__posix.cc new file mode 100644 index 000000000000..f4c603544da0 --- /dev/null +++ b/www/iridium/files/patch-net_http_http__auth__gssapi__posix.cc @@ -0,0 +1,14 @@ +--- net/http/http_auth_gssapi_posix.cc.orig 2020-02-03 21:52:49 UTC ++++ net/http/http_auth_gssapi_posix.cc +@@ -367,8 +367,9 @@ base::NativeLibrary GSSAPISharedLibrary::LoadSharedLib + static const char* const kDefaultLibraryNames[] = { + #if defined(OS_MACOSX) + "/System/Library/Frameworks/GSS.framework/GSS" +-#elif defined(OS_OPENBSD) +- "libgssapi.so" // Heimdal - OpenBSD ++#elif defined(OS_BSD) ++ "libgssapi_krb5.so.2", // MIT Kerberos - FreeBSD ++ "libgssapi.so" // Heimdal - OpenBSD, FreeBSD + #else + "libgssapi_krb5.so.2", // MIT Kerberos - FC, Suse10, Debian + "libgssapi.so.4", // Heimdal - Suse10, MDK diff --git a/www/iridium/files/patch-net_http_http__auth__gssapi__posix.h b/www/iridium/files/patch-net_http_http__auth__gssapi__posix.h new file mode 100644 index 000000000000..e333287758ee --- /dev/null +++ b/www/iridium/files/patch-net_http_http__auth__gssapi__posix.h @@ -0,0 +1,12 @@ +--- net/http/http_auth_gssapi_posix.h.orig 2019-09-09 21:55:21 UTC ++++ net/http/http_auth_gssapi_posix.h +@@ -21,6 +21,9 @@ + #include <GSS/gssapi.h> + #elif defined(OS_FREEBSD) + #include <gssapi/gssapi.h> ++#ifndef GSS_C_DELEG_POLICY_FLAG ++#define GSS_C_DELEG_POLICY_FLAG 32768 ++#endif + #else + #include <gssapi.h> + #endif diff --git a/www/iridium/files/patch-net_nqe_network__quality__estimator.cc b/www/iridium/files/patch-net_nqe_network__quality__estimator.cc new file mode 100644 index 000000000000..e23051d78497 --- /dev/null +++ b/www/iridium/files/patch-net_nqe_network__quality__estimator.cc @@ -0,0 +1,11 @@ +--- net/nqe/network_quality_estimator.cc.orig 2020-03-16 18:40:33 UTC ++++ net/nqe/network_quality_estimator.cc +@@ -100,7 +100,7 @@ nqe::internal::NetworkID DoGetCurrentNetworkID() { + case NetworkChangeNotifier::ConnectionType::CONNECTION_ETHERNET: + break; + case NetworkChangeNotifier::ConnectionType::CONNECTION_WIFI: +-#if defined(OS_ANDROID) || defined(OS_LINUX) || defined(OS_WIN) ++#if defined(OS_ANDROID) || defined(OS_LINUX) || defined(OS_WIN) || defined(OS_BSD) + network_id.id = GetWifiSSID(); + #endif + break; diff --git a/www/iridium/files/patch-net_nqe_network__quality__estimator__unittest.cc b/www/iridium/files/patch-net_nqe_network__quality__estimator__unittest.cc new file mode 100644 index 000000000000..6851ab0d6bc3 --- /dev/null +++ b/www/iridium/files/patch-net_nqe_network__quality__estimator__unittest.cc @@ -0,0 +1,11 @@ +--- net/nqe/network_quality_estimator_unittest.cc.orig 2020-03-16 18:39:54 UTC ++++ net/nqe/network_quality_estimator_unittest.cc +@@ -2107,7 +2107,7 @@ TEST_F(NetworkQualityEstimatorTest, TestGlobalSocketWa + // TestTCPSocketRTT requires kernel support for tcp_info struct, and so it is + // enabled only on certain platforms. + // ChromeOS is disabled due to crbug.com/986904 +-#if (defined(TCP_INFO) || defined(OS_LINUX) || defined(OS_ANDROID)) && \ ++#if (defined(TCP_INFO) || defined(OS_LINUX) || defined(OS_ANDROID) || defined(OS_BSD)) && \ + !defined(OS_CHROMEOS) + #define MAYBE_TestTCPSocketRTT TestTCPSocketRTT + #else diff --git a/www/iridium/files/patch-net_proxy__resolution_proxy__config__service__linux.cc b/www/iridium/files/patch-net_proxy__resolution_proxy__config__service__linux.cc new file mode 100644 index 000000000000..cd644766442f --- /dev/null +++ b/www/iridium/files/patch-net_proxy__resolution_proxy__config__service__linux.cc @@ -0,0 +1,39 @@ +--- net/proxy_resolution/proxy_config_service_linux.cc.orig 2020-03-16 18:40:33 UTC ++++ net/proxy_resolution/proxy_config_service_linux.cc +@@ -6,7 +6,9 @@ + + #include <errno.h> + #include <limits.h> ++#if !defined(OS_BSD) + #include <sys/inotify.h> ++#endif + #include <unistd.h> + + #include <map> +@@ -511,6 +513,7 @@ int StringToIntOrDefault(base::StringPiece value, int + return default_value; + } + ++#if !defined(OS_BSD) + // This is the KDE version that reads kioslaverc and simulates gsettings. + // Doing this allows the main Delegate code, as well as the unit tests + // for it, to stay the same - and the settings map fairly well besides. +@@ -1000,6 +1003,7 @@ class SettingGetterImplKDE : public ProxyConfigService + + DISALLOW_COPY_AND_ASSIGN(SettingGetterImplKDE); + }; ++#endif + + } // namespace + +@@ -1214,8 +1218,10 @@ ProxyConfigServiceLinux::Delegate::Delegate( + case base::nix::DESKTOP_ENVIRONMENT_KDE3: + case base::nix::DESKTOP_ENVIRONMENT_KDE4: + case base::nix::DESKTOP_ENVIRONMENT_KDE5: ++#if !defined(OS_BSD) + setting_getter_.reset(new SettingGetterImplKDE(env_var_getter_.get())); + break; ++#endif + case base::nix::DESKTOP_ENVIRONMENT_XFCE: + case base::nix::DESKTOP_ENVIRONMENT_OTHER: + break; diff --git a/www/iridium/files/patch-net_proxy__resolution_proxy__resolution__service.cc b/www/iridium/files/patch-net_proxy__resolution_proxy__resolution__service.cc new file mode 100644 index 000000000000..ef8a51424888 --- /dev/null +++ b/www/iridium/files/patch-net_proxy__resolution_proxy__resolution__service.cc @@ -0,0 +1,29 @@ +--- net/proxy_resolution/proxy_resolution_service.cc.orig 2020-02-03 21:52:49 UTC ++++ net/proxy_resolution/proxy_resolution_service.cc +@@ -49,7 +49,7 @@ + #elif defined(OS_MACOSX) + #include "net/proxy_resolution/proxy_config_service_mac.h" + #include "net/proxy_resolution/proxy_resolver_mac.h" +-#elif defined(OS_LINUX) && !defined(OS_CHROMEOS) ++#elif (defined(OS_BSD) || defined(OS_LINUX)) && !defined(OS_CHROMEOS) + #include "net/proxy_resolution/proxy_config_service_linux.h" + #elif defined(OS_ANDROID) + #include "net/proxy_resolution/proxy_config_service_android.h" +@@ -63,7 +63,7 @@ namespace net { + namespace { + + #if defined(OS_WIN) || defined(OS_IOS) || defined(OS_MACOSX) || \ +- (defined(OS_LINUX) && !defined(OS_CHROMEOS)) ++ ((defined(OS_BSD) || defined(OS_LINUX)) && !defined(OS_CHROMEOS)) + constexpr net::NetworkTrafficAnnotationTag kSystemProxyConfigTrafficAnnotation = + net::DefineNetworkTrafficAnnotation("proxy_config_system", R"( + semantics { +@@ -1556,7 +1556,7 @@ ProxyResolutionService::CreateSystemProxyConfigService + << "profile_io_data.cc::CreateProxyConfigService and this should " + << "be used only for examples."; + return std::make_unique<UnsetProxyConfigService>(); +-#elif defined(OS_LINUX) ++#elif defined(OS_LINUX) || defined(OS_BSD) + std::unique_ptr<ProxyConfigServiceLinux> linux_config_service( + new ProxyConfigServiceLinux()); + diff --git a/www/iridium/files/patch-net_socket_socket__posix.cc b/www/iridium/files/patch-net_socket_socket__posix.cc new file mode 100644 index 000000000000..6b1297662465 --- /dev/null +++ b/www/iridium/files/patch-net_socket_socket__posix.cc @@ -0,0 +1,11 @@ +--- net/socket/socket_posix.cc.orig 2019-12-16 21:51:27 UTC ++++ net/socket/socket_posix.cc +@@ -517,7 +517,7 @@ void SocketPosix::ReadCompleted() { + } + + int SocketPosix::DoWrite(IOBuffer* buf, int buf_len) { +-#if defined(OS_LINUX) || defined(OS_ANDROID) ++#if defined(OS_LINUX) || defined(OS_ANDROID) || defined(OS_BSD) + // Disable SIGPIPE for this write. Although Chromium globally disables + // SIGPIPE, the net stack may be used in other consumers which do not do + // this. MSG_NOSIGNAL is a Linux-only API. On OS X, this is a setsockopt on diff --git a/www/iridium/files/patch-net_socket_socks5__client__socket.cc b/www/iridium/files/patch-net_socket_socks5__client__socket.cc new file mode 100644 index 000000000000..1df3deefc418 --- /dev/null +++ b/www/iridium/files/patch-net_socket_socks5__client__socket.cc @@ -0,0 +1,13 @@ +--- net/socket/socks5_client_socket.cc.orig 2019-04-30 22:22:55 UTC ++++ net/socket/socks5_client_socket.cc +@@ -4,6 +4,10 @@ + + #include "net/socket/socks5_client_socket.h" + ++#if defined(OS_BSD) ++#include <netinet/in.h> ++#endif ++ + #include <utility> + + #include "base/bind.h" diff --git a/www/iridium/files/patch-net_socket_tcp__socket__posix.cc b/www/iridium/files/patch-net_socket_tcp__socket__posix.cc new file mode 100644 index 000000000000..d2a7091eac8d --- /dev/null +++ b/www/iridium/files/patch-net_socket_tcp__socket__posix.cc @@ -0,0 +1,20 @@ +--- net/socket/tcp_socket_posix.cc.orig 2019-03-17 15:46:01 UTC ++++ net/socket/tcp_socket_posix.cc +@@ -88,6 +88,17 @@ bool SetTCPKeepAlive(int fd, bool enable, int delay) { + PLOG(ERROR) << "Failed to set TCP_KEEPALIVE on fd: " << fd; + return false; + } ++#elif defined(OS_BSD) ++ // Set seconds until first TCP keep alive. ++ if (setsockopt(fd, IPPROTO_TCP, TCP_KEEPIDLE, &delay, sizeof(delay))) { ++ PLOG(ERROR) << "Failed to set TCP_KEEPIDLE on fd: " << fd; ++ return false; ++ } ++ // Set seconds between TCP keep alives. ++ if (setsockopt(fd, IPPROTO_TCP, TCP_KEEPINTVL, &delay, sizeof(delay))) { ++ PLOG(ERROR) << "Failed to set TCP_KEEPINTVL on fd: " << fd; ++ return false; ++ } + #endif + return true; + } diff --git a/www/iridium/files/patch-net_socket_udp__socket__posix.cc b/www/iridium/files/patch-net_socket_udp__socket__posix.cc new file mode 100644 index 000000000000..c0cfba258179 --- /dev/null +++ b/www/iridium/files/patch-net_socket_udp__socket__posix.cc @@ -0,0 +1,108 @@ +--- net/socket/udp_socket_posix.cc.orig 2019-09-09 21:55:22 UTC ++++ net/socket/udp_socket_posix.cc +@@ -69,7 +69,7 @@ const int kActivityMonitorMinimumSamplesForThroughputE + const base::TimeDelta kActivityMonitorMsThreshold = + base::TimeDelta::FromMilliseconds(100); + +-#if defined(OS_MACOSX) ++#if defined(OS_MACOSX) || defined(OS_BSD) + // When enabling multicast using setsockopt(IP_MULTICAST_IF) MacOS + // requires passing IPv4 address instead of interface index. This function + // resolves IPv4 address by interface index. The |address| is returned in +@@ -98,7 +98,7 @@ int GetIPv4AddressFromIndex(int socket, uint32_t index + return OK; + } + +-#endif // OS_MACOSX ++#endif // OS_MACOSX || OS_BSD + + #if defined(OS_MACOSX) && !defined(OS_IOS) + +@@ -644,13 +644,13 @@ int UDPSocketPosix::SetDoNotFragment() { + } + + void UDPSocketPosix::SetMsgConfirm(bool confirm) { +-#if !defined(OS_MACOSX) && !defined(OS_IOS) ++#if !defined(OS_MACOSX) && !defined(OS_IOS) && !defined(OS_BSD) + if (confirm) { + sendto_flags_ |= MSG_CONFIRM; + } else { + sendto_flags_ &= ~MSG_CONFIRM; + } +-#endif // !defined(OS_MACOSX) && !defined(OS_IOS) ++#endif // !defined(OS_MACOSX) && !defined(OS_IOS) && !defined(OS_BSD) + } + + int UDPSocketPosix::AllowAddressReuse() { +@@ -665,17 +665,20 @@ int UDPSocketPosix::SetBroadcast(bool broadcast) { + DCHECK_CALLED_ON_VALID_THREAD(thread_checker_); + int value = broadcast ? 1 : 0; + int rv; +-#if defined(OS_MACOSX) ++#if defined(OS_MACOSX) || defined(OS_BSD) + // SO_REUSEPORT on OSX permits multiple processes to each receive + // UDP multicast or broadcast datagrams destined for the bound + // port. + // This is only being set on OSX because its behavior is platform dependent + // and we are playing it safe by only setting it on platforms where things + // break. ++ rv = setsockopt(socket_, SOL_SOCKET, SO_REUSEADDR, &value, sizeof(value)); ++ if (rv != 0) ++ return MapSystemError(errno); + rv = setsockopt(socket_, SOL_SOCKET, SO_REUSEPORT, &value, sizeof(value)); + if (rv != 0) + return MapSystemError(errno); +-#endif // defined(OS_MACOSX) ++#endif // defined(OS_MACOSX) || defined(OS_BSD) + rv = setsockopt(socket_, SOL_SOCKET, SO_BROADCAST, &value, sizeof(value)); + + return rv == 0 ? OK : MapSystemError(errno); +@@ -935,7 +938,7 @@ int UDPSocketPosix::SetMulticastOptions() { + if (multicast_interface_ != 0) { + switch (addr_family_) { + case AF_INET: { +-#if defined(OS_MACOSX) ++#if defined(OS_MACOSX) || defined(OS_BSD) + ip_mreq mreq = {}; + int error = GetIPv4AddressFromIndex(socket_, multicast_interface_, + &mreq.imr_interface.s_addr); +@@ -947,7 +950,11 @@ int UDPSocketPosix::SetMulticastOptions() { + mreq.imr_address.s_addr = htonl(INADDR_ANY); + #endif // !defined(OS_MACOSX) + int rv = setsockopt(socket_, IPPROTO_IP, IP_MULTICAST_IF, ++#if defined(OS_BSD) ++ reinterpret_cast<const char*>(&mreq.imr_interface.s_addr), sizeof(mreq.imr_interface.s_addr)); ++#else + reinterpret_cast<const char*>(&mreq), sizeof(mreq)); ++#endif + if (rv) + return MapSystemError(errno); + break; +@@ -1009,7 +1016,7 @@ int UDPSocketPosix::JoinGroup(const IPAddress& group_a + if (addr_family_ != AF_INET) + return ERR_ADDRESS_INVALID; + +-#if defined(OS_MACOSX) ++#if defined(OS_MACOSX) || defined(OS_BSD) + ip_mreq mreq = {}; + int error = GetIPv4AddressFromIndex(socket_, multicast_interface_, + &mreq.imr_interface.s_addr); +@@ -1057,9 +1064,18 @@ int UDPSocketPosix::LeaveGroup(const IPAddress& group_ + case IPAddress::kIPv4AddressSize: { + if (addr_family_ != AF_INET) + return ERR_ADDRESS_INVALID; ++#if defined(OS_BSD) ++ ip_mreq mreq = {}; ++ int error = GetIPv4AddressFromIndex(socket_, multicast_interface_, ++ &mreq.imr_interface.s_addr); ++ ++ if (error != OK) ++ return error; ++#else + ip_mreqn mreq = {}; + mreq.imr_ifindex = multicast_interface_; + mreq.imr_address.s_addr = INADDR_ANY; ++#endif + memcpy(&mreq.imr_multiaddr, group_address.bytes().data(), + IPAddress::kIPv4AddressSize); + int rv = setsockopt(socket_, IPPROTO_IP, IP_DROP_MEMBERSHIP, diff --git a/www/iridium/files/patch-net_socket_udp__socket__posix.h b/www/iridium/files/patch-net_socket_udp__socket__posix.h new file mode 100644 index 000000000000..373c468ca84d --- /dev/null +++ b/www/iridium/files/patch-net_socket_udp__socket__posix.h @@ -0,0 +1,11 @@ +--- net/socket/udp_socket_posix.h.orig 2019-06-07 19:57:25 UTC ++++ net/socket/udp_socket_posix.h +@@ -33,7 +33,7 @@ + + #if defined(__ANDROID__) && defined(__aarch64__) + #define HAVE_SENDMMSG 1 +-#elif defined(OS_LINUX) ++#elif defined(OS_LINUX) || defined(OS_BSD) + #define HAVE_SENDMMSG 1 + #else + #define HAVE_SENDMMSG 0 diff --git a/www/iridium/files/patch-net_socket_unix__domain__client__socket__posix.cc b/www/iridium/files/patch-net_socket_unix__domain__client__socket__posix.cc new file mode 100644 index 000000000000..9f9ad02d0d9c --- /dev/null +++ b/www/iridium/files/patch-net_socket_unix__domain__client__socket__posix.cc @@ -0,0 +1,11 @@ +--- net/socket/unix_domain_client_socket_posix.cc.orig 2019-06-07 19:59:03 UTC ++++ net/socket/unix_domain_client_socket_posix.cc +@@ -56,7 +56,7 @@ bool UnixDomainClientSocket::FillAddress(const std::st + return true; + } + +-#if defined(OS_ANDROID) || defined(OS_LINUX) ++#if defined(OS_ANDROID) || defined(OS_LINUX) || defined(OS_BSD) + // Convert the path given into abstract socket name. It must start with + // the '\0' character, so we are adding it. |addr_len| must specify the + // length of the structure exactly, as potentially the socket name may diff --git a/www/iridium/files/patch-net_tools_cert__verify__tool_cert__verify__tool.cc b/www/iridium/files/patch-net_tools_cert__verify__tool_cert__verify__tool.cc new file mode 100644 index 000000000000..3e87bd2fcfd9 --- /dev/null +++ b/www/iridium/files/patch-net_tools_cert__verify__tool_cert__verify__tool.cc @@ -0,0 +1,20 @@ +--- net/tools/cert_verify_tool/cert_verify_tool.cc.orig 2020-03-16 18:39:54 UTC ++++ net/tools/cert_verify_tool/cert_verify_tool.cc +@@ -29,7 +29,7 @@ + #include "net/url_request/url_request_context_builder.h" + #include "net/url_request/url_request_context_getter.h" + +-#if defined(OS_LINUX) ++#if defined(OS_LINUX) || defined(OS_BSD) + #include "net/proxy_resolution/proxy_config.h" + #include "net/proxy_resolution/proxy_config_service_fixed.h" + #endif +@@ -51,7 +51,7 @@ void SetUpOnNetworkThread( + base::WaitableEvent* initialization_complete_event) { + net::URLRequestContextBuilder url_request_context_builder; + url_request_context_builder.set_user_agent(GetUserAgent()); +-#if defined(OS_LINUX) ++#if defined(OS_LINUX) || defined(OS_BSD) + // On Linux, use a fixed ProxyConfigService, since the default one + // depends on glib. + // diff --git a/www/iridium/files/patch-net_tools_quic_quic__http__proxy__backend.cc b/www/iridium/files/patch-net_tools_quic_quic__http__proxy__backend.cc new file mode 100644 index 000000000000..65d641ec320d --- /dev/null +++ b/www/iridium/files/patch-net_tools_quic_quic__http__proxy__backend.cc @@ -0,0 +1,11 @@ +--- net/tools/quic/quic_http_proxy_backend.cc.orig 2019-10-21 19:06:39 UTC ++++ net/tools/quic/quic_http_proxy_backend.cc +@@ -161,7 +161,7 @@ void QuicHttpProxyBackend::InitializeURLRequestContext + // Enable HTTP2, but disable QUIC on the backend + context_builder.SetSpdyAndQuicEnabled(true /* http2 */, false /* quic */); + +-#if defined(OS_LINUX) ++#if defined(OS_LINUX) || defined(OS_BSD) + // On Linux, use a fixed ProxyConfigService, since the default one + // depends on glib. + context_builder.set_proxy_config_service( diff --git a/www/iridium/files/patch-net_traffic__annotation_network__traffic__annotation.h b/www/iridium/files/patch-net_traffic__annotation_network__traffic__annotation.h new file mode 100644 index 000000000000..7f70fcc54ea6 --- /dev/null +++ b/www/iridium/files/patch-net_traffic__annotation_network__traffic__annotation.h @@ -0,0 +1,20 @@ +--- net/traffic_annotation/network_traffic_annotation.h.orig 2019-09-16 09:58:42 UTC ++++ net/traffic_annotation/network_traffic_annotation.h +@@ -356,7 +356,7 @@ struct MutablePartialNetworkTrafficAnnotationTag { + } // namespace net + + // Placeholder for unannotated usages. +-#if !defined(OS_WIN) && !defined(OS_LINUX) && !defined(OS_CHROMEOS) ++#if !defined(OS_WIN) && !defined(OS_LINUX) && !defined(OS_CHROMEOS) && !defined(OS_BSD) + #define TRAFFIC_ANNOTATION_WITHOUT_PROTO(ANNOTATION_ID) \ + net::DefineNetworkTrafficAnnotation(ANNOTATION_ID, "No proto yet.") + #endif +@@ -367,7 +367,7 @@ struct MutablePartialNetworkTrafficAnnotationTag { + // + // On Linux and Windows, use MISSING_TRAFFIC_ANNOTATION or + // TRAFFIC_ANNOTATION_FOR_TESTS. +-#if (!defined(OS_WIN) && !defined(OS_LINUX)) || defined(OS_CHROMEOS) ++#if (!defined(OS_WIN) && !defined(OS_LINUX) && !defined(OS_BSD)) || defined(OS_CHROMEOS) + #define NO_TRAFFIC_ANNOTATION_YET \ + net::DefineNetworkTrafficAnnotation("undefined", "Nothing here yet.") + diff --git a/www/iridium/files/patch-net_url__request_url__fetcher.cc b/www/iridium/files/patch-net_url__request_url__fetcher.cc new file mode 100644 index 000000000000..36e2fa9c37e2 --- /dev/null +++ b/www/iridium/files/patch-net_url__request_url__fetcher.cc @@ -0,0 +1,11 @@ +--- net/url_request/url_fetcher.cc.orig 2019-10-30 16:19:14 UTC ++++ net/url_request/url_fetcher.cc +@@ -11,7 +11,7 @@ namespace net { + + URLFetcher::~URLFetcher() = default; + +-#if (!defined(OS_WIN) && !defined(OS_LINUX)) || defined(OS_CHROMEOS) ++#if (!defined(OS_WIN) && !defined(OS_LINUX) && !defined(OS_BSD)) || defined(OS_CHROMEOS) + // static + std::unique_ptr<URLFetcher> URLFetcher::Create( + const GURL& url, diff --git a/www/iridium/files/patch-net_url__request_url__fetcher.h b/www/iridium/files/patch-net_url__request_url__fetcher.h new file mode 100644 index 000000000000..bd4fbd669d4c --- /dev/null +++ b/www/iridium/files/patch-net_url__request_url__fetcher.h @@ -0,0 +1,11 @@ +--- net/url_request/url_fetcher.h.orig 2019-10-30 16:19:33 UTC ++++ net/url_request/url_fetcher.h +@@ -113,7 +113,7 @@ class NET_EXPORT URLFetcher { + // The unannotated Create() methods are not available on desktop Linux + + // Windows. They are available on other platforms, since we only audit network + // annotations on Linux & Windows. +-#if (!defined(OS_WIN) && !defined(OS_LINUX)) || defined(OS_CHROMEOS) ++#if (!defined(OS_WIN) && !defined(OS_LINUX) && !defined(OS_BSD)) || defined(OS_CHROMEOS) + // |url| is the URL to send the request to. It must be valid. + // |request_type| is the type of request to make. + // |d| the object that will receive the callback on fetch completion. diff --git a/www/iridium/files/patch-net_url__request_url__request__context.cc b/www/iridium/files/patch-net_url__request_url__request__context.cc new file mode 100644 index 000000000000..fd2e091f9f61 --- /dev/null +++ b/www/iridium/files/patch-net_url__request_url__request__context.cc @@ -0,0 +1,11 @@ +--- net/url_request/url_request_context.cc.orig 2020-03-16 18:39:54 UTC ++++ net/url_request/url_request_context.cc +@@ -89,7 +89,7 @@ const HttpNetworkSession::Context* URLRequestContext:: + return &network_session->context(); + } + +-#if (!defined(OS_WIN) && !defined(OS_LINUX)) || defined(OS_CHROMEOS) ++#if (!defined(OS_WIN) && !defined(OS_LINUX) && !defined(OS_BSD)) || defined(OS_CHROMEOS) + std::unique_ptr<URLRequest> URLRequestContext::CreateRequest( + const GURL& url, + RequestPriority priority, diff --git a/www/iridium/files/patch-net_url__request_url__request__context.h b/www/iridium/files/patch-net_url__request_url__request__context.h new file mode 100644 index 000000000000..cc9af1e29180 --- /dev/null +++ b/www/iridium/files/patch-net_url__request_url__request__context.h @@ -0,0 +1,11 @@ +--- net/url_request/url_request_context.h.orig 2020-03-16 18:40:33 UTC ++++ net/url_request/url_request_context.h +@@ -82,7 +82,7 @@ class NET_EXPORT URLRequestContext + // session. + const HttpNetworkSession::Context* GetNetworkSessionContext() const; + +-#if (!defined(OS_WIN) && !defined(OS_LINUX)) || defined(OS_CHROMEOS) ++#if (!defined(OS_WIN) && !defined(OS_LINUX) && !defined(OS_BSD)) || defined(OS_CHROMEOS) + // This function should not be used in Chromium, please use the version with + // NetworkTrafficAnnotationTag in the future. + // diff --git a/www/iridium/files/patch-net_url__request_url__request__context__builder.cc b/www/iridium/files/patch-net_url__request_url__request__context__builder.cc new file mode 100644 index 000000000000..0144efb4a529 --- /dev/null +++ b/www/iridium/files/patch-net_url__request_url__request__context__builder.cc @@ -0,0 +1,20 @@ +--- net/url_request/url_request_context_builder.cc.orig 2020-03-16 18:40:33 UTC ++++ net/url_request/url_request_context_builder.cc +@@ -507,7 +507,7 @@ std::unique_ptr<URLRequestContext> URLRequestContextBu + } + + if (!proxy_resolution_service_) { +-#if !defined(OS_LINUX) && !defined(OS_ANDROID) ++#if !defined(OS_LINUX) && !defined(OS_ANDROID) && !defined(OS_BSD) + // TODO(willchan): Switch to using this code when + // ProxyResolutionService::CreateSystemProxyConfigService()'s signature + // doesn't suck. +@@ -516,7 +516,7 @@ std::unique_ptr<URLRequestContext> URLRequestContextBu + ProxyResolutionService::CreateSystemProxyConfigService( + base::ThreadTaskRunnerHandle::Get().get()); + } +-#endif // !defined(OS_LINUX) && !defined(OS_ANDROID) ++#endif // !defined(OS_LINUX) && !defined(OS_ANDROID) && !defined(OS_BSD) + proxy_resolution_service_ = CreateProxyResolutionService( + std::move(proxy_config_service_), context.get(), + context->host_resolver(), context->network_delegate(), diff --git a/www/iridium/files/patch-pdf_pdfium_pdfium__engine.cc b/www/iridium/files/patch-pdf_pdfium_pdfium__engine.cc new file mode 100644 index 000000000000..c1b3c3d2c8a3 --- /dev/null +++ b/www/iridium/files/patch-pdf_pdfium_pdfium__engine.cc @@ -0,0 +1,56 @@ +--- pdf/pdfium/pdfium_engine.cc.orig 2020-03-16 18:40:33 UTC ++++ pdf/pdfium/pdfium_engine.cc +@@ -52,7 +52,7 @@ + #include "ui/gfx/geometry/rect.h" + #include "v8/include/v8.h" + +-#if defined(OS_LINUX) ++#if defined(OS_LINUX) || defined(OS_BSD) + #include "pdf/pdfium/pdfium_font_linux.h" + #endif + +@@ -377,7 +377,7 @@ void InitializeSDK(bool enable_v8) { + config.m_v8EmbedderSlot = gin::kEmbedderPDFium; + FPDF_InitLibraryWithConfig(&config); + +-#if defined(OS_LINUX) ++#if defined(OS_LINUX) || defined(OS_BSD) + InitializeLinuxFontMapper(); + #endif + +@@ -411,7 +411,7 @@ PDFiumEngine::PDFiumEngine(PDFEngine::Client* client, + IFSDK_PAUSE::user = nullptr; + IFSDK_PAUSE::NeedToPauseNow = Pause_NeedToPauseNow; + +-#if defined(OS_LINUX) ++#if defined(OS_LINUX) || defined(OS_BSD) + // PreviewModeClient does not know its pp::Instance. + SetLastInstance(client_->GetPluginInstance()); + #endif +@@ -878,7 +878,7 @@ pp::Buffer_Dev PDFiumEngine::PrintPagesAsRasterPdf( + + KillFormFocus(); + +-#if defined(OS_LINUX) ++#if defined(OS_LINUX) || defined(OS_BSD) + SetLastInstance(client_->GetPluginInstance()); + #endif + +@@ -2861,7 +2861,7 @@ bool PDFiumEngine::ContinuePaint(int progressive_index + DCHECK(image_data); + + last_progressive_start_time_ = base::Time::Now(); +-#if defined(OS_LINUX) ++#if defined(OS_LINUX) || defined(OS_BSD) + SetLastInstance(client_->GetPluginInstance()); + #endif + +@@ -3357,7 +3357,7 @@ void PDFiumEngine::SetCurrentPage(int index) { + FORM_DoPageAAction(old_page, form(), FPDFPAGE_AACTION_CLOSE); + } + most_visible_page_ = index; +-#if defined(OS_LINUX) ++#if defined(OS_LINUX) || defined(OS_BSD) + SetLastInstance(client_->GetPluginInstance()); + #endif + if (most_visible_page_ != -1 && called_do_document_action_) { diff --git a/www/iridium/files/patch-ppapi_proxy_file__io__resource.cc b/www/iridium/files/patch-ppapi_proxy_file__io__resource.cc new file mode 100644 index 000000000000..bd63ba366842 --- /dev/null +++ b/www/iridium/files/patch-ppapi_proxy_file__io__resource.cc @@ -0,0 +1,48 @@ +--- ppapi/proxy/file_io_resource.cc.orig 2020-03-16 18:39:54 UTC ++++ ppapi/proxy/file_io_resource.cc +@@ -284,17 +284,19 @@ int32_t FileIOResource::Write(int64_t offset, + + if (check_quota_) { + int64_t increase = 0; +- uint64_t max_offset = 0; ++ uint64_t _max_offset = 0; ++ // (rene) avoid name collission with /usr/include/vm/vm_map.h on FreeBSD ++ // which also defines max_offset + bool append = (open_flags_ & PP_FILEOPENFLAG_APPEND) != 0; + if (append) { + increase = bytes_to_write; + } else { +- uint64_t max_offset = offset + bytes_to_write; +- if (max_offset > ++ uint64_t _max_offset = offset + bytes_to_write; ++ if (_max_offset > + static_cast<uint64_t>(std::numeric_limits<int64_t>::max())) { + return PP_ERROR_FAILED; // amount calculation would overflow. + } +- increase = static_cast<int64_t>(max_offset) - max_written_offset_; ++ increase = static_cast<int64_t>(_max_offset) - max_written_offset_; + } + + if (increase > 0) { +@@ -318,7 +320,7 @@ int32_t FileIOResource::Write(int64_t offset, + if (append) + append_mode_write_amount_ += bytes_to_write; + else +- max_written_offset_ = max_offset; ++ max_written_offset_ = _max_offset; + } + } + return WriteValidated(offset, buffer, bytes_to_write, callback); +@@ -594,9 +596,9 @@ void FileIOResource::OnRequestWriteQuotaComplete( + } else { + DCHECK_LE(offset + bytes_to_write - max_written_offset_, granted); + +- int64_t max_offset = offset + bytes_to_write; +- if (max_written_offset_ < max_offset) +- max_written_offset_ = max_offset; ++ int64_t _max_offset = offset + bytes_to_write; ++ if (max_written_offset_ < _max_offset) ++ max_written_offset_ = _max_offset; + } + + if (callback->is_blocking()) { diff --git a/www/iridium/files/patch-ppapi_proxy_flash__resource.cc b/www/iridium/files/patch-ppapi_proxy_flash__resource.cc new file mode 100644 index 000000000000..a45deba61a6e --- /dev/null +++ b/www/iridium/files/patch-ppapi_proxy_flash__resource.cc @@ -0,0 +1,11 @@ +--- ppapi/proxy/flash_resource.cc.orig 2019-09-16 10:01:18 UTC ++++ ppapi/proxy/flash_resource.cc +@@ -136,7 +136,7 @@ double FlashResource::GetLocalTimeZoneOffset(PP_Instan + // require filesystem access prohibited by the sandbox. + // TODO(shess): Figure out why OSX needs the access, the sandbox warmup should + // handle it. http://crbug.com/149006 +-#if defined(OS_LINUX) || defined(OS_MACOSX) ++#if defined(OS_LINUX) || defined(OS_MACOSX) || defined(OS_BSD) + int32_t result = SyncCall<PpapiPluginMsg_Flash_GetLocalTimeZoneOffsetReply>( + BROWSER, + PpapiHostMsg_Flash_GetLocalTimeZoneOffset(PPTimeToTime(t)), diff --git a/www/iridium/files/patch-printing_cups__config__helper.py b/www/iridium/files/patch-printing_cups__config__helper.py new file mode 100644 index 000000000000..0795067ee45f --- /dev/null +++ b/www/iridium/files/patch-printing_cups__config__helper.py @@ -0,0 +1,11 @@ +--- printing/cups_config_helper.py.orig 2019-12-16 21:50:51 UTC ++++ printing/cups_config_helper.py +@@ -67,7 +67,7 @@ def main(): + mode = sys.argv[1] + if len(sys.argv) > 2 and sys.argv[2]: + sysroot = sys.argv[2] +- cups_config = os.path.join(sysroot, 'usr', 'bin', 'cups-config') ++ cups_config = os.path.join(sysroot, 'bin', 'cups-config') + if not os.path.exists(cups_config): + print('cups-config not found: %s' % cups_config) + return 1 diff --git a/www/iridium/files/patch-remoting_base_chromoting__event.cc b/www/iridium/files/patch-remoting_base_chromoting__event.cc new file mode 100644 index 000000000000..93df172fe5e5 --- /dev/null +++ b/www/iridium/files/patch-remoting_base_chromoting__event.cc @@ -0,0 +1,11 @@ +--- remoting/base/chromoting_event.cc.orig 2019-09-09 21:55:22 UTC ++++ remoting/base/chromoting_event.cc +@@ -188,7 +188,7 @@ void ChromotingEvent::AddSystemInfo() { + SetString(kCpuKey, base::SysInfo::OperatingSystemArchitecture()); + SetString(kOsVersionKey, base::SysInfo::OperatingSystemVersion()); + SetString(kWebAppVersionKey, STRINGIZE(VERSION)); +-#if defined(OS_LINUX) ++#if defined(OS_LINUX) || defined(OS_BSD) + Os os = Os::CHROMOTING_LINUX; + #elif defined(OS_CHROMEOS) + Os os = Os::CHROMOTING_CHROMEOS; diff --git a/www/iridium/files/patch-remoting_client_display_sys__opengl.h b/www/iridium/files/patch-remoting_client_display_sys__opengl.h new file mode 100644 index 000000000000..cb1787f42c60 --- /dev/null +++ b/www/iridium/files/patch-remoting_client_display_sys__opengl.h @@ -0,0 +1,11 @@ +--- remoting/client/display/sys_opengl.h.orig 2019-03-11 22:01:01 UTC ++++ remoting/client/display/sys_opengl.h +@@ -9,7 +9,7 @@ + + #if defined(OS_IOS) + #include <OpenGLES/ES3/gl.h> +-#elif defined(OS_LINUX) ++#elif defined(OS_LINUX) || defined(OS_BSD) + #define GL_GLEXT_PROTOTYPES + #include <GL/gl.h> + #include <GL/glext.h> diff --git a/www/iridium/files/patch-remoting_host_evaluate__capability.cc b/www/iridium/files/patch-remoting_host_evaluate__capability.cc new file mode 100644 index 000000000000..565d577bd91b --- /dev/null +++ b/www/iridium/files/patch-remoting_host_evaluate__capability.cc @@ -0,0 +1,11 @@ +--- remoting/host/evaluate_capability.cc.orig 2019-03-11 22:01:01 UTC ++++ remoting/host/evaluate_capability.cc +@@ -50,7 +50,7 @@ base::FilePath BuildHostBinaryPath() { + } + #endif + +-#if defined(OS_LINUX) ++#if defined(OS_LINUX) || defined(OS_BSD) + if (path.BaseName().value() == + FILE_PATH_LITERAL("chrome-remote-desktop-host")) { + return path; diff --git a/www/iridium/files/patch-remoting_host_host__attributes.cc b/www/iridium/files/patch-remoting_host_host__attributes.cc new file mode 100644 index 000000000000..d2a35b8d8d01 --- /dev/null +++ b/www/iridium/files/patch-remoting_host_host__attributes.cc @@ -0,0 +1,11 @@ +--- remoting/host/host_attributes.cc.orig 2019-09-09 21:55:22 UTC ++++ remoting/host/host_attributes.cc +@@ -124,7 +124,7 @@ std::string GetHostAttributes() { + media::InitializeMediaFoundation()) { + result.push_back("HWEncoder"); + } +-#elif defined(OS_LINUX) ++#elif defined(OS_LINUX) || defined(OS_BSD) + result.push_back("HWEncoder"); + #endif + diff --git a/www/iridium/files/patch-remoting_host_host__details.cc b/www/iridium/files/patch-remoting_host_host__details.cc new file mode 100644 index 000000000000..2467708caed9 --- /dev/null +++ b/www/iridium/files/patch-remoting_host_host__details.cc @@ -0,0 +1,11 @@ +--- remoting/host/host_details.cc.orig 2019-09-09 21:55:22 UTC ++++ remoting/host/host_details.cc +@@ -22,7 +22,7 @@ std::string GetHostOperatingSystemName() { + return "Mac"; + #elif defined(OS_CHROMEOS) + return "ChromeOS"; +-#elif defined(OS_LINUX) ++#elif defined(OS_LINUX) || defined(OS_BSD) + return "Linux"; + #elif defined(OS_ANDROID) + return "Android"; diff --git a/www/iridium/files/patch-remoting_host_host__main.cc b/www/iridium/files/patch-remoting_host_host__main.cc new file mode 100644 index 000000000000..72f86cb90395 --- /dev/null +++ b/www/iridium/files/patch-remoting_host_host__main.cc @@ -0,0 +1,27 @@ +--- remoting/host/host_main.cc.orig 2019-10-30 16:20:58 UTC ++++ remoting/host/host_main.cc +@@ -49,9 +49,9 @@ int DesktopProcessMain(); + int FileChooserMain(); + int RdpDesktopSessionMain(); + #endif // defined(OS_WIN) +-#if defined(OS_LINUX) ++#if defined(OS_LINUX) || defined(OS_BSD) + int XSessionChooserMain(); +-#endif // defined(OS_LINUX) ++#endif // defined(OS_LINUX) || defined(OS_BSD) + + namespace { + +@@ -146,10 +146,10 @@ MainRoutineFn SelectMainRoutine(const std::string& pro + } else if (process_type == kProcessTypeRdpDesktopSession) { + main_routine = &RdpDesktopSessionMain; + #endif // defined(OS_WIN) +-#if defined(OS_LINUX) ++#if defined(OS_LINUX) || defined(OS_BSD) + } else if (process_type == kProcessTypeXSessionChooser) { + main_routine = &XSessionChooserMain; +-#endif // defined(OS_LINUX) ++#endif // defined(OS_LINUX) || defined(OS_BSD) + } + + return main_routine; diff --git a/www/iridium/files/patch-remoting_host_it2me_it2me__native__messaging__host__main.cc b/www/iridium/files/patch-remoting_host_it2me_it2me__native__messaging__host__main.cc new file mode 100644 index 000000000000..ca1e5dce0129 --- /dev/null +++ b/www/iridium/files/patch-remoting_host_it2me_it2me__native__messaging__host__main.cc @@ -0,0 +1,35 @@ +--- remoting/host/it2me/it2me_native_messaging_host_main.cc.orig 2020-02-03 21:52:49 UTC ++++ remoting/host/it2me/it2me_native_messaging_host_main.cc +@@ -29,12 +29,12 @@ + #include "remoting/host/switches.h" + #include "remoting/host/usage_stats_consent.h" + +-#if defined(OS_LINUX) ++#if defined(OS_LINUX) || defined(OS_BSD) + #include <gtk/gtk.h> + + #include "base/linux_util.h" + #include "ui/gfx/x/x11.h" +-#endif // defined(OS_LINUX) ++#endif // defined(OS_LINUX) || defined(OS_BSD) + + #if defined(OS_MACOSX) + #include "base/mac/mac_util.h" +@@ -112,7 +112,7 @@ int It2MeNativeMessagingHostMain(int argc, char** argv + + remoting::LoadResources(""); + +-#if defined(OS_LINUX) ++#if defined(OS_LINUX) || defined(OS_BSD) + // Required in order for us to run multiple X11 threads. + XInitThreads(); + +@@ -128,7 +128,7 @@ int It2MeNativeMessagingHostMain(int argc, char** argv + // Need to prime the host OS version value for linux to prevent IO on the + // network thread. base::GetLinuxDistro() caches the result. + base::GetLinuxDistro(); +-#endif // OS_LINUX ++#endif // OS_LINUX || OS_BSD + + base::File read_file; + base::File write_file; diff --git a/www/iridium/files/patch-remoting_host_me2me__desktop__environment.cc b/www/iridium/files/patch-remoting_host_me2me__desktop__environment.cc new file mode 100644 index 000000000000..af1299dd2bdf --- /dev/null +++ b/www/iridium/files/patch-remoting_host_me2me__desktop__environment.cc @@ -0,0 +1,11 @@ +--- remoting/host/me2me_desktop_environment.cc.orig 2019-09-09 21:55:22 UTC ++++ remoting/host/me2me_desktop_environment.cc +@@ -129,7 +129,7 @@ bool Me2MeDesktopEnvironment::InitializeSecurity( + + // Otherwise, if the session is shared with the local user start monitoring + // the local input and create the in-session UI. +-#if defined(OS_LINUX) ++#if defined(OS_LINUX) || defined(OS_BSD) + bool want_user_interface = false; + #elif defined(OS_MACOSX) + // Don't try to display any UI on top of the system's login screen as this diff --git a/www/iridium/files/patch-remoting_host_remoting__me2me__host.cc b/www/iridium/files/patch-remoting_host_remoting__me2me__host.cc new file mode 100644 index 000000000000..4773f4846b88 --- /dev/null +++ b/www/iridium/files/patch-remoting_host_remoting__me2me__host.cc @@ -0,0 +1,108 @@ +--- remoting/host/remoting_me2me_host.cc.orig 2020-03-16 18:40:33 UTC ++++ remoting/host/remoting_me2me_host.cc +@@ -118,13 +118,13 @@ + #include "remoting/host/mac/permission_utils.h" + #endif // defined(OS_MACOSX) + +-#if defined(OS_LINUX) ++#if defined(OS_LINUX) || defined(OS_BSD) + #include <gtk/gtk.h> + #include "base/linux_util.h" + #include "remoting/host/audio_capturer_linux.h" + #include "remoting/host/linux/certificate_watcher.h" + #include "ui/gfx/x/x11.h" +-#endif // defined(OS_LINUX) ++#endif // defined(OS_LINUX) || defined(OS_BSD) + + #if defined(OS_WIN) + #include <commctrl.h> +@@ -159,11 +159,11 @@ const char kApplicationName[] = "chromoting"; + const char kStdinConfigPath[] = "-"; + #endif // !defined(REMOTING_MULTI_PROCESS) + +-#if defined(OS_LINUX) ++#if defined(OS_LINUX) || defined(OS_BSD) + // The command line switch used to pass name of the pipe to capture audio on + // linux. + const char kAudioPipeSwitchName[] = "audio-pipe-name"; +-#endif // defined(OS_LINUX) ++#endif // defined(OS_LINUX) || defined(OS_BSD) + + #if defined(OS_POSIX) + // The command line switch used to pass name of the unix domain socket used to +@@ -357,7 +357,7 @@ class HostProcess : public ConfigWatcher::Delegate, + + std::unique_ptr<ChromotingHostContext> context_; + +-#if defined(OS_LINUX) ++#if defined(OS_LINUX) || defined(OS_BSD) + // Watch for certificate changes and kill the host when changes occur + std::unique_ptr<CertificateWatcher> cert_watcher_; + #endif +@@ -582,10 +582,10 @@ bool HostProcess::InitWithCommandLine(const base::Comm + enable_window_capture_ = cmd_line->HasSwitch(kWindowIdSwitchName); + if (enable_window_capture_) { + +-#if defined(OS_LINUX) || defined(OS_WIN) ++#if defined(OS_LINUX) || defined(OS_WIN) || defined(OS_BSD) + LOG(WARNING) << "Window capturing is not fully supported on Linux or " + "Windows."; +-#endif // defined(OS_LINUX) || defined(OS_WIN) ++#endif // defined(OS_LINUX) || defined(OS_WIN) || defined(OS_BSD) + + // uint32_t is large enough to hold window IDs on all platforms. + uint32_t window_id; +@@ -780,7 +780,7 @@ void HostProcess::CreateAuthenticatorFactory() { + DCHECK(third_party_auth_config_.token_url.is_valid()); + DCHECK(third_party_auth_config_.token_validation_url.is_valid()); + +-#if defined(OS_LINUX) ++#if defined(OS_LINUX) || defined(OS_BSD) + if (!cert_watcher_) { + cert_watcher_.reset(new CertificateWatcher( + base::Bind(&HostProcess::ShutdownHost, this, kSuccessExitCode), +@@ -866,7 +866,7 @@ void HostProcess::StartOnUiThread() { + base::Bind(&HostProcess::OnPolicyUpdate, base::Unretained(this)), + base::Bind(&HostProcess::OnPolicyError, base::Unretained(this))); + +-#if defined(OS_LINUX) ++#if defined(OS_LINUX) || defined(OS_BSD) + // If an audio pipe is specific on the command-line then initialize + // AudioCapturerLinux to capture from it. + base::FilePath audio_pipe_name = base::CommandLine::ForCurrentProcess()-> +@@ -875,7 +875,7 @@ void HostProcess::StartOnUiThread() { + remoting::AudioCapturerLinux::InitializePipeReader( + context_->audio_task_runner(), audio_pipe_name); + } +-#endif // defined(OS_LINUX) ++#endif // defined(OS_LINUX) || defined(OS_BSD) + + #if defined(OS_POSIX) + base::FilePath security_key_socket_name = +@@ -930,7 +930,7 @@ void HostProcess::ShutdownOnUiThread() { + // It is now safe for the HostProcess to be deleted. + self_ = nullptr; + +-#if defined(OS_LINUX) ++#if defined(OS_LINUX) || defined(OS_BSD) + // Cause the global AudioPipeReader to be freed, otherwise the audio + // thread will remain in-use and prevent the process from exiting. + // TODO(wez): DesktopEnvironmentFactory should own the pipe reader. +@@ -1529,7 +1529,7 @@ void HostProcess::StartHost() { + host_->AddExtension(std::make_unique<TestEchoExtension>()); + + // TODO(simonmorris): Get the maximum session duration from a policy. +-#if defined(OS_LINUX) ++#if defined(OS_LINUX) || defined(OS_BSD) + host_->SetMaximumSessionDuration(base::TimeDelta::FromHours(20)); + #endif + +@@ -1698,7 +1698,7 @@ void HostProcess::OnCrash(const std::string& function_ + int HostProcessMain() { + HOST_LOG << "Starting host process: version " << STRINGIZE(VERSION); + +-#if defined(OS_LINUX) ++#if defined(OS_LINUX) || defined(OS_BSD) + if (!base::CommandLine::ForCurrentProcess()->HasSwitch( + kReportOfflineReasonSwitchName)) { + // Required in order for us to run multiple X11 threads. diff --git a/www/iridium/files/patch-remoting_host_switches.cc b/www/iridium/files/patch-remoting_host_switches.cc new file mode 100644 index 000000000000..feb1d19fe0ec --- /dev/null +++ b/www/iridium/files/patch-remoting_host_switches.cc @@ -0,0 +1,14 @@ +--- remoting/host/switches.cc.orig 2019-10-30 16:21:28 UTC ++++ remoting/host/switches.cc +@@ -21,9 +21,9 @@ const char kProcessTypeHost[] = "host"; + const char kProcessTypeRdpDesktopSession[] = "rdp_desktop_session"; + const char kProcessTypeEvaluateCapability[] = "evaluate_capability"; + const char kProcessTypeFileChooser[] = "file_chooser"; +-#if defined(OS_LINUX) ++#if defined(OS_LINUX) || defined(OS_BSD) + const char kProcessTypeXSessionChooser[] = "xsession_chooser"; +-#endif // defined(OS_LINUX) ++#endif // defined(OS_LINUX) || defined(OS_BSD) + + const char kEvaluateCapabilitySwitchName[] = "evaluate-type"; + diff --git a/www/iridium/files/patch-remoting_host_switches.h b/www/iridium/files/patch-remoting_host_switches.h new file mode 100644 index 000000000000..39fcdf4bebb2 --- /dev/null +++ b/www/iridium/files/patch-remoting_host_switches.h @@ -0,0 +1,14 @@ +--- remoting/host/switches.h.orig 2019-10-30 16:21:42 UTC ++++ remoting/host/switches.h +@@ -34,9 +34,9 @@ extern const char kProcessTypeHost[]; + extern const char kProcessTypeRdpDesktopSession[]; + extern const char kProcessTypeEvaluateCapability[]; + extern const char kProcessTypeFileChooser[]; +-#if defined(OS_LINUX) ++#if defined(OS_LINUX) || defined(OS_BSD) + extern const char kProcessTypeXSessionChooser[]; +-#endif // defined(OS_LINUX) ++#endif // defined(OS_LINUX) || defined(OS_BSD) + + extern const char kEvaluateCapabilitySwitchName[]; + diff --git a/www/iridium/files/patch-remoting_resources_remoting__strings.grd b/www/iridium/files/patch-remoting_resources_remoting__strings.grd new file mode 100644 index 000000000000..34c07b2c400d --- /dev/null +++ b/www/iridium/files/patch-remoting_resources_remoting__strings.grd @@ -0,0 +1,20 @@ +--- remoting/resources/remoting_strings.grd.orig 2020-02-03 21:53:32 UTC ++++ remoting/resources/remoting_strings.grd +@@ -1393,7 +1393,7 @@ If '<ph name="SERVICE_SCRIPT_NAME">$3<ex>org.chromium. + Open Screen Recording Preferences + </message> + </if> +- <if expr="is_linux"> ++ <if expr="is_posix"> + <message name="IDS_SESSION_DIALOG_MESSAGE" desc="The message to show at the top of the session-selection dialog."> + Select a session to launch within your Chrome Remote Desktop environment. (Note that some session types may not support running within Chrome Remote Desktop and on the local console simultaneously.) + </message> +@@ -1409,7 +1409,7 @@ If '<ph name="SERVICE_SCRIPT_NAME">$3<ex>org.chromium. + <message name="IDS_SESSION_DIALOG_DEFAULT_SESSION_COMMENT" desc="The comment for the entry to launch the default session."> + Launch the default XSession + </message> +- </if> <!-- is_linux --> ++ </if> <!-- is_posix --> + </messages> + </release> + </grit> diff --git a/www/iridium/files/patch-sandbox_features.gni b/www/iridium/files/patch-sandbox_features.gni new file mode 100644 index 000000000000..b5a277f82178 --- /dev/null +++ b/www/iridium/files/patch-sandbox_features.gni @@ -0,0 +1,11 @@ +--- sandbox/features.gni.orig 2020-03-16 18:39:54 UTC ++++ sandbox/features.gni +@@ -8,7 +8,7 @@ import("//build/config/nacl/config.gni") + # currently. + # Do not disable seccomp_bpf anywhere without talking to + # security@chromium.org! +-use_seccomp_bpf = (is_linux || is_android) && ++use_seccomp_bpf = (is_linux || is_android) && !is_bsd && + (current_cpu == "x86" || current_cpu == "x64" || + current_cpu == "arm" || current_cpu == "arm64" || + current_cpu == "mipsel" || current_cpu == "mips64el") diff --git a/www/iridium/files/patch-sandbox_linux_BUILD.gn b/www/iridium/files/patch-sandbox_linux_BUILD.gn new file mode 100644 index 000000000000..d9c24596c644 --- /dev/null +++ b/www/iridium/files/patch-sandbox_linux_BUILD.gn @@ -0,0 +1,47 @@ +--- sandbox/linux/BUILD.gn.orig 2020-04-10 00:39:11 UTC ++++ sandbox/linux/BUILD.gn +@@ -12,12 +12,12 @@ if (is_android) { + } + + declare_args() { +- compile_suid_client = is_linux ++ compile_suid_client = is_linux && !is_bsd + +- compile_credentials = is_linux ++ compile_credentials = is_linux && !is_bsd + + # On Android, use plain GTest. +- use_base_test_suite = is_linux ++ use_base_test_suite = is_linux && !is_bsd + } + + if (is_nacl_nonsfi) { +@@ -373,7 +373,7 @@ component("sandbox_services") { + public_deps += [ ":sandbox_services_headers" ] + } + +- if (is_nacl_nonsfi) { ++ if (is_nacl_nonsfi || is_bsd) { + cflags = [ "-fgnu-inline-asm" ] + + sources -= [ +@@ -381,6 +381,8 @@ component("sandbox_services") { + "services/init_process_reaper.h", + "services/scoped_process.cc", + "services/scoped_process.h", ++ "services/syscall_wrappers.cc", ++ "services/syscall_wrappers.h", + "services/yama.cc", + "services/yama.h", + "syscall_broker/broker_channel.cc", +@@ -399,6 +401,10 @@ component("sandbox_services") { + "syscall_broker/broker_process.h", + "syscall_broker/broker_simple_message.cc", + "syscall_broker/broker_simple_message.h", ++ ] ++ sources += [ ++ "services/libc_interceptor.cc", ++ "services/libc_interceptor.h", + ] + } else if (!is_android) { + sources += [ diff --git a/www/iridium/files/patch-sandbox_linux_services_init__process__reaper.cc b/www/iridium/files/patch-sandbox_linux_services_init__process__reaper.cc new file mode 100644 index 000000000000..ce19163df699 --- /dev/null +++ b/www/iridium/files/patch-sandbox_linux_services_init__process__reaper.cc @@ -0,0 +1,15 @@ +--- sandbox/linux/services/init_process_reaper.cc.orig 2019-03-11 22:01:01 UTC ++++ sandbox/linux/services/init_process_reaper.cc +@@ -1,6 +1,7 @@ + // Copyright 2013 The Chromium Authors. All rights reserved. + // Use of this source code is governed by a BSD-style license that can be + // found in the LICENSE file. ++#if 0 + + #include "sandbox/linux/services/init_process_reaper.h" + +@@ -100,3 +101,4 @@ bool CreateInitProcessReaper(base::OnceClosure post_fo + } + + } // namespace sandbox. ++#endif diff --git a/www/iridium/files/patch-sandbox_linux_services_libc__interceptor.cc b/www/iridium/files/patch-sandbox_linux_services_libc__interceptor.cc new file mode 100644 index 000000000000..6046b28b1771 --- /dev/null +++ b/www/iridium/files/patch-sandbox_linux_services_libc__interceptor.cc @@ -0,0 +1,21 @@ +--- sandbox/linux/services/libc_interceptor.cc.orig 2020-03-16 18:39:54 UTC ++++ sandbox/linux/services/libc_interceptor.cc +@@ -11,7 +11,9 @@ + #include <stddef.h> + #include <stdint.h> + #include <string.h> ++#if !defined(OS_BSD) + #include <sys/prctl.h> ++#endif + #include <sys/socket.h> + #include <sys/types.h> + #include <time.h> +@@ -92,7 +94,7 @@ bool ReadTimeStruct(base::PickleIterator* iter, + } else { + base::AutoLock lock(g_timezones_lock.Get()); + auto ret_pair = g_timezones.Get().insert(timezone); +- output->tm_zone = ret_pair.first->c_str(); ++ output->tm_zone = (char *)ret_pair.first->c_str(); + } + + return true; diff --git a/www/iridium/files/patch-services_audio_BUILD.gn b/www/iridium/files/patch-services_audio_BUILD.gn new file mode 100644 index 000000000000..32423e1a0600 --- /dev/null +++ b/www/iridium/files/patch-services_audio_BUILD.gn @@ -0,0 +1,11 @@ +--- services/audio/BUILD.gn.orig 2020-03-16 18:39:54 UTC ++++ services/audio/BUILD.gn +@@ -82,7 +82,7 @@ source_set("audio") { + "//services/service_manager/sandbox", + ] + +- if (is_linux) { ++ if ((is_linux) && (!is_bsd)) { + sources += [ + "audio_sandbox_hook_linux.cc", + "audio_sandbox_hook_linux.h", diff --git a/www/iridium/files/patch-services_device_geolocation_location__arbitrator.cc b/www/iridium/files/patch-services_device_geolocation_location__arbitrator.cc new file mode 100644 index 000000000000..17db61b295df --- /dev/null +++ b/www/iridium/files/patch-services_device_geolocation_location__arbitrator.cc @@ -0,0 +1,11 @@ +--- services/device/geolocation/location_arbitrator.cc.orig 2020-02-03 21:53:32 UTC ++++ services/device/geolocation/location_arbitrator.cc +@@ -157,7 +157,7 @@ LocationArbitrator::NewNetworkLocationProvider( + + std::unique_ptr<LocationProvider> + LocationArbitrator::NewSystemLocationProvider() { +-#if defined(OS_MACOSX) || defined(OS_LINUX) || defined(OS_FUCHSIA) ++#if defined(OS_MACOSX) || defined(OS_LINUX) || defined(OS_FUCHSIA) || defined(OS_BSD) + return nullptr; + #else + return device::NewSystemLocationProvider(); diff --git a/www/iridium/files/patch-services_device_hid_BUILD.gn b/www/iridium/files/patch-services_device_hid_BUILD.gn new file mode 100644 index 000000000000..01a7f29e58fa --- /dev/null +++ b/www/iridium/files/patch-services_device_hid_BUILD.gn @@ -0,0 +1,22 @@ +--- services/device/hid/BUILD.gn.orig 2019-06-04 18:55:28 UTC ++++ services/device/hid/BUILD.gn +@@ -51,6 +51,19 @@ source_set("hid") { + deps += [ "//device/udev_linux" ] + } + ++ if (is_bsd) { ++ sources -= [ ++ "hid_connection_linux.cc", ++ "hid_connection_linux.h", ++ ] ++ sources += [ ++ "hid_connection_freebsd.cc", ++ "hid_connection_freebsd.h", ++ "hid_service_freebsd.cc", ++ "hid_service_freebsd.h", ++ ] ++ } ++ + if (is_chromeos) { + deps += [ "//chromeos/dbus/permission_broker" ] + } diff --git a/www/iridium/files/patch-services_device_hid_hid__connection__freebsd.cc b/www/iridium/files/patch-services_device_hid_hid__connection__freebsd.cc new file mode 100644 index 000000000000..42e0cc8b1986 --- /dev/null +++ b/www/iridium/files/patch-services_device_hid_hid__connection__freebsd.cc @@ -0,0 +1,243 @@ +--- services/device/hid/hid_connection_freebsd.cc.orig 2019-05-04 09:19:19 UTC ++++ services/device/hid/hid_connection_freebsd.cc +@@ -0,0 +1,240 @@ ++// Copyright (c) 2014 The Chromium Authors. All rights reserved. ++// Use of this source code is governed by a BSD-style license that can be ++// found in the LICENSE file. ++ ++#include "services/device/hid/hid_connection_freebsd.h" ++ ++#include <dev/usb/usbhid.h> ++#include <dev/usb/usb_ioctl.h> ++ ++#include "base/bind.h" ++#include "base/files/file_descriptor_watcher_posix.h" ++#include "base/location.h" ++#include "base/numerics/safe_math.h" ++#include "base/posix/eintr_wrapper.h" ++#include "base/single_thread_task_runner.h" ++#include "base/strings/stringprintf.h" ++#include "base/task/post_task.h" ++#include "base/threading/scoped_blocking_call.h" ++#include "base/threading/thread_restrictions.h" ++#include "base/threading/thread_task_runner_handle.h" ++#include "components/device_event_log/device_event_log.h" ++#include "services/device/hid/hid_service.h" ++ ++namespace device { ++ ++class HidConnectionFreeBSD::BlockingTaskHelper { ++ public: ++ BlockingTaskHelper(base::ScopedFD fd, ++ scoped_refptr<HidDeviceInfo> device_info, ++ base::WeakPtr<HidConnectionFreeBSD> connection) ++ : fd_(std::move(fd)), ++ connection_(connection), ++ origin_task_runner_(base::ThreadTaskRunnerHandle::Get()) { ++ DETACH_FROM_SEQUENCE(sequence_checker_); ++ // Report buffers must always have room for the report ID. ++ report_buffer_size_ = device_info->max_input_report_size() + 1; ++ has_report_id_ = device_info->has_report_id(); ++ } ++ ++ ~BlockingTaskHelper() { DCHECK_CALLED_ON_VALID_SEQUENCE(sequence_checker_); } ++ ++ // Starts the FileDescriptorWatcher that reads input events from the device. ++ // Must be called on a thread that has a base::MessageLoopForIO. ++ void Start() { ++ DCHECK_CALLED_ON_VALID_SEQUENCE(sequence_checker_); ++ base::internal::AssertBlockingAllowed(); ++ ++ file_watcher_ = base::FileDescriptorWatcher::WatchReadable( ++ fd_.get(), base::Bind(&BlockingTaskHelper::OnFileCanReadWithoutBlocking, ++ base::Unretained(this))); ++ } ++ ++ void Write(scoped_refptr<base::RefCountedBytes> buffer, ++ WriteCallback callback) { ++ DCHECK_CALLED_ON_VALID_SEQUENCE(sequence_checker_); ++ base::ScopedBlockingCall scoped_blocking_call( ++ FROM_HERE, base::BlockingType::MAY_BLOCK); ++ ++ auto data = buffer->front(); ++ size_t size = buffer->size(); ++ // if report id is 0, it shouldn't be included ++ if (data[0] == 0) { ++ data++; ++ size--; ++ } ++ ++ ssize_t result = HANDLE_EINTR(write(fd_.get(), data, size)); ++ if (result < 0) { ++ HID_PLOG(EVENT) << "Write failed"; ++ origin_task_runner_->PostTask(FROM_HERE, base::BindOnce(std::move(callback), false)); ++ } else { ++ if (static_cast<size_t>(result) != size) ++ HID_LOG(EVENT) << "Incomplete HID write: " << result << " != " << size; ++ origin_task_runner_->PostTask(FROM_HERE, base::BindOnce(std::move(callback), true)); ++ } ++ } ++ ++ void GetFeatureReport(uint8_t report_id, ++ scoped_refptr<base::RefCountedBytes> buffer, ++ ReadCallback callback) { ++ DCHECK_CALLED_ON_VALID_SEQUENCE(sequence_checker_); ++ base::ScopedBlockingCall scoped_blocking_call( ++ FROM_HERE, base::BlockingType::MAY_BLOCK); ++ struct usb_gen_descriptor ugd; ++ ugd.ugd_report_type = UHID_FEATURE_REPORT; ++ ugd.ugd_data = buffer->front(); ++ ugd.ugd_maxlen = buffer->size(); ++ int result = HANDLE_EINTR( ++ ioctl(fd_.get(), USB_GET_REPORT, &ugd)); ++ if (result < 0) { ++ HID_PLOG(EVENT) << "Failed to get feature report"; ++ origin_task_runner_->PostTask(FROM_HERE, ++ base::BindOnce(std::move(callback), false, nullptr, 0)); ++ } else if (result == 0) { ++ HID_LOG(EVENT) << "Get feature result too short."; ++ origin_task_runner_->PostTask(FROM_HERE, ++ base::BindOnce(std::move(callback), false, nullptr, 0)); ++ } else { ++ origin_task_runner_->PostTask(FROM_HERE, ++ base::BindOnce(std::move(callback), true, buffer, result)); ++ } ++ } ++ ++ void SendFeatureReport(scoped_refptr<base::RefCountedBytes> buffer, ++ WriteCallback callback) { ++ DCHECK_CALLED_ON_VALID_SEQUENCE(sequence_checker_); ++ struct usb_gen_descriptor ugd; ++ ugd.ugd_report_type = UHID_FEATURE_REPORT; ++ ugd.ugd_data = buffer->front(); ++ ugd.ugd_maxlen = buffer->size(); ++ // FreeBSD does not require report id if it's not used ++ if (buffer->front()[0] == 0) { ++ ugd.ugd_data = buffer->front() + 1; ++ ugd.ugd_maxlen = buffer->size() - 1; ++ } else { ++ ugd.ugd_data = buffer->front(); ++ ugd.ugd_maxlen = buffer->size(); ++ } ++ int result = HANDLE_EINTR( ++ ioctl(fd_.get(), USB_SET_REPORT, &ugd)); ++ if (result < 0) { ++ HID_PLOG(EVENT) << "Failed to send feature report"; ++ origin_task_runner_->PostTask(FROM_HERE, ++ base::BindOnce(std::move(callback), false)); ++ } else { ++ origin_task_runner_->PostTask(FROM_HERE, ++ base::BindOnce(std::move(callback), true)); ++ } ++ } ++ ++ private: ++ void OnFileCanReadWithoutBlocking() { ++ DCHECK_CALLED_ON_VALID_SEQUENCE(sequence_checker_); ++ ++ scoped_refptr<base::RefCountedBytes> buffer(new base::RefCountedBytes(report_buffer_size_)); ++ unsigned char* data = buffer->front(); ++ size_t length = report_buffer_size_; ++ if (!has_report_id_) { ++ // FreeBSD will not prefix the buffer with a report ID if report IDs are not ++ // used by the device. Prefix the buffer with 0. ++ *data++ = 0; ++ length--; ++ } ++ ++ ssize_t bytes_read = HANDLE_EINTR(read(fd_.get(), data, length)); ++ if (bytes_read < 0) { ++ if (errno != EAGAIN) { ++ HID_PLOG(EVENT) << "Read failed"; ++ // This assumes that the error is unrecoverable and disables reading ++ // from the device until it has been re-opened. ++ // TODO(reillyg): Investigate starting and stopping the file descriptor ++ // watcher in response to pending read requests so that per-request ++ // errors can be returned to the client. ++ file_watcher_.reset(); ++ } ++ return; ++ } ++ if (!has_report_id_) { ++ // Behave as if the byte prefixed above as the the report ID was read. ++ bytes_read++; ++ } ++ ++ origin_task_runner_->PostTask( ++ FROM_HERE, base::BindOnce(&HidConnectionFreeBSD::ProcessInputReport, ++ connection_, buffer, bytes_read)); ++ } ++ ++ SEQUENCE_CHECKER(sequence_checker_); ++ base::ScopedFD fd_; ++ size_t report_buffer_size_; ++ bool has_report_id_; ++ base::WeakPtr<HidConnectionFreeBSD> connection_; ++ const scoped_refptr<base::SequencedTaskRunner> origin_task_runner_; ++ std::unique_ptr<base::FileDescriptorWatcher::Controller> file_watcher_; ++ ++ DISALLOW_COPY_AND_ASSIGN(BlockingTaskHelper); ++}; ++ ++HidConnectionFreeBSD::HidConnectionFreeBSD( ++ scoped_refptr<HidDeviceInfo> device_info, ++ base::ScopedFD fd, ++ scoped_refptr<base::SequencedTaskRunner> blocking_task_runner) ++ : HidConnection(device_info), ++ blocking_task_runner_(std::move(blocking_task_runner)), ++ weak_factory_(this) { ++ helper_ = std::make_unique<BlockingTaskHelper>(std::move(fd), device_info, ++ weak_factory_.GetWeakPtr()); ++ blocking_task_runner_->PostTask( ++ FROM_HERE, base::BindOnce(&BlockingTaskHelper::Start, ++ base::Unretained(helper_.get()))); ++} ++ ++HidConnectionFreeBSD::~HidConnectionFreeBSD() {} ++ ++void HidConnectionFreeBSD::PlatformClose() { ++ // By closing the device on the blocking task runner 1) the requirement that ++ // base::ScopedFD is destroyed on a thread where I/O is allowed is satisfied ++ // and 2) any tasks posted to this task runner that refer to this file will ++ // complete before it is closed. ++ blocking_task_runner_->DeleteSoon(FROM_HERE, helper_.release()); ++} ++ ++void HidConnectionFreeBSD::PlatformWrite(scoped_refptr<base::RefCountedBytes> buffer, ++ WriteCallback callback) { ++ ++ blocking_task_runner_->PostTask( ++ FROM_HERE, ++ base::BindOnce(&BlockingTaskHelper::Write, base::Unretained(helper_.get()), ++ buffer, std::move(callback))); ++} ++ ++void HidConnectionFreeBSD::PlatformGetFeatureReport(uint8_t report_id, ++ ReadCallback callback) { ++ // The first byte of the destination buffer is the report ID being requested ++ // and is overwritten by the feature report. ++ DCHECK_GT(device_info()->max_feature_report_size(), 0u); ++ scoped_refptr<base::RefCountedBytes> buffer( ++ new base::RefCountedBytes(device_info()->max_feature_report_size() + 1)); ++ if (report_id != 0) ++ buffer->data()[0] = report_id; ++ ++ blocking_task_runner_->PostTask( ++ FROM_HERE, ++ base::BindOnce(&BlockingTaskHelper::GetFeatureReport, ++ base::Unretained(helper_.get()), report_id, ++ buffer, std::move(callback))); ++} ++ ++void HidConnectionFreeBSD::PlatformSendFeatureReport( ++ scoped_refptr<base::RefCountedBytes> buffer, ++ WriteCallback callback) { ++ base::ScopedBlockingCall scoped_blocking_call( ++ FROM_HERE, base::BlockingType::MAY_BLOCK); ++ blocking_task_runner_->PostTask( ++ FROM_HERE, ++ base::BindOnce(&BlockingTaskHelper::SendFeatureReport, ++ base::Unretained(helper_.get()), buffer, std::move(callback))); ++} ++ ++} // namespace device diff --git a/www/iridium/files/patch-services_device_hid_hid__connection__freebsd.h b/www/iridium/files/patch-services_device_hid_hid__connection__freebsd.h new file mode 100644 index 000000000000..0b6704917991 --- /dev/null +++ b/www/iridium/files/patch-services_device_hid_hid__connection__freebsd.h @@ -0,0 +1,71 @@ +--- services/device/hid/hid_connection_freebsd.h.orig 2019-05-01 15:21:27 UTC ++++ services/device/hid/hid_connection_freebsd.h +@@ -0,0 +1,68 @@ ++// Copyright (c) 2014 The Chromium Authors. All rights reserved. ++// Use of this source code is governed by a BSD-style license that can be ++// found in the LICENSE file. ++ ++#ifndef DEVICE_HID_HID_CONNECTION_FREEBSD_H_ ++#define DEVICE_HID_HID_CONNECTION_FREEBSD_H_ ++ ++#include <stddef.h> ++#include <stdint.h> ++ ++#include "base/files/scoped_file.h" ++#include "base/macros.h" ++#include "base/memory/ptr_util.h" ++#include "base/memory/ref_counted_memory.h" ++#include "base/memory/weak_ptr.h" ++#include "base/sequence_checker.h" ++#include "services/device/hid/hid_connection.h" ++ ++namespace base { ++class SequencedTaskRunner; ++} ++ ++namespace net { ++class IOBuffer; ++} ++ ++namespace device { ++ ++class HidConnectionFreeBSD : public HidConnection { ++ public: ++ HidConnectionFreeBSD( ++ scoped_refptr<HidDeviceInfo> device_info, ++ base::ScopedFD fd, ++ scoped_refptr<base::SequencedTaskRunner> blocking_task_runner); ++ ++ private: ++ friend class base::RefCountedThreadSafe<HidConnectionFreeBSD>; ++ class BlockingTaskHelper; ++ ++ ~HidConnectionFreeBSD() override; ++ ++ // HidConnection implementation. ++ void PlatformClose() override; ++ void PlatformWrite(scoped_refptr<base::RefCountedBytes> buffer, ++ WriteCallback callback) override; ++ void PlatformGetFeatureReport(uint8_t report_id, ++ ReadCallback callback) override; ++ void PlatformSendFeatureReport(scoped_refptr<base::RefCountedBytes> buffer, ++ WriteCallback callback) override; ++ ++ // |helper_| lives on the sequence to which |blocking_task_runner_| posts ++ // tasks so all calls must be posted there including this object's ++ // destruction. ++ std::unique_ptr<BlockingTaskHelper> helper_; ++ ++ const scoped_refptr<base::SequencedTaskRunner> blocking_task_runner_; ++ const scoped_refptr<base::SequencedTaskRunner> task_runner_; ++ ++ SEQUENCE_CHECKER(sequence_checker_); ++ ++ base::WeakPtrFactory<HidConnectionFreeBSD> weak_factory_; ++ ++ DISALLOW_COPY_AND_ASSIGN(HidConnectionFreeBSD); ++}; ++ ++} // namespace device ++ ++#endif // DEVICE_HID_HID_CONNECTION_FREEBSD_H_ diff --git a/www/iridium/files/patch-services_device_hid_hid__service.cc b/www/iridium/files/patch-services_device_hid_hid__service.cc new file mode 100644 index 000000000000..cadfcbe6b358 --- /dev/null +++ b/www/iridium/files/patch-services_device_hid_hid__service.cc @@ -0,0 +1,20 @@ +--- services/device/hid/hid_service.cc.orig 2019-03-11 22:01:01 UTC ++++ services/device/hid/hid_service.cc +@@ -16,6 +16,8 @@ + + #if defined(OS_LINUX) && defined(USE_UDEV) + #include "services/device/hid/hid_service_linux.h" ++#elif defined(OS_BSD) ++#include "services/device/hid/hid_service_freebsd.h" + #elif defined(OS_MACOSX) + #include "services/device/hid/hid_service_mac.h" + #elif defined(OS_WIN) +@@ -36,6 +38,8 @@ constexpr base::TaskTraits HidService::kBlockingTaskTr + std::unique_ptr<HidService> HidService::Create() { + #if defined(OS_LINUX) && defined(USE_UDEV) + return base::WrapUnique(new HidServiceLinux()); ++#elif defined(OS_BSD) ++ return base::WrapUnique(new HidServiceFreeBSD()); + #elif defined(OS_MACOSX) + return base::WrapUnique(new HidServiceMac()); + #elif defined(OS_WIN) diff --git a/www/iridium/files/patch-services_device_hid_hid__service__freebsd.cc b/www/iridium/files/patch-services_device_hid_hid__service__freebsd.cc new file mode 100644 index 000000000000..1ede85233d94 --- /dev/null +++ b/www/iridium/files/patch-services_device_hid_hid__service__freebsd.cc @@ -0,0 +1,386 @@ +--- services/device/hid/hid_service_freebsd.cc.orig 2020-03-17 15:11:01 UTC ++++ services/device/hid/hid_service_freebsd.cc +@@ -0,0 +1,383 @@ ++// Copyright 2014 The Chromium Authors. All rights reserved. ++// Use of this source code is governed by a BSD-style license that can be ++// found in the LICENSE file. ++ ++#include "services/device/hid/hid_service_freebsd.h" ++ ++#include <dev/usb/usb_ioctl.h> ++#include <stdint.h> ++#include <sys/socket.h> ++#include <sys/un.h> ++ ++#include <set> ++#include <string> ++#include <vector> ++ ++#include "base/bind.h" ++#include "base/files/file_descriptor_watcher_posix.h" ++#include "base/files/file_enumerator.h" ++#include "base/files/file_util.h" ++#include "base/files/file.h" ++#include "base/location.h" ++#include "base/logging.h" ++#include "base/posix/eintr_wrapper.h" ++#include "base/single_thread_task_runner.h" ++#include "base/stl_util.h" ++#include "base/strings/pattern.h" ++#include "base/strings/stringprintf.h" ++#include "base/strings/sys_string_conversions.h" ++#include "base/strings/string_util.h" ++#include "base/strings/string_split.h" ++#include "base/task/post_task.h" ++#include "base/threading/scoped_blocking_call.h" ++#include "base/threading/thread_task_runner_handle.h" ++#include "components/device_event_log/device_event_log.h" ++#include "services/device/hid/hid_connection_freebsd.h" ++ ++const int kMaxPermissionChecks = 5; ++ ++namespace device { ++ ++struct HidServiceFreeBSD::ConnectParams { ++ ConnectParams(scoped_refptr<HidDeviceInfo> device_info, ++ ConnectCallback callback) ++ : device_info(std::move(device_info)), ++ callback(std::move(callback)), ++ task_runner(base::ThreadTaskRunnerHandle::Get()), ++ blocking_task_runner( ++ base::CreateSequencedTaskRunner(kBlockingTaskTraits)) {} ++ ~ConnectParams() {} ++ ++ scoped_refptr<HidDeviceInfo> device_info; ++ ConnectCallback callback; ++ scoped_refptr<base::SequencedTaskRunner> task_runner; ++ scoped_refptr<base::SequencedTaskRunner> blocking_task_runner; ++ base::ScopedFD fd; ++}; ++ ++class HidServiceFreeBSD::BlockingTaskHelper { ++ public: ++ BlockingTaskHelper(base::WeakPtr<HidServiceFreeBSD> service) ++ : service_(std::move(service)), ++ task_runner_(base::ThreadTaskRunnerHandle::Get()) { ++ DETACH_FROM_SEQUENCE(sequence_checker_); ++ ++ timer_.reset(new base::RepeatingTimer()); ++ devd_buffer_ = new net::IOBufferWithSize(1024); ++ } ++ ++ ~BlockingTaskHelper() { ++ } ++ ++ void Start() { ++ DCHECK_CALLED_ON_VALID_SEQUENCE(sequence_checker_); ++ ++ const base::FilePath kDevRoot("/dev"); ++ const std::string kUHIDPattern("/dev/uhid*"); ++ ++ base::FileEnumerator enumerator(kDevRoot, false, base::FileEnumerator::FILES); ++ do { ++ const base::FilePath next_device_path(enumerator.Next()); ++ const std::string next_device = next_device_path.value(); ++ if (next_device.empty()) ++ break; ++ ++ if (base::MatchPattern(next_device, kUHIDPattern)) ++ OnDeviceAdded(next_device.substr(5)); ++ } while (true); ++ ++ SetupDevdMonitor(); ++ ++ task_runner_->PostTask( ++ FROM_HERE, ++ base::Bind(&HidServiceFreeBSD::FirstEnumerationComplete, service_)); ++ } ++ ++ bool HaveReadWritePermissions(std::string device_id) { ++ std::string device_node = "/dev/" + device_id; ++ base::internal::AssertBlockingAllowed(); ++ ++ base::FilePath device_path(device_node); ++ base::File device_file; ++ int flags = ++ base::File::FLAG_OPEN | base::File::FLAG_READ | base::File::FLAG_WRITE; ++ device_file.Initialize(device_path, flags); ++ if (!device_file.IsValid()) ++ return false; ++ ++ return true; ++ } ++ ++ void OnDeviceAdded(std::string device_id) { ++ base::ScopedBlockingCall scoped_blocking_call( ++ FROM_HERE, base::BlockingType::MAY_BLOCK); ++ std::string device_node = "/dev/" + device_id; ++ uint16_t vendor_id = 0xffff; ++ uint16_t product_id = 0xffff; ++ std::string product_name = ""; ++ std::string serial_number = ""; ++ ++ std::vector<uint8_t> report_descriptor; ++ ++ base::internal::AssertBlockingAllowed(); ++ ++ base::FilePath device_path(device_node); ++ base::File device_file; ++ int flags = ++ base::File::FLAG_OPEN | base::File::FLAG_READ | base::File::FLAG_WRITE; ++ device_file.Initialize(device_path, flags); ++ if (!device_file.IsValid()) { ++ HID_LOG(ERROR) << "Failed to open '" << device_node ++ << "': " ++ << base::File::ErrorToString(device_file.error_details()); ++ return; ++ } ++ ++ base::ScopedFD fd; ++ fd.reset(device_file.TakePlatformFile()); ++ ++ struct usb_gen_descriptor ugd; ++ ugd.ugd_data = NULL; ++ ugd.ugd_maxlen = 0xffff; ++ int result = HANDLE_EINTR( ++ ioctl(fd.get(), USB_GET_REPORT_DESC, &ugd)); ++ ++ if (result < 0) { ++ HID_LOG(ERROR) << "Failed to get report descriptor size"; ++ return; ++ } ++ ++ report_descriptor.resize(ugd.ugd_actlen); ++ ++ ugd.ugd_data = report_descriptor.data(); ++ ugd.ugd_maxlen = ugd.ugd_actlen; ++ result = HANDLE_EINTR( ++ ioctl(fd.get(), USB_GET_REPORT_DESC, &ugd)); ++ ++ if (result < 0) { ++ HID_LOG(ERROR) << "Failed to get report descriptor"; ++ return; ++ } ++ ++ scoped_refptr<HidDeviceInfo> device_info(new HidDeviceInfo( ++ device_id, ++ /*physical_device_id*/"", ++ vendor_id, ++ product_id, ++ product_name, ++ serial_number, ++ device::mojom::HidBusType::kHIDBusTypeUSB, ++ report_descriptor, ++ device_node)); ++ ++ task_runner_->PostTask(FROM_HERE, base::Bind(&HidServiceFreeBSD::AddDevice, ++ service_, device_info)); ++ } ++ ++ void OnDeviceRemoved(std::string device_id) { ++ base::ScopedBlockingCall scoped_blocking_call( ++ FROM_HERE, base::BlockingType::MAY_BLOCK); ++ task_runner_->PostTask( ++ FROM_HERE, base::Bind(&HidServiceFreeBSD::RemoveDevice, service_, ++ device_id)); ++ } ++ ++ private: ++ ++ void CheckPendingPermissionChange() { ++ base::internal::AssertBlockingAllowed(); ++ std::map<std::string, int>::iterator it; ++ for (it = permissions_checks_attempts_.begin(); it != permissions_checks_attempts_.end();) { ++ std::string device_name = it->first; ++ bool keep = true; ++ if (HaveReadWritePermissions(device_name)) { ++ OnDeviceAdded(device_name); ++ keep = false; ++ } ++ else if (it->second-- <= 0) { ++ HID_LOG(ERROR) << "Still don't have write permissions to '" << device_name ++ << "' after " << kMaxPermissionChecks << " attempts"; ++ keep = false; ++ } ++ ++ if (keep) ++ ++it; ++ else ++ permissions_checks_attempts_.erase(it++); ++ } ++ ++ if (permissions_checks_attempts_.empty()) ++ timer_->Stop(); ++ } ++ ++ void SetupDevdMonitor() { ++ base::internal::AssertBlockingAllowed(); ++ ++ int devd_fd = socket(AF_UNIX, SOCK_SEQPACKET, 0); ++ if (devd_fd < 0) ++ return; ++ ++ struct sockaddr_un sa; ++ ++ sa.sun_family = AF_UNIX; ++ strlcpy(sa.sun_path, "/var/run/devd.seqpacket.pipe", sizeof(sa.sun_path)); ++ if (connect(devd_fd, (struct sockaddr *) &sa, sizeof(sa)) < 0) { ++ close(devd_fd); ++ return; ++ } ++ ++ devd_fd_.reset(devd_fd); ++ file_watcher_ = base::FileDescriptorWatcher::WatchReadable( ++ devd_fd_.get(), base::Bind(&BlockingTaskHelper::OnDevdMessageCanBeRead, ++ base::Unretained(this))); ++ } ++ ++ void OnDevdMessageCanBeRead() { ++ DCHECK_CALLED_ON_VALID_SEQUENCE(sequence_checker_); ++ ssize_t bytes_read = HANDLE_EINTR(recv(devd_fd_.get(), devd_buffer_->data(), ++ devd_buffer_->size() - 1, MSG_WAITALL)); ++ if (bytes_read < 0) { ++ if (errno != EAGAIN) { ++ HID_LOG(ERROR) << "Read failed"; ++ file_watcher_.reset(); ++ } ++ return; ++ } ++ ++ devd_buffer_->data()[bytes_read] = 0; ++ char *data = devd_buffer_->data(); ++ // It may take some time for devd to change permissions ++ // on /dev/uhidX node. So do not fail immediately if ++ // open fail. Retry each second for kMaxPermissionChecks ++ // times before giving up entirely ++ if (base::StartsWith(data, "+uhid", base::CompareCase::SENSITIVE)) { ++ std::vector<std::string> parts = base::SplitString( ++ data, " ", base::TRIM_WHITESPACE, base::SPLIT_WANT_ALL); ++ if (!parts.empty()) { ++ std::string device_name = parts[0].substr(1); // skip '+' ++ if (HaveReadWritePermissions(device_name)) ++ OnDeviceAdded(parts[0].substr(1)); ++ else { ++ // Do not re-add to checks ++ if (permissions_checks_attempts_.find(device_name) == permissions_checks_attempts_.end()) { ++ permissions_checks_attempts_.insert(std::pair<std::string, int>(device_name, kMaxPermissionChecks)); ++ timer_->Start(FROM_HERE, base::TimeDelta::FromSeconds(1), ++ this, &BlockingTaskHelper::CheckPendingPermissionChange); ++ } ++ } ++ } ++ } ++ ++ if (base::StartsWith(data, "-uhid", base::CompareCase::SENSITIVE)) { ++ std::vector<std::string> parts = base::SplitString( ++ data, " ", base::TRIM_WHITESPACE, base::SPLIT_WANT_ALL); ++ if (!parts.empty()) { ++ std::string device_name = parts[0].substr(1); // skip '-' ++ auto it = permissions_checks_attempts_.find(device_name); ++ if (it != permissions_checks_attempts_.end()) { ++ permissions_checks_attempts_.erase(it); ++ if (permissions_checks_attempts_.empty()) ++ timer_->Stop(); ++ } ++ OnDeviceRemoved(parts[0].substr(1)); ++ } ++ } ++ } ++ ++ SEQUENCE_CHECKER(sequence_checker_); ++ ++ // This weak pointer is only valid when checked on this task runner. ++ base::WeakPtr<HidServiceFreeBSD> service_; ++ scoped_refptr<base::SequencedTaskRunner> task_runner_; ++ std::unique_ptr<base::FileDescriptorWatcher::Controller> file_watcher_; ++ std::unique_ptr<base::RepeatingTimer> timer_; ++ base::ScopedFD devd_fd_; ++ scoped_refptr<net::IOBufferWithSize> devd_buffer_; ++ std::map<std::string, int> permissions_checks_attempts_; ++ ++ DISALLOW_COPY_AND_ASSIGN(BlockingTaskHelper); ++}; ++ ++HidServiceFreeBSD::HidServiceFreeBSD() ++ : task_runner_(base::ThreadTaskRunnerHandle::Get()), ++ blocking_task_runner_( ++ base::CreateSequencedTaskRunner(kBlockingTaskTraits)), ++ weak_factory_(this) { ++ helper_ = std::make_unique<BlockingTaskHelper>(weak_factory_.GetWeakPtr()); ++ blocking_task_runner_->PostTask( ++ FROM_HERE, ++ base::Bind(&BlockingTaskHelper::Start, base::Unretained(helper_.get()))); ++} ++ ++HidServiceFreeBSD::~HidServiceFreeBSD() { ++ blocking_task_runner_->DeleteSoon(FROM_HERE, helper_.release()); ++} ++ ++base::WeakPtr<HidService> HidServiceFreeBSD::GetWeakPtr() { ++ return weak_factory_.GetWeakPtr(); ++} ++ ++// static ++void HidServiceFreeBSD::OpenOnBlockingThread( ++ std::unique_ptr<ConnectParams> params) { ++ base::ScopedBlockingCall scoped_blocking_call( ++ FROM_HERE, base::BlockingType::MAY_BLOCK); ++ scoped_refptr<base::SequencedTaskRunner> task_runner = params->task_runner; ++ ++ base::FilePath device_path(params->device_info->device_node()); ++ base::File device_file; ++ int flags = ++ base::File::FLAG_OPEN | base::File::FLAG_READ | base::File::FLAG_WRITE; ++ device_file.Initialize(device_path, flags); ++ if (!device_file.IsValid()) { ++ HID_LOG(EVENT) << "Failed to open '" << params->device_info->device_node() ++ << "': " ++ << base::File::ErrorToString(device_file.error_details()); ++ task_runner->PostTask(FROM_HERE, ++ base::BindOnce(std::move(params->callback), nullptr)); ++ return; ++ } ++ params->fd.reset(device_file.TakePlatformFile()); ++ task_runner->PostTask(FROM_HERE, base::BindOnce(&HidServiceFreeBSD::FinishOpen, ++ std::move(params))); ++} ++ ++void HidServiceFreeBSD::Connect(const std::string& device_guid, ++ ConnectCallback callback) { ++ DCHECK_CALLED_ON_VALID_SEQUENCE(sequence_checker_); ++ ++ const auto& map_entry = devices().find(device_guid); ++ if (map_entry == devices().end()) { ++ base::ThreadTaskRunnerHandle::Get()->PostTask( ++ FROM_HERE, base::BindOnce(std::move(callback), nullptr)); ++ return; ++ } ++ ++ scoped_refptr<HidDeviceInfo> device_info = map_entry->second; ++ ++ auto params = std::make_unique<ConnectParams>(device_info, std::move(callback)); ++ scoped_refptr<base::SequencedTaskRunner> blocking_task_runner = ++ params->blocking_task_runner; ++ ++ blocking_task_runner->PostTask( ++ FROM_HERE, base::BindOnce(&HidServiceFreeBSD::OpenOnBlockingThread, ++ std::move(params))); ++} ++ ++// static ++void HidServiceFreeBSD::FinishOpen(std::unique_ptr<ConnectParams> params) { ++ DCHECK(params->fd.is_valid()); ++ ++ if (!base::SetNonBlocking(params->fd.get())) { ++ HID_PLOG(ERROR) << "Failed to set the non-blocking flag on the device fd"; ++ std::move(params->callback).Run(nullptr); ++ } ++ ++ std::move(params->callback).Run(base::MakeRefCounted<HidConnectionFreeBSD>( ++ std::move(params->device_info), ++ std::move(params->fd), ++ std::move(params->blocking_task_runner) ++ )); ++} ++ ++} // namespace device diff --git a/www/iridium/files/patch-services_device_hid_hid__service__freebsd.h b/www/iridium/files/patch-services_device_hid_hid__service__freebsd.h new file mode 100644 index 000000000000..593c762ba5a1 --- /dev/null +++ b/www/iridium/files/patch-services_device_hid_hid__service__freebsd.h @@ -0,0 +1,50 @@ +--- services/device/hid/hid_service_freebsd.h.orig 2020-03-17 15:11:01 UTC ++++ services/device/hid/hid_service_freebsd.h +@@ -0,0 +1,47 @@ ++// Copyright 2014 The Chromium Authors. All rights reserved. ++// Use of this source code is governed by a BSD-style license that can be ++// found in the LICENSE file. ++ ++#ifndef DEVICE_HID_HID_SERVICE_FREEBSD_H_ ++#define DEVICE_HID_HID_SERVICE_FREEBSD_H_ ++ ++#include <string> ++ ++#include "base/macros.h" ++#include "base/memory/ref_counted.h" ++#include "base/memory/weak_ptr.h" ++#include "base/timer/timer.h" ++#include "services/device/hid/hid_service.h" ++#include "net/base/io_buffer.h" ++ ++namespace device { ++ ++class HidServiceFreeBSD : public HidService { ++ public: ++ HidServiceFreeBSD(); ++ ~HidServiceFreeBSD() override; ++ ++ void Connect(const std::string& device_guid, ++ ConnectCallback connect) override; ++ base::WeakPtr<HidService> GetWeakPtr() override; ++ ++ private: ++ struct ConnectParams; ++ class BlockingTaskHelper; ++ ++ static void OpenOnBlockingThread(std::unique_ptr<ConnectParams> params); ++ static void FinishOpen(std::unique_ptr<ConnectParams> params); ++ ++ const scoped_refptr<base::SequencedTaskRunner> task_runner_; ++ const scoped_refptr<base::SequencedTaskRunner> blocking_task_runner_; ++ // |helper_| lives on the sequence |blocking_task_runner_| posts to and holds ++ // a weak reference back to the service that owns it. ++ std::unique_ptr<BlockingTaskHelper> helper_; ++ base::WeakPtrFactory<HidServiceFreeBSD> weak_factory_; ++ ++ DISALLOW_COPY_AND_ASSIGN(HidServiceFreeBSD); ++}; ++ ++} // namespace device ++ ++#endif // DEVICE_HID_HID_SERVICE_FREEBSD_H_ diff --git a/www/iridium/files/patch-services_device_serial_BUILD.gn b/www/iridium/files/patch-services_device_serial_BUILD.gn new file mode 100644 index 000000000000..81589aec985e --- /dev/null +++ b/www/iridium/files/patch-services_device_serial_BUILD.gn @@ -0,0 +1,11 @@ +--- services/device/serial/BUILD.gn.orig 2019-03-11 22:01:01 UTC ++++ services/device/serial/BUILD.gn +@@ -4,7 +4,7 @@ + + import("//build/config/features.gni") + +-if (is_win || (is_linux && use_udev) || is_mac) { ++if (is_win || (is_linux && use_udev) || is_mac || is_bsd) { + config("platform_support") { + visibility = [ ":serial" ] + if (is_win) { diff --git a/www/iridium/files/patch-services_device_serial_serial__io__handler__posix.cc b/www/iridium/files/patch-services_device_serial_serial__io__handler__posix.cc new file mode 100644 index 000000000000..e05dd930bc94 --- /dev/null +++ b/www/iridium/files/patch-services_device_serial_serial__io__handler__posix.cc @@ -0,0 +1,11 @@ +--- services/device/serial/serial_io_handler_posix.cc.orig 2019-04-30 22:22:56 UTC ++++ services/device/serial/serial_io_handler_posix.cc +@@ -66,7 +66,7 @@ bool BitrateToSpeedConstant(int bitrate, speed_t* spee + BITRATE_TO_SPEED_CASE(9600) + BITRATE_TO_SPEED_CASE(19200) + BITRATE_TO_SPEED_CASE(38400) +-#if !defined(OS_MACOSX) ++#if !defined(OS_MACOSX) && !defined(OS_BSD) + BITRATE_TO_SPEED_CASE(57600) + BITRATE_TO_SPEED_CASE(115200) + BITRATE_TO_SPEED_CASE(230400) diff --git a/www/iridium/files/patch-services_device_time__zone__monitor_time__zone__monitor__linux.cc b/www/iridium/files/patch-services_device_time__zone__monitor_time__zone__monitor__linux.cc new file mode 100644 index 000000000000..cff5f136f844 --- /dev/null +++ b/www/iridium/files/patch-services_device_time__zone__monitor_time__zone__monitor__linux.cc @@ -0,0 +1,14 @@ +--- services/device/time_zone_monitor/time_zone_monitor_linux.cc.orig 2020-03-16 18:39:54 UTC ++++ services/device/time_zone_monitor/time_zone_monitor_linux.cc +@@ -127,7 +127,11 @@ class TimeZoneMonitorLinuxImpl + // false positives are harmless, assuming the false positive rate is + // reasonable. + const char* const kFilesToWatch[] = { ++#if defined(OS_BSD) ++ "/etc/localtime", ++#else + "/etc/localtime", "/etc/timezone", "/etc/TZ", ++#endif + }; + for (size_t index = 0; index < base::size(kFilesToWatch); ++index) { + file_path_watchers_.push_back(std::make_unique<base::FilePathWatcher>()); diff --git a/www/iridium/files/patch-services_device_usb_BUILD.gn b/www/iridium/files/patch-services_device_usb_BUILD.gn new file mode 100644 index 000000000000..7c3ad6a76957 --- /dev/null +++ b/www/iridium/files/patch-services_device_usb_BUILD.gn @@ -0,0 +1,11 @@ +--- services/device/usb/BUILD.gn.orig 2019-09-09 21:55:22 UTC ++++ services/device/usb/BUILD.gn +@@ -110,7 +110,7 @@ static_library("usb") { + ] + } + +- if (is_android || is_chromeos || is_linux) { ++ if ((is_android || is_chromeos || is_linux) && !is_bsd) { + sources += [ + "usb_device_handle_usbfs.cc", + "usb_device_handle_usbfs.h", diff --git a/www/iridium/files/patch-services_network_BUILD.gn b/www/iridium/files/patch-services_network_BUILD.gn new file mode 100644 index 000000000000..be4d33bb2644 --- /dev/null +++ b/www/iridium/files/patch-services_network_BUILD.gn @@ -0,0 +1,10 @@ +--- services/network/BUILD.gn.orig 2020-03-16 18:40:34 UTC ++++ services/network/BUILD.gn +@@ -260,7 +260,6 @@ jumbo_component("network_service") { + + if (is_linux) { + deps += [ +- "//sandbox/linux:sandbox_services", + "//services/service_manager/sandbox:sandbox", + ] + } diff --git a/www/iridium/files/patch-services_network_network__context.cc b/www/iridium/files/patch-services_network_network__context.cc new file mode 100644 index 000000000000..888674c04595 --- /dev/null +++ b/www/iridium/files/patch-services_network_network__context.cc @@ -0,0 +1,11 @@ +--- services/network/network_context.cc.orig 2020-03-16 18:40:34 UTC ++++ services/network/network_context.cc +@@ -1758,7 +1758,7 @@ URLRequestContextOwner NetworkContext::MakeURLRequestC + + net::CookieCryptoDelegate* crypto_delegate = nullptr; + if (params_->enable_encrypted_cookies) { +-#if defined(OS_LINUX) && !defined(OS_CHROMEOS) && !BUILDFLAG(IS_CHROMECAST) ++#if (defined(OS_LINUX) || defined(OS_BSD)) && !defined(OS_CHROMEOS) && !BUILDFLAG(IS_CHROMECAST) + DCHECK(network_service_->os_crypt_config_set()) + << "NetworkService::SetCryptConfig must be called before creating a " + "NetworkContext with encrypted cookies."; diff --git a/www/iridium/files/patch-services_network_network__sandbox__hook__linux.cc b/www/iridium/files/patch-services_network_network__sandbox__hook__linux.cc new file mode 100644 index 000000000000..b7b7be5079f4 --- /dev/null +++ b/www/iridium/files/patch-services_network_network__sandbox__hook__linux.cc @@ -0,0 +1,18 @@ +--- services/network/network_sandbox_hook_linux.cc.orig 2019-03-11 22:01:01 UTC ++++ services/network/network_sandbox_hook_linux.cc +@@ -14,6 +14,7 @@ using sandbox::syscall_broker::MakeBrokerCommandSet; + namespace network { + + bool NetworkPreSandboxHook(service_manager::SandboxLinux::Options options) { ++#if !defined(OS_BSD) + auto* instance = service_manager::SandboxLinux::GetInstance(); + + // TODO(tsepez): remove universal permission under filesytem root. +@@ -32,6 +33,7 @@ bool NetworkPreSandboxHook(service_manager::SandboxLin + service_manager::SandboxLinux::PreSandboxHook(), options); + + instance->EngageNamespaceSandboxIfPossible(); ++#endif // defined(OS_BSD) + return true; + } + diff --git a/www/iridium/files/patch-services_network_network__service.cc b/www/iridium/files/patch-services_network_network__service.cc new file mode 100644 index 000000000000..1e69f01166a8 --- /dev/null +++ b/www/iridium/files/patch-services_network_network__service.cc @@ -0,0 +1,20 @@ +--- services/network/network_service.cc.orig 2020-03-16 18:40:34 UTC ++++ services/network/network_service.cc +@@ -63,7 +63,7 @@ + #include "third_party/boringssl/src/include/openssl/cpu.h" + #endif + +-#if defined(OS_LINUX) && !defined(OS_CHROMEOS) && !BUILDFLAG(IS_CHROMECAST) ++#if (defined(OS_LINUX) || defined(OS_BSD)) && !defined(OS_CHROMEOS) && !BUILDFLAG(IS_CHROMECAST) + #include "components/os_crypt/key_storage_config_linux.h" + #endif + +@@ -627,7 +627,7 @@ void NetworkService::OnCertDBChanged() { + net::CertDatabase::GetInstance()->NotifyObserversCertDBChanged(); + } + +-#if defined(OS_LINUX) && !defined(OS_CHROMEOS) ++#if (defined(OS_LINUX) && !defined(OS_CHROMEOS)) || defined(OS_BSD) + void NetworkService::SetCryptConfig(mojom::CryptConfigPtr crypt_config) { + #if !BUILDFLAG(IS_CHROMECAST) + DCHECK(!os_crypt_config_set_); diff --git a/www/iridium/files/patch-services_network_network__service.h b/www/iridium/files/patch-services_network_network__service.h new file mode 100644 index 000000000000..5f21c0217c3a --- /dev/null +++ b/www/iridium/files/patch-services_network_network__service.h @@ -0,0 +1,11 @@ +--- services/network/network_service.h.orig 2020-03-16 18:40:34 UTC ++++ services/network/network_service.h +@@ -150,7 +150,7 @@ class COMPONENT_EXPORT(NETWORK_SERVICE) NetworkService + base::span<const uint8_t> config, + mojom::NetworkService::UpdateLegacyTLSConfigCallback callback) override; + void OnCertDBChanged() override; +-#if defined(OS_LINUX) && !defined(OS_CHROMEOS) ++#if (defined(OS_LINUX) && !defined(OS_CHROMEOS)) || defined(OS_BSD) + void SetCryptConfig(mojom::CryptConfigPtr crypt_config) override; + #endif + #if defined(OS_WIN) || (defined(OS_MACOSX) && !defined(OS_IOS)) diff --git a/www/iridium/files/patch-services_resource__coordinator_memory__instrumentation_queued__request__dispatcher.cc b/www/iridium/files/patch-services_resource__coordinator_memory__instrumentation_queued__request__dispatcher.cc new file mode 100644 index 000000000000..4c391c6c24c4 --- /dev/null +++ b/www/iridium/files/patch-services_resource__coordinator_memory__instrumentation_queued__request__dispatcher.cc @@ -0,0 +1,20 @@ +--- services/resource_coordinator/memory_instrumentation/queued_request_dispatcher.cc.orig 2019-09-09 21:55:22 UTC ++++ services/resource_coordinator/memory_instrumentation/queued_request_dispatcher.cc +@@ -43,7 +43,7 @@ namespace { + uint32_t CalculatePrivateFootprintKb(const mojom::RawOSMemDump& os_dump, + uint32_t shared_resident_kb) { + DCHECK(os_dump.platform_private_footprint); +-#if defined(OS_LINUX) || defined(OS_ANDROID) ++#if defined(OS_LINUX) || defined(OS_ANDROID) || defined(OS_BSD) + uint64_t rss_anon_bytes = os_dump.platform_private_footprint->rss_anon_bytes; + uint64_t vm_swap_bytes = os_dump.platform_private_footprint->vm_swap_bytes; + return (rss_anon_bytes + vm_swap_bytes) / 1024; +@@ -82,7 +82,7 @@ memory_instrumentation::mojom::OSMemDumpPtr CreatePubl + os_dump->is_peak_rss_resettable = internal_os_dump.is_peak_rss_resettable; + os_dump->private_footprint_kb = + CalculatePrivateFootprintKb(internal_os_dump, shared_resident_kb); +-#if defined(OS_LINUX) || defined(OS_ANDROID) ++#if defined(OS_LINUX) || defined(OS_ANDROID) || defined(OS_BSD) + os_dump->private_footprint_swap_kb = + internal_os_dump.platform_private_footprint->vm_swap_bytes / 1024; + #endif diff --git a/www/iridium/files/patch-services_resource__coordinator_public_cpp_memory__instrumentation_os__metrics.h b/www/iridium/files/patch-services_resource__coordinator_public_cpp_memory__instrumentation_os__metrics.h new file mode 100644 index 000000000000..f8b2542dae6e --- /dev/null +++ b/www/iridium/files/patch-services_resource__coordinator_public_cpp_memory__instrumentation_os__metrics.h @@ -0,0 +1,32 @@ +--- services/resource_coordinator/public/cpp/memory_instrumentation/os_metrics.h.orig 2019-07-24 18:58:35 UTC ++++ services/resource_coordinator/public/cpp/memory_instrumentation/os_metrics.h +@@ -28,9 +28,9 @@ class COMPONENT_EXPORT( + mojom::RawOSMemDump*); + static std::vector<mojom::VmRegionPtr> GetProcessMemoryMaps(base::ProcessId); + +-#if defined(OS_LINUX) || defined(OS_ANDROID) ++#if defined(OS_LINUX) || defined(OS_ANDROID) || defined(OS_BSD) + static void SetProcSmapsForTesting(FILE*); +-#endif // defined(OS_LINUX) || defined(OS_ANDROID) ++#endif // defined(OS_LINUX) || defined(OS_ANDROID) || defined(OS_BSD) + + private: + FRIEND_TEST_ALL_PREFIXES(OSMetricsTest, ParseProcSmaps); +@@ -44,7 +44,7 @@ class COMPONENT_EXPORT( + static std::vector<mojom::VmRegionPtr> GetProcessModules(base::ProcessId); + #endif + +-#if defined(OS_LINUX) || defined(OS_ANDROID) ++#if defined(OS_LINUX) || defined(OS_ANDROID) || defined(OS_BSD) + // Provides information on the dump state of resident pages. + enum class MappedAndResidentPagesDumpState { + // Access to /proc/<pid>/pagemap can be denied for android devices running +@@ -68,7 +68,7 @@ class COMPONENT_EXPORT( + // TODO(chiniforooshan): move to /base/process/process_metrics_linux.cc after + // making sure that peak RSS is useful. + static size_t GetPeakResidentSetSize(base::ProcessId pid); +-#endif // defined(OS_LINUX) || defined(OS_ANDROID) ++#endif // defined(OS_LINUX) || defined(OS_ANDROID) || defined(OS_BSD) + }; + + } // namespace memory_instrumentation diff --git a/www/iridium/files/patch-services_resource__coordinator_public_cpp_memory__instrumentation_os__metrics__linux.cc b/www/iridium/files/patch-services_resource__coordinator_public_cpp_memory__instrumentation_os__metrics__linux.cc new file mode 100644 index 000000000000..b38e937afd6f --- /dev/null +++ b/www/iridium/files/patch-services_resource__coordinator_public_cpp_memory__instrumentation_os__metrics__linux.cc @@ -0,0 +1,103 @@ +--- services/resource_coordinator/public/cpp/memory_instrumentation/os_metrics_linux.cc.orig 2019-07-24 18:58:35 UTC ++++ services/resource_coordinator/public/cpp/memory_instrumentation/os_metrics_linux.cc +@@ -22,8 +22,10 @@ + #include "build/build_config.h" + #include "services/resource_coordinator/public/cpp/memory_instrumentation/os_metrics.h" + ++#if !defined(OS_BSD) + // Symbol with virtual address of the start of ELF header of the current binary. + extern char __ehdr_start; ++#endif + + namespace memory_instrumentation { + +@@ -86,6 +88,7 @@ struct ModuleData { + + ModuleData GetMainModuleData() { + ModuleData module_data; ++#if !defined(OS_BSD) + Dl_info dl_info; + if (dladdr(&__ehdr_start, &dl_info)) { + base::debug::ElfBuildIdBuffer build_id; +@@ -96,6 +99,7 @@ ModuleData GetMainModuleData() { + module_data.build_id = std::string(build_id, build_id_length); + } + } ++#endif + return module_data; + } + +@@ -143,14 +147,14 @@ bool ParseSmapsHeader(const char* header_line, + // Build ID is needed to symbolize heap profiles, and is generated only on + // official builds. Build ID is only added for the current library (chrome) + // since it is racy to read other libraries which can be unmapped any time. +-#if defined(OFFICIAL_BUILD) ++#if defined(OFFICIAL_BUILD) && !defined(OS_BSD) + if (!region->mapped_file.empty() && + base::StartsWith(main_module_data.path, region->mapped_file, + base::CompareCase::SENSITIVE) && + !main_module_data.build_id.empty()) { + region->module_debugid = main_module_data.build_id; + } +-#endif // defined(OFFICIAL_BUILD) ++#endif // defined(OFFICIAL_BUILD) && !defined(OS_BSD) + + return res; + } +@@ -239,6 +243,7 @@ bool OSMetrics::FillOSMemoryDump(base::ProcessId pid, + mojom::RawOSMemDump* dump) { + // TODO(chiniforooshan): There is no need to read both /statm and /status + // files. Refactor to get everything from /status using ProcessMetric. ++#if !defined(OS_BSD) + auto statm_file = GetProcPidDir(pid).Append("statm"); + auto autoclose = base::ScopedFD(open(statm_file.value().c_str(), O_RDONLY)); + int statm_fd = autoclose.get(); +@@ -253,6 +258,10 @@ bool OSMetrics::FillOSMemoryDump(base::ProcessId pid, + + if (!success) + return false; ++#else ++ uint64_t resident_pages = 0; ++ uint64_t shared_pages = 0; ++#endif + + auto process_metrics = CreateProcessMetrics(pid); + +@@ -293,6 +302,10 @@ bool OSMetrics::FillOSMemoryDump(base::ProcessId pid, + + // static + std::vector<VmRegionPtr> OSMetrics::GetProcessMemoryMaps(base::ProcessId pid) { ++#if defined(OS_BSD) ++ NOTIMPLEMENTED(); ++ return std::vector<VmRegionPtr>(); ++#else + std::vector<VmRegionPtr> maps; + uint32_t res = 0; + if (g_proc_smaps_for_testing) { +@@ -310,6 +323,7 @@ std::vector<VmRegionPtr> OSMetrics::GetProcessMemoryMa + return std::vector<VmRegionPtr>(); + + return maps; ++#endif + } + + // static +@@ -317,6 +331,10 @@ OSMetrics::MappedAndResidentPagesDumpState OSMetrics:: + const size_t start_address, + const size_t end_address, + std::vector<uint8_t>* accessed_pages_bitmap) { ++#if defined(OS_BSD) ++ NOTIMPLEMENTED(); ++ return OSMetrics::MappedAndResidentPagesDumpState::kFailure; ++#else + const char* kPagemap = "/proc/self/pagemap"; + + base::ScopedFILE pagemap_file(fopen(kPagemap, "r")); +@@ -358,6 +376,7 @@ OSMetrics::MappedAndResidentPagesDumpState OSMetrics:: + } + } + return OSMetrics::MappedAndResidentPagesDumpState::kSuccess; ++#endif + } + + // static diff --git a/www/iridium/files/patch-services_service__manager_embedder_main.cc b/www/iridium/files/patch-services_service__manager_embedder_main.cc new file mode 100644 index 000000000000..9c935b9f16e1 --- /dev/null +++ b/www/iridium/files/patch-services_service__manager_embedder_main.cc @@ -0,0 +1,11 @@ +--- services/service_manager/embedder/main.cc.orig 2019-10-21 19:06:40 UTC ++++ services/service_manager/embedder/main.cc +@@ -272,7 +272,7 @@ int Main(const MainParams& params) { + #endif + base::EnableTerminationOnOutOfMemory(); + +-#if defined(OS_LINUX) ++#if defined(OS_LINUX) || defined(OS_BSD) + // The various desktop environments set this environment variable that + // allows the dbus client library to connect directly to the bus. When this + // variable is not set (test environments like xvfb-run), the dbus client diff --git a/www/iridium/files/patch-services_service__manager_embedder_set__process__title__linux.cc b/www/iridium/files/patch-services_service__manager_embedder_set__process__title__linux.cc new file mode 100644 index 000000000000..56f27b3a6704 --- /dev/null +++ b/www/iridium/files/patch-services_service__manager_embedder_set__process__title__linux.cc @@ -0,0 +1,19 @@ +--- services/service_manager/embedder/set_process_title_linux.cc.orig 2019-03-11 22:01:02 UTC ++++ services/service_manager/embedder/set_process_title_linux.cc +@@ -49,6 +49,8 @@ + extern char** environ; + + static char** g_main_argv = NULL; ++ ++#if !defined(OS_FREEBSD) + static char* g_orig_argv0 = NULL; + + void setproctitle(const char* fmt, ...) { +@@ -101,6 +103,7 @@ void setproctitle(const char* fmt, ...) { + va_end(ap); + g_main_argv[1] = NULL; + } ++#endif + + // A version of this built into glibc would not need this function, since + // it could stash the argv pointer in __libc_start_main(). But we need it. diff --git a/www/iridium/files/patch-services_service__manager_embedder_set__process__title__linux.h b/www/iridium/files/patch-services_service__manager_embedder_set__process__title__linux.h new file mode 100644 index 000000000000..0e1eb1ce1d32 --- /dev/null +++ b/www/iridium/files/patch-services_service__manager_embedder_set__process__title__linux.h @@ -0,0 +1,20 @@ +--- services/service_manager/embedder/set_process_title_linux.h.orig 2019-03-11 22:01:02 UTC ++++ services/service_manager/embedder/set_process_title_linux.h +@@ -5,6 +5,9 @@ + #ifndef SERVICES_SERVICE_MANAGER_EMBEDDER_SET_PROCESS_TITLE_LINUX_H_ + #define SERVICES_SERVICE_MANAGER_EMBEDDER_SET_PROCESS_TITLE_LINUX_H_ + ++#include "build/build_config.h" ++ ++#if !defined(OS_FREEBSD) + // Set the process title that will show in "ps" and similar tools. Takes + // printf-style format string and arguments. After calling setproctitle() + // the original main() argv[] array should not be used. By default, the +@@ -14,6 +17,7 @@ + // This signature and naming is to be compatible with most other Unix + // implementations of setproctitle(). + void setproctitle(const char* fmt, ...); ++#endif + + // Initialize state needed for setproctitle() on Linux. Pass the argv pointer + // from main() to setproctitle_init() before calling setproctitle(). diff --git a/www/iridium/files/patch-services_service__manager_public_cpp_service__executable_BUILD.gn b/www/iridium/files/patch-services_service__manager_public_cpp_service__executable_BUILD.gn new file mode 100644 index 000000000000..4e2b8913bd0b --- /dev/null +++ b/www/iridium/files/patch-services_service__manager_public_cpp_service__executable_BUILD.gn @@ -0,0 +1,14 @@ +--- services/service_manager/public/cpp/service_executable/BUILD.gn.orig 2019-04-30 22:22:56 UTC ++++ services/service_manager/public/cpp/service_executable/BUILD.gn +@@ -29,6 +29,11 @@ source_set("support") { + "//sandbox/linux:seccomp_bpf", + ] + } ++ if (is_bsd) { ++ deps -= [ ++ "//sandbox/linux:seccomp_bpf" ++ ] ++ } + } + + source_set("switches") { diff --git a/www/iridium/files/patch-services_service__manager_sandbox_BUILD.gn b/www/iridium/files/patch-services_service__manager_sandbox_BUILD.gn new file mode 100644 index 000000000000..79967079b24d --- /dev/null +++ b/www/iridium/files/patch-services_service__manager_sandbox_BUILD.gn @@ -0,0 +1,11 @@ +--- services/service_manager/sandbox/BUILD.gn.orig 2020-03-16 18:40:34 UTC ++++ services/service_manager/sandbox/BUILD.gn +@@ -26,7 +26,7 @@ component("sandbox") { + "//base", + "//sandbox:common", + ] +- if (is_linux) { ++ if (is_linux && !is_bsd) { + sources += [ + "linux/bpf_audio_policy_linux.cc", + "linux/bpf_audio_policy_linux.h", diff --git a/www/iridium/files/patch-services_service__manager_zygote_common_zygote__features.gni b/www/iridium/files/patch-services_service__manager_zygote_common_zygote__features.gni new file mode 100644 index 000000000000..d6dc2aed4fb6 --- /dev/null +++ b/www/iridium/files/patch-services_service__manager_zygote_common_zygote__features.gni @@ -0,0 +1,8 @@ +--- services/service_manager/zygote/common/zygote_features.gni.orig 2019-03-11 22:01:02 UTC ++++ services/service_manager/zygote/common/zygote_features.gni +@@ -2,4 +2,4 @@ + # Use of this source code is governed by a BSD-style license that can be + # found in the LICENSE file. + +-use_zygote_handle = is_posix && !is_android && !is_mac ++use_zygote_handle = is_posix && !is_android && !is_mac && !is_bsd diff --git a/www/iridium/files/patch-services_service__manager_zygote_host_zygote__host__impl__linux.cc b/www/iridium/files/patch-services_service__manager_zygote_host_zygote__host__impl__linux.cc new file mode 100644 index 000000000000..95e322cffb48 --- /dev/null +++ b/www/iridium/files/patch-services_service__manager_zygote_host_zygote__host__impl__linux.cc @@ -0,0 +1,40 @@ +--- services/service_manager/zygote/host/zygote_host_impl_linux.cc.orig 2019-03-11 22:01:02 UTC ++++ services/service_manager/zygote/host/zygote_host_impl_linux.cc +@@ -72,6 +72,7 @@ ZygoteHostImpl* ZygoteHostImpl::GetInstance() { + } + + void ZygoteHostImpl::Init(const base::CommandLine& command_line) { ++#if !defined(OS_BSD) + if (command_line.HasSwitch(service_manager::switches::kNoSandbox)) { + return; + } +@@ -122,6 +123,7 @@ void ZygoteHostImpl::Init(const base::CommandLine& com + "you can try using --" + << service_manager::switches::kNoSandbox << "."; + } ++#endif + } + + void ZygoteHostImpl::AddZygotePid(pid_t pid) { +@@ -146,6 +148,7 @@ pid_t ZygoteHostImpl::LaunchZygote( + base::CommandLine* cmd_line, + base::ScopedFD* control_fd, + base::FileHandleMappingVector additional_remapped_fds) { ++#if !defined(OS_BSD) + int fds[2]; + CHECK_EQ(0, socketpair(AF_UNIX, SOCK_SEQPACKET, 0, fds)); + CHECK(base::UnixDomainSocket::EnableReceiveProcessId(fds[0])); +@@ -210,9 +213,12 @@ pid_t ZygoteHostImpl::LaunchZygote( + + AddZygotePid(pid); + return pid; ++#else ++ return 0; ++#endif + } + +-#if !defined(OS_OPENBSD) ++#if !defined(OS_BSD) + void ZygoteHostImpl::AdjustRendererOOMScore(base::ProcessHandle pid, + int score) { + // 1) You can't change the oom_score_adj of a non-dumpable process diff --git a/www/iridium/files/patch-services_service__manager_zygote_host_zygote__host__impl__linux.h b/www/iridium/files/patch-services_service__manager_zygote_host_zygote__host__impl__linux.h new file mode 100644 index 000000000000..2d846ba1732e --- /dev/null +++ b/www/iridium/files/patch-services_service__manager_zygote_host_zygote__host__impl__linux.h @@ -0,0 +1,13 @@ +--- services/service_manager/zygote/host/zygote_host_impl_linux.h.orig 2019-03-11 22:01:02 UTC ++++ services/service_manager/zygote/host/zygote_host_impl_linux.h +@@ -44,8 +44,10 @@ class COMPONENT_EXPORT(SERVICE_MANAGER_ZYGOTE) ZygoteH + base::ScopedFD* control_fd, + base::FileHandleMappingVector additional_remapped_fds); + ++#if !defined(OS_BSD) + void AdjustRendererOOMScore(base::ProcessHandle process_handle, + int score) override; ++#endif + bool HasZygote() { return !zygote_pids_.empty(); } + + private: diff --git a/www/iridium/files/patch-services_service__manager_zygote_zygote__host__linux.h b/www/iridium/files/patch-services_service__manager_zygote_zygote__host__linux.h new file mode 100644 index 000000000000..bdf4e5ff2926 --- /dev/null +++ b/www/iridium/files/patch-services_service__manager_zygote_zygote__host__linux.h @@ -0,0 +1,16 @@ +--- services/service_manager/zygote/zygote_host_linux.h.orig 2019-03-11 22:01:02 UTC ++++ services/service_manager/zygote/zygote_host_linux.h +@@ -30,11 +30,13 @@ class ZygoteHost { + // after the first render has been forked. + virtual int GetRendererSandboxStatus() const = 0; + ++#if !defined(OS_BSD) + // Adjust the OOM score of the given renderer's PID. The allowed + // range for the score is [0, 1000], where higher values are more + // likely to be killed by the OOM killer. + virtual void AdjustRendererOOMScore(base::ProcessHandle process_handle, + int score) = 0; ++#endif + }; + + } // namespace service_manager diff --git a/www/iridium/files/patch-services_service__manager_zygote_zygote__linux.cc b/www/iridium/files/patch-services_service__manager_zygote_zygote__linux.cc new file mode 100644 index 000000000000..3a2ff8db55e7 --- /dev/null +++ b/www/iridium/files/patch-services_service__manager_zygote_zygote__linux.cc @@ -0,0 +1,15 @@ +--- services/service_manager/zygote/zygote_linux.cc.orig 2019-06-04 18:55:28 UTC ++++ services/service_manager/zygote/zygote_linux.cc +@@ -1,6 +1,7 @@ + // Copyright (c) 2012 The Chromium Authors. All rights reserved. + // Use of this source code is governed by a BSD-style license that can be + // found in the LICENSE file. ++#if 0 + + #include "services/service_manager/zygote/zygote_linux.h" + +@@ -657,3 +658,4 @@ bool Zygote::HandleGetSandboxStatus(int fd, base::Pick + } + + } // namespace service_manager ++#endif diff --git a/www/iridium/files/patch-services_service__manager_zygote_zygote__main__linux.cc b/www/iridium/files/patch-services_service__manager_zygote_zygote__main__linux.cc new file mode 100644 index 000000000000..c1871f137977 --- /dev/null +++ b/www/iridium/files/patch-services_service__manager_zygote_zygote__main__linux.cc @@ -0,0 +1,48 @@ +--- services/service_manager/zygote/zygote_main_linux.cc.orig 2020-02-03 21:53:32 UTC ++++ services/service_manager/zygote/zygote_main_linux.cc +@@ -11,7 +11,9 @@ + #include <stddef.h> + #include <stdint.h> + #include <string.h> ++#if !defined(OS_BSD) + #include <sys/prctl.h> ++#endif + #include <sys/socket.h> + #include <sys/types.h> + #include <unistd.h> +@@ -99,6 +101,7 @@ static bool CreateInitProcessReaper( + // created through the setuid sandbox. + static bool EnterSuidSandbox(sandbox::SetuidSandboxClient* setuid_sandbox, + base::OnceClosure post_fork_parent_callback) { ++#if !defined(OS_BSD) + DCHECK(setuid_sandbox); + DCHECK(setuid_sandbox->IsSuidSandboxChild()); + +@@ -131,6 +134,9 @@ static bool EnterSuidSandbox(sandbox::SetuidSandboxCli + + CHECK(service_manager::SandboxDebugHandling::SetDumpableStatusAndHandlers()); + return true; ++#else ++ return false; ++#endif + } + + static void DropAllCapabilities(int proc_fd) { +@@ -176,6 +182,7 @@ static void EnterLayerOneSandbox(service_manager::Sand + + bool ZygoteMain( + std::vector<std::unique_ptr<ZygoteForkDelegate>> fork_delegates) { ++#if !defined(OS_BSD) + sandbox::SetAmZygoteOrRenderer(true, GetSandboxFD()); + + auto* linux_sandbox = service_manager::SandboxLinux::GetInstance(); +@@ -238,6 +245,9 @@ bool ZygoteMain( + + // This function call can return multiple times, once per fork(). + return zygote.ProcessRequests(); ++#else ++ return false; ++#endif + } + + } // namespace service_manager diff --git a/www/iridium/files/patch-services_tracing_public_cpp_perfetto_trace__time.cc b/www/iridium/files/patch-services_tracing_public_cpp_perfetto_trace__time.cc new file mode 100644 index 000000000000..61e7cb3830ad --- /dev/null +++ b/www/iridium/files/patch-services_tracing_public_cpp_perfetto_trace__time.cc @@ -0,0 +1,23 @@ +--- services/tracing/public/cpp/perfetto/trace_time.cc.orig 2020-03-17 10:13:47 UTC ++++ services/tracing/public/cpp/perfetto/trace_time.cc +@@ -13,13 +13,17 @@ namespace tracing { + + int64_t TraceBootTicksNow() { + // On Windows and Mac, TRACE_TIME_TICKS_NOW() behaves like boottime already. +-#if defined(OS_LINUX) || defined(OS_ANDROID) || defined(OS_FUCHSIA) ++#if defined(OS_LINUX) || defined(OS_ANDROID) || defined(OS_FUCHSIA) || defined(OS_BSD) + struct timespec ts; ++#if defined(OS_BSD) ++ int res = clock_gettime(CLOCK_UPTIME, &ts); ++#else + int res = clock_gettime(CLOCK_BOOTTIME, &ts); ++#endif + if (res != -1) + return static_cast<int64_t>(perfetto::base::FromPosixTimespec(ts).count()); + #endif + return TRACE_TIME_TICKS_NOW().since_origin().InNanoseconds(); + } + +-} // namespace tracing +\ No newline at end of file ++} // namespace tracing diff --git a/www/iridium/files/patch-services_tracing_public_cpp_stack__sampling_tracing__sampler__profiler.cc b/www/iridium/files/patch-services_tracing_public_cpp_stack__sampling_tracing__sampler__profiler.cc new file mode 100644 index 000000000000..06d34c96b6cd --- /dev/null +++ b/www/iridium/files/patch-services_tracing_public_cpp_stack__sampling_tracing__sampler__profiler.cc @@ -0,0 +1,11 @@ +--- services/tracing/public/cpp/stack_sampling/tracing_sampler_profiler.cc.orig 2020-03-17 10:16:22 UTC ++++ services/tracing/public/cpp/stack_sampling/tracing_sampler_profiler.cc +@@ -362,7 +362,7 @@ TracingSamplerProfiler::TracingProfileBuilder::GetCall + } + #endif + +-#if defined(OS_ANDROID) || defined(OS_LINUX) ++#if defined(OS_ANDROID) || defined(OS_LINUX) || defined(OS_BSD) + // Linux ELF module IDs are 160bit integers, which we need to mangle + // down to 128bit integers to match the id that Breakpad outputs. + // Example on version '66.0.3359.170' x64: diff --git a/www/iridium/files/patch-services_video__capture_broadcasting__receiver.cc b/www/iridium/files/patch-services_video__capture_broadcasting__receiver.cc new file mode 100644 index 000000000000..31c7ab5e263a --- /dev/null +++ b/www/iridium/files/patch-services_video__capture_broadcasting__receiver.cc @@ -0,0 +1,20 @@ +--- services/video_capture/broadcasting_receiver.cc.orig 2019-12-16 21:51:28 UTC ++++ services/video_capture/broadcasting_receiver.cc +@@ -40,7 +40,7 @@ void CloneSharedBufferHandle(const mojo::ScopedSharedB + void CloneSharedBufferToRawFileDescriptorHandle( + const mojo::ScopedSharedBufferHandle& source, + media::mojom::VideoBufferHandlePtr* target) { +-#if defined(OS_LINUX) ++#if defined(OS_LINUX) || defined(OS_BSD) + // |source| is unwrapped to a |PlatformSharedMemoryRegion|, from whence a file + // descriptor can be extracted which is then mojo-wrapped. + base::subtle::PlatformSharedMemoryRegion platform_region = +@@ -183,7 +183,7 @@ void BroadcastingReceiver::BufferContext:: + ConvertRawFileDescriptorToSharedBuffer() { + DCHECK(buffer_handle_->is_shared_memory_via_raw_file_descriptor()); + +-#if defined(OS_LINUX) ++#if defined(OS_LINUX) || defined(OS_BSD) + // The conversion unwraps the descriptor from its mojo handle to the raw file + // descriptor (ie, an int). This is used to create a + // PlatformSharedMemoryRegion which is then wrapped as a diff --git a/www/iridium/files/patch-skia_ext_SkMemory__new__handler.cpp b/www/iridium/files/patch-skia_ext_SkMemory__new__handler.cpp new file mode 100644 index 000000000000..e41e957b73ea --- /dev/null +++ b/www/iridium/files/patch-skia_ext_SkMemory__new__handler.cpp @@ -0,0 +1,20 @@ +--- skia/ext/SkMemory_new_handler.cpp.orig 2019-03-11 22:01:02 UTC ++++ skia/ext/SkMemory_new_handler.cpp +@@ -77,7 +77,7 @@ static void* malloc_nothrow(size_t size) { + // TODO(b.kelemen): we should always use UncheckedMalloc but currently it + // doesn't work as intended everywhere. + void* result; +-#if defined(OS_IOS) ++#if defined(OS_IOS) || defined(OS_BSD) + result = malloc(size); + #else + // It's the responsibility of the caller to check the return value. +@@ -97,7 +97,7 @@ static void* calloc_nothrow(size_t size) { + // TODO(b.kelemen): we should always use UncheckedCalloc but currently it + // doesn't work as intended everywhere. + void* result; +-#if defined(OS_IOS) ++#if defined(OS_IOS) || defined(OS_BSD) + result = calloc(1, size); + #else + // It's the responsibility of the caller to check the return value. diff --git a/www/iridium/files/patch-third__party_angle_BUILD.gn b/www/iridium/files/patch-third__party_angle_BUILD.gn new file mode 100644 index 000000000000..330949cb3773 --- /dev/null +++ b/www/iridium/files/patch-third__party_angle_BUILD.gn @@ -0,0 +1,10 @@ +--- third_party/angle/BUILD.gn.orig 2020-03-16 18:42:05 UTC ++++ third_party/angle/BUILD.gn +@@ -384,6 +384,7 @@ angle_static_library("angle_gpu_info_util") { + "X11", + "Xi", + "Xext", ++ "GL", + ] + } + } diff --git a/www/iridium/files/patch-third__party_angle_src_gpu__info__util_SystemInfo__internal.h b/www/iridium/files/patch-third__party_angle_src_gpu__info__util_SystemInfo__internal.h new file mode 100644 index 000000000000..3d393c5b6483 --- /dev/null +++ b/www/iridium/files/patch-third__party_angle_src_gpu__info__util_SystemInfo__internal.h @@ -0,0 +1,16 @@ +--- third_party/angle/src/gpu_info_util/SystemInfo_internal.h.orig 2019-03-11 22:07:59 UTC ++++ third_party/angle/src/gpu_info_util/SystemInfo_internal.h +@@ -14,8 +14,13 @@ + namespace angle + { + ++bool CollectMesaCardInfo(std::vector<GPUDeviceInfo> *devices); ++ + // Defined in SystemInfo_libpci when GPU_INFO_USE_LIBPCI is defined. + bool GetPCIDevicesWithLibPCI(std::vector<GPUDeviceInfo> *devices); ++#if defined(__FreeBSD__) ++bool GetPCIDevicesFreeBSD(std::vector<GPUDeviceInfo> *devices); ++#endif + // Defined in SystemInfo_x11 when GPU_INFO_USE_X11 is defined. + bool GetNvidiaDriverVersionWithXNVCtrl(std::string *version); + diff --git a/www/iridium/files/patch-third__party_angle_src_gpu__info__util_SystemInfo__libpci.cpp b/www/iridium/files/patch-third__party_angle_src_gpu__info__util_SystemInfo__libpci.cpp new file mode 100644 index 000000000000..8c7b858de64b --- /dev/null +++ b/www/iridium/files/patch-third__party_angle_src_gpu__info__util_SystemInfo__libpci.cpp @@ -0,0 +1,90 @@ +--- third_party/angle/src/gpu_info_util/SystemInfo_libpci.cpp.orig 2019-03-11 22:07:59 UTC ++++ third_party/angle/src/gpu_info_util/SystemInfo_libpci.cpp +@@ -12,6 +12,11 @@ + #include <pci/pci.h> + #include <unistd.h> + ++#if defined(__FreeBSD__) ++#include <fcntl.h> ++#include <sys/pciio.h> ++#endif ++ + #include "common/angleutils.h" + #include "common/debug.h" + +@@ -82,6 +87,75 @@ struct LibPCI : private angle::NonCopyable + }; + + } // anonymous namespace ++ ++#if defined(__FreeBSD__) ++// Adds an entry per PCI GPU found and fills the device and vendor ID. ++bool GetPCIDevicesFreeBSD(std::vector<GPUDeviceInfo> *devices) ++{ ++ int fd; ++ struct pci_conf_io conf; ++ struct pci_conf *matches; ++ uint32_t offset = 0; ++ ++ fd = open("/dev/pci", O_RDONLY); ++ if (fd < 0) ++ return false; ++ ++ matches = new struct pci_conf[32]; ++ conf.generation = 0; ++ do { ++ conf.pat_buf_len = 0; ++ conf.num_patterns = 0; ++ conf.patterns = NULL; ++ conf.match_buf_len = 32 * sizeof(struct pci_conf); ++ conf.num_matches = 32; ++ conf.matches = matches; ++ conf.offset = offset; ++ conf.status = PCI_GETCONF_ERROR; ++ if (ioctl(fd, PCIOCGETCONF, &conf) < 0) { ++ if (errno == ENODEV) ++ break; ++ } ++ /* PCI_GETCONF_LIST_CHANGED would require us to start over. */ ++ if (conf.status == PCI_GETCONF_ERROR || conf.status == PCI_GETCONF_LIST_CHANGED) { ++ break; ++ } ++ ++ for (unsigned int i = 0; i < conf.num_matches; i++) { ++ uint16_t device_class = (matches[i].pc_class << 8) | matches[i].pc_subclass; ++ ++ // Skip non-GPU devices ++ switch (device_class) ++ { ++ case PCI_CLASS_DISPLAY_VGA: ++ case PCI_CLASS_DISPLAY_XGA: ++ case PCI_CLASS_DISPLAY_3D: ++ break; ++ default: ++ continue; ++ } ++ ++ // Skip unknown devices ++ if (matches[i].pc_vendor == 0 || matches[i].pc_device == 0) { ++ continue; ++ } ++ ++ GPUDeviceInfo info; ++ info.vendorId = matches[i].pc_vendor; ++ info.deviceId = matches[i].pc_device; ++ ++ devices->push_back(info); ++ } ++ offset += conf.num_matches; ++ } while (conf.status == PCI_GETCONF_MORE_DEVS); ++ ++ delete[] matches; ++ ++ close(fd); ++ ++ return true; ++} ++#endif + + // Adds an entry per PCI GPU found and fills the device and vendor ID. + bool GetPCIDevicesWithLibPCI(std::vector<GPUDeviceInfo> *devices) diff --git a/www/iridium/files/patch-third__party_angle_src_gpu__info__util_SystemInfo__linux.cpp b/www/iridium/files/patch-third__party_angle_src_gpu__info__util_SystemInfo__linux.cpp new file mode 100644 index 000000000000..d69b549c46b1 --- /dev/null +++ b/www/iridium/files/patch-third__party_angle_src_gpu__info__util_SystemInfo__linux.cpp @@ -0,0 +1,21 @@ +--- third_party/angle/src/gpu_info_util/SystemInfo_linux.cpp.orig 2019-03-11 22:07:59 UTC ++++ third_party/angle/src/gpu_info_util/SystemInfo_linux.cpp +@@ -71,10 +71,18 @@ bool GetPCIDevicesWithLibPCI(std::vector<GPUDeviceInfo + + bool GetSystemInfo(SystemInfo *info) + { ++#if defined(__FreeBSD__) ++ if (!CollectMesaCardInfo(&(info->gpus))) ++ { ++ if (!GetPCIDevicesFreeBSD(&(info->gpus))) ++ return false; ++ } ++#else + if (!GetPCIDevicesWithLibPCI(&(info->gpus))) + { + return false; + } ++#endif + + if (info->gpus.size() == 0) + { diff --git a/www/iridium/files/patch-third__party_angle_src_gpu__info__util_SystemInfo__x11.cpp b/www/iridium/files/patch-third__party_angle_src_gpu__info__util_SystemInfo__x11.cpp new file mode 100644 index 000000000000..6b9bc94938ad --- /dev/null +++ b/www/iridium/files/patch-third__party_angle_src_gpu__info__util_SystemInfo__x11.cpp @@ -0,0 +1,55 @@ +--- third_party/angle/src/gpu_info_util/SystemInfo_x11.cpp.orig 2019-03-11 22:07:59 UTC ++++ third_party/angle/src/gpu_info_util/SystemInfo_x11.cpp +@@ -8,6 +8,8 @@ + + #include "gpu_info_util/SystemInfo_internal.h" + ++#include <GL/glx.h> ++#include <GL/glxext.h> + #include <X11/Xlib.h> + + #include "common/debug.h" +@@ -18,8 +20,43 @@ + # error SystemInfo_x11.cpp compiled without GPU_INFO_USE_X11 + #endif + ++#define GLX_RENDERER_VENDOR_ID_MESA 0x8183 ++#define GLX_RENDERER_DEVICE_ID_MESA 0x8184 ++ + namespace angle + { ++ ++bool CollectMesaCardInfo(std::vector<GPUDeviceInfo> *devices) ++{ ++ ++ unsigned int vid[3], did[3]; ++ ++ Display *display = XOpenDisplay(NULL); ++ if (!display) { ++ return false; ++ } ++ ++ PFNGLXQUERYRENDERERINTEGERMESAPROC queryInteger = ++ (PFNGLXQUERYRENDERERINTEGERMESAPROC) glXGetProcAddressARB((const GLubyte *) ++ "glXQueryRendererIntegerMESA"); ++ ++ if (!queryInteger) ++ return false; ++ ++ bool vendor_ret = ++ queryInteger(display, 0, 0, GLX_RENDERER_VENDOR_ID_MESA, vid); ++ bool device_ret = ++ queryInteger(display, 0, 0, GLX_RENDERER_DEVICE_ID_MESA, did); ++ ++ if (vendor_ret && device_ret) { ++ GPUDeviceInfo info; ++ info.vendorId = vid[0]; ++ info.deviceId = did[0]; ++ devices->push_back(info); ++ } ++ ++ return true; ++} + + bool GetNvidiaDriverVersionWithXNVCtrl(std::string *version) + { diff --git a/www/iridium/files/patch-third__party_angle_src_libANGLE_Display.cpp b/www/iridium/files/patch-third__party_angle_src_libANGLE_Display.cpp new file mode 100644 index 000000000000..48998ce95915 --- /dev/null +++ b/www/iridium/files/patch-third__party_angle_src_libANGLE_Display.cpp @@ -0,0 +1,11 @@ +--- third_party/angle/src/libANGLE/Display.cpp.orig 2020-03-16 18:42:05 UTC ++++ third_party/angle/src/libANGLE/Display.cpp +@@ -286,7 +286,7 @@ rx::DisplayImpl *CreateDisplayFromAttribs(EGLAttrib di + { + impl = rx::CreateVulkanWin32Display(state); + } +-# elif defined(ANGLE_PLATFORM_LINUX) ++# elif defined(ANGLE_PLATFORM_POSIX) + if (rx::IsVulkanXcbDisplayAvailable()) + { + impl = rx::CreateVulkanXcbDisplay(state); diff --git a/www/iridium/files/patch-third__party_angle_src_libANGLE_renderer_driver__utils.h b/www/iridium/files/patch-third__party_angle_src_libANGLE_renderer_driver__utils.h new file mode 100644 index 000000000000..380c2f0a1a4f --- /dev/null +++ b/www/iridium/files/patch-third__party_angle_src_libANGLE_renderer_driver__utils.h @@ -0,0 +1,11 @@ +--- third_party/angle/src/libANGLE/renderer/driver_utils.h.orig 2020-03-16 18:42:06 UTC ++++ third_party/angle/src/libANGLE/renderer/driver_utils.h +@@ -122,7 +122,7 @@ inline bool IsWindows() + + inline bool IsLinux() + { +-#if defined(ANGLE_PLATFORM_LINUX) ++#if defined(ANGLE_PLATFORM_POSIX) + return true; + #else + return false; diff --git a/www/iridium/files/patch-third__party_angle_src_libANGLE_renderer_vulkan_DisplayVk__api.h b/www/iridium/files/patch-third__party_angle_src_libANGLE_renderer_vulkan_DisplayVk__api.h new file mode 100644 index 000000000000..aa021274cc80 --- /dev/null +++ b/www/iridium/files/patch-third__party_angle_src_libANGLE_renderer_vulkan_DisplayVk__api.h @@ -0,0 +1,15 @@ +--- third_party/angle/src/libANGLE/renderer/vulkan/DisplayVk_api.h.orig 2020-02-03 21:54:48 UTC ++++ third_party/angle/src/libANGLE/renderer/vulkan/DisplayVk_api.h +@@ -19,10 +19,10 @@ bool IsVulkanWin32DisplayAvailable(); + DisplayImpl *CreateVulkanWin32Display(const egl::DisplayState &state); + #endif // defined(ANGLE_PLATFORM_WINDOWS) + +-#if defined(ANGLE_PLATFORM_LINUX) ++#if defined(ANGLE_PLATFORM_POSIX) + bool IsVulkanXcbDisplayAvailable(); + DisplayImpl *CreateVulkanXcbDisplay(const egl::DisplayState &state); +-#endif // defined(ANGLE_PLATFORM_LINUX) ++#endif // defined(ANGLE_PLATFORM_POSIX) + + #if defined(ANGLE_PLATFORM_ANDROID) + bool IsVulkanAndroidDisplayAvailable(); diff --git a/www/iridium/files/patch-third__party_angle_third__party_vulkan-loader_src_loader_loader.c b/www/iridium/files/patch-third__party_angle_third__party_vulkan-loader_src_loader_loader.c new file mode 100644 index 000000000000..c03540dc02ea --- /dev/null +++ b/www/iridium/files/patch-third__party_angle_third__party_vulkan-loader_src_loader_loader.c @@ -0,0 +1,11 @@ +--- third_party/angle/third_party/vulkan-loader/src/loader/loader.c.orig 2020-02-03 21:54:58 UTC ++++ third_party/angle/third_party/vulkan-loader/src/loader/loader.c +@@ -238,7 +238,7 @@ void *loader_device_heap_realloc(const struct loader_d + } + + // Environment variables +-#if defined(__linux__) || defined(__APPLE__) ++#if defined(__linux__) || defined(__APPLE__) || defined(__FreeBSD__) + + static inline bool IsHighIntegrity() { + return geteuid() != getuid() || getegid() != getgid(); diff --git a/www/iridium/files/patch-third__party_angle_third__party_vulkan-loader_src_loader_vk__loader__platform.h b/www/iridium/files/patch-third__party_angle_third__party_vulkan-loader_src_loader_vk__loader__platform.h new file mode 100644 index 000000000000..674705f68fd5 --- /dev/null +++ b/www/iridium/files/patch-third__party_angle_third__party_vulkan-loader_src_loader_vk__loader__platform.h @@ -0,0 +1,11 @@ +--- third_party/angle/third_party/vulkan-loader/src/loader/vk_loader_platform.h.orig 2019-03-11 22:08:05 UTC ++++ third_party/angle/third_party/vulkan-loader/src/loader/vk_loader_platform.h +@@ -31,7 +31,7 @@ + #include "vulkan/vk_platform.h" + #include "vulkan/vk_sdk_platform.h" + +-#if defined(__linux__) || defined(__APPLE__) ++#if defined(__linux__) || defined(__APPLE__) || defined(__FreeBSD__) + /* Linux-specific common code: */ + + // Headers: diff --git a/www/iridium/files/patch-third__party_angle_third__party_vulkan-validation-layers_src_layers_vk__loader__platform.h b/www/iridium/files/patch-third__party_angle_third__party_vulkan-validation-layers_src_layers_vk__loader__platform.h new file mode 100644 index 000000000000..824788f6aa33 --- /dev/null +++ b/www/iridium/files/patch-third__party_angle_third__party_vulkan-validation-layers_src_layers_vk__loader__platform.h @@ -0,0 +1,11 @@ +--- third_party/angle/third_party/vulkan-validation-layers/src/layers/vk_loader_platform.h.orig 2019-03-11 22:08:06 UTC ++++ third_party/angle/third_party/vulkan-validation-layers/src/layers/vk_loader_platform.h +@@ -31,7 +31,7 @@ + #include "vulkan/vk_platform.h" + #include "vulkan/vk_sdk_platform.h" + +-#if defined(__linux__) || defined(__APPLE__) ++#if defined(__linux__) || defined(__APPLE__) || defined(__FreeBSD__) + /* Linux-specific common code: */ + + // Headers: diff --git a/www/iridium/files/patch-third__party_blink_renderer_BUILD.gn b/www/iridium/files/patch-third__party_blink_renderer_BUILD.gn new file mode 100644 index 000000000000..3ee19aa5429f --- /dev/null +++ b/www/iridium/files/patch-third__party_blink_renderer_BUILD.gn @@ -0,0 +1,13 @@ +--- third_party/blink/renderer/BUILD.gn.orig 2020-03-16 18:40:34 UTC ++++ third_party/blink/renderer/BUILD.gn +@@ -45,8 +45,8 @@ config("inside_blink") { + "-Wconversion", + "-Wno-float-conversion", + "-Wno-sign-conversion", +- "-Wno-implicit-float-conversion", +- "-Wno-implicit-int-conversion", ++# "-Wno-implicit-float-conversion", ++# "-Wno-implicit-int-conversion", + ] + + if (!is_chromeos || default_toolchain != "//build/toolchain/cros:target") { diff --git a/www/iridium/files/patch-third__party_blink_renderer_controller_blink__initializer.cc b/www/iridium/files/patch-third__party_blink_renderer_controller_blink__initializer.cc new file mode 100644 index 000000000000..f2b1624738c8 --- /dev/null +++ b/www/iridium/files/patch-third__party_blink_renderer_controller_blink__initializer.cc @@ -0,0 +1,20 @@ +--- third_party/blink/renderer/controller/blink_initializer.cc.orig 2020-03-17 10:17:22 UTC ++++ third_party/blink/renderer/controller/blink_initializer.cc +@@ -69,7 +69,7 @@ + #include "third_party/blink/renderer/controller/memory_usage_monitor_posix.h" + #endif + +-#if defined(OS_LINUX) || defined(OS_ANDROID) || defined(OS_MACOSX) || \ ++#if defined(OS_LINUX) || defined(OS_ANDROID) || defined(OS_MACOSX) || defined(OS_BSD) || \ + defined(OS_WIN) + #include "third_party/blink/renderer/controller/highest_pmf_reporter.h" + #include "third_party/blink/renderer/controller/user_level_memory_pressure_signal_generator.h" +@@ -146,7 +146,7 @@ void InitializeCommon(Platform* platform, mojo::Binder + CrashMemoryMetricsReporterImpl::Instance(); + #endif + +-#if defined(OS_LINUX) || defined(OS_ANDROID) || defined(OS_MACOSX) || \ ++#if defined(OS_LINUX) || defined(OS_ANDROID) || defined(OS_MACOSX) || defined(OS_BSD) || \ + defined(OS_WIN) + // Initialize UserLevelMemoryPressureSignalGenerator so it starts monitoring. + if (UserLevelMemoryPressureSignalGenerator::Enabled()) diff --git a/www/iridium/files/patch-third__party_blink_renderer_controller_memory__usage__monitor__posix.h b/www/iridium/files/patch-third__party_blink_renderer_controller_memory__usage__monitor__posix.h new file mode 100644 index 000000000000..0c30711ac49d --- /dev/null +++ b/www/iridium/files/patch-third__party_blink_renderer_controller_memory__usage__monitor__posix.h @@ -0,0 +1,47 @@ +--- third_party/blink/renderer/controller/memory_usage_monitor_posix.h.orig 2020-03-17 10:18:29 UTC ++++ third_party/blink/renderer/controller/memory_usage_monitor_posix.h +@@ -12,7 +12,7 @@ + #include "third_party/blink/renderer/controller/controller_export.h" + #include "third_party/blink/renderer/controller/memory_usage_monitor.h" + +-#if defined(OS_LINUX) ++#if defined(OS_LINUX) || defined(OS_BSD) + #include "third_party/blink/public/mojom/memory_usage_monitor_linux.mojom-blink.h" + #endif + +@@ -21,7 +21,7 @@ namespace blink { + // MemoryUsageMonitor implementation for Android and Linux. + class CONTROLLER_EXPORT MemoryUsageMonitorPosix + : public MemoryUsageMonitor +-#if defined(OS_LINUX) ++#if defined(OS_LINUX) || defined(OS_BSD) + , + public mojom::blink::MemoryUsageMonitorLinux + #endif +@@ -29,7 +29,7 @@ class CONTROLLER_EXPORT MemoryUsageMonitorPosix + public: + MemoryUsageMonitorPosix() = default; + +-#if defined(OS_LINUX) ++#if defined(OS_LINUX) || defined(OS_BSD) + static void Bind( + mojo::PendingReceiver<mojom::blink::MemoryUsageMonitorLinux> receiver); + #endif +@@ -47,7 +47,7 @@ class CONTROLLER_EXPORT MemoryUsageMonitorPosix + uint64_t* vm_size, + uint64_t* vm_hwm_size); + +-#if defined(OS_LINUX) ++#if defined(OS_LINUX) || defined(OS_BSD) + // mojom::MemoryUsageMonitorLinux implementations: + void SetProcFiles(base::File statm_file, base::File status_file) override; + #endif +@@ -65,7 +65,7 @@ class CONTROLLER_EXPORT MemoryUsageMonitorPosix + base::ScopedFD statm_fd_; + base::ScopedFD status_fd_; + +-#if defined(OS_LINUX) ++#if defined(OS_LINUX) || defined(OS_BSD) + mojo::Receiver<mojom::blink::MemoryUsageMonitorLinux> receiver_{this}; + #endif + }; diff --git a/www/iridium/files/patch-third__party_blink_renderer_core_editing_editing__behavior.cc b/www/iridium/files/patch-third__party_blink_renderer_core_editing_editing__behavior.cc new file mode 100644 index 000000000000..1ba55b799c74 --- /dev/null +++ b/www/iridium/files/patch-third__party_blink_renderer_core_editing_editing__behavior.cc @@ -0,0 +1,11 @@ +--- third_party/blink/renderer/core/editing/editing_behavior.cc.orig 2020-03-16 18:39:56 UTC ++++ third_party/blink/renderer/core/editing/editing_behavior.cc +@@ -274,7 +274,7 @@ bool EditingBehavior::ShouldInsertCharacter(const Keyb + // unexpected behaviour + if (ch < ' ') + return false; +-#if defined(OS_LINUX) ++#if defined(OS_LINUX) || defined(OS_BSD) + // According to XKB map no keyboard combinations with ctrl key are mapped to + // printable characters, however we need the filter as the DomKey/text could + // contain printable characters. diff --git a/www/iridium/files/patch-third__party_blink_renderer_core_html_canvas_canvas__async__blob__creator.cc b/www/iridium/files/patch-third__party_blink_renderer_core_html_canvas_canvas__async__blob__creator.cc new file mode 100644 index 000000000000..af22ef50a74c --- /dev/null +++ b/www/iridium/files/patch-third__party_blink_renderer_core_html_canvas_canvas__async__blob__creator.cc @@ -0,0 +1,11 @@ +--- third_party/blink/renderer/core/html/canvas/canvas_async_blob_creator.cc.orig 2020-02-03 21:52:51 UTC ++++ third_party/blink/renderer/core/html/canvas/canvas_async_blob_creator.cc +@@ -41,7 +41,7 @@ constexpr base::TimeDelta kEncodeRowSlackBeforeDeadlin + base::TimeDelta::FromMicroseconds(100); + + /* The value is based on user statistics on Nov 2017. */ +-#if (defined(OS_LINUX) || defined(OS_MACOSX) || defined(OS_WIN)) ++#if (defined(OS_LINUX) || defined(OS_MACOSX) || defined(OS_WIN)) || defined(OS_BSD) + const double kIdleTaskStartTimeoutDelayMs = 1000.0; + #else + const double kIdleTaskStartTimeoutDelayMs = 4000.0; // For ChromeOS, Mobile diff --git a/www/iridium/files/patch-third__party_blink_renderer_core_html_forms_internal__popup__menu.cc b/www/iridium/files/patch-third__party_blink_renderer_core_html_forms_internal__popup__menu.cc new file mode 100644 index 000000000000..d05dcc105788 --- /dev/null +++ b/www/iridium/files/patch-third__party_blink_renderer_core_html_forms_internal__popup__menu.cc @@ -0,0 +1,11 @@ +--- third_party/blink/renderer/core/html/forms/internal_popup_menu.cc.orig 2020-03-16 18:40:35 UTC ++++ third_party/blink/renderer/core/html/forms/internal_popup_menu.cc +@@ -122,7 +122,7 @@ class InternalPopupMenu::ItemIterationContext { + is_in_group_(false), + buffer_(buffer) { + DCHECK(buffer_); +-#if defined(OS_LINUX) ++#if defined(OS_LINUX) || defined(OS_BSD) + // On other platforms, the <option> background color is the same as the + // <select> background color. On Linux, that makes the <option> + // background color very dark, so by default, try to use a lighter diff --git a/www/iridium/files/patch-third__party_blink_renderer_core_inspector_inspector__memory__agent.cc b/www/iridium/files/patch-third__party_blink_renderer_core_inspector_inspector__memory__agent.cc new file mode 100644 index 000000000000..5f3d6ec67939 --- /dev/null +++ b/www/iridium/files/patch-third__party_blink_renderer_core_inspector_inspector__memory__agent.cc @@ -0,0 +1,11 @@ +--- third_party/blink/renderer/core/inspector/inspector_memory_agent.cc.orig 2019-09-09 21:55:24 UTC ++++ third_party/blink/renderer/core/inspector/inspector_memory_agent.cc +@@ -184,7 +184,7 @@ InspectorMemoryAgent::GetSamplingProfileById(uint32_t + + Vector<String> InspectorMemoryAgent::Symbolize( + const WebVector<void*>& addresses) { +-#if defined(OS_LINUX) ++#if defined(OS_LINUX) || defined(OS_BSD) + // TODO(alph): Move symbolization to the client. + Vector<void*> addresses_to_symbolize; + for (size_t i = 0; i < addresses.size(); i++) { diff --git a/www/iridium/files/patch-third__party_blink_renderer_core_layout_layout__view.cc b/www/iridium/files/patch-third__party_blink_renderer_core_layout_layout__view.cc new file mode 100644 index 000000000000..eb2c92cf0610 --- /dev/null +++ b/www/iridium/files/patch-third__party_blink_renderer_core_layout_layout__view.cc @@ -0,0 +1,20 @@ +--- third_party/blink/renderer/core/layout/layout_view.cc.orig 2020-03-16 18:40:35 UTC ++++ third_party/blink/renderer/core/layout/layout_view.cc +@@ -59,7 +59,7 @@ + #include "third_party/blink/renderer/platform/instrumentation/tracing/traced_value.h" + #include "third_party/blink/renderer/platform/runtime_enabled_features.h" + +-#if defined(OS_LINUX) || defined(OS_CHROMEOS) ++#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD) + #include "third_party/blink/renderer/platform/fonts/font_cache.h" + #endif + +@@ -326,7 +326,7 @@ void LayoutView::UpdateLayout() { + DCHECK(!layout_state_); + LayoutState root_layout_state(*this); + +-#if defined(OS_LINUX) || defined(OS_CHROMEOS) ++#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD) + // The font code in FontPlatformData does not have a direct connection to the + // document, the frame or anything from which we could retrieve the device + // scale factor. After using zoom for DSF, the GraphicsContext does only ever diff --git a/www/iridium/files/patch-third__party_blink_renderer_core_paint_paint__layer.cc b/www/iridium/files/patch-third__party_blink_renderer_core_paint_paint__layer.cc new file mode 100644 index 000000000000..8414327a53f4 --- /dev/null +++ b/www/iridium/files/patch-third__party_blink_renderer_core_paint_paint__layer.cc @@ -0,0 +1,11 @@ +--- third_party/blink/renderer/core/paint/paint_layer.cc.orig 2020-03-16 18:40:35 UTC ++++ third_party/blink/renderer/core/paint/paint_layer.cc +@@ -106,7 +106,7 @@ namespace { + static CompositingQueryMode g_compositing_query_mode = + kCompositingQueriesAreOnlyAllowedInCertainDocumentLifecyclePhases; + +-#ifdef OS_LINUX ++#if defined(OS_LINUX) || defined(OS_BSD) + struct SameSizeAsPaintLayer : DisplayItemClient { + // The bit fields may fit into the machine word of DisplayItemClient which + // has only 8-bit data. diff --git a/www/iridium/files/patch-third__party_blink_renderer_core_scroll_scrollbar__theme__aura.cc b/www/iridium/files/patch-third__party_blink_renderer_core_scroll_scrollbar__theme__aura.cc new file mode 100644 index 000000000000..2d02c5dfa4c2 --- /dev/null +++ b/www/iridium/files/patch-third__party_blink_renderer_core_scroll_scrollbar__theme__aura.cc @@ -0,0 +1,20 @@ +--- third_party/blink/renderer/core/scroll/scrollbar_theme_aura.cc.orig 2020-03-16 18:39:56 UTC ++++ third_party/blink/renderer/core/scroll/scrollbar_theme_aura.cc +@@ -137,7 +137,7 @@ bool ScrollbarThemeAura::SupportsDragSnapBack() const + // Disable snapback on desktop Linux to better integrate with the desktop + // behavior. Typically, Linux apps do not implement scrollbar snapback (this + // is true for at least GTK and QT apps). +-#if (defined(OS_LINUX) && !defined(OS_CHROMEOS)) ++#if (defined(OS_LINUX) && !defined(OS_CHROMEOS)) || defined(OS_BSD) + return false; + #endif + +@@ -301,7 +301,7 @@ ScrollbarPart ScrollbarThemeAura::PartsToInvalidateOnT + + bool ScrollbarThemeAura::ShouldCenterOnThumb(const Scrollbar& scrollbar, + const WebMouseEvent& event) { +-#if (defined(OS_LINUX) && !defined(OS_CHROMEOS)) ++#if ((defined(OS_BSD) || defined(OS_LINUX)) && !defined(OS_CHROMEOS)) + if (event.button == WebPointerProperties::Button::kMiddle) + return true; + #endif diff --git a/www/iridium/files/patch-third__party_blink_renderer_modules_mediastream_processed__local__audio__source.cc b/www/iridium/files/patch-third__party_blink_renderer_modules_mediastream_processed__local__audio__source.cc new file mode 100644 index 000000000000..14dc2ef5bb1a --- /dev/null +++ b/www/iridium/files/patch-third__party_blink_renderer_modules_mediastream_processed__local__audio__source.cc @@ -0,0 +1,11 @@ +--- third_party/blink/renderer/modules/mediastream/processed_local_audio_source.cc.orig 2020-03-16 18:39:56 UTC ++++ third_party/blink/renderer/modules/mediastream/processed_local_audio_source.cc +@@ -444,7 +444,7 @@ void ProcessedLocalAudioSource::CaptureUsingProcessor( + bool key_pressed) { + #if defined(OS_WIN) || defined(OS_MACOSX) + DCHECK_LE(volume, 1.0); +-#elif (defined(OS_LINUX) && !defined(OS_CHROMEOS)) || defined(OS_OPENBSD) ++#elif (defined(OS_LINUX) && !defined(OS_CHROMEOS)) || defined(OS_BSD) + // We have a special situation on Linux where the microphone volume can be + // "higher than maximum". The input volume slider in the sound preference + // allows the user to set a scaling that is higher than 100%. It means that diff --git a/www/iridium/files/patch-third__party_blink_renderer_platform_BUILD.gn b/www/iridium/files/patch-third__party_blink_renderer_platform_BUILD.gn new file mode 100644 index 000000000000..6c239154d0c0 --- /dev/null +++ b/www/iridium/files/patch-third__party_blink_renderer_platform_BUILD.gn @@ -0,0 +1,10 @@ +--- third_party/blink/renderer/platform/BUILD.gn.orig 2020-03-16 18:40:35 UTC ++++ third_party/blink/renderer/platform/BUILD.gn +@@ -100,6 +100,7 @@ executable("character_data_generator") { + "//build/win:default_exe_manifest", + "//third_party/icu", + ] ++ libs = [ "cxxrt" ] + } + + # This isn't strictly necessary since we can just add the deps to "platform", diff --git a/www/iridium/files/patch-third__party_blink_renderer_platform_fonts_font__cache.cc b/www/iridium/files/patch-third__party_blink_renderer_platform_fonts_font__cache.cc new file mode 100644 index 000000000000..086b16ed616f --- /dev/null +++ b/www/iridium/files/patch-third__party_blink_renderer_platform_fonts_font__cache.cc @@ -0,0 +1,20 @@ +--- third_party/blink/renderer/platform/fonts/font_cache.cc.orig 2020-02-03 21:52:52 UTC ++++ third_party/blink/renderer/platform/fonts/font_cache.cc +@@ -76,7 +76,7 @@ static const char kColorEmojiLocale[] = "und-Zsye"; + + SkFontMgr* FontCache::static_font_manager_ = nullptr; + +-#if defined(OS_LINUX) || defined(OS_CHROMEOS) ++#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD) + float FontCache::device_scale_factor_ = 1.0; + #endif + +@@ -115,7 +115,7 @@ FontCache::FontCache() + FontPlatformData* FontCache::SystemFontPlatformData( + const FontDescription& font_description) { + const AtomicString& family = FontCache::SystemFontFamily(); +-#if defined(OS_LINUX) || defined(OS_FUCHSIA) ++#if defined(OS_LINUX) || defined(OS_FUCHSIA) || defined(OS_BSD) + if (family.IsEmpty() || family == font_family_names::kSystemUi) + return nullptr; + #else diff --git a/www/iridium/files/patch-third__party_blink_renderer_platform_fonts_font__cache.h b/www/iridium/files/patch-third__party_blink_renderer_platform_fonts_font__cache.h new file mode 100644 index 000000000000..ea74c8b323ef --- /dev/null +++ b/www/iridium/files/patch-third__party_blink_renderer_platform_fonts_font__cache.h @@ -0,0 +1,58 @@ +--- third_party/blink/renderer/platform/fonts/font_cache.h.orig 2020-02-03 21:52:52 UTC ++++ third_party/blink/renderer/platform/fonts/font_cache.h +@@ -58,7 +58,7 @@ + #include "third_party/skia/include/core/SkFontMgr.h" + #include "third_party/skia/include/core/SkRefCnt.h" + +-#if defined(OS_LINUX) ++#if defined(OS_LINUX) || defined(OS_BSD) + #include "ui/gfx/font_fallback_linux.h" + #endif + +@@ -166,7 +166,7 @@ class PLATFORM_EXPORT FontCache { + sk_sp<SkFontMgr> FontManager() { return font_manager_; } + static void SetFontManager(sk_sp<SkFontMgr>); + +-#if defined(OS_LINUX) || defined(OS_CHROMEOS) ++#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD) + // These are needed for calling QueryRenderStyleForStrike, since + // gfx::GetFontRenderParams makes distinctions based on DSF. + static float DeviceScaleFactor() { return device_scale_factor_; } +@@ -241,11 +241,11 @@ class PLATFORM_EXPORT FontCache { + const FontDescription&); + #endif // defined(OS_ANDROID) + +-#if defined(OS_LINUX) ++#if defined(OS_LINUX) || defined(OS_BSD) + static bool GetFontForCharacter(UChar32, + const char* preferred_locale, + gfx::FallbackFontData*); +-#endif // defined(OS_LINUX) ++#endif // defined(OS_LINUX) || defined(OS_BSD) + + scoped_refptr<SimpleFontData> FontDataFromFontPlatformData( + const FontPlatformData*, +@@ -317,12 +317,12 @@ class PLATFORM_EXPORT FontCache { + const FontFaceCreationParams&, + std::string& name); + +-#if defined(OS_ANDROID) || defined(OS_LINUX) ++#if defined(OS_ANDROID) || defined(OS_LINUX) || defined(OS_BSD) + static AtomicString GetFamilyNameForCharacter(SkFontMgr*, + UChar32, + const FontDescription&, + FontFallbackPriority); +-#endif // defined(OS_ANDROID) || defined(OS_LINUX) ++#endif // defined(OS_ANDROID) || defined(OS_LINUX) || defined(OS_BSD) + + scoped_refptr<SimpleFontData> FallbackOnStandardFontStyle( + const FontDescription&, +@@ -356,7 +356,7 @@ class PLATFORM_EXPORT FontCache { + std::unique_ptr<FallbackFamilyStyleCache> fallback_params_cache_; + #endif // defined(OS_WIN) + +-#if defined(OS_LINUX) || defined(OS_CHROMEOS) ++#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD) + static float device_scale_factor_; + #endif + diff --git a/www/iridium/files/patch-third__party_blink_renderer_platform_fonts_font__description.cc b/www/iridium/files/patch-third__party_blink_renderer_platform_fonts_font__description.cc new file mode 100644 index 000000000000..3c38c7f4dc44 --- /dev/null +++ b/www/iridium/files/patch-third__party_blink_renderer_platform_fonts_font__description.cc @@ -0,0 +1,20 @@ +--- third_party/blink/renderer/platform/fonts/font_description.cc.orig 2019-12-16 21:50:53 UTC ++++ third_party/blink/renderer/platform/fonts/font_description.cc +@@ -38,7 +38,7 @@ + #include "third_party/blink/renderer/platform/wtf/text/string_hash.h" + #include "third_party/blink/renderer/platform/wtf/text/string_hasher.h" + +-#if defined(OS_LINUX) || defined(OS_CHROMEOS) ++#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD) + #include "third_party/blink/renderer/platform/fonts/font_cache.h" + #endif + +@@ -225,7 +225,7 @@ FontCacheKey FontDescription::CacheKey( + static_cast<unsigned>(fields_.orientation_) << 1 | // bit 2-3 + static_cast<unsigned>(fields_.subpixel_text_position_); // bit 1 + +-#if defined(OS_LINUX) || defined(OS_CHROMEOS) ++#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD) + float device_scale_factor_for_key = FontCache::DeviceScaleFactor(); + #else + float device_scale_factor_for_key = 1.0f; diff --git a/www/iridium/files/patch-third__party_blink_renderer_platform_fonts_font__metrics.cc b/www/iridium/files/patch-third__party_blink_renderer_platform_fonts_font__metrics.cc new file mode 100644 index 000000000000..4445ec96128b --- /dev/null +++ b/www/iridium/files/patch-third__party_blink_renderer_platform_fonts_font__metrics.cc @@ -0,0 +1,29 @@ +--- third_party/blink/renderer/platform/fonts/font_metrics.cc.orig 2019-07-24 18:58:42 UTC ++++ third_party/blink/renderer/platform/fonts/font_metrics.cc +@@ -38,7 +38,7 @@ + + namespace blink { + +-#if defined(OS_LINUX) || defined(OS_ANDROID) || defined(OS_FUCHSIA) ++#if defined(OS_LINUX) || defined(OS_ANDROID) || defined(OS_FUCHSIA) || defined(OS_BSD) + // This is the largest VDMX table which we'll try to load and parse. + static const size_t kMaxVDMXTableSize = 1024 * 1024; // 1 MB + #endif +@@ -60,7 +60,7 @@ void FontMetrics::AscentDescentWithHacks( + int vdmx_ascent = 0, vdmx_descent = 0; + bool is_vdmx_valid = false; + +-#if defined(OS_LINUX) || defined(OS_ANDROID) || defined(OS_FUCHSIA) ++#if defined(OS_LINUX) || defined(OS_ANDROID) || defined(OS_FUCHSIA) || defined(OS_BSD) + // Manually digging up VDMX metrics is only applicable when bytecode hinting + // using FreeType. With DirectWrite or CoreText, no bytecode hinting is ever + // done. This code should be pushed into FreeType (hinted font metrics). +@@ -106,7 +106,7 @@ void FontMetrics::AscentDescentWithHacks( + visual_overflow_inflation_for_ascent = 1; + if (descent < metrics.fDescent) { + visual_overflow_inflation_for_descent = 1; +-#if defined(OS_LINUX) || defined(OS_ANDROID) || defined(OS_FUCHSIA) ++#if defined(OS_LINUX) || defined(OS_ANDROID) || defined(OS_FUCHSIA) || defined(OS_BSD) + // When subpixel positioning is enabled, if the descent is rounded down, + // the descent part of the glyph may be truncated when displayed in a + // 'overflow: hidden' container. To avoid that, borrow 1 unit from the diff --git a/www/iridium/files/patch-third__party_blink_renderer_platform_fonts_font__unique__name__lookup.cc b/www/iridium/files/patch-third__party_blink_renderer_platform_fonts_font__unique__name__lookup.cc new file mode 100644 index 000000000000..4766c40ab521 --- /dev/null +++ b/www/iridium/files/patch-third__party_blink_renderer_platform_fonts_font__unique__name__lookup.cc @@ -0,0 +1,20 @@ +--- third_party/blink/renderer/platform/fonts/font_unique_name_lookup.cc.orig 2019-06-04 18:55:30 UTC ++++ third_party/blink/renderer/platform/fonts/font_unique_name_lookup.cc +@@ -8,7 +8,7 @@ + #if defined(OS_ANDROID) + #include "third_party/blink/public/mojom/font_unique_name_lookup/font_unique_name_lookup.mojom-blink.h" + #include "third_party/blink/renderer/platform/fonts/android/font_unique_name_lookup_android.h" +-#elif defined(OS_LINUX) ++#elif defined(OS_LINUX) || defined(OS_BSD) + #include "third_party/blink/renderer/platform/fonts/linux/font_unique_name_lookup_linux.h" + #elif defined(OS_WIN) + #include "third_party/blink/renderer/platform/fonts/win/font_unique_name_lookup_win.h" +@@ -23,7 +23,7 @@ std::unique_ptr<FontUniqueNameLookup> + FontUniqueNameLookup::GetPlatformUniqueNameLookup() { + #if defined(OS_ANDROID) + return std::make_unique<FontUniqueNameLookupAndroid>(); +-#elif defined(OS_LINUX) ++#elif defined(OS_LINUX) || defined(OS_BSD) + return std::make_unique<FontUniqueNameLookupLinux>(); + #elif defined(OS_WIN) + return std::make_unique<FontUniqueNameLookupWin>(); diff --git a/www/iridium/files/patch-third__party_blink_renderer_platform_fonts_skia_font__cache__skia.cc b/www/iridium/files/patch-third__party_blink_renderer_platform_fonts_skia_font__cache__skia.cc new file mode 100644 index 000000000000..01d7699e4ddb --- /dev/null +++ b/www/iridium/files/patch-third__party_blink_renderer_platform_fonts_skia_font__cache__skia.cc @@ -0,0 +1,38 @@ +--- third_party/blink/renderer/platform/fonts/skia/font_cache_skia.cc.orig 2019-09-09 21:55:26 UTC ++++ third_party/blink/renderer/platform/fonts/skia/font_cache_skia.cc +@@ -59,7 +59,7 @@ AtomicString ToAtomicString(const SkString& str) { + return AtomicString::FromUTF8(str.c_str(), str.size()); + } + +-#if defined(OS_ANDROID) || defined(OS_LINUX) ++#if defined(OS_ANDROID) || defined(OS_LINUX) || defined(OS_BSD) + // This function is called on android or when we are emulating android fonts on + // linux and the embedder has overriden the default fontManager with + // WebFontRendering::setSkiaFontMgr. +@@ -82,7 +82,7 @@ AtomicString FontCache::GetFamilyNameForCharacter( + typeface->getFamilyName(&skia_family_name); + return ToAtomicString(skia_family_name); + } +-#endif // defined(OS_ANDROID) || defined(OS_LINUX) ++#endif // defined(OS_ANDROID) || defined(OS_LINUX) || defined(OS_BSD) + + void FontCache::PlatformInit() {} + +@@ -227,7 +227,7 @@ sk_sp<SkTypeface> FontCache::CreateTypeface( + } + #endif + +-#if defined(OS_LINUX) || defined(OS_WIN) ++#if defined(OS_LINUX) || defined(OS_WIN) || defined(OS_BSD) + // On linux if the fontManager has been overridden then we should be calling + // the embedder provided font Manager rather than calling + // SkTypeface::CreateFromName which may redirect the call to the default font +@@ -254,7 +254,7 @@ std::unique_ptr<FontPlatformData> FontCache::CreateFon + std::string name; + + sk_sp<SkTypeface> typeface; +-#if defined(OS_ANDROID) || defined(OS_LINUX) ++#if defined(OS_ANDROID) || defined(OS_LINUX) || defined(OS_BSD) + if (alternate_name == AlternateFontName::kLocalUniqueFace && + RuntimeEnabledFeatures::FontSrcLocalMatchingEnabled()) { + typeface = CreateTypefaceFromUniqueName(creation_params); diff --git a/www/iridium/files/patch-third__party_blink_renderer_platform_wtf_container__annotations.h b/www/iridium/files/patch-third__party_blink_renderer_platform_wtf_container__annotations.h new file mode 100644 index 000000000000..27b83fe51ce9 --- /dev/null +++ b/www/iridium/files/patch-third__party_blink_renderer_platform_wtf_container__annotations.h @@ -0,0 +1,27 @@ +--- third_party/blink/renderer/platform/wtf/container_annotations.h.orig 2019-06-04 18:55:30 UTC ++++ third_party/blink/renderer/platform/wtf/container_annotations.h +@@ -10,7 +10,7 @@ + + // TODO(ochang): Remove the ARCH_CPU_X86_64 condition to enable this for X86 + // once the crashes there have been fixed: http://crbug.com/461406 +-#if defined(ADDRESS_SANITIZER) && defined(OS_LINUX) && defined(ARCH_CPU_X86_64) ++#if defined(ADDRESS_SANITIZER) && (defined(OS_LINUX) || defined(OS_BSD)) && defined(ARCH_CPU_X86_64) + #define ANNOTATE_CONTIGUOUS_CONTAINER + #define ANNOTATE_NEW_BUFFER(buffer, capacity, newSize) \ + if (buffer) { \ +@@ -35,13 +35,13 @@ + ANNOTATE_NEW_BUFFER(buffer, newCapacity, bufferSize); + // Annotations require buffers to begin on an 8-byte boundary. + +-#else // ADDRESS_SANITIZER && OS_LINUX && ARCH_CPU_X86_64 ++#else // ADDRESS_SANITIZER && (OS_LINUX || OS_BSD) && ARCH_CPU_X86_64 + + #define ANNOTATE_NEW_BUFFER(buffer, capacity, newSize) + #define ANNOTATE_DELETE_BUFFER(buffer, capacity, oldSize) + #define ANNOTATE_CHANGE_SIZE(buffer, capacity, oldSize, newSize) + #define ANNOTATE_CHANGE_CAPACITY(buffer, oldCapacity, bufferSize, newCapacity) + +-#endif // ADDRESS_SANITIZER && OS_LINUX && ARCH_CPU_X86_64 ++#endif // ADDRESS_SANITIZER && (OS_LINUX || OS_BSD) && ARCH_CPU_X86_64 + + #endif // THIRD_PARTY_BLINK_RENDERER_PLATFORM_WTF_CONTAINER_ANNOTATIONS_H_ diff --git a/www/iridium/files/patch-third__party_blink_renderer_platform_wtf_stack__util.cc b/www/iridium/files/patch-third__party_blink_renderer_platform_wtf_stack__util.cc new file mode 100644 index 000000000000..24a812ce5223 --- /dev/null +++ b/www/iridium/files/patch-third__party_blink_renderer_platform_wtf_stack__util.cc @@ -0,0 +1,14 @@ +--- third_party/blink/renderer/platform/wtf/stack_util.cc.orig 2019-06-04 18:55:30 UTC ++++ third_party/blink/renderer/platform/wtf/stack_util.cc +@@ -17,6 +17,11 @@ + extern "C" void* __libc_stack_end; // NOLINT + #endif + ++#if defined(OS_FREEBSD) ++#include <sys/signal.h> ++#include <pthread_np.h> ++#endif ++ + namespace WTF { + + size_t GetUnderestimatedStackSize() { diff --git a/www/iridium/files/patch-third__party_blink_renderer_platform_wtf_threading__pthreads.cc b/www/iridium/files/patch-third__party_blink_renderer_platform_wtf_threading__pthreads.cc new file mode 100644 index 000000000000..1ab0c14a5a4e --- /dev/null +++ b/www/iridium/files/patch-third__party_blink_renderer_platform_wtf_threading__pthreads.cc @@ -0,0 +1,22 @@ +--- third_party/blink/renderer/platform/wtf/threading_pthreads.cc.orig 2019-12-16 21:50:53 UTC ++++ third_party/blink/renderer/platform/wtf/threading_pthreads.cc +@@ -50,12 +50,17 @@ + #include <objc/objc-auto.h> + #endif + +-#if defined(OS_LINUX) ++#if defined(OS_LINUX) || defined(OS_BSD) + #include <sys/syscall.h> + #endif + +-#if defined(OS_LINUX) || defined(OS_ANDROID) ++#if defined(OS_LINUX) || defined(OS_ANDROID) || defined(OS_BSD) + #include <unistd.h> ++#endif ++ ++#if defined(OS_BSD) ++#include <sys/signal.h> ++#include <pthread_np.h> + #endif + + namespace WTF { diff --git a/www/iridium/files/patch-third__party_boringssl_BUILD.gn b/www/iridium/files/patch-third__party_boringssl_BUILD.gn new file mode 100644 index 000000000000..8a3c15eac37d --- /dev/null +++ b/www/iridium/files/patch-third__party_boringssl_BUILD.gn @@ -0,0 +1,36 @@ +--- third_party/boringssl/BUILD.gn.orig 2019-12-16 21:51:04 UTC ++++ third_party/boringssl/BUILD.gn +@@ -71,7 +71,7 @@ if (is_win && !is_msan && current_cpu != "arm64") { + } else if (current_cpu == "x64") { + if (is_mac) { + sources += crypto_sources_mac_x86_64 +- } else if (is_linux || is_android) { ++ } else if (is_linux || is_bsd || is_android) { + sources += crypto_sources_linux_x86_64 + } else { + public_configs = [ ":no_asm_config" ] +@@ -79,13 +79,13 @@ if (is_win && !is_msan && current_cpu != "arm64") { + } else if (current_cpu == "x86") { + if (is_mac) { + sources += crypto_sources_mac_x86 +- } else if (is_linux || is_android) { ++ } else if (is_linux || is_bsd || is_android) { + sources += crypto_sources_linux_x86 + } else { + public_configs = [ ":no_asm_config" ] + } + } else if (current_cpu == "arm") { +- if (is_linux || is_android) { ++ if (is_linux || is_bsd || is_android) { + sources += crypto_sources_linux_arm + } else if (is_ios) { + sources += crypto_sources_ios_arm +@@ -93,7 +93,7 @@ if (is_win && !is_msan && current_cpu != "arm64") { + public_configs = [ ":no_asm_config" ] + } + } else if (current_cpu == "arm64") { +- if (is_linux || is_android) { ++ if (is_linux || is_bsd || is_android) { + sources += crypto_sources_linux_aarch64 + } else if (is_ios) { + sources += crypto_sources_ios_aarch64 diff --git a/www/iridium/files/patch-third__party_boringssl_src_crypto_cpu-aarch64-linux.c b/www/iridium/files/patch-third__party_boringssl_src_crypto_cpu-aarch64-linux.c new file mode 100644 index 000000000000..5856c89852d1 --- /dev/null +++ b/www/iridium/files/patch-third__party_boringssl_src_crypto_cpu-aarch64-linux.c @@ -0,0 +1,73 @@ +--- third_party/boringssl/src/crypto/cpu-aarch64-linux.c.orig 2020-03-03 18:55:22 UTC ++++ third_party/boringssl/src/crypto/cpu-aarch64-linux.c +@@ -14,49 +14,45 @@ + + #include <openssl/cpu.h> + +-#if defined(OPENSSL_AARCH64) && defined(OPENSSL_LINUX) && \ +- !defined(OPENSSL_STATIC_ARMCAP) ++#if defined(OPENSSL_AARCH64) + +-#include <sys/auxv.h> +- + #include <openssl/arm_arch.h> + + #include "internal.h" + +- + extern uint32_t OPENSSL_armcap_P; + +-void OPENSSL_cpuid_setup(void) { +- unsigned long hwcap = getauxval(AT_HWCAP); ++#include <sys/types.h> ++#include <machine/armreg.h> + +- // See /usr/include/asm/hwcap.h on an aarch64 installation for the source of +- // these values. +- static const unsigned long kNEON = 1 << 1; +- static const unsigned long kAES = 1 << 3; +- static const unsigned long kPMULL = 1 << 4; +- static const unsigned long kSHA1 = 1 << 5; +- static const unsigned long kSHA256 = 1 << 6; ++#ifndef ID_AA64ISAR0_AES_VAL ++#define ID_AA64ISAR0_AES_VAL ID_AA64ISAR0_AES ++#endif ++#ifndef ID_AA64ISAR0_SHA1_VAL ++#define ID_AA64ISAR0_SHA1_VAL ID_AA64ISAR0_SHA1 ++#endif ++#ifndef ID_AA64ISAR0_SHA2_VAL ++#define ID_AA64ISAR0_SHA2_VAL ID_AA64ISAR0_SHA2 ++#endif + +- if ((hwcap & kNEON) == 0) { +- // Matching OpenSSL, if NEON is missing, don't report other features +- // either. +- return; +- } ++void OPENSSL_cpuid_setup(void) { ++ uint64_t id_aa64isar0; + ++ id_aa64isar0 = READ_SPECIALREG(id_aa64isar0_el1); ++ + OPENSSL_armcap_P |= ARMV7_NEON; + +- if (hwcap & kAES) { ++ if (ID_AA64ISAR0_AES_VAL(id_aa64isar0) >= ID_AA64ISAR0_AES_BASE) { + OPENSSL_armcap_P |= ARMV8_AES; + } +- if (hwcap & kPMULL) { ++ if (ID_AA64ISAR0_AES_VAL(id_aa64isar0) == ID_AA64ISAR0_AES_PMULL) { + OPENSSL_armcap_P |= ARMV8_PMULL; + } +- if (hwcap & kSHA1) { ++ if (ID_AA64ISAR0_SHA1_VAL(id_aa64isar0) == ID_AA64ISAR0_SHA1_BASE) { + OPENSSL_armcap_P |= ARMV8_SHA1; + } +- if (hwcap & kSHA256) { ++ if(ID_AA64ISAR0_SHA2_VAL(id_aa64isar0) >= ID_AA64ISAR0_SHA2_BASE) { + OPENSSL_armcap_P |= ARMV8_SHA256; + } + } +- +-#endif // OPENSSL_AARCH64 && !OPENSSL_STATIC_ARMCAP ++#endif // OPENSSL_AARCH64 diff --git a/www/iridium/files/patch-third__party_boringssl_src_crypto_ex__data.c b/www/iridium/files/patch-third__party_boringssl_src_crypto_ex__data.c new file mode 100644 index 000000000000..6f2127918315 --- /dev/null +++ b/www/iridium/files/patch-third__party_boringssl_src_crypto_ex__data.c @@ -0,0 +1,13 @@ +--- third_party/boringssl/src/crypto/ex_data.c.orig 2019-03-11 22:07:58 UTC ++++ third_party/boringssl/src/crypto/ex_data.c +@@ -186,7 +186,9 @@ int CRYPTO_set_ex_data(CRYPTO_EX_DATA *ad, int index, + } + } + +- sk_void_set(ad->sk, index, val); ++ // expression result unused; should this cast be to 'void'? ++ // seems it should, feel free to investigate those #def ++ (void) sk_void_set(ad->sk, index, val); + return 1; + } + diff --git a/www/iridium/files/patch-third__party_breakpad_breakpad_src_common_simple__string__dictionary.h b/www/iridium/files/patch-third__party_breakpad_breakpad_src_common_simple__string__dictionary.h new file mode 100644 index 000000000000..b0aaa7abccb6 --- /dev/null +++ b/www/iridium/files/patch-third__party_breakpad_breakpad_src_common_simple__string__dictionary.h @@ -0,0 +1,11 @@ +--- third_party/breakpad/breakpad/src/common/simple_string_dictionary.h.orig 2019-03-11 22:07:58 UTC ++++ third_party/breakpad/breakpad/src/common/simple_string_dictionary.h +@@ -33,7 +33,7 @@ + #include <assert.h> + #include <string.h> + +-#include "common/basictypes.h" ++#include "third_party/breakpad/breakpad/src/common/basictypes.h" + + namespace google_breakpad { + diff --git a/www/iridium/files/patch-third__party_cacheinvalidation_src_google_cacheinvalidation_include_types.h b/www/iridium/files/patch-third__party_cacheinvalidation_src_google_cacheinvalidation_include_types.h new file mode 100644 index 000000000000..0a76ed7ccadc --- /dev/null +++ b/www/iridium/files/patch-third__party_cacheinvalidation_src_google_cacheinvalidation_include_types.h @@ -0,0 +1,11 @@ +--- third_party/cacheinvalidation/src/google/cacheinvalidation/include/types.h.orig 2019-03-11 22:01:15 UTC ++++ third_party/cacheinvalidation/src/google/cacheinvalidation/include/types.h +@@ -334,6 +334,8 @@ class Status { + */ + PERMANENT_FAILURE + }; ++ ++ Status() : code_(SUCCESS), message_() {} + + /* Creates a new Status object given the code and message. */ + Status(Code code, const string& message) : code_(code), message_(message) {} diff --git a/www/iridium/files/patch-third__party_crashpad_crashpad_build_crashpad__buildconfig.gni b/www/iridium/files/patch-third__party_crashpad_crashpad_build_crashpad__buildconfig.gni new file mode 100644 index 000000000000..97991dfed588 --- /dev/null +++ b/www/iridium/files/patch-third__party_crashpad_crashpad_build_crashpad__buildconfig.gni @@ -0,0 +1,11 @@ +--- third_party/crashpad/crashpad/build/crashpad_buildconfig.gni.orig 2020-02-03 21:53:08 UTC ++++ third_party/crashpad/crashpad/build/crashpad_buildconfig.gni +@@ -38,7 +38,7 @@ if (crashpad_is_in_chromium) { + crashpad_is_mac = is_mac + crashpad_is_ios = is_ios + crashpad_is_win = is_win +- crashpad_is_linux = is_linux ++ crashpad_is_linux = is_linux && !is_bsd + crashpad_is_android = is_android + crashpad_is_fuchsia = is_fuchsia + diff --git a/www/iridium/files/patch-third__party_crashpad_crashpad_client_BUILD.gn b/www/iridium/files/patch-third__party_crashpad_crashpad_client_BUILD.gn new file mode 100644 index 000000000000..acb48dc27344 --- /dev/null +++ b/www/iridium/files/patch-third__party_crashpad_crashpad_client_BUILD.gn @@ -0,0 +1,15 @@ +--- third_party/crashpad/crashpad/client/BUILD.gn.orig 2019-03-11 22:01:15 UTC ++++ third_party/crashpad/crashpad/client/BUILD.gn +@@ -71,6 +71,12 @@ static_library("client") { + sources += [ "crashpad_client_fuchsia.cc" ] + } + ++ if (crashpad_is_posix) { ++ sources += [ ++ "crashpad_client_posix.cc", ++ ] ++ } ++ + if (crashpad_is_linux || crashpad_is_android || crashpad_is_fuchsia) { + sources += [ "crash_report_database_generic.cc" ] + } diff --git a/www/iridium/files/patch-third__party_crashpad_crashpad_client_crashpad__client__posix.cc b/www/iridium/files/patch-third__party_crashpad_crashpad_client_crashpad__client__posix.cc new file mode 100644 index 000000000000..9cafc79f1aff --- /dev/null +++ b/www/iridium/files/patch-third__party_crashpad_crashpad_client_crashpad__client__posix.cc @@ -0,0 +1,41 @@ +--- third_party/crashpad/crashpad/client/crashpad_client_posix.cc.orig 2019-03-17 01:47:14 UTC ++++ third_party/crashpad/crashpad/client/crashpad_client_posix.cc +@@ -0,0 +1,38 @@ ++// Copyright 2017 The Crashpad Authors. All rights reserved. ++// ++// Licensed under the Apache License, Version 2.0 (the "License"); ++// you may not use this file except in compliance with the License. ++// You may obtain a copy of the License at ++// ++// http://www.apache.org/licenses/LICENSE-2.0 ++// ++// Unless required by applicable law or agreed to in writing, software ++// distributed under the License is distributed on an "AS IS" BASIS, ++// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. ++// See the License for the specific language governing permissions and ++// limitations under the License. ++ ++#include "client/crashpad_client.h" ++ ++#include "base/logging.h" ++ ++namespace crashpad { ++ ++CrashpadClient::CrashpadClient() {} ++ ++CrashpadClient::~CrashpadClient() {} ++ ++bool CrashpadClient::StartHandler( ++ const base::FilePath& handler, ++ const base::FilePath& database, ++ const base::FilePath& metrics_dir, ++ const std::string& url, ++ const std::map<std::string, std::string>& annotations, ++ const std::vector<std::string>& arguments, ++ bool restartable, ++ bool asynchronous_start) { ++ NOTREACHED(); // TODO(scottmg): https://crashpad.chromium.org/bug/196 ++ return false; ++} ++ ++} // namespace crashpad diff --git a/www/iridium/files/patch-third__party_crashpad_crashpad_util_misc_address__types.h b/www/iridium/files/patch-third__party_crashpad_crashpad_util_misc_address__types.h new file mode 100644 index 000000000000..ead0b25e172c --- /dev/null +++ b/www/iridium/files/patch-third__party_crashpad_crashpad_util_misc_address__types.h @@ -0,0 +1,20 @@ +--- third_party/crashpad/crashpad/util/misc/address_types.h.orig 2019-03-11 22:01:15 UTC ++++ third_party/crashpad/crashpad/util/misc/address_types.h +@@ -25,7 +25,7 @@ + #include <mach/mach_types.h> + #elif defined(OS_WIN) + #include "util/win/address_types.h" +-#elif defined(OS_LINUX) || defined(OS_ANDROID) ++#elif defined(OS_LINUX) || defined(OS_ANDROID) || defined(OS_BSD) + #include "util/linux/address_types.h" + #elif defined(OS_FUCHSIA) + #include <zircon/types.h> +@@ -55,7 +55,7 @@ using VMSize = mach_vm_size_t; + using VMAddress = WinVMAddress; + using VMSize = WinVMSize; + +-#elif defined(OS_LINUX) || defined(OS_ANDROID) ++#elif defined(OS_LINUX) || defined(OS_ANDROID) || defined(OS_BSD) + + using VMAddress = LinuxVMAddress; + using VMSize = LinuxVMSize; diff --git a/www/iridium/files/patch-third__party_crashpad_crashpad_util_misc_capture__context.h b/www/iridium/files/patch-third__party_crashpad_crashpad_util_misc_capture__context.h new file mode 100644 index 000000000000..be1a55b8d574 --- /dev/null +++ b/www/iridium/files/patch-third__party_crashpad_crashpad_util_misc_capture__context.h @@ -0,0 +1,20 @@ +--- third_party/crashpad/crashpad/util/misc/capture_context.h.orig 2019-03-11 22:01:15 UTC ++++ third_party/crashpad/crashpad/util/misc/capture_context.h +@@ -21,7 +21,7 @@ + #include <mach/mach.h> + #elif defined(OS_WIN) + #include <windows.h> +-#elif defined(OS_LINUX) || defined(OS_ANDROID) ++#elif defined(OS_LINUX) || defined(OS_ANDROID) || defined(OS_BSD) + #include <ucontext.h> + #elif defined(OS_FUCHSIA) + #include <signal.h> +@@ -35,7 +35,7 @@ using NativeCPUContext = x86_thread_state; + #endif + #elif defined(OS_WIN) + using NativeCPUContext = CONTEXT; +-#elif defined(OS_LINUX) || defined(OS_ANDROID) || defined(OS_FUCHSIA) ++#elif defined(OS_LINUX) || defined(OS_ANDROID) || defined(OS_FUCHSIA) || defined(OS_BSD) + using NativeCPUContext = ucontext_t; + #endif // OS_MACOSX + diff --git a/www/iridium/files/patch-third__party_crashpad_crashpad_util_misc_metrics.cc b/www/iridium/files/patch-third__party_crashpad_crashpad_util_misc_metrics.cc new file mode 100644 index 000000000000..f1804888aee1 --- /dev/null +++ b/www/iridium/files/patch-third__party_crashpad_crashpad_util_misc_metrics.cc @@ -0,0 +1,11 @@ +--- third_party/crashpad/crashpad/util/misc/metrics.cc.orig 2019-03-11 22:01:15 UTC ++++ third_party/crashpad/crashpad/util/misc/metrics.cc +@@ -25,7 +25,7 @@ + #define METRICS_OS_NAME "Win" + #elif defined(OS_ANDROID) + #define METRICS_OS_NAME "Android" +-#elif defined(OS_LINUX) ++#elif defined(OS_LINUX) || defined(OS_BSD) + #define METRICS_OS_NAME "Linux" + #elif defined(OS_FUCHSIA) + #define METRICS_OS_NAME "Fuchsia" diff --git a/www/iridium/files/patch-third__party_crashpad_crashpad_util_misc_uuid.cc b/www/iridium/files/patch-third__party_crashpad_crashpad_util_misc_uuid.cc new file mode 100644 index 000000000000..d7a1ca9a0fd0 --- /dev/null +++ b/www/iridium/files/patch-third__party_crashpad_crashpad_util_misc_uuid.cc @@ -0,0 +1,11 @@ +--- third_party/crashpad/crashpad/util/misc/uuid.cc.orig 2019-03-11 22:01:15 UTC ++++ third_party/crashpad/crashpad/util/misc/uuid.cc +@@ -95,7 +95,7 @@ bool UUID::InitializeWithNew() { + InitializeFromBytes(uuid); + return true; + #elif defined(OS_WIN) || defined(OS_LINUX) || defined(OS_ANDROID) || \ +- defined(OS_FUCHSIA) ++ defined(OS_FUCHSIA) || defined(OS_BSD) + // Linux, Android, and Fuchsia do not provide a UUID generator in a + // widely-available system library. On Linux and Android, uuid_generate() + // from libuuid is not available everywhere. diff --git a/www/iridium/files/patch-third__party_crashpad_crashpad_util_posix_close__multiple.cc b/www/iridium/files/patch-third__party_crashpad_crashpad_util_posix_close__multiple.cc new file mode 100644 index 000000000000..e7dc2e3561db --- /dev/null +++ b/www/iridium/files/patch-third__party_crashpad_crashpad_util_posix_close__multiple.cc @@ -0,0 +1,29 @@ +--- third_party/crashpad/crashpad/util/posix/close_multiple.cc.orig 2019-03-11 22:01:15 UTC ++++ third_party/crashpad/crashpad/util/posix/close_multiple.cc +@@ -31,7 +31,7 @@ + #include "util/file/directory_reader.h" + #include "util/misc/implicit_cast.h" + +-#if defined(OS_MACOSX) ++#if defined(OS_MACOSX) || defined(OS_BSD) + #include <sys/sysctl.h> + #endif + +@@ -72,7 +72,7 @@ void CloseNowOrOnExec(int fd, bool ebadf_ok) { + // This is an advantage over looping over all possible file descriptors, because + // no attempt needs to be made to close file descriptors that are not open. + bool CloseMultipleNowOrOnExecUsingFDDir(int min_fd, int preserve_fd) { +-#if defined(OS_MACOSX) ++#if defined(OS_MACOSX) || defined(OS_BSD) + static constexpr char kFDDir[] = "/dev/fd"; + #elif defined(OS_LINUX) || defined(OS_ANDROID) + static constexpr char kFDDir[] = "/proc/self/fd"; +@@ -146,7 +146,7 @@ void CloseMultipleNowOrOnExec(int fd, int preserve_fd) + // while the system is running, but it’s still a better upper bound than the + // current RLIMIT_NOFILE value. + +-#if defined(OS_MACOSX) ++#if defined(OS_MACOSX) || defined(OS_BSD) + // See 10.11.6 xnu-3248.60.10/bsd/kern/kern_resource.c maxfilesperproc, + // referenced by dosetrlimit(). + int oid[] = {CTL_KERN, KERN_MAXFILESPERPROC}; diff --git a/www/iridium/files/patch-third__party_crashpad_crashpad_util_posix_drop__privileges.cc b/www/iridium/files/patch-third__party_crashpad_crashpad_util_posix_drop__privileges.cc new file mode 100644 index 000000000000..42ba7366e3cb --- /dev/null +++ b/www/iridium/files/patch-third__party_crashpad_crashpad_util_posix_drop__privileges.cc @@ -0,0 +1,11 @@ +--- third_party/crashpad/crashpad/util/posix/drop_privileges.cc.orig 2019-03-11 22:01:15 UTC ++++ third_party/crashpad/crashpad/util/posix/drop_privileges.cc +@@ -23,7 +23,7 @@ void DropPrivileges() { + gid_t gid = getgid(); + uid_t uid = getuid(); + +-#if defined(OS_MACOSX) ++#if defined(OS_MACOSX) || defined(OS_BSD) + // Based on the POSIX.1-2008 2013 edition documentation for setreuid() and + // setregid(), setreuid() and setregid() alone should be sufficient to drop + // privileges. The standard specifies that the saved ID should be set to the diff --git a/www/iridium/files/patch-third__party_crashpad_crashpad_util_posix_signals.cc b/www/iridium/files/patch-third__party_crashpad_crashpad_util_posix_signals.cc new file mode 100644 index 000000000000..911ec6d61ccd --- /dev/null +++ b/www/iridium/files/patch-third__party_crashpad_crashpad_util_posix_signals.cc @@ -0,0 +1,40 @@ +--- third_party/crashpad/crashpad/util/posix/signals.cc.orig 2019-12-16 21:51:05 UTC ++++ third_party/crashpad/crashpad/util/posix/signals.cc +@@ -45,10 +45,10 @@ constexpr int kCrashSignals[] = { + #if defined(SIGEMT) + SIGEMT, + #endif // defined(SIGEMT) +-#if defined(OS_LINUX) ++#if defined(OS_LINUX) || defined(OS_BSD) + SIGXCPU, + SIGXFSZ, +-#endif // defined(OS_LINUX) ++#endif // defined(OS_LINUX) || defined(OS_BSD) + }; + + // These are the non-core-generating but terminating signals. +@@ -85,9 +85,9 @@ constexpr int kTerminateSignals[] = { + SIGXCPU, + SIGXFSZ, + #endif // defined(OS_MACOSX) +-#if defined(OS_LINUX) ++#if defined(OS_LINUX) || defined(OS_BSD) + SIGIO, +-#endif // defined(OS_LINUX) ++#endif // defined(OS_LINUX) || defined(OS_BSD) + }; + + bool InstallHandlers(const std::vector<int>& signals, +@@ -224,8 +224,12 @@ bool Signals::WillSignalReraiseAutonomously(const sigi + // remains. See 10.12.3 xnu-3789.41.3/bsd/kern/kern_sig.c + // psignal_internal(). + (code > 0 && ++#if defined(SI_ASYNCIO) + code != SI_ASYNCIO && ++#endif ++#if defined(SI_MESGQ) + code != SI_MESGQ && ++#endif + code != SI_QUEUE && + code != SI_TIMER && + code != SI_USER && diff --git a/www/iridium/files/patch-third__party_crashpad_crashpad_util_posix_symbolic__constants__posix.cc b/www/iridium/files/patch-third__party_crashpad_crashpad_util_posix_symbolic__constants__posix.cc new file mode 100644 index 000000000000..63645eb0d883 --- /dev/null +++ b/www/iridium/files/patch-third__party_crashpad_crashpad_util_posix_symbolic__constants__posix.cc @@ -0,0 +1,20 @@ +--- third_party/crashpad/crashpad/util/posix/symbolic_constants_posix.cc.orig 2019-03-11 22:01:15 UTC ++++ third_party/crashpad/crashpad/util/posix/symbolic_constants_posix.cc +@@ -64,7 +64,7 @@ constexpr const char* kSignalNames[] = { + "INFO", + "USR1", + "USR2", +-#elif defined(OS_LINUX) || defined(OS_ANDROID) ++#elif defined(OS_LINUX) || defined(OS_ANDROID) || defined(OS_BSD) + #if defined(ARCH_CPU_MIPS_FAMILY) + "HUP", + "INT", +@@ -135,7 +135,7 @@ constexpr const char* kSignalNames[] = { + #endif // defined(ARCH_CPU_MIPS_FAMILY) + #endif + }; +-#if defined(OS_LINUX) || defined(OS_ANDROID) ++#if defined(OS_LINUX) || defined(OS_ANDROID) || defined(OS_BSD) + // NSIG is 64 to account for real-time signals. + static_assert(base::size(kSignalNames) == 32, "kSignalNames length"); + #else diff --git a/www/iridium/files/patch-third__party_crc32c_src_src_crc32c__arm64__linux__check.h b/www/iridium/files/patch-third__party_crc32c_src_src_crc32c__arm64__linux__check.h new file mode 100644 index 000000000000..0dd0f21d8d58 --- /dev/null +++ b/www/iridium/files/patch-third__party_crc32c_src_src_crc32c__arm64__linux__check.h @@ -0,0 +1,57 @@ +--- third_party/crc32c/src/src/crc32c_arm64_linux_check.h.orig 2020-03-03 18:55:23 UTC ++++ third_party/crc32c/src/src/crc32c_arm64_linux_check.h +@@ -7,8 +7,6 @@ + #ifndef CRC32C_CRC32C_ARM_LINUX_CHECK_H_ + #define CRC32C_CRC32C_ARM_LINUX_CHECK_H_ + +-// X86-specific code checking for the availability of SSE4.2 instructions. +- + #include <cstddef> + #include <cstdint> + +@@ -16,30 +14,25 @@ + + #if HAVE_ARM64_CRC32C + +-#if HAVE_STRONG_GETAUXVAL +-#include <sys/auxv.h> +-#elif HAVE_WEAK_GETAUXVAL +-// getauxval() is not available on Android until API level 20. Link it as a weak +-// symbol. +-extern "C" unsigned long getauxval(unsigned long type) __attribute__((weak)); ++#include <sys/types.h> ++#include <machine/armreg.h> + +-#define AT_HWCAP 16 +-#endif // HAVE_STRONG_GETAUXVAL || HAVE_WEAK_GETAUXVAL ++#ifndef ID_AA64ISAR0_AES_VAL ++#define ID_AA64ISAR0_AES_VAL ID_AA64ISAR0_AES ++#endif ++#ifndef ID_AA64ISAR0_CRC32_VAL ++#define ID_AA64ISAR0_CRC32_VAL ID_AA64ISAR0_CRC32 ++#endif + + namespace crc32c { + +-inline bool CanUseArm64Linux() { +-#if HAVE_STRONG_GETAUXVAL || HAVE_WEAK_GETAUXVAL +- // From 'arch/arm64/include/uapi/asm/hwcap.h' in Linux kernel source code. +- constexpr unsigned long kHWCAP_PMULL = 1 << 4; +- constexpr unsigned long kHWCAP_CRC32 = 1 << 7; +- unsigned long hwcap = (&getauxval != nullptr) ? getauxval(AT_HWCAP) : 0; +- return (hwcap & (kHWCAP_PMULL | kHWCAP_CRC32)) == +- (kHWCAP_PMULL | kHWCAP_CRC32); +-#else +- return false; +-#endif // HAVE_STRONG_GETAUXVAL || HAVE_WEAK_GETAUXVAL +-} ++ inline bool CanUseArm64Linux() { ++ uint64_t id_aa64isar0; ++ ++ id_aa64isar0 = READ_SPECIALREG(id_aa64isar0_el1); ++ return ((ID_AA64ISAR0_AES_VAL(id_aa64isar0) == ID_AA64ISAR0_AES_PMULL) && ++ (ID_AA64ISAR0_CRC32_VAL(id_aa64isar0) == ID_AA64ISAR0_CRC32_BASE)); ++ } + + } // namespace crc32c + diff --git a/www/iridium/files/patch-third__party_ffmpeg_libavutil_mem.c b/www/iridium/files/patch-third__party_ffmpeg_libavutil_mem.c new file mode 100644 index 000000000000..23d1e5344a09 --- /dev/null +++ b/www/iridium/files/patch-third__party_ffmpeg_libavutil_mem.c @@ -0,0 +1,12 @@ +--- third_party/ffmpeg/libavutil/mem.c.orig 2019-03-11 22:08:00 UTC ++++ third_party/ffmpeg/libavutil/mem.c +@@ -32,9 +32,6 @@ + #include <stdint.h> + #include <stdlib.h> + #include <string.h> +-#if HAVE_MALLOC_H +-#include <malloc.h> +-#endif + + #include "avassert.h" + #include "avutil.h" diff --git a/www/iridium/files/patch-third__party_googletest_src_googletest_src_gtest-port.cc b/www/iridium/files/patch-third__party_googletest_src_googletest_src_gtest-port.cc new file mode 100644 index 000000000000..ba45bf4dc184 --- /dev/null +++ b/www/iridium/files/patch-third__party_googletest_src_googletest_src_gtest-port.cc @@ -0,0 +1,43 @@ +--- third_party/googletest/src/googletest/src/gtest-port.cc.orig 2020-03-16 18:42:08 UTC ++++ third_party/googletest/src/googletest/src/gtest-port.cc +@@ -64,6 +64,11 @@ + # endif + #endif + ++#if GTEST_OS_FREEBSD ++#include <sys/sysctl.h> ++#include <sys/user.h> ++#endif ++ + #if GTEST_OS_QNX + # include <devctl.h> + # include <fcntl.h> +@@ -138,6 +143,28 @@ size_t GetThreadCount() { + } else { + return 0; + } ++} ++ ++#elif GTEST_OS_FREEBSD ++ ++#define KP_NLWP(kp) (kp.ki_numthreads) ++ ++// Return the number of threads running in the process, or 0 to indicate that ++// we cannot detect it. ++size_t GetThreadCount() { ++ int mib[] = { ++ CTL_KERN, ++ KERN_PROC, ++ KERN_PROC_PID, ++ getpid(), ++ }; ++ u_int miblen = sizeof(mib) / sizeof(mib[0]); ++ struct kinfo_proc(info); ++ size_t size = sizeof(info); ++ if (sysctl(mib, miblen, &info, &size, NULL, 0)) { ++ return 0; ++ } ++ return KP_NLWP(info); + } + + #elif GTEST_OS_DRAGONFLY || GTEST_OS_FREEBSD || GTEST_OS_GNU_KFREEBSD || \ diff --git a/www/iridium/files/patch-third__party_googletest_src_googletest_src_gtest.cc b/www/iridium/files/patch-third__party_googletest_src_googletest_src_gtest.cc new file mode 100644 index 000000000000..e56b6079f8f5 --- /dev/null +++ b/www/iridium/files/patch-third__party_googletest_src_googletest_src_gtest.cc @@ -0,0 +1,10 @@ +--- third_party/googletest/src/googletest/src/gtest.cc.orig 2020-03-16 18:42:08 UTC ++++ third_party/googletest/src/googletest/src/gtest.cc +@@ -118,6 +118,7 @@ + + #if GTEST_CAN_STREAM_RESULTS_ + # include <arpa/inet.h> // NOLINT ++# include <sys/socket.h> // NOLINT + # include <netdb.h> // NOLINT + # include <sys/socket.h> // NOLINT + # include <sys/types.h> // NOLINT diff --git a/www/iridium/files/patch-third__party_harfbuzz-ng_harfbuzz.gni b/www/iridium/files/patch-third__party_harfbuzz-ng_harfbuzz.gni new file mode 100644 index 000000000000..eb8e42c94bca --- /dev/null +++ b/www/iridium/files/patch-third__party_harfbuzz-ng_harfbuzz.gni @@ -0,0 +1,20 @@ +--- third_party/harfbuzz-ng/harfbuzz.gni.orig 2019-05-04 09:19:19 UTC ++++ third_party/harfbuzz-ng/harfbuzz.gni +@@ -3,10 +3,11 @@ + # found in the LICENSE file. + + declare_args() { +- # Blink uses a cutting-edge version of Harfbuzz; most Linux distros do not +- # contain a new enough version of the code to work correctly. However, +- # ChromeOS chroots (i.e, real ChromeOS builds for devices) do contain a +- # new enough version of the library, and so this variable exists so that +- # ChromeOS can build against the system lib and keep binary sizes smaller. +- use_system_harfbuzz = false ++ # Blink uses a cutting-edge version of Harfbuzz (version listed in ++ # third_party/harfbuzz-ng/README.chromium); most Linux distros do not contain ++ # a new enough version of the code to work correctly. However, ChromeOS ++ # chroots (i.e. real ChromeOS builds for devices) do contain a new enough ++ # version of the library, and so this variable exists so that ChromeOS can ++ # build against the system lib and keep binary sizes smaller. ++ use_system_harfbuzz = true + } diff --git a/www/iridium/files/patch-third__party_leveldatabase_env__chromium.cc b/www/iridium/files/patch-third__party_leveldatabase_env__chromium.cc new file mode 100644 index 000000000000..74a2d6efc9a1 --- /dev/null +++ b/www/iridium/files/patch-third__party_leveldatabase_env__chromium.cc @@ -0,0 +1,14 @@ +--- third_party/leveldatabase/env_chromium.cc.orig 2020-03-16 18:40:42 UTC ++++ third_party/leveldatabase/env_chromium.cc +@@ -40,7 +40,11 @@ + #include "third_party/leveldatabase/leveldb_chrome.h" + #include "third_party/leveldatabase/leveldb_features.h" + #include "third_party/leveldatabase/src/include/leveldb/options.h" ++#if defined(OS_BSD) ++#include <re2/re2.h> ++#else + #include "third_party/re2/src/re2/re2.h" ++#endif + + using base::FilePath; + using base::trace_event::MemoryAllocatorDump; diff --git a/www/iridium/files/patch-third__party_libXNVCtrl_NVCtrl.c b/www/iridium/files/patch-third__party_libXNVCtrl_NVCtrl.c new file mode 100644 index 000000000000..3d2353cdedae --- /dev/null +++ b/www/iridium/files/patch-third__party_libXNVCtrl_NVCtrl.c @@ -0,0 +1,25 @@ +--- third_party/libXNVCtrl/NVCtrl.c.orig 2019-03-11 22:01:15 UTC ++++ third_party/libXNVCtrl/NVCtrl.c +@@ -27,10 +27,6 @@ + * libXNVCtrl library properly protects the Display connection. + */ + +-#if !defined(XTHREADS) +-#define XTHREADS +-#endif /* XTHREADS */ +- + #define NEED_EVENTS + #define NEED_REPLIES + #include <stdint.h> +@@ -39,6 +35,11 @@ + #include <X11/Xutil.h> + #include <X11/extensions/Xext.h> + #include <X11/extensions/extutil.h> ++ ++#if !defined(XTHREADS) ++#define XTHREADS ++#endif /* XTHREADS */ ++ + #include "NVCtrlLib.h" + #include "nv_control.h" + diff --git a/www/iridium/files/patch-third__party_libphonenumber_dist_cpp_src_phonenumbers_base_memory_singleton.h b/www/iridium/files/patch-third__party_libphonenumber_dist_cpp_src_phonenumbers_base_memory_singleton.h new file mode 100644 index 000000000000..0815f041a8db --- /dev/null +++ b/www/iridium/files/patch-third__party_libphonenumber_dist_cpp_src_phonenumbers_base_memory_singleton.h @@ -0,0 +1,11 @@ +--- third_party/libphonenumber/dist/cpp/src/phonenumbers/base/memory/singleton.h.orig 2019-03-11 22:08:01 UTC ++++ third_party/libphonenumber/dist/cpp/src/phonenumbers/base/memory/singleton.h +@@ -56,7 +56,7 @@ template <class T> boost::once_flag Singleton<T>::flag + #include "phonenumbers/base/logging.h" + #include "phonenumbers/base/thread_checker.h" + +-#if !defined(__linux__) && !defined(__APPLE__) ++#if !defined(__linux__) && !defined(__APPLE__) && !defined(__FreeBSD__) && !defined(__OpenBSD__) + + namespace i18n { + namespace phonenumbers { diff --git a/www/iridium/files/patch-third__party_libphonenumber_dist_cpp_src_phonenumbers_base_synchronization_lock.h b/www/iridium/files/patch-third__party_libphonenumber_dist_cpp_src_phonenumbers_base_synchronization_lock.h new file mode 100644 index 000000000000..b09577e3c1d7 --- /dev/null +++ b/www/iridium/files/patch-third__party_libphonenumber_dist_cpp_src_phonenumbers_base_synchronization_lock.h @@ -0,0 +1,11 @@ +--- third_party/libphonenumber/dist/cpp/src/phonenumbers/base/synchronization/lock.h.orig 2019-10-21 19:09:13 UTC ++++ third_party/libphonenumber/dist/cpp/src/phonenumbers/base/synchronization/lock.h +@@ -63,7 +63,7 @@ class Lock { (private) + // Dummy lock implementation on non-POSIX platforms. If you are running on a + // different platform and care about thread-safety, please compile with + // -DI18N_PHONENUMBERS_USE_BOOST. +-#elif !defined(__linux__) && !defined(__APPLE__) ++#elif !defined(__linux__) && !defined(__APPLE__) && !defined(__FreeBSD__) + + namespace i18n { + namespace phonenumbers { diff --git a/www/iridium/files/patch-third__party_libphonenumber_dist_cpp_src_phonenumbers_base_thread__checker.h b/www/iridium/files/patch-third__party_libphonenumber_dist_cpp_src_phonenumbers_base_thread__checker.h new file mode 100644 index 000000000000..86849dfe63cd --- /dev/null +++ b/www/iridium/files/patch-third__party_libphonenumber_dist_cpp_src_phonenumbers_base_thread__checker.h @@ -0,0 +1,19 @@ +--- third_party/libphonenumber/dist/cpp/src/phonenumbers/base/thread_checker.h.orig 2019-03-11 22:08:01 UTC ++++ third_party/libphonenumber/dist/cpp/src/phonenumbers/base/thread_checker.h +@@ -23,6 +23,7 @@ + // user of the library know that it can't be used in a thread-safe manner when + // it is not depending on Boost. + #if !defined(__linux__) && !defined(__APPLE__) && \ ++ !defined(__FreeBSD__) && !defined(__OpenBSD__) && \ + !defined(I18N_PHONENUMBERS_NO_THREAD_SAFETY) + #error Building without Boost, please provide \ + -DI18N_PHONENUMBERS_NO_THREAD_SAFETY +@@ -31,7 +32,7 @@ + #endif + + #if !defined(NDEBUG) && !defined(I18N_PHONENUMBERS_USE_BOOST) && \ +- (defined(__linux__) || defined(__apple__)) ++ (defined(__linux__) || defined(__apple__)) || defined(__FreeBSD__) || defined(__OpenBSD__) + + #include <pthread.h> + diff --git a/www/iridium/files/patch-third__party_libpng_pnglibconf.h b/www/iridium/files/patch-third__party_libpng_pnglibconf.h new file mode 100644 index 000000000000..81996a0cfa58 --- /dev/null +++ b/www/iridium/files/patch-third__party_libpng_pnglibconf.h @@ -0,0 +1,14 @@ +--- third_party/libpng/pnglibconf.h.orig 2020-03-03 18:53:28 UTC ++++ third_party/libpng/pnglibconf.h +@@ -230,8 +230,11 @@ + * This is necessary to build multiple copies of libpng. We need this while pdfium builds + * its own copy of libpng. + */ ++/* Need to disable prefixing to unbundle chromium's libpng. */ ++#if 0 + #define PNG_PREFIX + #include "pngprefix.h" ++#endif + /* end of chromium prefixing */ + + #endif /* PNGLCONF_H */ diff --git a/www/iridium/files/patch-third__party_libyuv_include_libyuv_row.h b/www/iridium/files/patch-third__party_libyuv_include_libyuv_row.h new file mode 100644 index 000000000000..25761a9d90ec --- /dev/null +++ b/www/iridium/files/patch-third__party_libyuv_include_libyuv_row.h @@ -0,0 +1,37 @@ +--- third_party/libyuv/include/libyuv/row.h.orig 2019-03-11 22:08:01 UTC ++++ third_party/libyuv/include/libyuv/row.h +@@ -157,10 +157,14 @@ extern "C" { + #define HAS_ARGBSHADEROW_SSE2 + #define HAS_ARGBSUBTRACTROW_SSE2 + #define HAS_ARGBUNATTENUATEROW_SSE2 ++#if !(defined(__i386__) && defined(__GNUC__)) + #define HAS_BLENDPLANEROW_SSSE3 ++#endif + #define HAS_COMPUTECUMULATIVESUMROW_SSE2 + #define HAS_CUMULATIVESUMTOAVERAGEROW_SSE2 ++#if !(defined(__i386__) && defined(__GNUC__)) + #define HAS_INTERPOLATEROW_SSSE3 ++#endif + #define HAS_RGBCOLORTABLEROW_X86 + #define HAS_SOBELROW_SSE2 + #define HAS_SOBELTOPLANEROW_SSE2 +@@ -206,7 +210,9 @@ extern "C" { + #define HAS_I422TORGB565ROW_AVX2 + #define HAS_I422TORGBAROW_AVX2 + #define HAS_I444TOARGBROW_AVX2 ++#if !(defined(__i386__) && defined(__GNUC__)) + #define HAS_INTERPOLATEROW_AVX2 ++#endif + #define HAS_J422TOARGBROW_AVX2 + #define HAS_MERGEUVROW_AVX2 + #define HAS_MIRRORROW_AVX2 +@@ -231,7 +237,9 @@ extern "C" { + #define HAS_ARGBMULTIPLYROW_AVX2 + #define HAS_ARGBSUBTRACTROW_AVX2 + #define HAS_ARGBUNATTENUATEROW_AVX2 ++#if !(defined(__i386__) && defined(__GNUC__)) + #define HAS_BLENDPLANEROW_AVX2 ++#endif + + #if defined(__x86_64__) || !defined(__pic__) || defined(__clang__) || \ + defined(_MSC_VER) diff --git a/www/iridium/files/patch-third__party_nasm_config_config-linux.h b/www/iridium/files/patch-third__party_nasm_config_config-linux.h new file mode 100644 index 000000000000..6846af2fe7c7 --- /dev/null +++ b/www/iridium/files/patch-third__party_nasm_config_config-linux.h @@ -0,0 +1,29 @@ +--- third_party/nasm/config/config-linux.h.orig 2019-04-30 22:25:54 UTC ++++ third_party/nasm/config/config-linux.h +@@ -117,7 +117,7 @@ + #define HAVE_ACCESS 1 + + /* Define to 1 if you have the `canonicalize_file_name' function. */ +-#define HAVE_CANONICALIZE_FILE_NAME 1 ++/* #undef HAVE_CANONICALIZE_FILE_NAME */ + + /* Define to 1 if you have the `cpu_to_le16' intrinsic function. */ + /* #undef HAVE_CPU_TO_LE16 */ +@@ -161,7 +161,7 @@ + #define HAVE_DECL_STRSEP 1 + + /* Define to 1 if you have the <endian.h> header file. */ +-#define HAVE_ENDIAN_H 1 ++/* #undef HAVE_ENDIAN_H */ + + /* Define to 1 if you have the `faccessat' function. */ + #define HAVE_FACCESSAT 1 +@@ -322,7 +322,7 @@ + #define HAVE_SYSCONF 1 + + /* Define to 1 if you have the <sys/endian.h> header file. */ +-/* #undef HAVE_SYS_ENDIAN_H */ ++#define HAVE_SYS_ENDIAN_H 1 + + /* Define to 1 if you have the <sys/mman.h> header file. */ + #define HAVE_SYS_MMAN_H 1 diff --git a/www/iridium/files/patch-third__party_node_node.py b/www/iridium/files/patch-third__party_node_node.py new file mode 100644 index 000000000000..d31ac51040e3 --- /dev/null +++ b/www/iridium/files/patch-third__party_node_node.py @@ -0,0 +1,10 @@ +--- third_party/node/node.py.orig 2019-03-11 22:01:16 UTC ++++ third_party/node/node.py +@@ -12,6 +12,7 @@ import sys + def GetBinaryPath(): + return os_path.join(os_path.dirname(__file__), *{ + 'Darwin': ('mac', 'node-darwin-x64', 'bin', 'node'), ++ 'FreeBSD': ('freebsd', 'node-freebsd-x64', 'bin', 'node'), + 'Linux': ('linux', 'node-linux-x64', 'bin', 'node'), + 'Windows': ('win', 'node.exe'), + }[platform.system()]) diff --git a/www/iridium/files/patch-third__party_pdfium_core_fxcrt_cfx__datetime.cpp b/www/iridium/files/patch-third__party_pdfium_core_fxcrt_cfx__datetime.cpp new file mode 100644 index 000000000000..0e9aa30717ed --- /dev/null +++ b/www/iridium/files/patch-third__party_pdfium_core_fxcrt_cfx__datetime.cpp @@ -0,0 +1,11 @@ +--- third_party/pdfium/core/fxcrt/cfx_datetime.cpp.orig 2019-07-29 13:55:20 UTC ++++ third_party/pdfium/core/fxcrt/cfx_datetime.cpp +@@ -9,7 +9,7 @@ + #include "build/build_config.h" + #include "core/fxcrt/fx_system.h" + +-#if defined(OS_ANDROID) || defined(OS_LINUX) || defined(OS_MACOSX) || \ ++#if defined(OS_ANDROID) || defined(OS_LINUX) || defined(OS_MACOSX) || defined(OS_BSD) || \ + defined(OS_ASMJS) || defined(__wasm__) + #include <sys/time.h> + #include <time.h> diff --git a/www/iridium/files/patch-third__party_pdfium_core_fxcrt_fx__system.h b/www/iridium/files/patch-third__party_pdfium_core_fxcrt_fx__system.h new file mode 100644 index 000000000000..05d6c3e28de0 --- /dev/null +++ b/www/iridium/files/patch-third__party_pdfium_core_fxcrt_fx__system.h @@ -0,0 +1,11 @@ +--- third_party/pdfium/core/fxcrt/fx_system.h.orig 2019-07-24 19:03:29 UTC ++++ third_party/pdfium/core/fxcrt/fx_system.h +@@ -26,7 +26,7 @@ + #define _FX_PLATFORM_ _FX_PLATFORM_WINDOWS_ + #elif defined(_WIN64) + #define _FX_PLATFORM_ _FX_PLATFORM_WINDOWS_ +-#elif defined(__linux__) ++#elif defined(__linux__) || defined(__FreeBSD__) + #define _FX_PLATFORM_ _FX_PLATFORM_LINUX_ + #elif defined(__APPLE__) + #define _FX_PLATFORM_ _FX_PLATFORM_APPLE_ diff --git a/www/iridium/files/patch-third__party_pdfium_core_fxge_fx__ge__linux.cpp b/www/iridium/files/patch-third__party_pdfium_core_fxge_fx__ge__linux.cpp new file mode 100644 index 000000000000..272bf7a50bf9 --- /dev/null +++ b/www/iridium/files/patch-third__party_pdfium_core_fxge_fx__ge__linux.cpp @@ -0,0 +1,14 @@ +--- third_party/pdfium/core/fxge/fx_ge_linux.cpp.orig 2020-03-16 18:42:12 UTC ++++ third_party/pdfium/core/fxge/fx_ge_linux.cpp +@@ -155,9 +155,8 @@ std::unique_ptr<SystemFontInfoIface> SystemFontInfoIfa + const char** pUserPaths) { + auto pInfo = pdfium::MakeUnique<CFX_LinuxFontInfo>(); + if (!pInfo->ParseFontCfg(pUserPaths)) { +- pInfo->AddPath("/usr/share/fonts"); +- pInfo->AddPath("/usr/share/X11/fonts/Type1"); +- pInfo->AddPath("/usr/share/X11/fonts/TTF"); ++ pInfo->AddPath("/usr/local/share/fonts/Type1"); ++ pInfo->AddPath("/usr/local/share/fonts/TTF"); + pInfo->AddPath("/usr/local/share/fonts"); + } + return std::move(pInfo); diff --git a/www/iridium/files/patch-third__party_pdfium_fxjs_cjs__publicmethods.cpp b/www/iridium/files/patch-third__party_pdfium_fxjs_cjs__publicmethods.cpp new file mode 100644 index 000000000000..292afa1968d0 --- /dev/null +++ b/www/iridium/files/patch-third__party_pdfium_fxjs_cjs__publicmethods.cpp @@ -0,0 +1,106 @@ +--- third_party/pdfium/fxjs/cjs_publicmethods.cpp.orig 2019-06-04 18:58:01 UTC ++++ third_party/pdfium/fxjs/cjs_publicmethods.cpp +@@ -86,6 +86,103 @@ constexpr const wchar_t* kDateFormats[] = {L"m/d", + constexpr const wchar_t* kTimeFormats[] = {L"HH:MM", L"h:MM tt", L"HH:MM:ss", + L"h:MM:ss tt"}; + ++#if defined(__FreeBSD__) ++/* ++ * cvt.c - IEEE floating point formatting routines for FreeBSD ++ * from GNU libc-4.6.27 ++ */ ++ ++/* ++ * ap_ecvt converts to decimal ++ * the number of digits is specified by ndigit ++ * decpt is set to the position of the decimal point ++ * sign is set to 0 for positive, 1 for negative ++ */ ++ ++#define NDIG 80 ++ ++static char * ++ ap_cvt(double arg, int ndigits, int *decpt, int *sign, int eflag) ++{ ++ register int r2; ++ double fi, fj; ++ register char *p, *p1; ++ static char buf[NDIG]; ++ ++ if (ndigits >= NDIG - 1) ++ ndigits = NDIG - 2; ++ r2 = 0; ++ *sign = 0; ++ p = &buf[0]; ++ if (arg < 0) { ++ *sign = 1; ++ arg = -arg; ++ } ++ arg = modf(arg, &fi); ++ p1 = &buf[NDIG]; ++ /* ++ * Do integer part ++ */ ++ if (fi != 0) { ++ p1 = &buf[NDIG]; ++ while (fi != 0) { ++ fj = modf(fi / 10, &fi); ++ *--p1 = (int) ((fj + .03) * 10) + '0'; ++ r2++; ++ } ++ while (p1 < &buf[NDIG]) ++ *p++ = *p1++; ++ } ++ else if (arg > 0) { ++ while ((fj = arg * 10) < 1) { ++ arg = fj; ++ r2--; ++ } ++ } ++ p1 = &buf[ndigits]; ++ if (eflag == 0) ++ p1 += r2; ++ *decpt = r2; ++ if (p1 < &buf[0]) { ++ buf[0] = '\0'; ++ return (buf); ++ } ++ while (p <= p1 && p < &buf[NDIG]) { ++ arg *= 10; ++ arg = modf(arg, &fj); ++ *p++ = (int) fj + '0'; ++ } ++ if (p1 >= &buf[NDIG]) { ++ buf[NDIG - 1] = '\0'; ++ return (buf); ++ } ++ p = p1; ++ *p1 += 5; ++ while (*p1 > '9') { ++ *p1 = '0'; ++ if (p1 > buf) ++ ++ * --p1; ++ else { ++ *p1 = '1'; ++ (*decpt)++; ++ if (eflag == 0) { ++ if (p > buf) ++ *p = '0'; ++ p++; ++ } ++ } ++ } ++ *p = '\0'; ++ return (buf); ++} ++ ++static char * ++ fcvt(double arg, int ndigits, int *decpt, int *sign) ++{ ++ return (ap_cvt(arg, ndigits, decpt, sign, 0)); ++} ++#endif // defined(__FreeBSD__) ++ + template <typename T> + T StrTrim(const T& str) { + T result = str; diff --git a/www/iridium/files/patch-third__party_pdfium_fxjs_fx__date__helpers.cpp b/www/iridium/files/patch-third__party_pdfium_fxjs_fx__date__helpers.cpp new file mode 100644 index 000000000000..425ec0a4bc9a --- /dev/null +++ b/www/iridium/files/patch-third__party_pdfium_fxjs_fx__date__helpers.cpp @@ -0,0 +1,22 @@ +--- third_party/pdfium/fxjs/fx_date_helpers.cpp.orig 2019-07-24 19:03:29 UTC ++++ third_party/pdfium/fxjs/fx_date_helpers.cpp +@@ -35,6 +35,11 @@ double GetLocalTZA() { + return 0; + time_t t = 0; + FXSYS_time(&t); ++#ifdef __FreeBSD__ ++ struct tm lt; ++ localtime_r(&t, <); ++ return (double)(-(lt.tm_gmtoff * 1000)); ++#else + FXSYS_localtime(&t); + #if defined(OS_WIN) + // In gcc 'timezone' is a global variable declared in time.h. In VC++, that +@@ -43,6 +48,7 @@ double GetLocalTZA() { + _get_timezone(&timezone); + #endif + return (double)(-(timezone * 1000)); ++#endif // __FreeBSD__ + } + + int GetDaylightSavingTA(double d) { diff --git a/www/iridium/files/patch-third__party_pdfium_xfa_fgas_font_cfx__fontsourceenum__file.cpp b/www/iridium/files/patch-third__party_pdfium_xfa_fgas_font_cfx__fontsourceenum__file.cpp new file mode 100644 index 000000000000..af4bafcfee40 --- /dev/null +++ b/www/iridium/files/patch-third__party_pdfium_xfa_fgas_font_cfx__fontsourceenum__file.cpp @@ -0,0 +1,14 @@ +--- third_party/pdfium/xfa/fgas/font/cfx_fontsourceenum_file.cpp.orig 2019-07-24 19:03:30 UTC ++++ third_party/pdfium/xfa/fgas/font/cfx_fontsourceenum_file.cpp +@@ -16,9 +16,8 @@ constexpr char kFolderSeparator = '/'; + + constexpr const char* kFontFolders[] = { + #if _FX_PLATFORM_ == _FX_PLATFORM_LINUX_ +- "/usr/share/fonts", +- "/usr/share/X11/fonts/Type1", +- "/usr/share/X11/fonts/TTF", ++ "/usr/local/share/fonts/Type1", ++ "/usr/local/share/fonts/TTF", + "/usr/local/share/fonts", + #elif defined(OS_MACOSX) + "~/Library/Fonts", diff --git a/www/iridium/files/patch-third__party_perfetto_include_perfetto_base_build__config.h b/www/iridium/files/patch-third__party_perfetto_include_perfetto_base_build__config.h new file mode 100644 index 000000000000..02a9c66ed8e5 --- /dev/null +++ b/www/iridium/files/patch-third__party_perfetto_include_perfetto_base_build__config.h @@ -0,0 +1,70 @@ +--- third_party/perfetto/include/perfetto/base/build_config.h.orig 2020-03-16 18:42:11 UTC ++++ third_party/perfetto/include/perfetto/base/build_config.h +@@ -28,6 +28,7 @@ + #define PERFETTO_BUILDFLAG_DEFINE_PERFETTO_OS_ANDROID() 1 + #define PERFETTO_BUILDFLAG_DEFINE_PERFETTO_OS_MACOSX() 0 + #define PERFETTO_BUILDFLAG_DEFINE_PERFETTO_OS_LINUX() 0 ++#define PERFETTO_BUILDFLAG_DEFINE_PERFETTO_OS_FREEBSD() 0 + #define PERFETTO_BUILDFLAG_DEFINE_PERFETTO_OS_WIN() 0 + #define PERFETTO_BUILDFLAG_DEFINE_PERFETTO_OS_WASM() 0 + #define PERFETTO_BUILDFLAG_DEFINE_PERFETTO_OS_FUCHSIA() 0 +@@ -37,6 +38,7 @@ + #define PERFETTO_BUILDFLAG_DEFINE_PERFETTO_OS_ANDROID() 0 + #define PERFETTO_BUILDFLAG_DEFINE_PERFETTO_OS_MACOSX() 1 + #define PERFETTO_BUILDFLAG_DEFINE_PERFETTO_OS_LINUX() 0 ++#define PERFETTO_BUILDFLAG_DEFINE_PERFETTO_OS_FREEBSD() 0 + #define PERFETTO_BUILDFLAG_DEFINE_PERFETTO_OS_WIN() 0 + #define PERFETTO_BUILDFLAG_DEFINE_PERFETTO_OS_WASM() 0 + #define PERFETTO_BUILDFLAG_DEFINE_PERFETTO_OS_FUCHSIA() 0 +@@ -50,15 +52,27 @@ + #define PERFETTO_BUILDFLAG_DEFINE_PERFETTO_OS_ANDROID() 0 + #define PERFETTO_BUILDFLAG_DEFINE_PERFETTO_OS_MACOSX() 0 + #define PERFETTO_BUILDFLAG_DEFINE_PERFETTO_OS_LINUX() 1 ++#define PERFETTO_BUILDFLAG_DEFINE_PERFETTO_OS_FREEBSD() 0 + #define PERFETTO_BUILDFLAG_DEFINE_PERFETTO_OS_WIN() 0 + #define PERFETTO_BUILDFLAG_DEFINE_PERFETTO_OS_WASM() 0 + #define PERFETTO_BUILDFLAG_DEFINE_PERFETTO_OS_FUCHSIA() 0 + #define PERFETTO_BUILDFLAG_DEFINE_PERFETTO_OS_NACL() 0 + #define PERFETTO_BUILDFLAG_DEFINE_PERFETTO_OS_IOS() 0 ++#elif defined(__FreeBSD__) ++#define PERFETTO_BUILDFLAG_DEFINE_PERFETTO_OS_ANDROID() 0 ++#define PERFETTO_BUILDFLAG_DEFINE_PERFETTO_OS_MACOSX() 0 ++#define PERFETTO_BUILDFLAG_DEFINE_PERFETTO_OS_LINUX() 1 ++#define PERFETTO_BUILDFLAG_DEFINE_PERFETTO_OS_FREEBSD() 1 ++#define PERFETTO_BUILDFLAG_DEFINE_PERFETTO_OS_WIN() 0 ++#define PERFETTO_BUILDFLAG_DEFINE_PERFETTO_OS_WASM() 0 ++#define PERFETTO_BUILDFLAG_DEFINE_PERFETTO_OS_FUCHSIA() 0 ++#define PERFETTO_BUILDFLAG_DEFINE_PERFETTO_OS_NACL() 0 ++#define PERFETTO_BUILDFLAG_DEFINE_PERFETTO_OS_IOS() 0 + #elif defined(_WIN32) + #define PERFETTO_BUILDFLAG_DEFINE_PERFETTO_OS_ANDROID() 0 + #define PERFETTO_BUILDFLAG_DEFINE_PERFETTO_OS_MACOSX() 0 + #define PERFETTO_BUILDFLAG_DEFINE_PERFETTO_OS_LINUX() 0 ++#define PERFETTO_BUILDFLAG_DEFINE_PERFETTO_OS_FREEBSD() 0 + #define PERFETTO_BUILDFLAG_DEFINE_PERFETTO_OS_WIN() 1 + #define PERFETTO_BUILDFLAG_DEFINE_PERFETTO_OS_WASM() 0 + #define PERFETTO_BUILDFLAG_DEFINE_PERFETTO_OS_FUCHSIA() 0 +@@ -68,6 +82,7 @@ + #define PERFETTO_BUILDFLAG_DEFINE_PERFETTO_OS_ANDROID() 0 + #define PERFETTO_BUILDFLAG_DEFINE_PERFETTO_OS_MACOSX() 0 + #define PERFETTO_BUILDFLAG_DEFINE_PERFETTO_OS_LINUX() 0 ++#define PERFETTO_BUILDFLAG_DEFINE_PERFETTO_OS_FREEBSD() 0 + #define PERFETTO_BUILDFLAG_DEFINE_PERFETTO_OS_WIN() 0 + #define PERFETTO_BUILDFLAG_DEFINE_PERFETTO_OS_WASM() 1 + #define PERFETTO_BUILDFLAG_DEFINE_PERFETTO_OS_FUCHSIA() 0 +@@ -77,6 +92,7 @@ + #define PERFETTO_BUILDFLAG_DEFINE_PERFETTO_OS_ANDROID() 0 + #define PERFETTO_BUILDFLAG_DEFINE_PERFETTO_OS_MACOSX() 0 + #define PERFETTO_BUILDFLAG_DEFINE_PERFETTO_OS_LINUX() 0 ++#define PERFETTO_BUILDFLAG_DEFINE_PERFETTO_OS_FREEBSD() 0 + #define PERFETTO_BUILDFLAG_DEFINE_PERFETTO_OS_WIN() 0 + #define PERFETTO_BUILDFLAG_DEFINE_PERFETTO_OS_WASM() 0 + #define PERFETTO_BUILDFLAG_DEFINE_PERFETTO_OS_FUCHSIA() 1 +@@ -86,6 +102,7 @@ + #define PERFETTO_BUILDFLAG_DEFINE_PERFETTO_OS_ANDROID() 0 + #define PERFETTO_BUILDFLAG_DEFINE_PERFETTO_OS_MACOSX() 0 + #define PERFETTO_BUILDFLAG_DEFINE_PERFETTO_OS_LINUX() 0 ++#define PERFETTO_BUILDFLAG_DEFINE_PERFETTO_OS_FREEBSD() 0 + #define PERFETTO_BUILDFLAG_DEFINE_PERFETTO_OS_WIN() 0 + #define PERFETTO_BUILDFLAG_DEFINE_PERFETTO_OS_WASM() 0 + #define PERFETTO_BUILDFLAG_DEFINE_PERFETTO_OS_FUCHSIA() 0 diff --git a/www/iridium/files/patch-third__party_perfetto_include_perfetto_base_thread__utils.h b/www/iridium/files/patch-third__party_perfetto_include_perfetto_base_thread__utils.h new file mode 100644 index 000000000000..c8947d13ecbf --- /dev/null +++ b/www/iridium/files/patch-third__party_perfetto_include_perfetto_base_thread__utils.h @@ -0,0 +1,24 @@ +--- third_party/perfetto/include/perfetto/base/thread_utils.h.orig 2020-03-16 18:42:11 UTC ++++ third_party/perfetto/include/perfetto/base/thread_utils.h +@@ -33,6 +33,9 @@ + #include <sys/types.h> + #include <unistd.h> + #endif ++#if PERFETTO_BUILDFLAG(PERFETTO_OS_FREEBSD) ++#include <pthread_np.h> ++#endif + + namespace perfetto { + namespace base { +@@ -41,6 +44,11 @@ namespace base { + using PlatformThreadId = pid_t; + inline PlatformThreadId GetThreadId() { + return gettid(); ++} ++#elif PERFETTO_BUILDFLAG(PERFETTO_OS_FREEBSD) ++using PlatformThreadId = pid_t; ++inline PlatformThreadId GetThreadId() { ++ return pthread_getthreadid_np(); + } + #elif PERFETTO_BUILDFLAG(PERFETTO_OS_LINUX) + using PlatformThreadId = pid_t; diff --git a/www/iridium/files/patch-third__party_perfetto_include_perfetto_base_time.h b/www/iridium/files/patch-third__party_perfetto_include_perfetto_base_time.h new file mode 100644 index 000000000000..7750793e8235 --- /dev/null +++ b/www/iridium/files/patch-third__party_perfetto_include_perfetto_base_time.h @@ -0,0 +1,20 @@ +--- third_party/perfetto/include/perfetto/base/time.h.orig 2020-03-16 18:42:11 UTC ++++ third_party/perfetto/include/perfetto/base/time.h +@@ -141,6 +141,9 @@ inline TimeNanos GetTimeInternalNs(clockid_t clk_id) { + // Return ns from boot. Conversely to GetWallTimeNs, this clock counts also time + // during suspend (when supported). + inline TimeNanos GetBootTimeNs() { ++#if PERFETTO_BUILDFLAG(PERFETTO_OS_FREEBSD) ++ return GetTimeInternalNs(kWallTimeClockSource); ++#else + // Determine if CLOCK_BOOTTIME is available on the first call. + static const clockid_t kBootTimeClockSource = [] { + struct timespec ts = {}; +@@ -148,6 +151,7 @@ inline TimeNanos GetBootTimeNs() { + return res == 0 ? CLOCK_BOOTTIME : kWallTimeClockSource; + }(); + return GetTimeInternalNs(kBootTimeClockSource); ++#endif + } + + inline TimeNanos GetWallTimeNs() { diff --git a/www/iridium/files/patch-third__party_perfetto_include_perfetto_ext_base_event__fd.h b/www/iridium/files/patch-third__party_perfetto_include_perfetto_ext_base_event__fd.h new file mode 100644 index 000000000000..e49d012bec39 --- /dev/null +++ b/www/iridium/files/patch-third__party_perfetto_include_perfetto_ext_base_event__fd.h @@ -0,0 +1,13 @@ +--- third_party/perfetto/include/perfetto/ext/base/event_fd.h.orig 2019-09-16 11:03:16 UTC ++++ third_party/perfetto/include/perfetto/ext/base/event_fd.h +@@ -20,8 +20,8 @@ + #include "perfetto/base/build_config.h" + #include "perfetto/ext/base/scoped_file.h" + +-#if PERFETTO_BUILDFLAG(PERFETTO_OS_LINUX) || \ +- PERFETTO_BUILDFLAG(PERFETTO_OS_ANDROID) ++#if !PERFETTO_BUILDFLAG(PERFETTO_OS_FREEBSD) && (PERFETTO_BUILDFLAG(PERFETTO_OS_LINUX) || \ ++ PERFETTO_BUILDFLAG(PERFETTO_OS_ANDROID)) + #define PERFETTO_USE_EVENTFD() 1 + #else + #define PERFETTO_USE_EVENTFD() 0 diff --git a/www/iridium/files/patch-third__party_perfetto_src_base_thread__task__runner.cc b/www/iridium/files/patch-third__party_perfetto_src_base_thread__task__runner.cc new file mode 100644 index 000000000000..1196437c938c --- /dev/null +++ b/www/iridium/files/patch-third__party_perfetto_src_base_thread__task__runner.cc @@ -0,0 +1,20 @@ +--- third_party/perfetto/src/base/thread_task_runner.cc.orig 2020-03-19 11:48:14 UTC ++++ third_party/perfetto/src/base/thread_task_runner.cc +@@ -27,7 +27,7 @@ + #include "perfetto/base/logging.h" + #include "perfetto/ext/base/unix_task_runner.h" + +-#if PERFETTO_BUILDFLAG(PERFETTO_OS_LINUX) || \ ++#if (PERFETTO_BUILDFLAG(PERFETTO_OS_LINUX) && !PERFETTO_BUILDFLAG(PERFETTO_OS_FREEBSD)) || \ + PERFETTO_BUILDFLAG(PERFETTO_OS_ANDROID) + #include <sys/prctl.h> + #endif +@@ -84,6 +84,8 @@ void ThreadTaskRunner::RunTaskThread( + if (!name_.empty()) { + #if PERFETTO_BUILDFLAG(PERFETTO_OS_MACOSX) + pthread_setname_np(name_.c_str()); ++#elif PERFETTO_BUILDFLAG(PERFETTO_OS_FREEBSD) ++ pthread_set_name_np(pthread_self(), name_.c_str()); + #elif PERFETTO_BUILDFLAG(PERFETTO_OS_LINUX) || \ + PERFETTO_BUILDFLAG(PERFETTO_OS_ANDROID) + prctl(PR_SET_NAME, name_.c_str()); diff --git a/www/iridium/files/patch-third__party_perfetto_src_base_unix__socket.cc b/www/iridium/files/patch-third__party_perfetto_src_base_unix__socket.cc new file mode 100644 index 000000000000..f14075502887 --- /dev/null +++ b/www/iridium/files/patch-third__party_perfetto_src_base_unix__socket.cc @@ -0,0 +1,20 @@ +--- third_party/perfetto/src/base/unix_socket.cc.orig 2020-03-16 18:42:11 UTC ++++ third_party/perfetto/src/base/unix_socket.cc +@@ -37,7 +37,7 @@ + #include "perfetto/ext/base/string_utils.h" + #include "perfetto/ext/base/utils.h" + +-#if PERFETTO_BUILDFLAG(PERFETTO_OS_MACOSX) ++#if PERFETTO_BUILDFLAG(PERFETTO_OS_MACOSX) || PERFETTO_BUILDFLAG(PERFETTO_OS_FREEBSD) + #include <sys/ucred.h> + #endif + +@@ -601,7 +601,7 @@ void UnixSocket::ReadPeerCredentials() { + if (sock_raw_.family() != SockFamily::kUnix) + return; + +-#if PERFETTO_BUILDFLAG(PERFETTO_OS_LINUX) || \ ++#if (PERFETTO_BUILDFLAG(PERFETTO_OS_LINUX) && !PERFETTO_BUILDFLAG(PERFETTO_OS_FREEBSD)) || \ + PERFETTO_BUILDFLAG(PERFETTO_OS_ANDROID) + struct ucred user_cred; + socklen_t len = sizeof(user_cred); diff --git a/www/iridium/files/patch-third__party_perfetto_src_tracing_core_tracing__service__impl.cc b/www/iridium/files/patch-third__party_perfetto_src_tracing_core_tracing__service__impl.cc new file mode 100644 index 000000000000..f778d36188f5 --- /dev/null +++ b/www/iridium/files/patch-third__party_perfetto_src_tracing_core_tracing__service__impl.cc @@ -0,0 +1,10 @@ +--- third_party/perfetto/src/tracing/core/tracing_service_impl.cc.orig 2020-03-16 18:42:12 UTC ++++ third_party/perfetto/src/tracing/core/tracing_service_impl.cc +@@ -2306,6 +2306,7 @@ void TracingServiceImpl::SnapshotClocks(std::vector<Tr + + #if !PERFETTO_BUILDFLAG(PERFETTO_OS_MACOSX) && \ + !PERFETTO_BUILDFLAG(PERFETTO_OS_WIN) && \ ++ !PERFETTO_BUILDFLAG(PERFETTO_OS_FREEBSD) && \ + !PERFETTO_BUILDFLAG(PERFETTO_OS_NACL) + struct { + clockid_t id; diff --git a/www/iridium/files/patch-third__party_perfetto_src_tracing_core_virtual__destructors.cc b/www/iridium/files/patch-third__party_perfetto_src_tracing_core_virtual__destructors.cc new file mode 100644 index 000000000000..7bc926acd7a0 --- /dev/null +++ b/www/iridium/files/patch-third__party_perfetto_src_tracing_core_virtual__destructors.cc @@ -0,0 +1,28 @@ +Backport of: + +From 46f0abc66c1d78c60a0415c5cb46852ef3bfa9bb Mon Sep 17 00:00:00 2001 +From: Nico Weber <thakis@chromium.org> +Date: Sat, 8 Feb 2020 21:26:53 -0500 +Subject: [PATCH] Fix compile error emitted by trunk clang + +../../third_party/perfetto/src/tracing/core/virtual_destructors.cc:33:35: +error: destructor cannot be declared using a type alias + 'perfetto::TracingService::ConsumerEndpoint' (aka + 'perfetto::ConsumerEndpoint') of the class name +TracingService::ConsumerEndpoint::~ConsumerEndpoint() = default; + +Bug: chromium:1050372 + +--- third_party/perfetto/src/tracing/core/virtual_destructors.cc.orig 2020-08-29 15:07:40 UTC ++++ third_party/perfetto/src/tracing/core/virtual_destructors.cc +@@ -30,8 +30,8 @@ namespace perfetto { + Consumer::~Consumer() = default; + Producer::~Producer() = default; + TracingService::~TracingService() = default; +-TracingService::ConsumerEndpoint::~ConsumerEndpoint() = default; +-TracingService::ProducerEndpoint::~ProducerEndpoint() = default; ++ConsumerEndpoint::~ConsumerEndpoint() = default; ++ProducerEndpoint::~ProducerEndpoint() = default; + SharedMemory::~SharedMemory() = default; + SharedMemory::Factory::~Factory() = default; + SharedMemoryArbiter::~SharedMemoryArbiter() = default; diff --git a/www/iridium/files/patch-third__party_protobuf_src_google_protobuf_stubs_platform__macros.h b/www/iridium/files/patch-third__party_protobuf_src_google_protobuf_stubs_platform__macros.h new file mode 100644 index 000000000000..2f151107c8c2 --- /dev/null +++ b/www/iridium/files/patch-third__party_protobuf_src_google_protobuf_stubs_platform__macros.h @@ -0,0 +1,11 @@ +--- third_party/protobuf/src/google/protobuf/stubs/platform_macros.h.orig 2019-10-21 19:07:25 UTC ++++ third_party/protobuf/src/google/protobuf/stubs/platform_macros.h +@@ -118,7 +118,7 @@ GOOGLE_PROTOBUF_PLATFORM_ERROR + + #undef GOOGLE_PROTOBUF_PLATFORM_ERROR + +-#if defined(GOOGLE_PROTOBUF_OS_ANDROID) || defined(GOOGLE_PROTOBUF_OS_IPHONE) || defined(__OpenBSD__) ++#if defined(GOOGLE_PROTOBUF_OS_ANDROID) || defined(GOOGLE_PROTOBUF_OS_IPHONE) || defined(__FreeBSD__) + // Android ndk does not support the __thread keyword very well yet. Here + // we use pthread_key_create()/pthread_getspecific()/... methods for + // TLS support on android. diff --git a/www/iridium/files/patch-third__party_skia_src_core_SkCpu.cpp b/www/iridium/files/patch-third__party_skia_src_core_SkCpu.cpp new file mode 100644 index 000000000000..4d7db67f8556 --- /dev/null +++ b/www/iridium/files/patch-third__party_skia_src_core_SkCpu.cpp @@ -0,0 +1,19 @@ +--- third_party/skia/src/core/SkCpu.cpp.orig 2019-07-24 19:03:35 UTC ++++ third_party/skia/src/core/SkCpu.cpp +@@ -76,6 +76,8 @@ + #include <sys/auxv.h> + + static uint32_t read_cpu_features() { ++return 0; ++#if 0 + const uint32_t kHWCAP_CRC32 = (1<< 7), + kHWCAP_ASIMDHP = (1<<10); + +@@ -112,6 +114,7 @@ + } + } + return features; ++#endif + } + + #elif defined(SK_CPU_ARM32) && __has_include(<sys/auxv.h>) && \ diff --git a/www/iridium/files/patch-third__party_skia_src_gpu_GrAutoLocaleSetter.h b/www/iridium/files/patch-third__party_skia_src_gpu_GrAutoLocaleSetter.h new file mode 100644 index 000000000000..4621798922e7 --- /dev/null +++ b/www/iridium/files/patch-third__party_skia_src_gpu_GrAutoLocaleSetter.h @@ -0,0 +1,11 @@ +--- third_party/skia/src/gpu/GrAutoLocaleSetter.h.orig 2019-03-11 22:08:28 UTC ++++ third_party/skia/src/gpu/GrAutoLocaleSetter.h +@@ -27,7 +27,7 @@ + #define HAVE_XLOCALE 0 + #endif + +-#if defined(SK_BUILD_FOR_ANDROID) || defined(__UCLIBC__) || defined(_NEWLIB_VERSION) ++#if defined(SK_BUILD_FOR_ANDROID) || defined(__UCLIBC__) || defined(_NEWLIB_VERSION) || defined(__FreeBSD__) + #define HAVE_LOCALE_T 0 + #else + #define HAVE_LOCALE_T 1 diff --git a/www/iridium/files/patch-third__party_skia_src_images_SkJpegEncoder.cpp b/www/iridium/files/patch-third__party_skia_src_images_SkJpegEncoder.cpp new file mode 100644 index 000000000000..1241cb9d733b --- /dev/null +++ b/www/iridium/files/patch-third__party_skia_src_images_SkJpegEncoder.cpp @@ -0,0 +1,41 @@ +--- third_party/skia/src/images/SkJpegEncoder.cpp.orig 2019-09-09 21:57:02 UTC ++++ third_party/skia/src/images/SkJpegEncoder.cpp +@@ -76,9 +76,14 @@ bool SkJpegEncoderMgr::setParams(const SkImageInfo& sr + return (transform_scanline_proc) nullptr; + }; + ++#ifdef JCS_EXTENSIONS + J_COLOR_SPACE jpegColorType = JCS_EXT_RGBA; ++#else ++ J_COLOR_SPACE jpegColorType = JCS_RGB; ++#endif + int numComponents = 0; + switch (srcInfo.colorType()) { ++#ifdef JCS_EXTENSIONS + case kRGBA_8888_SkColorType: + fProc = chooseProc8888(); + jpegColorType = JCS_EXT_RGBA; +@@ -89,6 +94,7 @@ bool SkJpegEncoderMgr::setParams(const SkImageInfo& sr + jpegColorType = JCS_EXT_BGRA; + numComponents = 4; + break; ++#endif + case kRGB_565_SkColorType: + fProc = transform_scanline_565; + jpegColorType = JCS_RGB; +@@ -108,6 +114,7 @@ bool SkJpegEncoderMgr::setParams(const SkImageInfo& sr + jpegColorType = JCS_GRAYSCALE; + numComponents = 1; + break; ++#ifdef JCS_EXTENSIONS + case kRGBA_F16_SkColorType: + if (kUnpremul_SkAlphaType == srcInfo.alphaType() && + options.fAlphaOption == SkJpegEncoder::AlphaOption::kBlendOnBlack) { +@@ -118,6 +125,7 @@ bool SkJpegEncoderMgr::setParams(const SkImageInfo& sr + jpegColorType = JCS_EXT_RGBA; + numComponents = 4; + break; ++#endif + default: + return false; + } diff --git a/www/iridium/files/patch-third__party_skia_src_ports_SkOSFile__stdio.cpp b/www/iridium/files/patch-third__party_skia_src_ports_SkOSFile__stdio.cpp new file mode 100644 index 000000000000..ce10a392a3de --- /dev/null +++ b/www/iridium/files/patch-third__party_skia_src_ports_SkOSFile__stdio.cpp @@ -0,0 +1,11 @@ +--- third_party/skia/src/ports/SkOSFile_stdio.cpp.orig 2020-02-03 21:54:56 UTC ++++ third_party/skia/src/ports/SkOSFile_stdio.cpp +@@ -132,7 +132,7 @@ void sk_fflush(FILE* f) { + + void sk_fsync(FILE* f) { + #if !defined(_WIN32) && !defined(SK_BUILD_FOR_ANDROID) && !defined(__UCLIBC__) \ +- && !defined(_NEWLIB_VERSION) ++ && !defined(_NEWLIB_VERSION) && !defined(__FreeBSD__) + int fd = fileno(f); + fsync(fd); + #endif diff --git a/www/iridium/files/patch-third__party_skia_src_sksl_SkSLString.h b/www/iridium/files/patch-third__party_skia_src_sksl_SkSLString.h new file mode 100644 index 000000000000..a6806cbac266 --- /dev/null +++ b/www/iridium/files/patch-third__party_skia_src_sksl_SkSLString.h @@ -0,0 +1,11 @@ +--- third_party/skia/src/sksl/SkSLString.h.orig 2019-12-16 21:56:18 UTC ++++ third_party/skia/src/sksl/SkSLString.h +@@ -17,6 +17,8 @@ + #include "include/core/SkString.h" + #endif + ++#include <stdarg.h> ++ + namespace SkSL { + + // Represents a (not necessarily null-terminated) slice of a string. diff --git a/www/iridium/files/patch-third__party_skia_third__party_vulkanmemoryallocator_include_vk__mem__alloc.h b/www/iridium/files/patch-third__party_skia_third__party_vulkanmemoryallocator_include_vk__mem__alloc.h new file mode 100644 index 000000000000..7357a76fa0f9 --- /dev/null +++ b/www/iridium/files/patch-third__party_skia_third__party_vulkanmemoryallocator_include_vk__mem__alloc.h @@ -0,0 +1,11 @@ +--- third_party/skia/third_party/vulkanmemoryallocator/include/vk_mem_alloc.h.orig 2020-04-24 08:05:43 UTC ++++ third_party/skia/third_party/vulkanmemoryallocator/include/vk_mem_alloc.h +@@ -2232,7 +2232,7 @@ remove them if not needed. + #include <mutex> // for std::mutex + #include <atomic> // for std::atomic + +-#if !defined(_WIN32) && !defined(__APPLE__) ++#if !defined(_WIN32) && !defined(__APPLE__) && !defined(__FreeBSD__) + #include <malloc.h> // for aligned_alloc() + #endif + diff --git a/www/iridium/files/patch-third__party_sqlite_BUILD.gn b/www/iridium/files/patch-third__party_sqlite_BUILD.gn new file mode 100644 index 000000000000..9bc2ed01d5e2 --- /dev/null +++ b/www/iridium/files/patch-third__party_sqlite_BUILD.gn @@ -0,0 +1,11 @@ +--- third_party/sqlite/BUILD.gn.orig 2019-09-09 21:55:43 UTC ++++ third_party/sqlite/BUILD.gn +@@ -262,7 +262,7 @@ config("sqlite_warnings") { + ] + } + } +- if (is_linux) { ++ if (is_linux && !is_bsd) { + cflags += [ + # SQLite doesn't believe in compiler warnings, preferring testing. + # http://www.sqlite.org/faq.html#q17 diff --git a/www/iridium/files/patch-third__party_swiftshader_BUILD.gn b/www/iridium/files/patch-third__party_swiftshader_BUILD.gn new file mode 100644 index 000000000000..7869c319cc9c --- /dev/null +++ b/www/iridium/files/patch-third__party_swiftshader_BUILD.gn @@ -0,0 +1,24 @@ +--- third_party/swiftshader/BUILD.gn.orig 2020-03-16 18:42:12 UTC ++++ third_party/swiftshader/BUILD.gn +@@ -136,9 +136,6 @@ config("swiftshader_config") { + ldflags = [ "-Wl,--gc-sections" ] + + if (target_cpu == "mipsel") { +- ldflags += [ +- "-Wl,--hash-style=sysv", +- ] + if (mips_arch_variant == "r1") { + ldflags += [ + "-mips32", +@@ -150,11 +147,8 @@ config("swiftshader_config") { + } + } else if (target_cpu == "mips64el") { + ldflags += [ +- "-Wl,--hash-style=sysv", + "-mips64r2", + ] +- } else { +- ldflags += [ "-Wl,--hash-style=both" ] + } + + # A bug in the gold linker prevents using ICF on 32-bit (crbug.com/729532) diff --git a/www/iridium/files/patch-third__party_swiftshader_src_Common_Configurator.cpp b/www/iridium/files/patch-third__party_swiftshader_src_Common_Configurator.cpp new file mode 100644 index 000000000000..a1e1ccf4a0f1 --- /dev/null +++ b/www/iridium/files/patch-third__party_swiftshader_src_Common_Configurator.cpp @@ -0,0 +1,12 @@ +--- third_party/swiftshader/src/Common/Configurator.cpp.orig 2019-03-11 22:08:03 UTC ++++ third_party/swiftshader/src/Common/Configurator.cpp +@@ -42,6 +42,9 @@ namespace sw + + bool Configurator::readFile() + { ++#if defined(__FreeBSD__) ++ return false; ++#endif + #if defined(__unix__) + if(access(path.c_str(), R_OK) != 0) + { diff --git a/www/iridium/files/patch-third__party_swiftshader_src_Common_MutexLock.hpp b/www/iridium/files/patch-third__party_swiftshader_src_Common_MutexLock.hpp new file mode 100644 index 000000000000..96aca3af105f --- /dev/null +++ b/www/iridium/files/patch-third__party_swiftshader_src_Common_MutexLock.hpp @@ -0,0 +1,11 @@ +--- third_party/swiftshader/src/Common/MutexLock.hpp.orig 2019-03-11 22:08:03 UTC ++++ third_party/swiftshader/src/Common/MutexLock.hpp +@@ -17,7 +17,7 @@ + + #include "Thread.hpp" + +-#if defined(__linux__) ++#if defined(__linux__) || defined(__FreeBSD__) + // Use a pthread mutex on Linux. Since many processes may use SwiftShader + // at the same time it's best to just have the scheduler overhead. + #include <pthread.h> diff --git a/www/iridium/files/patch-third__party_swiftshader_src_Common_SharedLibrary.hpp b/www/iridium/files/patch-third__party_swiftshader_src_Common_SharedLibrary.hpp new file mode 100644 index 000000000000..fa03cd628462 --- /dev/null +++ b/www/iridium/files/patch-third__party_swiftshader_src_Common_SharedLibrary.hpp @@ -0,0 +1,11 @@ +--- third_party/swiftshader/src/Common/SharedLibrary.hpp.orig 2019-03-11 22:08:03 UTC ++++ third_party/swiftshader/src/Common/SharedLibrary.hpp +@@ -97,7 +97,7 @@ void *loadLibrary(const std::string &libraryDirectory, + + inline void *getLibraryHandle(const char *path) + { +- #ifdef __ANDROID__ ++ #if defined( __ANDROID__) || defined(__FreeBSD__) + // bionic doesn't support RTLD_NOLOAD before L + return dlopen(path, RTLD_NOW | RTLD_LOCAL); + #else diff --git a/www/iridium/files/patch-third__party_swiftshader_src_Main_SwiftConfig.cpp b/www/iridium/files/patch-third__party_swiftshader_src_Main_SwiftConfig.cpp new file mode 100644 index 000000000000..888c476a9108 --- /dev/null +++ b/www/iridium/files/patch-third__party_swiftshader_src_Main_SwiftConfig.cpp @@ -0,0 +1,14 @@ +--- third_party/swiftshader/src/Main/SwiftConfig.cpp.orig 2019-09-09 21:57:01 UTC ++++ third_party/swiftshader/src/Main/SwiftConfig.cpp +@@ -764,7 +764,11 @@ namespace sw + struct stat status; + int lastModified = ini.getInteger("LastModified", "Time", 0); + ++#if !defined(__FreeBSD__) + bool noConfig = stat("SwiftShader.ini", &status) != 0; ++#else ++ bool noConfig = false; ++#endif + newConfig = !noConfig && abs((int)status.st_mtime - lastModified) > 1; + + if(disableServerOverride) diff --git a/www/iridium/files/patch-third__party_swiftshader_src_OpenGL_libEGL_Display.cpp b/www/iridium/files/patch-third__party_swiftshader_src_OpenGL_libEGL_Display.cpp new file mode 100644 index 000000000000..7577231bc5a8 --- /dev/null +++ b/www/iridium/files/patch-third__party_swiftshader_src_OpenGL_libEGL_Display.cpp @@ -0,0 +1,20 @@ +--- third_party/swiftshader/src/OpenGL/libEGL/Display.cpp.orig 2019-10-21 19:09:15 UTC ++++ third_party/swiftshader/src/OpenGL/libEGL/Display.cpp +@@ -690,7 +690,7 @@ bool Display::isValidWindow(EGLNativeWindowType window + return status != 0; + } + return false; +- #elif defined(__linux__) ++ #elif defined(__linux__) || defined(__FreeBSD__) + return false; // Non X11 linux is headless only + #elif defined(__APPLE__) + return sw::OSX::IsValidWindow(window); +@@ -868,7 +868,7 @@ sw::Format Display::getDisplayFormat() const + { + return sw::FORMAT_X8R8G8B8; + } +- #elif defined(__linux__) // Non X11 linux is headless only ++ #elif defined(__linux__) || defined(__FreeBSD__) // Non X11 linux is headless only + return sw::FORMAT_A8B8G8R8; + #elif defined(__APPLE__) + return sw::FORMAT_A8B8G8R8; diff --git a/www/iridium/files/patch-third__party_swiftshader_src_OpenGL_libEGL_Surface.cpp b/www/iridium/files/patch-third__party_swiftshader_src_OpenGL_libEGL_Surface.cpp new file mode 100644 index 000000000000..a21bb4acad17 --- /dev/null +++ b/www/iridium/files/patch-third__party_swiftshader_src_OpenGL_libEGL_Surface.cpp @@ -0,0 +1,11 @@ +--- third_party/swiftshader/src/OpenGL/libEGL/Surface.cpp.orig 2019-10-21 19:09:15 UTC ++++ third_party/swiftshader/src/OpenGL/libEGL/Surface.cpp +@@ -362,7 +362,7 @@ bool WindowSurface::checkForResize() + + int windowWidth = windowAttributes.width; + int windowHeight = windowAttributes.height; +- #elif defined(__linux__) ++ #elif defined(__linux__) || defined(__FreeBSD__) + // Non X11 linux is headless only + int windowWidth = 100; + int windowHeight = 100; diff --git a/www/iridium/files/patch-third__party_swiftshader_src_OpenGL_libEGL_libEGL.cpp b/www/iridium/files/patch-third__party_swiftshader_src_OpenGL_libEGL_libEGL.cpp new file mode 100644 index 000000000000..3ca2cc4d69af --- /dev/null +++ b/www/iridium/files/patch-third__party_swiftshader_src_OpenGL_libEGL_libEGL.cpp @@ -0,0 +1,29 @@ +--- third_party/swiftshader/src/OpenGL/libEGL/libEGL.cpp.orig 2020-02-03 21:54:55 UTC ++++ third_party/swiftshader/src/OpenGL/libEGL/libEGL.cpp +@@ -153,7 +153,7 @@ EGLDisplay EGLAPIENTRY GetDisplay(EGLNativeDisplayType + // FIXME: Check if display_id is the default display + } + +- #if defined(__linux__) && !defined(__ANDROID__) ++ #if (defined(__linux__) || defined(__FreeBSD)) && !defined(__ANDROID__) + #if defined(USE_X11) + if(!libX11) + #endif // Non X11 linux is headless only +@@ -216,7 +216,7 @@ const char *EGLAPIENTRY QueryString(EGLDisplay dpy, EG + { + return success( + "EGL_KHR_client_get_all_proc_addresses " +-#if defined(__linux__) && !defined(__ANDROID__) ++#if (defined(__linux__) || defined(__FreeBSD__)) && !defined(__ANDROID__) + "EGL_KHR_platform_gbm " + #endif + #if defined(USE_X11) +@@ -1298,7 +1298,7 @@ EGLDisplay EGLAPIENTRY GetPlatformDisplay(EGLenum plat + { + TRACE("(EGLenum platform = 0x%X, void *native_display = %p, const EGLAttrib *attrib_list = %p)", platform, native_display, attrib_list); + +- #if defined(__linux__) && !defined(__ANDROID__) ++ #if (defined(__linux__) || defined(__FreeBSD__)) && !defined(__ANDROID__) + switch(platform) + { + #if defined(USE_X11) diff --git a/www/iridium/files/patch-third__party_swiftshader_src_OpenGL_libEGL_libEGL.hpp b/www/iridium/files/patch-third__party_swiftshader_src_OpenGL_libEGL_libEGL.hpp new file mode 100644 index 000000000000..59c1f562fb03 --- /dev/null +++ b/www/iridium/files/patch-third__party_swiftshader_src_OpenGL_libEGL_libEGL.hpp @@ -0,0 +1,11 @@ +--- third_party/swiftshader/src/OpenGL/libEGL/libEGL.hpp.orig 2019-03-11 22:08:03 UTC ++++ third_party/swiftshader/src/OpenGL/libEGL/libEGL.hpp +@@ -100,7 +100,7 @@ class LibEGL (private) + #endif + #elif defined(__ANDROID__) + const char *libEGL_lib[] = {"libEGL_swiftshader.so", "libEGL_swiftshader.so"}; +- #elif defined(__linux__) ++ #elif defined(__linux__) || defined(__FreeBSD__) + #if defined(__LP64__) + const char *libEGL_lib[] = {"lib64EGL_translator.so", "libEGL.so.1", "libEGL.so"}; + #else diff --git a/www/iridium/files/patch-third__party_swiftshader_src_OpenGL_libGLES__CM_libGLES__CM.hpp b/www/iridium/files/patch-third__party_swiftshader_src_OpenGL_libGLES__CM_libGLES__CM.hpp new file mode 100644 index 000000000000..1f68f9ed3be6 --- /dev/null +++ b/www/iridium/files/patch-third__party_swiftshader_src_OpenGL_libGLES__CM_libGLES__CM.hpp @@ -0,0 +1,11 @@ +--- third_party/swiftshader/src/OpenGL/libGLES_CM/libGLES_CM.hpp.orig 2019-03-11 22:08:03 UTC ++++ third_party/swiftshader/src/OpenGL/libGLES_CM/libGLES_CM.hpp +@@ -261,7 +261,7 @@ class LibGLES_CM (private) + #endif + #elif defined(__ANDROID__) + const char *libGLES_CM_lib[] = {"libGLESv1_CM_swiftshader.so", "libGLESv1_CM_swiftshader.so"}; +- #elif defined(__linux__) ++ #elif defined(__linux__) || defined(__FreeBSD__) + #if defined(__LP64__) + const char *libGLES_CM_lib[] = {"lib64GLES_CM_translator.so", "libGLES_CM.so.1", "libGLES_CM.so"}; + #else diff --git a/www/iridium/files/patch-third__party_swiftshader_src_OpenGL_libGLESv2_libGLESv2.hpp b/www/iridium/files/patch-third__party_swiftshader_src_OpenGL_libGLESv2_libGLESv2.hpp new file mode 100644 index 000000000000..7a1936b0dce0 --- /dev/null +++ b/www/iridium/files/patch-third__party_swiftshader_src_OpenGL_libGLESv2_libGLESv2.hpp @@ -0,0 +1,11 @@ +--- third_party/swiftshader/src/OpenGL/libGLESv2/libGLESv2.hpp.orig 2019-03-11 22:08:03 UTC ++++ third_party/swiftshader/src/OpenGL/libGLESv2/libGLESv2.hpp +@@ -286,7 +286,7 @@ class LibGLESv2 (private) + #endif + #elif defined(__ANDROID__) + const char *libGLESv2_lib[] = {"libGLESv2_swiftshader.so", "libGLESv2_swiftshader.so"}; +- #elif defined(__linux__) ++ #elif defined(__linux__) || defined(__FreeBSD__) + #if defined(__LP64__) + const char *libGLESv2_lib[] = {"lib64GLES_V2_translator.so", "libGLESv2.so.2", "libGLESv2.so"}; + #else diff --git a/www/iridium/files/patch-third__party_swiftshader_src_Vulkan_VkDebug.cpp b/www/iridium/files/patch-third__party_swiftshader_src_Vulkan_VkDebug.cpp new file mode 100644 index 000000000000..c4eeb77baf0d --- /dev/null +++ b/www/iridium/files/patch-third__party_swiftshader_src_Vulkan_VkDebug.cpp @@ -0,0 +1,53 @@ +--- third_party/swiftshader/src/Vulkan/VkDebug.cpp.orig 2020-04-03 04:13:08 UTC ++++ third_party/swiftshader/src/Vulkan/VkDebug.cpp +@@ -29,12 +29,17 @@ + # include <sys/sysctl.h> + # include <unistd.h> + #endif ++#if defined(__FreeBSD__) ++# include <sys/sysctl.h> ++# include <sys/user.h> ++# include <unistd.h> ++#endif + + namespace { + + bool IsUnderDebugger() + { +-#if defined(PTRACE) && !defined(__APPLE__) && !defined(__MACH__) ++#if defined(PTRACE) && !defined(__APPLE__) && !defined(__MACH__) && !defined(__FreeBSD__) + static bool checked = false; + static bool res = false; + +@@ -56,7 +61,7 @@ bool IsUnderDebugger() + return res; + #elif defined(_WIN32) || defined(_WIN64) + return IsDebuggerPresent() != 0; +-#elif defined(__APPLE__) || defined(__MACH__) ++#elif defined(__APPLE__) || defined(__MACH__) || defined(__FreeBSD__) + // Code comes from the Apple Technical Q&A QA1361 + + // Tell sysctl what info we're requestion. Specifically we're asking for +@@ -71,14 +76,22 @@ bool IsUnderDebugger() + struct kinfo_proc info; + size_t size = sizeof(info); + ++# if defined(__FreeBSD__) ++ info.ki_flag = 0; ++# else + info.kp_proc.p_flag = 0; ++# endif + + // Get the info we're requesting, if sysctl fails then info.kp_proc.p_flag will remain 0. + res = sysctl(request, sizeof(request) / sizeof(*request), &info, &size, NULL, 0); + ASSERT_MSG(res == 0, "syscl returned %d", res); + + // We're being debugged if the P_TRACED flag is set ++# if defined(__FreeBSD__) ++ return ((info.ki_flag & P_TRACED) != 0); ++# else + return ((info.kp_proc.p_flag & P_TRACED) != 0); ++# endif + #else + return false; + #endif diff --git a/www/iridium/files/patch-third__party_swiftshader_third__party_llvm-7.0_configs_linux_include_llvm_Config_config.h b/www/iridium/files/patch-third__party_swiftshader_third__party_llvm-7.0_configs_linux_include_llvm_Config_config.h new file mode 100644 index 000000000000..32c68edfca31 --- /dev/null +++ b/www/iridium/files/patch-third__party_swiftshader_third__party_llvm-7.0_configs_linux_include_llvm_Config_config.h @@ -0,0 +1,152 @@ +--- third_party/swiftshader/third_party/llvm-7.0/configs/linux/include/llvm/Config/config.h.orig 2020-03-16 18:42:15 UTC ++++ third_party/swiftshader/third_party/llvm-7.0/configs/linux/include/llvm/Config/config.h +@@ -8,15 +8,15 @@ + #define BUG_REPORT_URL "https://bugs.llvm.org/" + + /* Define to 1 to enable backtraces, and to 0 otherwise. */ +-#define ENABLE_BACKTRACES 0 ++#define ENABLE_BACKTRACES 1 + + /* Define to 1 to enable crash overrides, and to 0 otherwise. */ +-#define ENABLE_CRASH_OVERRIDES 0 ++#define ENABLE_CRASH_OVERRIDES 1 + + /* Define to 1 if you have the `backtrace' function. */ +-/* #undef HAVE_BACKTRACE */ ++#define HAVE_BACKTRACE 1 + +-/* #undef BACKTRACE_HEADER */ ++#define BACKTRACE_HEADER <execinfo.h> + + /* Define to 1 if you have the <CrashReporterClient.h> header file. */ + /* #undef HAVE_CRASHREPORTERCLIENT_H */ +@@ -26,7 +26,7 @@ + + /* Define to 1 if you have the declaration of `arc4random', and to 0 if you + don't. */ +-#define HAVE_DECL_ARC4RANDOM 0 ++#define HAVE_DECL_ARC4RANDOM 1 + + /* Define to 1 if you have the declaration of `FE_ALL_EXCEPT', and to 0 if you + don't. */ +@@ -50,7 +50,7 @@ + #define HAVE_DLOPEN 1 + + /* Define if dladdr() is available on this platform. */ +-/* #undef HAVE_DLADDR */ ++#define HAVE_DLADDR 1 + + /* Define to 1 if you have the <errno.h> header file. */ + #define HAVE_ERRNO_H 1 +@@ -89,7 +89,7 @@ + #define HAVE_ISATTY 1 + + /* Define to 1 if you have the `edit' library (-ledit). */ +-/* #undef HAVE_LIBEDIT */ ++#define HAVE_LIBEDIT 1 + + /* Define to 1 if you have the `pfm' library (-lpfm). */ + /* #undef HAVE_LIBPFM */ +@@ -107,25 +107,25 @@ + /* #undef HAVE_PTHREAD_SETNAME_NP */ + + /* Define to 1 if you have the `z' library (-lz). */ +-/* #undef HAVE_LIBZ */ ++#define HAVE_LIBZ 1 + + /* Define to 1 if you have the <link.h> header file. */ + #define HAVE_LINK_H 1 + + /* Define to 1 if you have the `lseek64' function. */ +-#define HAVE_LSEEK64 1 ++/* #undef HAVE_LSEEK64 */ + + /* Define to 1 if you have the <mach/mach.h> header file. */ + /* #undef HAVE_MACH_MACH_H */ + + /* Define to 1 if you have the `mallctl' function. */ +-/* #undef HAVE_MALLCTL */ ++#define HAVE_MALLCTL 1 + + /* Define to 1 if you have the `mallinfo' function. */ +-#define HAVE_MALLINFO 1 ++/* #undef HAVE_MALLINFO */ + + /* Define to 1 if you have the <malloc.h> header file. */ +-#define HAVE_MALLOC_H 1 ++/* #undef HAVE_MALLOC_H */ + + /* Define to 1 if you have the <malloc/malloc.h> header file. */ + /* #undef HAVE_MALLOC_MALLOC_H */ +@@ -137,7 +137,7 @@ + #define HAVE_POSIX_FALLOCATE 1 + + /* Define to 1 if you have the `posix_spawn' function. */ +-/* #undef HAVE_POSIX_SPAWN */ ++#define HAVE_POSIX_SPAWN 1 + + /* Define to 1 if you have the `pread' function. */ + #define HAVE_PREAD 1 +@@ -158,16 +158,16 @@ + #define HAVE_REALPATH 1 + + /* Define to 1 if you have the `sbrk' function. */ +-#define HAVE_SBRK 1 ++/* #undef HAVE_SBRK */ + + /* Define to 1 if you have the `setenv' function. */ + #define HAVE_SETENV 1 + + /* Define to 1 if you have the `sched_getaffinity' function. */ +-#define HAVE_SCHED_GETAFFINITY 1 ++/* #undef HAVE_SCHED_GETAFFINITY */ + + /* Define to 1 if you have the `CPU_COUNT' macro. */ +-#define HAVE_CPU_COUNT 1 ++/* #undef HAVE_CPU_COUNT */ + + /* Define to 1 if you have the `setrlimit' function. */ + #define HAVE_SETRLIMIT 1 +@@ -209,13 +209,13 @@ + #define HAVE_SYS_TYPES_H 1 + + /* Define if the setupterm() function is supported this platform. */ +-/* #undef HAVE_TERMINFO */ ++#define HAVE_TERMINFO 1 + + /* Define if the xar_open() function is supported this platform. */ + /* #undef HAVE_LIBXAR */ + + /* Define to 1 if you have the <termios.h> header file. */ +-/* #undef HAVE_TERMIOS_H */ ++#define HAVE_TERMIOS_H 1 + + /* Define to 1 if you have the <unistd.h> header file. */ + #define HAVE_UNISTD_H 1 +@@ -224,7 +224,7 @@ + /* #undef HAVE_VALGRIND_VALGRIND_H */ + + /* Define to 1 if you have the <zlib.h> header file. */ +-/* #undef HAVE_ZLIB_H */ ++#define HAVE_ZLIB_H 1 + + /* Have host's _alloca */ + /* #undef HAVE__ALLOCA */ +@@ -298,7 +298,7 @@ + #elif defined(__arm__) + #define LLVM_DEFAULT_TARGET_TRIPLE "armv7-linux-gnueabihf" + #elif defined(__aarch64__) +-#define LLVM_DEFAULT_TARGET_TRIPLE "aarch64-linux-gnu" ++#define LLVM_DEFAULT_TARGET_TRIPLE "aarch64-portbld-freebsd" + #elif defined(__mips__) + #define LLVM_DEFAULT_TARGET_TRIPLE "mipsel-linux-gnu" + #elif defined(__mips64) +@@ -310,7 +310,7 @@ + #endif + + /* Define if zlib compression is available */ +-#define LLVM_ENABLE_ZLIB 0 ++#define LLVM_ENABLE_ZLIB 1 + + /* Define if overriding target triple is enabled */ + /* #undef LLVM_TARGET_TRIPLE_ENV */ diff --git a/www/iridium/files/patch-third__party_swiftshader_third__party_llvm-7.0_configs_linux_include_llvm_Config_llvm-config.h b/www/iridium/files/patch-third__party_swiftshader_third__party_llvm-7.0_configs_linux_include_llvm_Config_llvm-config.h new file mode 100644 index 000000000000..4405e311225b --- /dev/null +++ b/www/iridium/files/patch-third__party_swiftshader_third__party_llvm-7.0_configs_linux_include_llvm_Config_llvm-config.h @@ -0,0 +1,20 @@ +--- third_party/swiftshader/third_party/llvm-7.0/configs/linux/include/llvm/Config/llvm-config.h.orig 2019-09-09 21:57:03 UTC ++++ third_party/swiftshader/third_party/llvm-7.0/configs/linux/include/llvm/Config/llvm-config.h +@@ -38,7 +38,7 @@ + #elif defined(__arm__) + #define LLVM_DEFAULT_TARGET_TRIPLE "armv7-linux-gnueabihf" + #elif defined(__aarch64__) +-#define LLVM_DEFAULT_TARGET_TRIPLE "aarch64-linux-gnu" ++#define LLVM_DEFAULT_TARGET_TRIPLE "aarch64-portbld-freebsd" + #elif defined(__mips__) + #define LLVM_DEFAULT_TARGET_TRIPLE "mipsel-linux-gnu" + #elif defined(__mips64) +@@ -63,7 +63,7 @@ + #elif defined(__arm__) + #define LLVM_HOST_TRIPLE "armv7-linux-gnueabihf" + #elif defined(__aarch64__) +-#define LLVM_HOST_TRIPLE "aarch64-linux-gnu" ++#define LLVM_HOST_TRIPLE "aarch64-portbld-freebsd" + #elif defined(__mips__) + #define LLVM_HOST_TRIPLE "mipsel-linux-gnu" + #elif defined(__mips64) diff --git a/www/iridium/files/patch-third__party_swiftshader_third__party_llvm-subzero_build_Linux_include_llvm_Config_config.h b/www/iridium/files/patch-third__party_swiftshader_third__party_llvm-subzero_build_Linux_include_llvm_Config_config.h new file mode 100644 index 000000000000..d5afa9c50345 --- /dev/null +++ b/www/iridium/files/patch-third__party_swiftshader_third__party_llvm-subzero_build_Linux_include_llvm_Config_config.h @@ -0,0 +1,29 @@ +--- third_party/swiftshader/third_party/llvm-subzero/build/Linux/include/llvm/Config/config.h.orig 2019-03-11 22:08:30 UTC ++++ third_party/swiftshader/third_party/llvm-subzero/build/Linux/include/llvm/Config/config.h +@@ -121,7 +121,7 @@ + #define HAVE_LINK_H 1 + + /* Define to 1 if you have the `lseek64' function. */ +-#define HAVE_LSEEK64 1 ++/* #undef HAVE_LSEEK64 */ + + /* Define to 1 if you have the <mach/mach.h> header file. */ + /* #undef HAVE_MACH_MACH_H */ +@@ -130,7 +130,7 @@ + /* #undef HAVE_MALLCTL */ + + /* Define to 1 if you have the `mallinfo' function. */ +-#define HAVE_MALLINFO 1 ++/* #undef HAVE_MALLINFO */ + + /* Define to 1 if you have the <malloc.h> header file. */ + #define HAVE_MALLOC_H 1 +@@ -154,7 +154,7 @@ + /* #undef HAVE_NDIR_H */ + + /* Define to 1 if you have the `posix_fallocate' function. */ +-#define HAVE_POSIX_FALLOCATE 1 ++/* #undef HAVE_POSIX_FALLOCATE */ + + /* Define to 1 if you have the `posix_spawn' function. */ + #define HAVE_POSIX_SPAWN 1 diff --git a/www/iridium/files/patch-third__party_swiftshader_third__party_llvm-subzero_lib_Support_Unix_Process.inc b/www/iridium/files/patch-third__party_swiftshader_third__party_llvm-subzero_lib_Support_Unix_Process.inc new file mode 100644 index 000000000000..28c940535747 --- /dev/null +++ b/www/iridium/files/patch-third__party_swiftshader_third__party_llvm-subzero_lib_Support_Unix_Process.inc @@ -0,0 +1,11 @@ +--- third_party/swiftshader/third_party/llvm-subzero/lib/Support/Unix/Process.inc.orig 2019-03-11 22:08:30 UTC ++++ third_party/swiftshader/third_party/llvm-subzero/lib/Support/Unix/Process.inc +@@ -35,7 +35,7 @@ + // DragonFlyBSD, OpenBSD, and Bitrig have deprecated <malloc.h> for + // <stdlib.h> instead. Unix.h includes this for us already. + #if defined(HAVE_MALLOC_H) && !defined(__DragonFly__) && \ +- !defined(__OpenBSD__) && !defined(__Bitrig__) ++ !defined(__FreeBSD__) && !defined(__OpenBSD__) && !defined(__Bitrig__) + #include <malloc.h> + #endif + #if defined(HAVE_MALLCTL) diff --git a/www/iridium/files/patch-third__party_swiftshader_third__party_marl_src_memory.cpp b/www/iridium/files/patch-third__party_swiftshader_third__party_marl_src_memory.cpp new file mode 100644 index 000000000000..f34425cdd42e --- /dev/null +++ b/www/iridium/files/patch-third__party_swiftshader_third__party_marl_src_memory.cpp @@ -0,0 +1,11 @@ +--- third_party/swiftshader/third_party/marl/src/memory.cpp.orig 2019-12-22 15:09:53 UTC ++++ third_party/swiftshader/third_party/marl/src/memory.cpp +@@ -19,7 +19,7 @@ + + #include <cstring> + +-#if defined(__linux__) || defined(__APPLE__) ++#if defined(__linux__) || defined(__APPLE__) || defined(__FreeBSD__) + #include <sys/mman.h> + #include <unistd.h> + namespace { diff --git a/www/iridium/files/patch-third__party_swiftshader_third__party_marl_src_thread.cpp b/www/iridium/files/patch-third__party_swiftshader_third__party_marl_src_thread.cpp new file mode 100644 index 000000000000..927560e4f971 --- /dev/null +++ b/www/iridium/files/patch-third__party_swiftshader_third__party_marl_src_thread.cpp @@ -0,0 +1,22 @@ +--- third_party/swiftshader/third_party/marl/src/thread.cpp.orig 2019-12-22 15:09:09 UTC ++++ third_party/swiftshader/third_party/marl/src/thread.cpp +@@ -27,6 +27,10 @@ + #include <mach/thread_act.h> + #include <pthread.h> + #include <unistd.h> ++#elif defined(__FreeBSD__) ++#include <pthread.h> ++#include <pthread_np.h> ++#include <unistd.h> + #else + #include <pthread.h> + #include <unistd.h> +@@ -85,6 +89,8 @@ void Thread::setName(const char* fmt, ...) { + + #if defined(__APPLE__) + pthread_setname_np(name); ++#elif defined(__FreeBSD__) ++ pthread_set_name_np(pthread_self(), name); + #elif !defined(__Fuchsia__) + pthread_setname_np(pthread_self(), name); + #endif diff --git a/www/iridium/files/patch-third__party_usrsctp_BUILD.gn b/www/iridium/files/patch-third__party_usrsctp_BUILD.gn new file mode 100644 index 000000000000..e12616cdc188 --- /dev/null +++ b/www/iridium/files/patch-third__party_usrsctp_BUILD.gn @@ -0,0 +1,20 @@ +--- third_party/usrsctp/BUILD.gn.orig 2019-03-11 22:01:18 UTC ++++ third_party/usrsctp/BUILD.gn +@@ -116,11 +116,16 @@ static_library("usrsctp") { + "-UINET6", + ] + +- if (is_linux || is_android) { ++ if ((is_linux && !is_bsd) || is_android ) { + defines += [ + "__Userspace_os_Linux", + "_GNU_SOURCE", + ] ++ } else if (is_bsd) { ++ defines += [ ++ "__Userspace_os_FreeBSD", ++ ] ++ cflags += [ "-U__FreeBSD__" ] + } else if (is_mac || is_ios) { + defines += [ + "HAVE_SA_LEN", diff --git a/www/iridium/files/patch-third__party_webrtc_BUILD.gn b/www/iridium/files/patch-third__party_webrtc_BUILD.gn new file mode 100644 index 000000000000..431b2f75d72c --- /dev/null +++ b/www/iridium/files/patch-third__party_webrtc_BUILD.gn @@ -0,0 +1,12 @@ +--- third_party/webrtc/BUILD.gn.orig 2020-03-16 18:42:13 UTC ++++ third_party/webrtc/BUILD.gn +@@ -171,6 +171,9 @@ config("common_inherited_config") { + if (is_linux) { + defines += [ "WEBRTC_LINUX" ] + } ++ if (is_bsd) { ++ defines += [ "WEBRTC_BSD" ] ++ } + if (is_mac) { + defines += [ "WEBRTC_MAC" ] + } diff --git a/www/iridium/files/patch-third__party_webrtc_modules_audio__device_BUILD.gn b/www/iridium/files/patch-third__party_webrtc_modules_audio__device_BUILD.gn new file mode 100644 index 000000000000..a9fe31ec37b8 --- /dev/null +++ b/www/iridium/files/patch-third__party_webrtc_modules_audio__device_BUILD.gn @@ -0,0 +1,11 @@ +--- third_party/webrtc/modules/audio_device/BUILD.gn.orig 2020-03-16 18:42:14 UTC ++++ third_party/webrtc/modules/audio_device/BUILD.gn +@@ -259,7 +259,7 @@ rtc_library("audio_device_impl") { + if (rtc_use_dummy_audio_file_devices) { + defines += [ "WEBRTC_DUMMY_FILE_DEVICES" ] + } else { +- if (is_linux) { ++ if (is_linux && !is_bsd) { + sources += [ + "linux/alsasymboltable_linux.cc", + "linux/alsasymboltable_linux.h", diff --git a/www/iridium/files/patch-third__party_webrtc_modules_rtp__rtcp_source_forward__error__correction.cc b/www/iridium/files/patch-third__party_webrtc_modules_rtp__rtcp_source_forward__error__correction.cc new file mode 100644 index 000000000000..41cae80d56bd --- /dev/null +++ b/www/iridium/files/patch-third__party_webrtc_modules_rtp__rtcp_source_forward__error__correction.cc @@ -0,0 +1,10 @@ +--- third_party/webrtc/modules/rtp_rtcp/source/forward_error_correction.cc.orig 2019-09-09 21:57:05 UTC ++++ third_party/webrtc/modules/rtp_rtcp/source/forward_error_correction.cc +@@ -13,6 +13,7 @@ + #include <string.h> + + #include <algorithm> ++#include <cstdlib> + #include <utility> + + #include "absl/algorithm/container.h" diff --git a/www/iridium/files/patch-third__party_webrtc_rtc__base_byte__order.h b/www/iridium/files/patch-third__party_webrtc_rtc__base_byte__order.h new file mode 100644 index 000000000000..0f3e3413f1ae --- /dev/null +++ b/www/iridium/files/patch-third__party_webrtc_rtc__base_byte__order.h @@ -0,0 +1,11 @@ +--- third_party/webrtc/rtc_base/byte_order.h.orig 2019-06-04 18:58:09 UTC ++++ third_party/webrtc/rtc_base/byte_order.h +@@ -89,7 +89,7 @@ + #endif // defined(WEBRTC_ARCH_LITTLE_ENDIAN) + + #elif defined(WEBRTC_POSIX) +-#include <endian.h> ++#include <sys/endian.h> + #else + #error "Missing byte order functions for this arch." + #endif // defined(WEBRTC_MAC) diff --git a/www/iridium/files/patch-third__party_webrtc_rtc__base_ifaddrs__converter.h b/www/iridium/files/patch-third__party_webrtc_rtc__base_ifaddrs__converter.h new file mode 100644 index 000000000000..b4945de800d2 --- /dev/null +++ b/www/iridium/files/patch-third__party_webrtc_rtc__base_ifaddrs__converter.h @@ -0,0 +1,11 @@ +--- third_party/webrtc/rtc_base/ifaddrs_converter.h.orig 2019-03-11 22:08:15 UTC ++++ third_party/webrtc/rtc_base/ifaddrs_converter.h +@@ -14,6 +14,8 @@ + #if defined(WEBRTC_ANDROID) + #include "rtc_base/ifaddrs_android.h" + #else ++#include <sys/types.h> ++#include <sys/socket.h> + #include <ifaddrs.h> + #endif // WEBRTC_ANDROID + diff --git a/www/iridium/files/patch-third__party_webrtc_rtc__base_ip__address.cc b/www/iridium/files/patch-third__party_webrtc_rtc__base_ip__address.cc new file mode 100644 index 000000000000..5fe1396d3154 --- /dev/null +++ b/www/iridium/files/patch-third__party_webrtc_rtc__base_ip__address.cc @@ -0,0 +1,12 @@ +--- third_party/webrtc/rtc_base/ip_address.cc.orig 2019-03-11 22:08:15 UTC ++++ third_party/webrtc/rtc_base/ip_address.cc +@@ -11,6 +11,9 @@ + #if defined(WEBRTC_POSIX) + #include <netinet/in.h> + #include <sys/socket.h> ++#if defined(WEBRTC_BSD) ++#include <sys/types.h> ++#endif + #ifdef OPENBSD + #include <netinet/in_systm.h> + #endif diff --git a/www/iridium/files/patch-third__party_webrtc_rtc__base_ip__address.h b/www/iridium/files/patch-third__party_webrtc_rtc__base_ip__address.h new file mode 100644 index 000000000000..3db51306bd94 --- /dev/null +++ b/www/iridium/files/patch-third__party_webrtc_rtc__base_ip__address.h @@ -0,0 +1,13 @@ +--- third_party/webrtc/rtc_base/ip_address.h.orig 2019-03-11 22:08:15 UTC ++++ third_party/webrtc/rtc_base/ip_address.h +@@ -17,6 +17,10 @@ + #include <netinet/in.h> + #include <sys/socket.h> + #endif ++#if defined(WEBRTC_BSD) ++#include <sys/types.h> ++#include <sys/socket.h> ++#endif + #if defined(WEBRTC_WIN) + #include <winsock2.h> + #include <ws2tcpip.h> diff --git a/www/iridium/files/patch-third__party_webrtc_rtc__base_network.cc b/www/iridium/files/patch-third__party_webrtc_rtc__base_network.cc new file mode 100644 index 000000000000..e45c76f40a22 --- /dev/null +++ b/www/iridium/files/patch-third__party_webrtc_rtc__base_network.cc @@ -0,0 +1,29 @@ +--- third_party/webrtc/rtc_base/network.cc.orig 2019-12-16 21:56:20 UTC ++++ third_party/webrtc/rtc_base/network.cc +@@ -14,7 +14,7 @@ + // linux/if.h can't be included at the same time as the posix sys/if.h, and + // it's transitively required by linux/route.h, so include that version on + // linux instead of the standard posix one. +-#if defined(WEBRTC_LINUX) ++#if defined(WEBRTC_LINUX) && !defined(WEBRTC_BSD) + #include <linux/if.h> + #include <linux/route.h> + #elif !defined(__native_client__) +@@ -767,7 +767,7 @@ bool BasicNetworkManager::CreateNetworks(bool include_ + } + #endif // WEBRTC_WIN + +-#if defined(WEBRTC_LINUX) ++#if defined(WEBRTC_LINUX) && !defined(WEBRTC_BSD) + bool IsDefaultRoute(const std::string& network_name) { + FILE* f = fopen("/proc/net/route", "r"); + if (!f) { +@@ -810,7 +810,7 @@ bool BasicNetworkManager::IsIgnoredNetwork(const Netwo + strncmp(network.name().c_str(), "vboxnet", 7) == 0) { + return true; + } +-#if defined(WEBRTC_LINUX) ++#if defined(WEBRTC_LINUX) && !defined(WEBRTC_BSD) + // Make sure this is a default route, if we're ignoring non-defaults. + if (ignore_non_default_routes_ && !IsDefaultRoute(network.name())) { + return true; diff --git a/www/iridium/files/patch-third__party_webrtc_rtc__base_network.h b/www/iridium/files/patch-third__party_webrtc_rtc__base_network.h new file mode 100644 index 000000000000..46d64c258e37 --- /dev/null +++ b/www/iridium/files/patch-third__party_webrtc_rtc__base_network.h @@ -0,0 +1,13 @@ +--- third_party/webrtc/rtc_base/network.h.orig 2019-12-16 21:56:20 UTC ++++ third_party/webrtc/rtc_base/network.h +@@ -26,6 +26,10 @@ + #include "rtc_base/system/rtc_export.h" + #include "rtc_base/third_party/sigslot/sigslot.h" + ++#if defined(WEBRTC_BSD) ++#include <sys/types.h> ++#endif ++ + #if defined(WEBRTC_POSIX) + struct ifaddrs; + #endif // defined(WEBRTC_POSIX) diff --git a/www/iridium/files/patch-third__party_webrtc_rtc__base_physical__socket__server.cc b/www/iridium/files/patch-third__party_webrtc_rtc__base_physical__socket__server.cc new file mode 100644 index 000000000000..939381fc9f1a --- /dev/null +++ b/www/iridium/files/patch-third__party_webrtc_rtc__base_physical__socket__server.cc @@ -0,0 +1,47 @@ +--- third_party/webrtc/rtc_base/physical_socket_server.cc.orig 2020-03-16 18:42:14 UTC ++++ third_party/webrtc/rtc_base/physical_socket_server.cc +@@ -51,7 +51,7 @@ + #include "rtc_base/null_socket_server.h" + #include "rtc_base/time_utils.h" + +-#if defined(WEBRTC_LINUX) ++#if defined(WEBRTC_LINUX) && !defined(WEBRTC_BSD) + #include <linux/sockios.h> + #endif + +@@ -70,7 +70,7 @@ typedef void* SockOptArg; + + #endif // WEBRTC_POSIX + +-#if defined(WEBRTC_POSIX) && !defined(WEBRTC_MAC) && !defined(__native_client__) ++#if defined(WEBRTC_POSIX) && !defined(WEBRTC_MAC) && !defined(WEBRTC_BSD) && !defined(__native_client__) + + int64_t GetSocketRecvTimestamp(int socket) { + struct timeval tv_ioctl; +@@ -290,7 +290,7 @@ int PhysicalSocket::GetOption(Option opt, int* value) + socklen_t optlen = sizeof(*value); + int ret = ::getsockopt(s_, slevel, sopt, (SockOptArg)value, &optlen); + if (ret != -1 && opt == OPT_DONTFRAGMENT) { +-#if defined(WEBRTC_LINUX) && !defined(WEBRTC_ANDROID) ++#if defined(WEBRTC_LINUX) && !defined(WEBRTC_ANDROID) && !defined(WEBRTC_BSD) + *value = (*value != IP_PMTUDISC_DONT) ? 1 : 0; + #endif + } +@@ -303,7 +303,7 @@ int PhysicalSocket::SetOption(Option opt, int value) { + if (TranslateOption(opt, &slevel, &sopt) == -1) + return -1; + if (opt == OPT_DONTFRAGMENT) { +-#if defined(WEBRTC_LINUX) && !defined(WEBRTC_ANDROID) ++#if defined(WEBRTC_LINUX) && !defined(WEBRTC_ANDROID) && !defined(WEBRTC_BSD) + value = (value) ? IP_PMTUDISC_DO : IP_PMTUDISC_DONT; + #endif + } +@@ -533,7 +533,7 @@ int PhysicalSocket::TranslateOption(Option opt, int* s + *slevel = IPPROTO_IP; + *sopt = IP_DONTFRAGMENT; + break; +-#elif defined(WEBRTC_MAC) || defined(BSD) || defined(__native_client__) ++#elif defined(WEBRTC_MAC) || defined(WEBRTC_BSD) || defined(__native_client__) + RTC_LOG(LS_WARNING) << "Socket::OPT_DONTFRAGMENT not supported."; + return -1; + #elif defined(WEBRTC_POSIX) diff --git a/www/iridium/files/patch-third__party_webrtc_rtc__base_physical__socket__server.h b/www/iridium/files/patch-third__party_webrtc_rtc__base_physical__socket__server.h new file mode 100644 index 000000000000..3fe92f247ce2 --- /dev/null +++ b/www/iridium/files/patch-third__party_webrtc_rtc__base_physical__socket__server.h @@ -0,0 +1,11 @@ +--- third_party/webrtc/rtc_base/physical_socket_server.h.orig 2019-03-11 22:08:16 UTC ++++ third_party/webrtc/rtc_base/physical_socket_server.h +@@ -11,7 +11,7 @@ + #ifndef RTC_BASE_PHYSICAL_SOCKET_SERVER_H_ + #define RTC_BASE_PHYSICAL_SOCKET_SERVER_H_ + +-#if defined(WEBRTC_POSIX) && defined(WEBRTC_LINUX) ++#if defined(WEBRTC_POSIX) && defined(WEBRTC_LINUX) && !defined(WEBRTC_BSD) + #include <sys/epoll.h> + #define WEBRTC_USE_EPOLL 1 + #endif diff --git a/www/iridium/files/patch-third__party_webrtc_rtc__base_platform__thread__types.cc b/www/iridium/files/patch-third__party_webrtc_rtc__base_platform__thread__types.cc new file mode 100644 index 000000000000..9d0e6fdcc5fd --- /dev/null +++ b/www/iridium/files/patch-third__party_webrtc_rtc__base_platform__thread__types.cc @@ -0,0 +1,39 @@ +--- third_party/webrtc/rtc_base/platform_thread_types.cc.orig 2019-12-16 21:56:20 UTC ++++ third_party/webrtc/rtc_base/platform_thread_types.cc +@@ -11,7 +11,11 @@ + #include "rtc_base/platform_thread_types.h" + + #if defined(WEBRTC_LINUX) ++#if !defined(__FreeBSD__) + #include <sys/prctl.h> ++#else ++#include <pthread_np.h> ++#endif + #include <sys/syscall.h> + #endif + +@@ -27,6 +31,8 @@ PlatformThreadId CurrentThreadId() { + return gettid(); + #elif defined(WEBRTC_FUCHSIA) + return zx_thread_self(); ++#elif defined(__FreeBSD__) ++ return pthread_getthreadid_np(); + #elif defined(WEBRTC_LINUX) + return syscall(__NR_gettid); + #elif defined(__EMSCRIPTEN__) +@@ -57,6 +63,7 @@ bool IsThreadRefEqual(const PlatformThreadRef& a, cons + } + + void SetCurrentThreadName(const char* name) { ++#if !defined(__FreeBSD__) + #if defined(WEBRTC_WIN) + // For details see: + // https://docs.microsoft.com/en-us/visualstudio/debugger/how-to-set-a-thread-name-in-native-code +@@ -81,6 +88,7 @@ void SetCurrentThreadName(const char* name) { + prctl(PR_SET_NAME, reinterpret_cast<unsigned long>(name)); // NOLINT + #elif defined(WEBRTC_MAC) || defined(WEBRTC_IOS) + pthread_setname_np(name); ++#endif + #endif + } + diff --git a/www/iridium/files/patch-third__party_webrtc_rtc__base_third__party_sigslot_sigslot.h b/www/iridium/files/patch-third__party_webrtc_rtc__base_third__party_sigslot_sigslot.h new file mode 100644 index 000000000000..3d7e07133d72 --- /dev/null +++ b/www/iridium/files/patch-third__party_webrtc_rtc__base_third__party_sigslot_sigslot.h @@ -0,0 +1,19 @@ +--- third_party/webrtc/rtc_base/third_party/sigslot/sigslot.h.orig 2020-03-03 18:55:31 UTC ++++ third_party/webrtc/rtc_base/third_party/sigslot/sigslot.h +@@ -178,6 +178,8 @@ class multi_threaded_local { + #endif // _SIGSLOT_HAS_WIN32_THREADS + + #ifdef _SIGSLOT_HAS_POSIX_THREADS ++#pragma GCC diagnostic push ++#pragma GCC diagnostic ignored "-Wthread-safety-analysis" + // The multi threading policies only get compiled in if they are enabled. + class multi_threaded_global { + public: +@@ -201,6 +203,7 @@ class multi_threaded_local { + private: + pthread_mutex_t m_mutex; + }; ++#pragma GCC diagnostic pop + #endif // _SIGSLOT_HAS_POSIX_THREADS + + template <class mt_policy> diff --git a/www/iridium/files/patch-third__party_webrtc_system__wrappers_BUILD.gn b/www/iridium/files/patch-third__party_webrtc_system__wrappers_BUILD.gn new file mode 100644 index 000000000000..bb0b3df2b288 --- /dev/null +++ b/www/iridium/files/patch-third__party_webrtc_system__wrappers_BUILD.gn @@ -0,0 +1,11 @@ +--- third_party/webrtc/system_wrappers/BUILD.gn.orig 2019-09-09 21:57:06 UTC ++++ third_party/webrtc/system_wrappers/BUILD.gn +@@ -58,8 +58,6 @@ rtc_static_library("system_wrappers") { + if (!build_with_chromium) { + deps += [ ":cpu_features_linux" ] + } +- +- libs += [ "rt" ] + } + + if (is_win) { diff --git a/www/iridium/files/patch-third__party_yasm_yasm__assemble.gni b/www/iridium/files/patch-third__party_yasm_yasm__assemble.gni new file mode 100644 index 000000000000..a54244fd5e3e --- /dev/null +++ b/www/iridium/files/patch-third__party_yasm_yasm__assemble.gni @@ -0,0 +1,157 @@ +--- third_party/yasm/yasm_assemble.gni.orig 2020-03-16 18:40:14 UTC ++++ third_party/yasm/yasm_assemble.gni +@@ -1,105 +1,23 @@ +-# Copyright 2014 The Chromium Authors. All rights reserved. ++# Copyright 2016 The Chromium Authors. All rights reserved. + # Use of this source code is governed by a BSD-style license that can be + # found in the LICENSE file. + +-# This provides the yasm_assemble() template which uses YASM to assemble +-# assembly files. +-# +-# Files to be assembled with YASM should have an extension of .asm. +-# +-# Parameters +-# +-# yasm_flags (optional) +-# [list of strings] Pass additional flags into YASM. These are appended +-# to the command line. Note that the target machine type and system is +-# already set up based on the current toolchain so you don't need to +-# specify these things (see below). +-# +-# Example: yasm_flags = [ "--force-strict" ] +-# +-# include_dirs (optional) +-# [list of dir names] List of additional include dirs. Note that the +-# source root and the root generated file dir is always added, just like +-# our C++ build sets up. +-# +-# Example: include_dirs = [ "//some/other/path", target_gen_dir ] +-# +-# defines (optional) +-# [list of strings] List of defines, as with the native code defines. +-# +-# Example: defines = [ "FOO", "BAR=1" ] +-# +-# inputs, deps, visibility (optional) +-# These have the same meaning as in an action. +-# +-# Example +-# +-# yasm_assemble("my_yasm_target") { +-# sources = [ +-# "ultra_optimized_awesome.asm", +-# ] +-# include_dirs = [ "assembly_include" ] +-# } +- +-if (is_mac || is_ios) { +- if (current_cpu == "x86") { +- _yasm_flags = [ +- "-fmacho32", +- "-m", +- "x86", +- ] +- } else if (current_cpu == "x64") { +- _yasm_flags = [ +- "-fmacho64", +- "-m", +- "amd64", +- ] +- } +-} else if (is_posix || is_fuchsia) { +- if (current_cpu == "x86") { +- _yasm_flags = [ +- "-felf32", +- "-m", +- "x86", +- ] +- } else if (current_cpu == "x64") { +- _yasm_flags = [ +- "-DPIC", +- "-felf64", +- "-m", +- "amd64", +- ] +- } +-} else if (is_win) { +- if (current_cpu == "x86") { +- _yasm_flags = [ +- "-DPREFIX", +- "-fwin32", +- "-m", +- "x86", +- ] +- } else if (current_cpu == "x64") { +- _yasm_flags = [ +- "-fwin64", +- "-m", +- "amd64", +- ] +- } ++if (current_cpu == "x86") { ++ _yasm_flags = [ ++ "-felf32", ++ "-m", ++ "x86", ++ ] ++} else if (current_cpu == "x64") { ++ _yasm_flags = [ ++ "-DPIC", ++ "-felf64", ++ "-m", ++ "amd64", ++ ] + } + +-if (is_win) { +- asm_obj_extension = "obj" +-} else { +- asm_obj_extension = "o" +-} +- + template("yasm_assemble") { +- assert(defined(invoker.sources), "Need sources defined for $target_name") +- +- # Only depend on YASM on x86 systems. Force compilation of .asm files for +- # ARM to fail. +- assert(current_cpu == "x86" || current_cpu == "x64") +- + action_name = "${target_name}_action" + source_set_name = target_name + +@@ -114,22 +32,12 @@ template("yasm_assemble") { + inputs = invoker.inputs + } + +- # Executable (first in the args). The binary might be in the root build dir +- # (no cross-compiling) or in a toolchain-specific subdirectory of that +- # (when cross-compiling). +- yasm_label = "//third_party/yasm($host_toolchain)" +- args = [ "./" + # Force current dir. +- rebase_path(get_label_info(yasm_label, "root_out_dir") + "/yasm", +- root_build_dir) ] +- +- # Deps. +- deps = [ yasm_label ] ++ deps = [] + if (defined(invoker.deps)) { + deps += invoker.deps + } + +- # Flags. +- args += _yasm_flags ++ args = [ "yasm" ] + _yasm_flags + if (defined(invoker.yasm_flags)) { + args += invoker.yasm_flags + } +@@ -184,9 +92,6 @@ template("yasm_assemble") { + } + + sources = get_target_outputs(":$action_name") +- +- # Do not publicize any header to remove build dependency. +- public = [] + + deps = [ ":$action_name" ] + } diff --git a/www/iridium/files/patch-tools_gn_build_gen.py b/www/iridium/files/patch-tools_gn_build_gen.py new file mode 100644 index 000000000000..1461138a4fd5 --- /dev/null +++ b/www/iridium/files/patch-tools_gn_build_gen.py @@ -0,0 +1,24 @@ +--- tools/gn/build/gen.py.orig 2020-03-16 18:48:21 UTC ++++ tools/gn/build/gen.py +@@ -73,6 +73,9 @@ class Platform(object): + def is_haiku(self): + return self._platform == 'haiku' + ++ def is_freebsd(self): ++ return self._platform == 'freebsd' ++ + def is_posix(self): + return self._platform in ['linux', 'freebsd', 'darwin', 'aix', 'openbsd', 'haiku'] + +@@ -351,6 +354,11 @@ def WriteGNNinja(path, platform, host, options): + elif platform.is_haiku(): + cflags.append('-fPIC') + cflags.extend(['-D_BSD_SOURCE']) ++ elif platform.is_freebsd(): ++ cflags.extend(['-Wno-deprecated-register', '-Wno-parentheses-equality']) ++ ldflags.extend(['-pthread']) ++ libs.extend(['-lexecinfo', '-lkvm', '-lutil']) ++ include_dirs += ['/usr/local/include'] + + if platform.is_posix() and not platform.is_haiku(): + ldflags.append('-pthread') diff --git a/www/iridium/files/patch-tools_gn_src_base_files_file__posix.cc b/www/iridium/files/patch-tools_gn_src_base_files_file__posix.cc new file mode 100644 index 000000000000..26958b7bf8f1 --- /dev/null +++ b/www/iridium/files/patch-tools_gn_src_base_files_file__posix.cc @@ -0,0 +1,11 @@ +--- tools/gn/src/base/files/file_posix.cc.orig 2020-03-16 18:48:21 UTC ++++ tools/gn/src/base/files/file_posix.cc +@@ -372,7 +372,7 @@ void File::DoInitialize(const FilePath& path, uint32_t + bool File::Flush() { + DCHECK(IsValid()); + +-#if defined(OS_LINUX) ++#if defined(OS_LINUX) || defined(OS_BSD) + return !HANDLE_EINTR(fdatasync(file_.get())); + #else + return !HANDLE_EINTR(fsync(file_.get())); diff --git a/www/iridium/files/patch-tools_gn_src_base_files_file__util.h b/www/iridium/files/patch-tools_gn_src_base_files_file__util.h new file mode 100644 index 000000000000..910d80aa09c6 --- /dev/null +++ b/www/iridium/files/patch-tools_gn_src_base_files_file__util.h @@ -0,0 +1,11 @@ +--- tools/gn/src/base/files/file_util.h.orig 2020-03-16 18:48:21 UTC ++++ tools/gn/src/base/files/file_util.h +@@ -325,7 +325,7 @@ bool VerifyPathControlledByAdmin(const base::FilePath& + // the directory |path|, in the number of FilePath::CharType, or -1 on failure. + int GetMaximumPathComponentLength(const base::FilePath& path); + +-#if defined(OS_LINUX) || defined(OS_AIX) ++#if defined(OS_LINUX) || defined(OS_AIX) || defined(OS_BSD) + // Broad categories of file systems as returned by statfs() on Linux. + enum FileSystemType { + FILE_SYSTEM_UNKNOWN, // statfs failed. diff --git a/www/iridium/files/patch-tools_gn_src_base_files_file__util__posix.cc b/www/iridium/files/patch-tools_gn_src_base_files_file__util__posix.cc new file mode 100644 index 000000000000..b5476cba713c --- /dev/null +++ b/www/iridium/files/patch-tools_gn_src_base_files_file__util__posix.cc @@ -0,0 +1,11 @@ +--- tools/gn/src/base/files/file_util_posix.cc.orig 2020-03-16 18:48:21 UTC ++++ tools/gn/src/base/files/file_util_posix.cc +@@ -210,7 +210,7 @@ bool ReplaceFile(const FilePath& from_path, + } + + bool CreateLocalNonBlockingPipe(int fds[2]) { +-#if defined(OS_LINUX) ++#if defined(OS_LINUX) || defined(OS_BSD) + return pipe2(fds, O_CLOEXEC | O_NONBLOCK) == 0; + #else + int raw_fds[2]; diff --git a/www/iridium/files/patch-tools_gn_src_base_files_scoped__file.cc b/www/iridium/files/patch-tools_gn_src_base_files_scoped__file.cc new file mode 100644 index 000000000000..acc59789e438 --- /dev/null +++ b/www/iridium/files/patch-tools_gn_src_base_files_scoped__file.cc @@ -0,0 +1,11 @@ +--- tools/gn/src/base/files/scoped_file.cc.orig 2020-03-16 18:48:21 UTC ++++ tools/gn/src/base/files/scoped_file.cc +@@ -30,7 +30,7 @@ void ScopedFDCloseTraits::Free(int fd) { + // a single open directory would bypass the entire security model. + int ret = IGNORE_EINTR(close(fd)); + +-#if defined(OS_LINUX) || defined(OS_MACOSX) || defined(OS_FUCHSIA) || \ ++#if defined(OS_LINUX) || defined(OS_MACOSX) || defined(OS_FUCHSIA) || defined(OS_BSD) || \ + defined(OS_ANDROID) + // NB: Some file descriptors can return errors from close() e.g. network + // filesystems such as NFS and Linux input devices. On Linux, macOS, and diff --git a/www/iridium/files/patch-tools_gn_src_gn_exec__process.cc b/www/iridium/files/patch-tools_gn_src_gn_exec__process.cc new file mode 100644 index 000000000000..761ee60ca826 --- /dev/null +++ b/www/iridium/files/patch-tools_gn_src_gn_exec__process.cc @@ -0,0 +1,13 @@ +--- tools/gn/src/gn/exec_process.cc.orig 2020-03-16 18:48:21 UTC ++++ tools/gn/src/gn/exec_process.cc +@@ -30,6 +30,10 @@ + #include "base/posix/file_descriptor_shuffle.h" + #endif + ++#if defined(OS_BSD) ++#include <signal.h> ++#endif ++ + namespace internal { + + #if defined(OS_WIN) diff --git a/www/iridium/files/patch-tools_gn_src_util_sys__info.cc b/www/iridium/files/patch-tools_gn_src_util_sys__info.cc new file mode 100644 index 000000000000..8b5fbb9cdb14 --- /dev/null +++ b/www/iridium/files/patch-tools_gn_src_util_sys__info.cc @@ -0,0 +1,11 @@ +--- tools/gn/src/util/sys_info.cc.orig 2020-03-16 18:48:21 UTC ++++ tools/gn/src/util/sys_info.cc +@@ -28,6 +28,8 @@ std::string OperatingSystemArchitecture() { + arch = "x86"; + } else if (arch == "amd64") { + arch = "x86_64"; ++ } else if (arch == "arm64") { ++ arch = "aarch64"; + } else if (std::string(info.sysname) == "AIX") { + arch = "ppc64"; + } diff --git a/www/iridium/files/patch-tools_json__schema__compiler_feature__compiler.py b/www/iridium/files/patch-tools_json__schema__compiler_feature__compiler.py new file mode 100644 index 000000000000..fda74ee7deec --- /dev/null +++ b/www/iridium/files/patch-tools_json__schema__compiler_feature__compiler.py @@ -0,0 +1,10 @@ +--- tools/json_schema_compiler/feature_compiler.py.orig 2020-02-03 21:53:12 UTC ++++ tools/json_schema_compiler/feature_compiler.py +@@ -218,6 +218,7 @@ FEATURE_GRAMMAR = ( + 'enum_map': { + 'chromeos': 'Feature::CHROMEOS_PLATFORM', + 'linux': 'Feature::LINUX_PLATFORM', ++ 'bsd': 'Feature::LINUX_PLATFORM', + 'mac': 'Feature::MACOSX_PLATFORM', + 'win': 'Feature::WIN_PLATFORM', + } diff --git a/www/iridium/files/patch-tools_json__schema__compiler_model.py b/www/iridium/files/patch-tools_json__schema__compiler_model.py new file mode 100644 index 000000000000..054250e781d5 --- /dev/null +++ b/www/iridium/files/patch-tools_json__schema__compiler_model.py @@ -0,0 +1,11 @@ +--- tools/json_schema_compiler/model.py.orig 2019-12-16 21:51:07 UTC ++++ tools/json_schema_compiler/model.py +@@ -605,7 +605,7 @@ class Platforms(object): + """ + CHROMEOS = _PlatformInfo("chromeos") + CHROMEOS_TOUCH = _PlatformInfo("chromeos_touch") +- LINUX = _PlatformInfo("linux") ++ LINUX = _PlatformInfo("bsd") + MAC = _PlatformInfo("mac") + WIN = _PlatformInfo("win") + diff --git a/www/iridium/files/patch-tools_perf_chrome__telemetry__build_BUILD.gn b/www/iridium/files/patch-tools_perf_chrome__telemetry__build_BUILD.gn new file mode 100644 index 000000000000..ac82f274b479 --- /dev/null +++ b/www/iridium/files/patch-tools_perf_chrome__telemetry__build_BUILD.gn @@ -0,0 +1,11 @@ +--- tools/perf/chrome_telemetry_build/BUILD.gn.orig 2020-03-16 18:40:43 UTC ++++ tools/perf/chrome_telemetry_build/BUILD.gn +@@ -46,7 +46,7 @@ group("telemetry_chrome_test") { + data_deps += [ "//chrome:reorder_imports" ] + } + +- if (is_linux) { ++ if (is_linux && !is_bsd) { + data_deps += [ + "//third_party/breakpad:dump_syms($host_toolchain)", + "//third_party/crashpad/crashpad/tools:crashpad_database_util", diff --git a/www/iridium/files/patch-tools_variations_fieldtrial__to__struct.py b/www/iridium/files/patch-tools_variations_fieldtrial__to__struct.py new file mode 100644 index 000000000000..940d72d03d24 --- /dev/null +++ b/www/iridium/files/patch-tools_variations_fieldtrial__to__struct.py @@ -0,0 +1,10 @@ +--- tools/variations/fieldtrial_to_struct.py.orig 2020-03-16 18:40:14 UTC ++++ tools/variations/fieldtrial_to_struct.py +@@ -35,6 +35,7 @@ _platforms = [ + 'android_weblayer', + 'android_webview', + 'chromeos', ++ 'freebsd', + 'fuchsia', + 'ios', + 'linux', diff --git a/www/iridium/files/patch-ui_base_dragdrop_os__exchange__data__provider__factory.cc b/www/iridium/files/patch-ui_base_dragdrop_os__exchange__data__provider__factory.cc new file mode 100644 index 000000000000..40534eb32dbb --- /dev/null +++ b/www/iridium/files/patch-ui_base_dragdrop_os__exchange__data__provider__factory.cc @@ -0,0 +1,20 @@ +--- ui/base/dragdrop/os_exchange_data_provider_factory.cc.orig 2019-07-24 18:59:18 UTC ++++ ui/base/dragdrop/os_exchange_data_provider_factory.cc +@@ -8,7 +8,7 @@ + + #if defined(USE_X11) + #include "ui/base/dragdrop/os_exchange_data_provider_aurax11.h" +-#elif defined(OS_LINUX) ++#elif defined(OS_LINUX) || defined(OS_BSD) + #include "ui/base/dragdrop/os_exchange_data_provider_aura.h" + #elif defined(OS_MACOSX) + #include "ui/base/dragdrop/os_exchange_data_provider_builder_mac.h" +@@ -23,7 +23,7 @@ std::unique_ptr<OSExchangeData::Provider> + OSExchangeDataProviderFactory::CreateProvider() { + #if defined(USE_X11) + return std::make_unique<OSExchangeDataProviderAuraX11>(); +-#elif defined(OS_LINUX) ++#elif defined(OS_LINUX) || defined(OS_BSD) + return std::make_unique<OSExchangeDataProviderAura>(); + #elif defined(OS_MACOSX) + return ui::BuildOSExchangeDataProviderMac(); diff --git a/www/iridium/files/patch-ui_base_ime_init_input__method__initializer.cc b/www/iridium/files/patch-ui_base_ime_init_input__method__initializer.cc new file mode 100644 index 000000000000..8f3c47ebd01b --- /dev/null +++ b/www/iridium/files/patch-ui_base_ime_init_input__method__initializer.cc @@ -0,0 +1,38 @@ +--- ui/base/ime/init/input_method_initializer.cc.orig 2019-06-04 18:55:49 UTC ++++ ui/base/ime/init/input_method_initializer.cc +@@ -8,7 +8,7 @@ + + #if defined(OS_CHROMEOS) + #include "ui/base/ime/ime_bridge.h" +-#elif defined(USE_AURA) && defined(OS_LINUX) ++#elif defined(USE_AURA) && (defined(OS_LINUX) || defined(OS_BSD)) + #include "base/logging.h" + #include "ui/base/ime/linux/fake_input_method_context_factory.h" + #elif defined(OS_WIN) +@@ -18,7 +18,7 @@ + + namespace { + +-#if !defined(OS_CHROMEOS) && defined(USE_AURA) && defined(OS_LINUX) ++#if !defined(OS_CHROMEOS) && defined(USE_AURA) && (defined(OS_LINUX) || defined(OS_BSD)) + const ui::LinuxInputMethodContextFactory* + g_linux_input_method_context_factory_for_testing; + #endif +@@ -46,7 +46,7 @@ void ShutdownInputMethod() { + void InitializeInputMethodForTesting() { + #if defined(OS_CHROMEOS) + IMEBridge::Initialize(); +-#elif defined(USE_AURA) && defined(OS_LINUX) ++#elif defined(USE_AURA) && (defined(OS_LINUX) || defined(OS_BSD)) + if (!g_linux_input_method_context_factory_for_testing) + g_linux_input_method_context_factory_for_testing = + new FakeInputMethodContextFactory(); +@@ -67,7 +67,7 @@ void InitializeInputMethodForTesting() { + void ShutdownInputMethodForTesting() { + #if defined(OS_CHROMEOS) + IMEBridge::Shutdown(); +-#elif defined(USE_AURA) && defined(OS_LINUX) ++#elif defined(USE_AURA) && (defined(OS_LINUX) || defined(OS_BSD)) + const LinuxInputMethodContextFactory* factory = + LinuxInputMethodContextFactory::instance(); + CHECK(!factory || factory == g_linux_input_method_context_factory_for_testing) diff --git a/www/iridium/files/patch-ui_base_resource_resource__bundle.cc b/www/iridium/files/patch-ui_base_resource_resource__bundle.cc new file mode 100644 index 000000000000..91e1320a26f5 --- /dev/null +++ b/www/iridium/files/patch-ui_base_resource_resource__bundle.cc @@ -0,0 +1,20 @@ +--- ui/base/resource/resource_bundle.cc.orig 2020-03-16 18:40:15 UTC ++++ ui/base/resource/resource_bundle.cc +@@ -822,7 +822,7 @@ void ResourceBundle::ReloadFonts() { + } + + ScaleFactor ResourceBundle::GetMaxScaleFactor() const { +-#if defined(OS_WIN) || defined(OS_LINUX) ++#if defined(OS_WIN) || defined(OS_LINUX) || defined(OS_BSD) + return max_scale_factor_; + #else + return GetSupportedScaleFactors().back(); +@@ -875,7 +875,7 @@ void ResourceBundle::InitSharedInstance(Delegate* dele + // On platforms other than iOS, 100P is always a supported scale factor. + // For Windows we have a separate case in this function. + supported_scale_factors.push_back(SCALE_FACTOR_100P); +-#if defined(OS_MACOSX) || defined(OS_LINUX) || defined(OS_WIN) ++#if defined(OS_MACOSX) || defined(OS_LINUX) || defined(OS_WIN) || defined(OS_BSD) + supported_scale_factors.push_back(SCALE_FACTOR_200P); + #endif + #endif diff --git a/www/iridium/files/patch-ui_base_resource_resource__bundle__freebsd.cc b/www/iridium/files/patch-ui_base_resource_resource__bundle__freebsd.cc new file mode 100644 index 000000000000..ea5ade19da2e --- /dev/null +++ b/www/iridium/files/patch-ui_base_resource_resource__bundle__freebsd.cc @@ -0,0 +1,24 @@ +--- ui/base/resource/resource_bundle_freebsd.cc.orig 2019-03-17 01:47:14 UTC ++++ ui/base/resource/resource_bundle_freebsd.cc +@@ -0,0 +1,21 @@ ++// Copyright 2017 The Chromium Authors. All rights reserved. ++// Use of this source code is governed by a BSD-style license that can be ++// found in the LICENSE file. ++ ++#include "ui/base/resource/resource_bundle.h" ++ ++#include "base/logging.h" ++#include "base/macros.h" ++#include "ui/gfx/image/image.h" ++ ++namespace ui { ++ ++void ResourceBundle::LoadCommonResources() { ++ LoadChromeResources(); ++} ++ ++gfx::Image& ResourceBundle::GetNativeImageNamed(int resource_id) { ++ return GetImageNamed(resource_id); ++} ++ ++} // namespace ui diff --git a/www/iridium/files/patch-ui_base_ui__base__features.cc b/www/iridium/files/patch-ui_base_ui__base__features.cc new file mode 100644 index 000000000000..aa850d8e1146 --- /dev/null +++ b/www/iridium/files/patch-ui_base_ui__base__features.cc @@ -0,0 +1,20 @@ +--- ui/base/ui_base_features.cc.orig 2020-03-16 18:40:43 UTC ++++ ui/base/ui_base_features.cc +@@ -113,7 +113,7 @@ const base::Feature kEnableAutomaticUiAdjustmentsForTo + "EnableAutomaticUiAdjustmentsForTouch", base::FEATURE_ENABLED_BY_DEFAULT}; + #endif // defined(OS_WIN) || defined(OS_CHROMEOS) + +-#if defined(OS_WIN) || defined(OS_MACOSX) || defined(OS_LINUX) ++#if defined(OS_WIN) || defined(OS_MACOSX) || defined(OS_LINUX) || defined(OS_BSD) + // Enables stylus appearing as touch when in contact with digitizer. + const base::Feature kDirectManipulationStylus = { + "DirectManipulationStylus", +@@ -123,7 +123,7 @@ const base::Feature kDirectManipulationStylus = { + base::FEATURE_DISABLED_BY_DEFAULT + #endif + }; +-#endif // defined(OS_WIN) || defined(OS_MACOSX) || defined(OS_LINUX) ++#endif // defined(OS_WIN) || defined(OS_MACOSX) || defined(OS_LINUX) || defined(OS_BSD) + + // Disable the FormControlsRefresh feature for all platforms. See + // crbug.com/1057669. diff --git a/www/iridium/files/patch-ui_base_ui__base__features.h b/www/iridium/files/patch-ui_base_ui__base__features.h new file mode 100644 index 000000000000..d86c205b8c2e --- /dev/null +++ b/www/iridium/files/patch-ui_base_ui__base__features.h @@ -0,0 +1,15 @@ +--- ui/base/ui_base_features.h.orig 2020-03-16 18:40:43 UTC ++++ ui/base/ui_base_features.h +@@ -61,10 +61,10 @@ COMPONENT_EXPORT(UI_BASE_FEATURES) + extern const base::Feature kEnableAutomaticUiAdjustmentsForTouch; + #endif // defined(OS_WIN) || defined(OS_CHROMEOS) + +-#if defined(OS_WIN) || defined(OS_MACOSX) || defined(OS_LINUX) ++#if defined(OS_WIN) || defined(OS_MACOSX) || defined(OS_LINUX) || defined(OS_BSD) + COMPONENT_EXPORT(UI_BASE_FEATURES) + extern const base::Feature kDirectManipulationStylus; +-#endif // defined(OS_WIN) || defined(OS_MACOSX) || defined(OS_LINUX) ++#endif // defined(OS_WIN) || defined(OS_MACOSX) || defined(OS_LINUX) || defined(OS_BSD) + + // Used to enable the new controls UI. + COMPONENT_EXPORT(UI_BASE_FEATURES) diff --git a/www/iridium/files/patch-ui_base_webui_web__ui__util.cc b/www/iridium/files/patch-ui_base_webui_web__ui__util.cc new file mode 100644 index 000000000000..422ea71485b9 --- /dev/null +++ b/www/iridium/files/patch-ui_base_webui_web__ui__util.cc @@ -0,0 +1,11 @@ +--- ui/base/webui/web_ui_util.cc.orig 2020-03-16 18:40:15 UTC ++++ ui/base/webui/web_ui_util.cc +@@ -236,7 +236,7 @@ std::string GetFontFamily() { + + // TODO(dnicoara) Remove Ozone check when PlatformFont support is introduced + // into Ozone: crbug.com/320050 +-#if defined(OS_LINUX) && !defined(OS_CHROMEOS) && !defined(USE_OZONE) ++#if (defined(OS_LINUX) || defined(OS_BSD)) && !defined(OS_CHROMEOS) && !defined(USE_OZONE) + font_family = ui::ResourceBundle::GetSharedInstance().GetFont( + ui::ResourceBundle::BaseFont).GetFontName() + ", " + font_family; + #endif diff --git a/www/iridium/files/patch-ui_base_x_x11__shm__image__pool__base.cc b/www/iridium/files/patch-ui_base_x_x11__shm__image__pool__base.cc new file mode 100644 index 000000000000..7546426f2036 --- /dev/null +++ b/www/iridium/files/patch-ui_base_x_x11__shm__image__pool__base.cc @@ -0,0 +1,43 @@ +--- ui/base/x/x11_shm_image_pool_base.cc.orig 2020-03-16 18:40:43 UTC ++++ ui/base/x/x11_shm_image_pool_base.cc +@@ -16,6 +16,7 @@ + #include "base/environment.h" + #include "base/location.h" + #include "base/strings/string_util.h" ++#include "base/system/sys_info.h" + #include "base/threading/thread_task_runner_handle.h" + #include "build/build_config.h" + #include "net/base/url_util.h" +@@ -44,10 +45,14 @@ constexpr float kShmResizeShrinkThreshold = + 1.0f / (kShmResizeThreshold * kShmResizeThreshold); + + std::size_t MaxShmSegmentSizeImpl() { ++#if defined(OS_BSD) ++ return base::SysInfo::MaxSharedMemorySize(); ++#else + struct shminfo info; + if (shmctl(0, IPC_INFO, reinterpret_cast<struct shmid_ds*>(&info)) == -1) + return 0; + return info.shmmax; ++#endif + } + + std::size_t MaxShmSegmentSize() { +@@ -199,7 +204,7 @@ bool XShmImagePoolBase::Resize(const gfx::Size& pixel_ + shmctl(state.shminfo_.shmid, IPC_RMID, nullptr); + return false; + } +-#if defined(OS_LINUX) ++#if defined(OS_LINUX) || defined(OS_BSD) + // On Linux, a shmid can still be attached after IPC_RMID if otherwise + // kept alive. Detach before XShmAttach to prevent a memory leak in case + // the process dies. +@@ -209,7 +214,7 @@ bool XShmImagePoolBase::Resize(const gfx::Size& pixel_ + if (!XShmAttach(display_, &state.shminfo_)) + return false; + state.shmem_attached_to_server_ = true; +-#if !defined(OS_LINUX) ++#if !defined(OS_LINUX) && !defined(OS_BSD) + // The Linux-specific shmctl behavior above may not be portable, so we're + // forced to do IPC_RMID after the server has attached to the segment. + // XShmAttach is asynchronous, so we must also sync. diff --git a/www/iridium/files/patch-ui_compositor_compositor.cc b/www/iridium/files/patch-ui_compositor_compositor.cc new file mode 100644 index 000000000000..f89ddbcf2b9f --- /dev/null +++ b/www/iridium/files/patch-ui_compositor_compositor.cc @@ -0,0 +1,11 @@ +--- ui/compositor/compositor.cc.orig 2020-03-16 18:40:43 UTC ++++ ui/compositor/compositor.cc +@@ -669,7 +669,7 @@ void Compositor::OnFrameTokenChanged(uint32_t frame_to + NOTREACHED(); + } + +-#if defined(OS_LINUX) && !defined(OS_CHROMEOS) ++#if (defined(OS_LINUX) && !defined(OS_CHROMEOS)) || defined(OS_BSD) + void Compositor::OnCompleteSwapWithNewSize(const gfx::Size& size) { + for (auto& observer : observer_list_) + observer.OnCompositingCompleteSwapWithNewSize(this, size); diff --git a/www/iridium/files/patch-ui_compositor_compositor.h b/www/iridium/files/patch-ui_compositor_compositor.h new file mode 100644 index 000000000000..89e662bc3e66 --- /dev/null +++ b/www/iridium/files/patch-ui_compositor_compositor.h @@ -0,0 +1,11 @@ +--- ui/compositor/compositor.h.orig 2020-03-16 18:40:43 UTC ++++ ui/compositor/compositor.h +@@ -380,7 +380,7 @@ class COMPOSITOR_EXPORT Compositor : public cc::LayerT + void OnFirstSurfaceActivation(const viz::SurfaceInfo& surface_info) override; + void OnFrameTokenChanged(uint32_t frame_token) override; + +-#if defined(OS_LINUX) && !defined(OS_CHROMEOS) ++#if (defined(OS_LINUX) && !defined(OS_CHROMEOS)) || defined(OS_BSD) + void OnCompleteSwapWithNewSize(const gfx::Size& size); + #endif + diff --git a/www/iridium/files/patch-ui_compositor_compositor__observer.h b/www/iridium/files/patch-ui_compositor_compositor__observer.h new file mode 100644 index 000000000000..deab6a8328f8 --- /dev/null +++ b/www/iridium/files/patch-ui_compositor_compositor__observer.h @@ -0,0 +1,16 @@ +--- ui/compositor/compositor_observer.h.orig 2019-12-17 19:56:41 UTC ++++ ui/compositor/compositor_observer.h +@@ -42,11 +42,11 @@ class COMPOSITOR_EXPORT CompositorObserver { + // Called when a child of the compositor is resizing. + virtual void OnCompositingChildResizing(Compositor* compositor) {} + +-#if defined(OS_LINUX) && !defined(OS_CHROMEOS) ++#if (defined(OS_LINUX) && !defined(OS_CHROMEOS)) || defined(OS_BSD) + // Called when a swap with new size is completed. + virtual void OnCompositingCompleteSwapWithNewSize(ui::Compositor* compositor, + const gfx::Size& size) {} +-#endif // defined(OS_LINUX) ++#endif // defined(OS_LINUX) || defined(OS_BSD) + + // Called at the top of the compositor's destructor, to give observers a + // chance to remove themselves. diff --git a/www/iridium/files/patch-ui_compositor_host_host__context__factory__private.cc b/www/iridium/files/patch-ui_compositor_host_host__context__factory__private.cc new file mode 100644 index 000000000000..b7be4b020629 --- /dev/null +++ b/www/iridium/files/patch-ui_compositor_host_host__context__factory__private.cc @@ -0,0 +1,11 @@ +--- ui/compositor/host/host_context_factory_private.cc.orig 2020-03-16 18:40:43 UTC ++++ ui/compositor/host/host_context_factory_private.cc +@@ -29,7 +29,7 @@ namespace { + + static const char* kBrowser = "Browser"; + +-#if defined(OS_LINUX) && !defined(OS_CHROMEOS) ++#if (defined(OS_LINUX) && !defined(OS_CHROMEOS)) || defined(OS_BSD) + class HostDisplayClient : public viz::HostDisplayClient { + public: + explicit HostDisplayClient(ui::Compositor* compositor) diff --git a/www/iridium/files/patch-ui_events_devices_x11_device__data__manager__x11.cc b/www/iridium/files/patch-ui_events_devices_x11_device__data__manager__x11.cc new file mode 100644 index 000000000000..df1fa86b3c0d --- /dev/null +++ b/www/iridium/files/patch-ui_events_devices_x11_device__data__manager__x11.cc @@ -0,0 +1,19 @@ +--- ui/events/devices/x11/device_data_manager_x11.cc.orig 2019-09-09 21:55:46 UTC ++++ ui/events/devices/x11/device_data_manager_x11.cc +@@ -826,6 +826,8 @@ void DeviceDataManagerX11::SetDisabledKeyboardAllowedK + } + + void DeviceDataManagerX11::DisableDevice(int deviceid) { ++ NOTIMPLEMENTED(); ++#if !defined(OS_BSD) + blocked_devices_.set(deviceid, true); + // TODO(rsadam@): Support blocking touchscreen devices. + std::vector<InputDevice> keyboards = GetKeyboardDevices(); +@@ -836,6 +838,7 @@ void DeviceDataManagerX11::DisableDevice(int deviceid) + keyboards.erase(it); + DeviceDataManager::OnKeyboardDevicesUpdated(keyboards); + } ++#endif + } + + void DeviceDataManagerX11::EnableDevice(int deviceid) { diff --git a/www/iridium/files/patch-ui_events_event__switches.cc b/www/iridium/files/patch-ui_events_event__switches.cc new file mode 100644 index 000000000000..565f70395687 --- /dev/null +++ b/www/iridium/files/patch-ui_events_event__switches.cc @@ -0,0 +1,11 @@ +--- ui/events/event_switches.cc.orig 2019-03-11 22:01:19 UTC ++++ ui/events/event_switches.cc +@@ -14,7 +14,7 @@ namespace switches { + const char kCompensateForUnstablePinchZoom[] = + "compensate-for-unstable-pinch-zoom"; + +-#if defined(OS_LINUX) ++#if defined(OS_LINUX) || defined(OS_FREEBSD) + // Tells chrome to interpret events from these devices as touch events. Only + // available with XInput 2 (i.e. X server 1.8 or above). The id's of the + // devices can be retrieved from 'xinput list'. diff --git a/www/iridium/files/patch-ui_events_event__switches.h b/www/iridium/files/patch-ui_events_event__switches.h new file mode 100644 index 000000000000..e7351a731084 --- /dev/null +++ b/www/iridium/files/patch-ui_events_event__switches.h @@ -0,0 +1,11 @@ +--- ui/events/event_switches.h.orig 2019-03-11 22:01:19 UTC ++++ ui/events/event_switches.h +@@ -13,7 +13,7 @@ namespace switches { + + EVENTS_BASE_EXPORT extern const char kCompensateForUnstablePinchZoom[]; + +-#if defined(OS_LINUX) ++#if defined(OS_LINUX) || defined(OS_FREEBSD) + EVENTS_BASE_EXPORT extern const char kTouchDevices[]; + EVENTS_BASE_EXPORT extern const char kPenDevices[]; + #endif diff --git a/www/iridium/files/patch-ui_events_keycodes_dom_keycode__converter.cc b/www/iridium/files/patch-ui_events_keycodes_dom_keycode__converter.cc new file mode 100644 index 000000000000..2bae1687515b --- /dev/null +++ b/www/iridium/files/patch-ui_events_keycodes_dom_keycode__converter.cc @@ -0,0 +1,11 @@ +--- ui/events/keycodes/dom/keycode_converter.cc.orig 2020-03-16 18:40:15 UTC ++++ ui/events/keycodes/dom/keycode_converter.cc +@@ -20,7 +20,7 @@ namespace { + #if defined(OS_WIN) + #define DOM_CODE(usb, evdev, xkb, win, mac, code, id) \ + { usb, win, code } +-#elif defined(OS_LINUX) ++#elif defined(OS_LINUX) || defined(OS_BSD) + #define DOM_CODE(usb, evdev, xkb, win, mac, code, id) \ + { usb, xkb, code } + #elif defined(OS_MACOSX) diff --git a/www/iridium/files/patch-ui_gfx_BUILD.gn b/www/iridium/files/patch-ui_gfx_BUILD.gn new file mode 100644 index 000000000000..be500c1b94d5 --- /dev/null +++ b/www/iridium/files/patch-ui_gfx_BUILD.gn @@ -0,0 +1,11 @@ +--- ui/gfx/BUILD.gn.orig 2020-03-16 18:40:43 UTC ++++ ui/gfx/BUILD.gn +@@ -578,7 +578,7 @@ jumbo_source_set("memory_buffer_sources") { + deps += [ "//build/config/linux/libdrm" ] + } + +- if (is_linux || is_android) { ++ if ((is_linux || is_android) && !is_bsd) { + deps += [ "//third_party/libsync" ] + } + diff --git a/www/iridium/files/patch-ui_gfx_canvas__skia.cc b/www/iridium/files/patch-ui_gfx_canvas__skia.cc new file mode 100644 index 000000000000..5d99916e4eb1 --- /dev/null +++ b/www/iridium/files/patch-ui_gfx_canvas__skia.cc @@ -0,0 +1,11 @@ +--- ui/gfx/canvas_skia.cc.orig 2020-02-03 21:53:13 UTC ++++ ui/gfx/canvas_skia.cc +@@ -206,7 +206,7 @@ void Canvas::DrawStringRectWithFlags(const base::strin + Range range = StripAcceleratorChars(flags, &adjusted_text); + bool elide_text = ((flags & NO_ELLIPSIS) == 0); + +-#if defined(OS_LINUX) ++#if defined(OS_LINUX) || defined(OS_BSD) + // On Linux, eliding really means fading the end of the string. But only + // for LTR text. RTL text is still elided (on the left) with "...". + if (elide_text) { diff --git a/www/iridium/files/patch-ui_gfx_codec_jpeg__codec.cc b/www/iridium/files/patch-ui_gfx_codec_jpeg__codec.cc new file mode 100644 index 000000000000..1bd5ac55ec9e --- /dev/null +++ b/www/iridium/files/patch-ui_gfx_codec_jpeg__codec.cc @@ -0,0 +1,20 @@ +--- ui/gfx/codec/jpeg_codec.cc.orig 2019-03-11 22:01:19 UTC ++++ ui/gfx/codec/jpeg_codec.cc +@@ -207,6 +207,7 @@ bool JPEGCodec::Decode(const unsigned char* input, siz + case JCS_GRAYSCALE: + case JCS_RGB: + case JCS_YCbCr: ++#ifdef JCS_EXTENSIONS + // Choose an output colorspace and return if it is an unsupported one. + // Same as JPEGCodec::Encode(), libjpeg-turbo supports all input formats + // used by Chromium (i.e. RGBA and BGRA) and we just map the input +@@ -223,6 +224,9 @@ bool JPEGCodec::Decode(const unsigned char* input, siz + NOTREACHED() << "Invalid pixel format"; + return false; + } ++#else ++ cinfo.out_color_space = JCS_RGB; ++#endif + break; + case JCS_CMYK: + case JCS_YCCK: diff --git a/www/iridium/files/patch-ui_gfx_font__fallback__linux.cc b/www/iridium/files/patch-ui_gfx_font__fallback__linux.cc new file mode 100644 index 000000000000..26597a5d4cb2 --- /dev/null +++ b/www/iridium/files/patch-ui_gfx_font__fallback__linux.cc @@ -0,0 +1,13 @@ +--- ui/gfx/font_fallback_linux.cc.orig 2019-12-16 21:51:34 UTC ++++ ui/gfx/font_fallback_linux.cc +@@ -24,6 +24,10 @@ + #include "ui/gfx/linux/fontconfig_util.h" + #include "ui/gfx/platform_font.h" + ++#if defined(OS_BSD) ++#include <unistd.h> ++#endif ++ + namespace gfx { + + namespace { diff --git a/www/iridium/files/patch-ui_gfx_font__list.cc b/www/iridium/files/patch-ui_gfx_font__list.cc new file mode 100644 index 000000000000..542476a0c3e2 --- /dev/null +++ b/www/iridium/files/patch-ui_gfx_font__list.cc @@ -0,0 +1,11 @@ +--- ui/gfx/font_list.cc.orig 2019-03-11 22:01:19 UTC ++++ ui/gfx/font_list.cc +@@ -24,7 +24,7 @@ base::LazyInstance<scoped_refptr<gfx::FontListImpl>>:: + bool g_default_impl_initialized = false; + + bool IsFontFamilyAvailable(const std::string& family, SkFontMgr* fontManager) { +-#if defined(OS_LINUX) ++#if defined(OS_LINUX) || defined(OS_BSD) + return !!fontManager->legacyMakeTypeface(family.c_str(), SkFontStyle()); + #else + sk_sp<SkFontStyleSet> set(fontManager->matchFamily(family.c_str())); diff --git a/www/iridium/files/patch-ui_gfx_font__names__testing.cc b/www/iridium/files/patch-ui_gfx_font__names__testing.cc new file mode 100644 index 000000000000..2c268488ae30 --- /dev/null +++ b/www/iridium/files/patch-ui_gfx_font__names__testing.cc @@ -0,0 +1,29 @@ +--- ui/gfx/font_names_testing.cc.orig 2020-04-06 08:38:05 UTC ++++ ui/gfx/font_names_testing.cc +@@ -22,7 +22,7 @@ Note that we have to support the full range from Jelly + dessert. + */ + +-#if defined(OS_LINUX) || defined(OS_FUCHSIA) ++#if defined(OS_LINUX) || defined(OS_FUCHSIA) || defined(OS_BSD) + const char kTestFontName[] = "Arimo"; + #elif defined(OS_ANDROID) + const char kTestFontName[] = "sans-serif"; +@@ -30,7 +30,7 @@ const char kTestFontName[] = "sans-serif"; + const char kTestFontName[] = "Arial"; + #endif + +-#if defined(OS_LINUX) || defined(OS_FUCHSIA) ++#if defined(OS_LINUX) || defined(OS_FUCHSIA) || defined(OS_BSD) + const char kSymbolFontName[] = "DejaVu Sans"; + #elif defined(OS_ANDROID) + const char kSymbolFontName[] = "monospace"; +@@ -40,7 +40,7 @@ const char kSymbolFontName[] = "Segoe UI Symbol"; + const char kSymbolFontName[] = "Symbol"; + #endif + +-#if defined(OS_LINUX) || defined(OS_FUCHSIA) ++#if defined(OS_LINUX) || defined(OS_FUCHSIA) || defined(OS_BSD) + const char kCJKFontName[] = "Noto Sans CJK JP"; + #elif defined(OS_ANDROID) + const char kCJKFontName[] = "serif"; diff --git a/www/iridium/files/patch-ui_gfx_font__render__params.h b/www/iridium/files/patch-ui_gfx_font__render__params.h new file mode 100644 index 000000000000..5f0bb35c60b5 --- /dev/null +++ b/www/iridium/files/patch-ui_gfx_font__render__params.h @@ -0,0 +1,18 @@ +--- ui/gfx/font_render_params.h.orig 2019-07-24 18:59:22 UTC ++++ ui/gfx/font_render_params.h +@@ -111,13 +111,13 @@ GFX_EXPORT FontRenderParams GetFontRenderParams( + const FontRenderParamsQuery& query, + std::string* family_out); + +-#if defined(OS_LINUX) ++#if defined(OS_LINUX) || defined(OS_BSD) + // Clears GetFontRenderParams()'s cache. Intended to be called by tests that are + // changing Fontconfig's configuration. + GFX_EXPORT void ClearFontRenderParamsCacheForTest(); + #endif + +-#if defined(OS_WIN) || defined(OS_LINUX) || defined(OS_ANDROID) || \ ++#if defined(OS_WIN) || defined(OS_LINUX) || defined(OS_ANDROID) || defined(OS_BSD) || \ + defined(OS_FUCHSIA) + // Gets the device scale factor to query the FontRenderParams. + GFX_EXPORT float GetFontRenderParamsDeviceScaleFactor(); diff --git a/www/iridium/files/patch-ui_gfx_font__util.cc b/www/iridium/files/patch-ui_gfx_font__util.cc new file mode 100644 index 000000000000..70270c4ee997 --- /dev/null +++ b/www/iridium/files/patch-ui_gfx_font__util.cc @@ -0,0 +1,25 @@ +--- ui/gfx/font_util.cc.orig 2019-12-17 19:58:26 UTC ++++ ui/gfx/font_util.cc +@@ -6,7 +6,7 @@ + + #include "build/build_config.h" + +-#if defined(OS_LINUX) ++#if defined(OS_LINUX) || defined(OS_BSD) + #include <fontconfig/fontconfig.h> + #include "ui/gfx/linux/fontconfig_util.h" + #endif +@@ -24,11 +24,11 @@ void InitializeFonts() { + // background (resources have not yet been granted to cast) since it prevents + // the long delay the user would have seen on first rendering. + +-#if defined(OS_LINUX) ++#if defined(OS_LINUX) || defined(OS_BSD) + // Ensures the config is created on this thread. + FcConfig* config = GetGlobalFontConfig(); + DCHECK(config); +-#endif // OS_LINUX ++#endif // OS_LINUX || OS_BSD + + #if defined(OS_WIN) + gfx::win::InitializeDirectWrite(); diff --git a/www/iridium/files/patch-ui_gfx_gpu__memory__buffer.cc b/www/iridium/files/patch-ui_gfx_gpu__memory__buffer.cc new file mode 100644 index 000000000000..fe42d4a3bace --- /dev/null +++ b/www/iridium/files/patch-ui_gfx_gpu__memory__buffer.cc @@ -0,0 +1,11 @@ +--- ui/gfx/gpu_memory_buffer.cc.orig 2019-12-17 19:59:38 UTC ++++ ui/gfx/gpu_memory_buffer.cc +@@ -28,7 +28,7 @@ GpuMemoryBufferHandle GpuMemoryBufferHandle::Clone() c + handle.region = region.Duplicate(); + handle.offset = offset; + handle.stride = stride; +-#if defined(OS_LINUX) || defined(OS_FUCHSIA) ++#if defined(OS_LINUX) || defined(OS_FUCHSIA) || defined(OS_BSD) + handle.native_pixmap_handle = CloneHandleForIPC(native_pixmap_handle); + #elif defined(OS_MACOSX) && !defined(OS_IOS) + NOTIMPLEMENTED(); diff --git a/www/iridium/files/patch-ui_gfx_gpu__memory__buffer.h b/www/iridium/files/patch-ui_gfx_gpu__memory__buffer.h new file mode 100644 index 000000000000..a05a77674080 --- /dev/null +++ b/www/iridium/files/patch-ui_gfx_gpu__memory__buffer.h @@ -0,0 +1,20 @@ +--- ui/gfx/gpu_memory_buffer.h.orig 2020-02-03 21:53:13 UTC ++++ ui/gfx/gpu_memory_buffer.h +@@ -15,7 +15,7 @@ + #include "ui/gfx/geometry/rect.h" + #include "ui/gfx/gfx_export.h" + +-#if defined(USE_OZONE) || defined(OS_LINUX) ++#if defined(USE_OZONE) || defined(OS_LINUX) || defined(OS_BSD) + #include "ui/gfx/native_pixmap_handle.h" + #elif defined(OS_MACOSX) && !defined(OS_IOS) + #include "ui/gfx/mac/io_surface.h" +@@ -65,7 +65,7 @@ struct GFX_EXPORT GpuMemoryBufferHandle { + base::UnsafeSharedMemoryRegion region; + uint32_t offset; + int32_t stride; +-#if defined(OS_LINUX) || defined(OS_FUCHSIA) ++#if defined(OS_LINUX) || defined(OS_FUCHSIA) || defined(OS_BSD) + NativePixmapHandle native_pixmap_handle; + #elif defined(OS_MACOSX) && !defined(OS_IOS) + ScopedRefCountedIOSurfaceMachPort mach_port; diff --git a/www/iridium/files/patch-ui_gfx_ipc_gfx__param__traits__macros.h b/www/iridium/files/patch-ui_gfx_ipc_gfx__param__traits__macros.h new file mode 100644 index 000000000000..22be111486c5 --- /dev/null +++ b/www/iridium/files/patch-ui_gfx_ipc_gfx__param__traits__macros.h @@ -0,0 +1,44 @@ +--- ui/gfx/ipc/gfx_param_traits_macros.h.orig 2019-10-21 19:07:29 UTC ++++ ui/gfx/ipc/gfx_param_traits_macros.h +@@ -18,7 +18,7 @@ + #include "ui/gfx/selection_bound.h" + #include "ui/gfx/swap_result.h" + +-#if defined(OS_LINUX) ++#if defined(OS_LINUX) || defined(OS_BSD) + #include "ui/gfx/native_pixmap_handle.h" + #endif + +@@ -51,7 +51,7 @@ IPC_STRUCT_TRAITS_BEGIN(gfx::GpuMemoryBufferHandle) + IPC_STRUCT_TRAITS_MEMBER(region) + IPC_STRUCT_TRAITS_MEMBER(offset) + IPC_STRUCT_TRAITS_MEMBER(stride) +-#if defined(OS_LINUX) || defined(OS_FUCHSIA) ++#if defined(OS_LINUX) || defined(OS_FUCHSIA) || defined(OS_BSD) + IPC_STRUCT_TRAITS_MEMBER(native_pixmap_handle) + #elif defined(OS_MACOSX) + IPC_STRUCT_TRAITS_MEMBER(mach_port) +@@ -66,12 +66,12 @@ IPC_STRUCT_TRAITS_BEGIN(gfx::GpuMemoryBufferId) + IPC_STRUCT_TRAITS_MEMBER(id) + IPC_STRUCT_TRAITS_END() + +-#if defined(OS_LINUX) || defined(OS_FUCHSIA) ++#if defined(OS_LINUX) || defined(OS_FUCHSIA) || defined(OS_BSD) + IPC_STRUCT_TRAITS_BEGIN(gfx::NativePixmapPlane) + IPC_STRUCT_TRAITS_MEMBER(stride) + IPC_STRUCT_TRAITS_MEMBER(offset) + IPC_STRUCT_TRAITS_MEMBER(size) +-#if defined(OS_LINUX) ++#if defined(OS_LINUX) || defined(OS_BSD) + IPC_STRUCT_TRAITS_MEMBER(fd) + #elif defined(OS_FUCHSIA) + IPC_STRUCT_TRAITS_MEMBER(vmo) +@@ -80,7 +80,7 @@ IPC_STRUCT_TRAITS_END() + + IPC_STRUCT_TRAITS_BEGIN(gfx::NativePixmapHandle) + IPC_STRUCT_TRAITS_MEMBER(planes) +-#if defined(OS_LINUX) ++#if defined(OS_LINUX) || defined(OS_BSD) + IPC_STRUCT_TRAITS_MEMBER(modifier) + #endif + #if defined(OS_FUCHSIA) diff --git a/www/iridium/files/patch-ui_gfx_linux_client__native__pixmap__dmabuf.cc b/www/iridium/files/patch-ui_gfx_linux_client__native__pixmap__dmabuf.cc new file mode 100644 index 000000000000..1741c4d863e8 --- /dev/null +++ b/www/iridium/files/patch-ui_gfx_linux_client__native__pixmap__dmabuf.cc @@ -0,0 +1,25 @@ +--- ui/gfx/linux/client_native_pixmap_dmabuf.cc.orig 2020-03-16 18:40:43 UTC ++++ ui/gfx/linux/client_native_pixmap_dmabuf.cc +@@ -5,7 +5,9 @@ + #include "ui/gfx/linux/client_native_pixmap_dmabuf.h" + + #include <fcntl.h> ++#if !defined(__FreeBSD__) + #include <linux/version.h> ++#endif + #include <stddef.h> + #include <sys/ioctl.h> + #include <sys/mman.h> +@@ -26,11 +28,7 @@ + #include "ui/gfx/buffer_format_util.h" + #include "ui/gfx/switches.h" + +-#if LINUX_VERSION_CODE >= KERNEL_VERSION(4, 11, 0) +-#include <linux/dma-buf.h> +-#else +-#include <linux/types.h> +- ++#if defined(__FreeBSD__) + struct dma_buf_sync { + __u64 flags; + }; diff --git a/www/iridium/files/patch-ui_gfx_mojom_buffer__types__mojom__traits.cc b/www/iridium/files/patch-ui_gfx_mojom_buffer__types__mojom__traits.cc new file mode 100644 index 000000000000..a2a977047d43 --- /dev/null +++ b/www/iridium/files/patch-ui_gfx_mojom_buffer__types__mojom__traits.cc @@ -0,0 +1,75 @@ +--- ui/gfx/mojom/buffer_types_mojom_traits.cc.orig 2019-10-30 16:33:03 UTC ++++ ui/gfx/mojom/buffer_types_mojom_traits.cc +@@ -24,15 +24,15 @@ bool StructTraits<gfx::mojom::BufferUsageAndFormatData + return data.ReadUsage(&out->usage) && data.ReadFormat(&out->format); + } + +-#if defined(OS_LINUX) || defined(USE_OZONE) ++#if defined(OS_LINUX) || defined(OS_BSD) || defined(USE_OZONE) + mojo::ScopedHandle StructTraits< + gfx::mojom::NativePixmapPlaneDataView, + gfx::NativePixmapPlane>::buffer_handle(gfx::NativePixmapPlane& plane) { +-#if defined(OS_LINUX) ++#if defined(OS_LINUX) || defined(OS_BSD) + return mojo::WrapPlatformFile(plane.fd.release()); + #elif defined(OS_FUCHSIA) + return mojo::WrapPlatformHandle(mojo::PlatformHandle(std::move(plane.vmo))); +-#endif // defined(OS_LINUX) ++#endif // defined(OS_LINUX) || defined(OS_BSD) + } + + bool StructTraits< +@@ -45,7 +45,7 @@ bool StructTraits< + + mojo::PlatformHandle handle = + mojo::UnwrapPlatformHandle(data.TakeBufferHandle()); +-#if defined(OS_LINUX) ++#if defined(OS_LINUX) || defined(OS_BSD) + if (!handle.is_fd()) + return false; + out->fd = handle.TakeFD(); +@@ -53,7 +53,7 @@ bool StructTraits< + if (!handle.is_handle()) + return false; + out->vmo = zx::vmo(handle.TakeHandle()); +-#endif // defined(OS_LINUX) ++#endif // defined(OS_LINUX) || defined(OS_BSD) + + return true; + } +@@ -62,7 +62,7 @@ bool StructTraits< + gfx::mojom::NativePixmapHandleDataView, + gfx::NativePixmapHandle>::Read(gfx::mojom::NativePixmapHandleDataView data, + gfx::NativePixmapHandle* out) { +-#if defined(OS_LINUX) ++#if defined(OS_LINUX) || defined(OS_BSD) + out->modifier = data.modifier(); + #endif + +@@ -75,7 +75,7 @@ bool StructTraits< + + return data.ReadPlanes(&out->planes); + } +-#endif // defined(OS_LINUX) || defined(USE_OZONE) ++#endif // defined(OS_LINUX) || defined(OS_BSD) || defined(USE_OZONE) + + gfx::mojom::GpuMemoryBufferPlatformHandlePtr StructTraits< + gfx::mojom::GpuMemoryBufferHandleDataView, +@@ -88,7 +88,7 @@ gfx::mojom::GpuMemoryBufferPlatformHandlePtr StructTra + return gfx::mojom::GpuMemoryBufferPlatformHandle::NewSharedMemoryHandle( + std::move(handle.region)); + case gfx::NATIVE_PIXMAP: +-#if defined(OS_LINUX) || defined(USE_OZONE) ++#if defined(OS_LINUX) || defined(OS_BSD) || defined(USE_OZONE) + return gfx::mojom::GpuMemoryBufferPlatformHandle::NewNativePixmapHandle( + std::move(handle.native_pixmap_handle)); + #else +@@ -164,7 +164,7 @@ bool StructTraits<gfx::mojom::GpuMemoryBufferHandleDat + out->type = gfx::SHARED_MEMORY_BUFFER; + out->region = std::move(platform_handle->get_shared_memory_handle()); + return true; +-#if defined(OS_LINUX) || defined(USE_OZONE) ++#if defined(OS_LINUX) || defined(OS_BSD) || defined(USE_OZONE) + case gfx::mojom::GpuMemoryBufferPlatformHandleDataView::Tag:: + NATIVE_PIXMAP_HANDLE: + out->type = gfx::NATIVE_PIXMAP; diff --git a/www/iridium/files/patch-ui_gfx_mojom_buffer__types__mojom__traits.h b/www/iridium/files/patch-ui_gfx_mojom_buffer__types__mojom__traits.h new file mode 100644 index 000000000000..b7e56d150e01 --- /dev/null +++ b/www/iridium/files/patch-ui_gfx_mojom_buffer__types__mojom__traits.h @@ -0,0 +1,29 @@ +--- ui/gfx/mojom/buffer_types_mojom_traits.h.orig 2019-12-16 21:51:08 UTC ++++ ui/gfx/mojom/buffer_types_mojom_traits.h +@@ -194,7 +194,7 @@ struct StructTraits<gfx::mojom::GpuMemoryBufferIdDataV + } + }; + +-#if defined(OS_LINUX) || defined(USE_OZONE) ++#if defined(OS_LINUX) || defined(OS_BSD) || defined(USE_OZONE) + template <> + struct StructTraits<gfx::mojom::NativePixmapPlaneDataView, + gfx::NativePixmapPlane> { +@@ -220,7 +220,7 @@ struct StructTraits<gfx::mojom::NativePixmapHandleData + return pixmap_handle.planes; + } + +-#if defined(OS_LINUX) ++#if defined(OS_LINUX) || defined(OS_BSD) + static uint64_t modifier(const gfx::NativePixmapHandle& pixmap_handle) { + return pixmap_handle.modifier; + } +@@ -244,7 +244,7 @@ struct StructTraits<gfx::mojom::NativePixmapHandleData + static bool Read(gfx::mojom::NativePixmapHandleDataView data, + gfx::NativePixmapHandle* out); + }; +-#endif // defined(OS_LINUX) || defined(USE_OZONE) ++#endif // defined(OS_LINUX) || defined(OS_BSD) || defined(USE_OZONE) + + template <> + struct StructTraits<gfx::mojom::GpuMemoryBufferHandleDataView, diff --git a/www/iridium/files/patch-ui_gfx_native__pixmap__handle.cc b/www/iridium/files/patch-ui_gfx_native__pixmap__handle.cc new file mode 100644 index 000000000000..20952718c93d --- /dev/null +++ b/www/iridium/files/patch-ui_gfx_native__pixmap__handle.cc @@ -0,0 +1,64 @@ +--- ui/gfx/native_pixmap_handle.cc.orig 2020-02-24 18:39:44 UTC ++++ ui/gfx/native_pixmap_handle.cc +@@ -8,11 +8,15 @@ + + #include "build/build_config.h" + +-#if defined(OS_LINUX) ++#if defined(OS_LINUX) || defined(OS_BSD) + #include <drm_fourcc.h> + #include "base/posix/eintr_wrapper.h" + #endif + ++#if defined(OS_BSD) ++#include <unistd.h> ++#endif ++ + #if defined(OS_FUCHSIA) + #include <lib/zx/vmo.h> + #include "base/fuchsia/fuchsia_logging.h" +@@ -20,7 +24,7 @@ + + namespace gfx { + +-#if defined(OS_LINUX) ++#if defined(OS_LINUX) || defined(OS_BSD) + static_assert(NativePixmapHandle::kNoModifier == DRM_FORMAT_MOD_INVALID, + "gfx::NativePixmapHandle::kNoModifier should be an alias for" + "DRM_FORMAT_MOD_INVALID"); +@@ -31,7 +35,7 @@ NativePixmapPlane::NativePixmapPlane() : stride(0), of + NativePixmapPlane::NativePixmapPlane(int stride, + int offset, + uint64_t size +-#if defined(OS_LINUX) ++#if defined(OS_LINUX) || defined(OS_BSD) + , + base::ScopedFD fd + #elif defined(OS_FUCHSIA) +@@ -42,7 +46,7 @@ NativePixmapPlane::NativePixmapPlane(int stride, + : stride(stride), + offset(offset), + size(size) +-#if defined(OS_LINUX) ++#if defined(OS_LINUX) || defined(OS_BSD) + , + fd(std::move(fd)) + #elif defined(OS_FUCHSIA) +@@ -70,7 +74,7 @@ NativePixmapHandle& NativePixmapHandle::operator=(Nati + NativePixmapHandle CloneHandleForIPC(const NativePixmapHandle& handle) { + NativePixmapHandle clone; + for (auto& plane : handle.planes) { +-#if defined(OS_LINUX) ++#if defined(OS_LINUX) || defined(OS_BSD) + DCHECK(plane.fd.is_valid()); + base::ScopedFD fd_dup(HANDLE_EINTR(dup(plane.fd.get()))); + if (!fd_dup.is_valid()) { +@@ -96,7 +100,7 @@ NativePixmapHandle CloneHandleForIPC(const NativePixma + #endif + } + +-#if defined(OS_LINUX) ++#if defined(OS_LINUX) || defined(OS_BSD) + clone.modifier = handle.modifier; + #endif + diff --git a/www/iridium/files/patch-ui_gfx_native__pixmap__handle.h b/www/iridium/files/patch-ui_gfx_native__pixmap__handle.h new file mode 100644 index 000000000000..6306e267fbeb --- /dev/null +++ b/www/iridium/files/patch-ui_gfx_native__pixmap__handle.h @@ -0,0 +1,38 @@ +--- ui/gfx/native_pixmap_handle.h.orig 2019-10-21 19:07:29 UTC ++++ ui/gfx/native_pixmap_handle.h +@@ -15,7 +15,7 @@ + #include "build/build_config.h" + #include "ui/gfx/gfx_export.h" + +-#if defined(OS_LINUX) ++#if defined(OS_LINUX) || defined(OS_BSD) + #include "base/files/scoped_file.h" + #endif + +@@ -32,7 +32,7 @@ struct GFX_EXPORT NativePixmapPlane { + NativePixmapPlane(int stride, + int offset, + uint64_t size +-#if defined(OS_LINUX) ++#if defined(OS_LINUX) || defined(OS_BSD) + , + base::ScopedFD fd + #elif defined(OS_FUCHSIA) +@@ -53,7 +53,7 @@ struct GFX_EXPORT NativePixmapPlane { + // This is necessary to map the buffers. + uint64_t size; + +-#if defined(OS_LINUX) ++#if defined(OS_LINUX) || defined(OS_BSD) + // File descriptor for the underlying memory object (usually dmabuf). + base::ScopedFD fd; + #elif defined(OS_FUCHSIA) +@@ -82,7 +82,7 @@ struct GFX_EXPORT NativePixmapHandle { + + std::vector<NativePixmapPlane> planes; + +-#if defined(OS_LINUX) ++#if defined(OS_LINUX) || defined(OS_BSD) + // The modifier is retrieved from GBM library and passed to EGL driver. + // Generally it's platform specific, and we don't need to modify it in + // Chromium code. Also one per plane per entry. diff --git a/www/iridium/files/patch-ui_gfx_render__text.cc b/www/iridium/files/patch-ui_gfx_render__text.cc new file mode 100644 index 000000000000..446317a3101a --- /dev/null +++ b/www/iridium/files/patch-ui_gfx_render__text.cc @@ -0,0 +1,46 @@ +--- ui/gfx/render_text.cc.orig 2020-03-16 18:40:43 UTC ++++ ui/gfx/render_text.cc +@@ -1169,32 +1169,33 @@ void RenderText::SetDisplayOffset(int horizontal_offse + 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/iridium/files/patch-ui_gl_BUILD.gn b/www/iridium/files/patch-ui_gl_BUILD.gn new file mode 100644 index 000000000000..39f08eacf39a --- /dev/null +++ b/www/iridium/files/patch-ui_gl_BUILD.gn @@ -0,0 +1,11 @@ +--- ui/gl/BUILD.gn.orig 2020-03-16 18:40:43 UTC ++++ ui/gl/BUILD.gn +@@ -233,7 +233,7 @@ jumbo_component("gl") { + ] + } + +- if (is_posix && !is_fuchsia && !is_mac) { ++ if (is_posix && !is_fuchsia && !is_mac && !is_bsd) { + # Windows has USE_EGL but doesn't support base::FileDescriptor. + # libsync isn't supported or needed on MacOSX. + # Fuchsia is excluded due to a libsync dependency and because it's diff --git a/www/iridium/files/patch-ui_gl_generate__bindings.py b/www/iridium/files/patch-ui_gl_generate__bindings.py new file mode 100644 index 000000000000..c3ea0a6c23a3 --- /dev/null +++ b/www/iridium/files/patch-ui_gl_generate__bindings.py @@ -0,0 +1,12 @@ +--- ui/gl/generate_bindings.py.orig 2020-03-16 18:40:43 UTC ++++ ui/gl/generate_bindings.py +@@ -2777,6 +2777,9 @@ GLX_FUNCTIONS = [ + 'arguments': + 'Display* dpy, GLXDrawable drawable, int32_t* numerator, ' + 'int32_t* denominator' }, ++{ 'return_type': '__GLXextFuncPtr', ++ 'names': ['glXGetProcAddressARB'], ++ 'arguments': 'const GLubyte* procName', }, + { 'return_type': 'void', + 'names': ['glXGetSelectedEvent'], + 'arguments': 'Display* dpy, GLXDrawable drawable, unsigned long* mask', }, diff --git a/www/iridium/files/patch-ui_gl_gl__bindings__api__autogen__glx.h b/www/iridium/files/patch-ui_gl_gl__bindings__api__autogen__glx.h new file mode 100644 index 000000000000..c51dba36aabe --- /dev/null +++ b/www/iridium/files/patch-ui_gl_gl__bindings__api__autogen__glx.h @@ -0,0 +1,10 @@ +--- ui/gl/gl_bindings_api_autogen_glx.h.orig 2019-03-11 22:01:19 UTC ++++ ui/gl/gl_bindings_api_autogen_glx.h +@@ -88,6 +88,7 @@ bool glXGetMscRateOMLFn(Display* dpy, + GLXDrawable drawable, + int32_t* numerator, + int32_t* denominator) override; ++__GLXextFuncPtr glXGetProcAddressARBFn(const GLubyte* procName) override; + void glXGetSelectedEventFn(Display* dpy, + GLXDrawable drawable, + unsigned long* mask) override; diff --git a/www/iridium/files/patch-ui_gl_gl__bindings__autogen__glx.cc b/www/iridium/files/patch-ui_gl_gl__bindings__autogen__glx.cc new file mode 100644 index 000000000000..4aeda03a0414 --- /dev/null +++ b/www/iridium/files/patch-ui_gl_gl__bindings__autogen__glx.cc @@ -0,0 +1,61 @@ +--- ui/gl/gl_bindings_autogen_glx.cc.orig 2020-02-24 18:39:44 UTC ++++ ui/gl/gl_bindings_autogen_glx.cc +@@ -115,6 +115,8 @@ void DriverGLX::InitializeExtensionBindings() { + + ext.b_GLX_ARB_create_context = + gfx::HasExtension(extensions, "GLX_ARB_create_context"); ++ ext.b_GLX_ARB_get_proc_address = ++ gfx::HasExtension(extensions, "GLX_ARB_get_proc_address"); + ext.b_GLX_EXT_swap_control = + gfx::HasExtension(extensions, "GLX_EXT_swap_control"); + ext.b_GLX_EXT_texture_from_pixmap = +@@ -145,6 +147,11 @@ void DriverGLX::InitializeExtensionBindings() { + GetGLProcAddress("glXCreateContextAttribsARB")); + } + ++ if (ext.b_GLX_ARB_get_proc_address) { ++ fn.glXGetProcAddressARBFn = reinterpret_cast<glXGetProcAddressARBProc>( ++ GetGLProcAddress("glXGetProcAddressARB")); ++ } ++ + if (ext.b_GLX_SGIX_fbconfig) { + fn.glXGetFBConfigFromVisualSGIXFn = + reinterpret_cast<glXGetFBConfigFromVisualSGIXProc>( +@@ -346,6 +353,10 @@ bool GLXApiBase::glXGetMscRateOMLFn(Display* dpy, + return driver_->fn.glXGetMscRateOMLFn(dpy, drawable, numerator, denominator); + } + ++__GLXextFuncPtr GLXApiBase::glXGetProcAddressARBFn(const GLubyte* procName) { ++ return driver_->fn.glXGetProcAddressARBFn(procName); ++} ++ + void GLXApiBase::glXGetSelectedEventFn(Display* dpy, + GLXDrawable drawable, + unsigned long* mask) { +@@ -647,6 +658,11 @@ bool TraceGLXApi::glXGetMscRateOMLFn(Display* dpy, + return glx_api_->glXGetMscRateOMLFn(dpy, drawable, numerator, denominator); + } + ++__GLXextFuncPtr TraceGLXApi::glXGetProcAddressARBFn(const GLubyte* procName) { ++ TRACE_EVENT_BINARY_EFFICIENT0("gpu", "TraceGLAPI::glXGetProcAddressARB") ++ return glx_api_->glXGetProcAddressARBFn(procName); ++} ++ + void TraceGLXApi::glXGetSelectedEventFn(Display* dpy, + GLXDrawable drawable, + unsigned long* mask) { +@@ -1068,6 +1084,14 @@ bool LogGLXApi::glXGetMscRateOMLFn(Display* dpy, + << static_cast<const void*>(denominator) << ")"); + bool result = + glx_api_->glXGetMscRateOMLFn(dpy, drawable, numerator, denominator); ++ GL_SERVICE_LOG("GL_RESULT: " << result); ++ return result; ++} ++ ++__GLXextFuncPtr LogGLXApi::glXGetProcAddressARBFn(const GLubyte* procName) { ++ GL_SERVICE_LOG("glXGetProcAddressARB" ++ << "(" << static_cast<const void*>(procName) << ")"); ++ __GLXextFuncPtr result = glx_api_->glXGetProcAddressARBFn(procName); + GL_SERVICE_LOG("GL_RESULT: " << result); + return result; + } diff --git a/www/iridium/files/patch-ui_gl_gl__bindings__autogen__glx.h b/www/iridium/files/patch-ui_gl_gl__bindings__autogen__glx.h new file mode 100644 index 000000000000..e95b9179865e --- /dev/null +++ b/www/iridium/files/patch-ui_gl_gl__bindings__autogen__glx.h @@ -0,0 +1,43 @@ +--- ui/gl/gl_bindings_autogen_glx.h.orig 2019-03-11 22:01:19 UTC ++++ ui/gl/gl_bindings_autogen_glx.h +@@ -104,6 +104,8 @@ typedef bool(GL_BINDING_CALL* glXGetMscRateOMLProc)(Di + GLXDrawable drawable, + int32_t* numerator, + int32_t* denominator); ++typedef __GLXextFuncPtr(GL_BINDING_CALL* glXGetProcAddressARBProc)( ++ const GLubyte* procName); + typedef void(GL_BINDING_CALL* glXGetSelectedEventProc)(Display* dpy, + GLXDrawable drawable, + unsigned long* mask); +@@ -166,6 +168,7 @@ typedef void(GL_BINDING_CALL* glXWaitXProc)(void); + + struct ExtensionsGLX { + bool b_GLX_ARB_create_context; ++ bool b_GLX_ARB_get_proc_address; + bool b_GLX_EXT_swap_control; + bool b_GLX_EXT_texture_from_pixmap; + bool b_GLX_MESA_copy_sub_buffer; +@@ -203,6 +206,7 @@ struct ProcsGLX { + glXGetFBConfigFromVisualSGIXProc glXGetFBConfigFromVisualSGIXFn; + glXGetFBConfigsProc glXGetFBConfigsFn; + glXGetMscRateOMLProc glXGetMscRateOMLFn; ++ glXGetProcAddressARBProc glXGetProcAddressARBFn; + glXGetSelectedEventProc glXGetSelectedEventFn; + glXGetSyncValuesOMLProc glXGetSyncValuesOMLFn; + glXGetVisualFromFBConfigProc glXGetVisualFromFBConfigFn; +@@ -310,6 +314,7 @@ class GL_EXPORT GLXApi { + GLXDrawable drawable, + int32_t* numerator, + int32_t* denominator) = 0; ++ virtual __GLXextFuncPtr glXGetProcAddressARBFn(const GLubyte* procName) = 0; + virtual void glXGetSelectedEventFn(Display* dpy, + GLXDrawable drawable, + unsigned long* mask) = 0; +@@ -394,6 +399,7 @@ class GL_EXPORT GLXApi { + ::gl::g_current_glx_context->glXGetFBConfigFromVisualSGIXFn + #define glXGetFBConfigs ::gl::g_current_glx_context->glXGetFBConfigsFn + #define glXGetMscRateOML ::gl::g_current_glx_context->glXGetMscRateOMLFn ++#define glXGetProcAddressARB ::gl::g_current_glx_context->glXGetProcAddressARBFn + #define glXGetSelectedEvent ::gl::g_current_glx_context->glXGetSelectedEventFn + #define glXGetSyncValuesOML ::gl::g_current_glx_context->glXGetSyncValuesOMLFn + #define glXGetVisualFromFBConfig \ diff --git a/www/iridium/files/patch-ui_gl_gl__fence.cc b/www/iridium/files/patch-ui_gl_gl__fence.cc new file mode 100644 index 000000000000..5ba84b4bdb36 --- /dev/null +++ b/www/iridium/files/patch-ui_gl_gl__fence.cc @@ -0,0 +1,11 @@ +--- ui/gl/gl_fence.cc.orig 2019-03-11 22:01:19 UTC ++++ ui/gl/gl_fence.cc +@@ -18,7 +18,7 @@ + #include "ui/gl/gl_fence_apple.h" + #endif + +-#if defined(USE_EGL) && defined(OS_POSIX) && !defined(OS_MACOSX) ++#if defined(USE_EGL) && defined(OS_POSIX) && !defined(OS_MACOSX) && !defined(OS_FREEBSD) + #define USE_GL_FENCE_ANDROID_NATIVE_FENCE_SYNC + #include "ui/gl/gl_fence_android_native_fence_sync.h" + #include "ui/gl/gl_surface_egl.h" diff --git a/www/iridium/files/patch-ui_gl_sync__control__vsync__provider.cc b/www/iridium/files/patch-ui_gl_sync__control__vsync__provider.cc new file mode 100644 index 000000000000..7295d4c6df5e --- /dev/null +++ b/www/iridium/files/patch-ui_gl_sync__control__vsync__provider.cc @@ -0,0 +1,43 @@ +--- ui/gl/sync_control_vsync_provider.cc.orig 2019-04-30 22:23:42 UTC ++++ ui/gl/sync_control_vsync_provider.cc +@@ -11,7 +11,7 @@ + #include "base/trace_event/trace_event.h" + #include "build/build_config.h" + +-#if defined(OS_LINUX) ++#if defined(OS_LINUX) || defined(OS_BSD) + // These constants define a reasonable range for a calculated refresh interval. + // Calculating refreshes out of this range will be considered a fatal error. + const int64_t kMinVsyncIntervalUs = base::Time::kMicrosecondsPerSecond / 400; +@@ -26,7 +26,7 @@ const double kRelativeIntervalDifferenceThreshold = 0. + namespace gl { + + SyncControlVSyncProvider::SyncControlVSyncProvider() : gfx::VSyncProvider() { +-#if defined(OS_LINUX) ++#if defined(OS_LINUX) || defined(OS_BSD) + // On platforms where we can't get an accurate reading on the refresh + // rate we fall back to the assumption that we're displaying 60 frames + // per second. +@@ -48,7 +48,7 @@ bool SyncControlVSyncProvider::GetVSyncParametersIfAva + base::TimeTicks* timebase_out, + base::TimeDelta* interval_out) { + TRACE_EVENT0("gpu", "SyncControlVSyncProvider::GetVSyncParameters"); +-#if defined(OS_LINUX) ++#if defined(OS_LINUX) || defined(OS_BSD) + // The actual clock used for the system time returned by glXGetSyncValuesOML + // is unspecified. In practice, the clock used is likely to be either + // CLOCK_REALTIME or CLOCK_MONOTONIC, so we compare the returned time to the +@@ -156,11 +156,11 @@ bool SyncControlVSyncProvider::GetVSyncParametersIfAva + return true; + #else + return false; +-#endif // defined(OS_LINUX) ++#endif // defined(OS_LINUX) || defined(OS_BSD) + } + + bool SyncControlVSyncProvider::SupportGetVSyncParametersIfAvailable() const { +-#if defined(OS_LINUX) ++#if defined(OS_LINUX) || defined(OS_BSD) + return true; + #else + return false; diff --git a/www/iridium/files/patch-ui_gl_sync__control__vsync__provider.h b/www/iridium/files/patch-ui_gl_sync__control__vsync__provider.h new file mode 100644 index 000000000000..4321d70a7288 --- /dev/null +++ b/www/iridium/files/patch-ui_gl_sync__control__vsync__provider.h @@ -0,0 +1,34 @@ +--- ui/gl/sync_control_vsync_provider.h.orig 2019-03-11 22:01:19 UTC ++++ ui/gl/sync_control_vsync_provider.h +@@ -26,11 +26,11 @@ class SyncControlVSyncProvider : public gfx::VSyncProv + bool SupportGetVSyncParametersIfAvailable() const override; + + static constexpr bool IsSupported() { +-#if defined(OS_LINUX) ++#if defined(OS_LINUX) || defined(OS_BSD) + return true; + #else + return false; +-#endif // defined(OS_LINUX) ++#endif // defined(OS_LINUX) || defined(OS_BSD) + } + + protected: +@@ -41,7 +41,7 @@ class SyncControlVSyncProvider : public gfx::VSyncProv + virtual bool GetMscRate(int32_t* numerator, int32_t* denominator) = 0; + + private: +-#if defined(OS_LINUX) ++#if defined(OS_LINUX) || defined(OS_BSD) + base::TimeTicks last_timebase_; + uint64_t last_media_stream_counter_ = 0; + base::TimeDelta last_good_interval_; +@@ -52,7 +52,7 @@ class SyncControlVSyncProvider : public gfx::VSyncProv + // from configuration change (monitor reconfiguration, moving windows + // between monitors, suspend and resume, etc.). + base::queue<base::TimeDelta> last_computed_intervals_; +-#endif // defined(OS_LINUX) ++#endif // defined(OS_LINUX) || defined(OS_BSD) + + DISALLOW_COPY_AND_ASSIGN(SyncControlVSyncProvider); + }; diff --git a/www/iridium/files/patch-ui_message__center_public_cpp_message__center__constants.h b/www/iridium/files/patch-ui_message__center_public_cpp_message__center__constants.h new file mode 100644 index 000000000000..8f993bfbfbc6 --- /dev/null +++ b/www/iridium/files/patch-ui_message__center_public_cpp_message__center__constants.h @@ -0,0 +1,11 @@ +--- ui/message_center/public/cpp/message_center_constants.h.orig 2019-06-04 18:55:50 UTC ++++ ui/message_center/public/cpp/message_center_constants.h +@@ -105,7 +105,7 @@ const int kButtonHorizontalPadding = 16; // In DIPs. + const int kButtonIconTopPadding = 11; // In DIPs. + const int kButtonIconToTitlePadding = 16; // In DIPs. + +-#if !defined(OS_LINUX) || defined(USE_AURA) ++#if (!defined(OS_LINUX) && !defined(OS_BSD)) || defined(USE_AURA) + constexpr SkColor kButtonSeparatorColor = SkColorSetRGB(234, 234, 234); + constexpr SkColor kHoveredButtonBackgroundColor = SkColorSetRGB(243, 243, 243); + #endif diff --git a/www/iridium/files/patch-ui_message__center_views_message__popup__view.cc b/www/iridium/files/patch-ui_message__center_views_message__popup__view.cc new file mode 100644 index 000000000000..7037f8a47604 --- /dev/null +++ b/www/iridium/files/patch-ui_message__center_views_message__popup__view.cc @@ -0,0 +1,11 @@ +--- ui/message_center/views/message_popup_view.cc.orig 2019-12-16 21:51:34 UTC ++++ ui/message_center/views/message_popup_view.cc +@@ -101,7 +101,7 @@ void MessagePopupView::AutoCollapse() { + void MessagePopupView::Show() { + views::Widget::InitParams params(views::Widget::InitParams::TYPE_POPUP); + params.z_order = ui::ZOrderLevel::kFloatingWindow; +-#if defined(OS_LINUX) && !defined(OS_CHROMEOS) ++#if (defined(OS_LINUX) && !defined(OS_CHROMEOS)) || defined(OS_BSD) + // Make the widget explicitly activatable as TYPE_POPUP is not activatable by + // default but we need focus for the inline reply textarea. + params.activatable = views::Widget::InitParams::ACTIVATABLE_YES; diff --git a/www/iridium/files/patch-ui_native__theme_native__theme.h b/www/iridium/files/patch-ui_native__theme_native__theme.h new file mode 100644 index 000000000000..af4951e7fb10 --- /dev/null +++ b/www/iridium/files/patch-ui_native__theme_native__theme.h @@ -0,0 +1,11 @@ +--- ui/native_theme/native_theme.h.orig 2019-10-21 19:07:29 UTC ++++ ui/native_theme/native_theme.h +@@ -49,7 +49,7 @@ class NATIVE_THEME_EXPORT NativeTheme { + // The part to be painted / sized. + enum Part { + kCheckbox, +-#if defined(OS_LINUX) && !defined(OS_CHROMEOS) ++#if (defined(OS_LINUX) || defined(OS_BSD)) && !defined(OS_CHROMEOS) + kFrameTopArea, + #endif + kInnerSpinButton, diff --git a/www/iridium/files/patch-ui_native__theme_native__theme__base.cc b/www/iridium/files/patch-ui_native__theme_native__theme__base.cc new file mode 100644 index 000000000000..96f69fe1f796 --- /dev/null +++ b/www/iridium/files/patch-ui_native__theme_native__theme__base.cc @@ -0,0 +1,11 @@ +--- ui/native_theme/native_theme_base.cc.orig 2020-03-16 18:40:43 UTC ++++ ui/native_theme/native_theme_base.cc +@@ -256,7 +256,7 @@ void NativeThemeBase::Paint(cc::PaintCanvas* canvas, + case kCheckbox: + PaintCheckbox(canvas, state, rect, extra.button, color_scheme); + break; +-#if defined(OS_LINUX) && !defined(OS_CHROMEOS) ++#if (defined(OS_LINUX) || defined(OS_BSD)) && !defined(OS_CHROMEOS) + case kFrameTopArea: + PaintFrameTopArea(canvas, state, rect, extra.frame_top_area, + color_scheme); diff --git a/www/iridium/files/patch-ui_platform__window_platform__window__init__properties.h b/www/iridium/files/patch-ui_platform__window_platform__window__init__properties.h new file mode 100644 index 000000000000..78b9f0444781 --- /dev/null +++ b/www/iridium/files/patch-ui_platform__window_platform__window__init__properties.h @@ -0,0 +1,20 @@ +--- ui/platform_window/platform_window_init_properties.h.orig 2020-02-24 18:40:16 UTC ++++ ui/platform_window/platform_window_init_properties.h +@@ -41,7 +41,7 @@ enum class PlatformWindowOpacity { + + class WorkspaceExtensionDelegate; + +-#if defined(OS_LINUX) ++#if defined(OS_LINUX) || defined(OS_BSD) + class X11ExtensionDelegate; + #endif + +@@ -82,7 +82,7 @@ struct COMPONENT_EXPORT(PLATFORM_WINDOW) PlatformWindo + + WorkspaceExtensionDelegate* workspace_extension_delegate = nullptr; + +-#if defined(OS_LINUX) ++#if defined(OS_LINUX) || defined(OS_BSD) + bool prefer_dark_theme = false; + gfx::ImageSkia* icon = nullptr; + base::Optional<int> background_color; diff --git a/www/iridium/files/patch-ui_strings_app__locale__settings.grd b/www/iridium/files/patch-ui_strings_app__locale__settings.grd new file mode 100644 index 000000000000..9341a0bc5305 --- /dev/null +++ b/www/iridium/files/patch-ui_strings_app__locale__settings.grd @@ -0,0 +1,11 @@ +--- ui/strings/app_locale_settings.grd.orig 2020-03-16 18:40:15 UTC ++++ ui/strings/app_locale_settings.grd +@@ -216,7 +216,7 @@ + 75% + </message> + </if> +- <if expr="(is_linux or is_android or is_bsd) and not chromeos"> ++ <if expr="is_posix and not chromeos"> + <!-- The font used in Web UI (e.g. History). Note that these are only + backups. We try to use the system font if possible. --> + <message name="IDS_WEB_FONT_FAMILY" use_name_for_id="true"> diff --git a/www/iridium/files/patch-ui_views_bubble_bubble__dialog__delegate__view.cc b/www/iridium/files/patch-ui_views_bubble_bubble__dialog__delegate__view.cc new file mode 100644 index 000000000000..4cdcd2b4bfd1 --- /dev/null +++ b/www/iridium/files/patch-ui_views_bubble_bubble__dialog__delegate__view.cc @@ -0,0 +1,11 @@ +--- ui/views/bubble/bubble_dialog_delegate_view.cc.orig 2020-03-16 18:40:43 UTC ++++ ui/views/bubble/bubble_dialog_delegate_view.cc +@@ -174,7 +174,7 @@ Widget* BubbleDialogDelegateView::CreateBubble( + bubble_delegate->SetAnchorView(bubble_delegate->GetAnchorView()); + Widget* bubble_widget = CreateBubbleWidget(bubble_delegate); + +-#if (defined(OS_LINUX) && !defined(OS_CHROMEOS)) || defined(OS_MACOSX) ++#if (defined(OS_LINUX) && !defined(OS_CHROMEOS)) || defined(OS_MACOSX) || defined(OS_BSD) + // Linux clips bubble windows that extend outside their parent window bounds. + // Mac never adjusts. + bubble_delegate->set_adjust_if_offscreen(false); diff --git a/www/iridium/files/patch-ui_views_controls_label.cc b/www/iridium/files/patch-ui_views_controls_label.cc new file mode 100644 index 000000000000..f6f9790bdbae --- /dev/null +++ b/www/iridium/files/patch-ui_views_controls_label.cc @@ -0,0 +1,20 @@ +--- ui/views/controls/label.cc.orig 2020-02-03 21:53:40 UTC ++++ ui/views/controls/label.cc +@@ -695,7 +695,7 @@ bool Label::OnMousePressed(const ui::MouseEvent& event + GetFocusManager()->SetFocusedView(this); + } + +-#if defined(OS_LINUX) && !defined(OS_CHROMEOS) ++#if (defined(OS_LINUX) || defined(OS_BSD)) && !defined(OS_CHROMEOS) + if (event.IsOnlyMiddleMouseButton() && GetFocusManager() && !had_focus) + GetFocusManager()->SetFocusedView(this); + #endif +@@ -880,7 +880,7 @@ bool Label::PasteSelectionClipboard() { + } + + void Label::UpdateSelectionClipboard() { +-#if defined(OS_LINUX) && !defined(OS_CHROMEOS) ++#if (defined(OS_LINUX) && !defined(OS_CHROMEOS)) || defined(OS_BSD) + if (!GetObscured()) { + ui::ScopedClipboardWriter(ui::ClipboardBuffer::kSelection) + .WriteText(GetSelectedText()); diff --git a/www/iridium/files/patch-ui_views_controls_textfield_textfield.cc b/www/iridium/files/patch-ui_views_controls_textfield_textfield.cc new file mode 100644 index 000000000000..f22c358d52d8 --- /dev/null +++ b/www/iridium/files/patch-ui_views_controls_textfield_textfield.cc @@ -0,0 +1,73 @@ +--- ui/views/controls/textfield/textfield.cc.orig 2020-03-16 18:40:43 UTC ++++ ui/views/controls/textfield/textfield.cc +@@ -60,7 +60,7 @@ + #include "base/win/win_util.h" + #endif + +-#if defined(OS_LINUX) && !defined(OS_CHROMEOS) ++#if (defined(OS_LINUX) || defined(OS_BSD)) && !defined(OS_CHROMEOS) + #include "base/strings/utf_string_conversions.h" + #include "ui/base/ime/linux/text_edit_command_auralinux.h" + #include "ui/base/ime/linux/text_edit_key_bindings_delegate_auralinux.h" +@@ -183,14 +183,14 @@ ui::TextEditCommand GetCommandForKeyEvent(const ui::Ke + #endif + return ui::TextEditCommand::DELETE_BACKWARD; + } +-#if defined(OS_LINUX) ++#if defined(OS_LINUX) || defined(OS_BSD) + // Only erase by line break on Linux and ChromeOS. + if (shift) + return ui::TextEditCommand::DELETE_TO_BEGINNING_OF_LINE; + #endif + return ui::TextEditCommand::DELETE_WORD_BACKWARD; + case ui::VKEY_DELETE: +-#if defined(OS_LINUX) ++#if defined(OS_LINUX) || defined(OS_BSD) + // Only erase by line break on Linux and ChromeOS. + if (shift && control) + return ui::TextEditCommand::DELETE_TO_END_OF_LINE; +@@ -258,7 +258,7 @@ bool IsControlKeyModifier(int flags) { + // Control-modified key combination, but we cannot extend it to other platforms + // as Control has different meanings and behaviors. + // https://crrev.com/2580483002/#msg46 +-#if defined(OS_LINUX) ++#if defined(OS_LINUX) || defined(OS_BSD) + return flags & ui::EF_CONTROL_DOWN; + #else + return false; +@@ -730,7 +730,7 @@ bool Textfield::OnMousePressed(const ui::MouseEvent& e + #endif + } + +-#if defined(OS_LINUX) && !defined(OS_CHROMEOS) ++#if (defined(OS_LINUX) || defined(OS_BSD)) && !defined(OS_CHROMEOS) + if (!handled && !had_focus && event.IsOnlyMiddleMouseButton()) + RequestFocusWithPointer(ui::EventPointerType::POINTER_TYPE_MOUSE); + #endif +@@ -776,7 +776,7 @@ bool Textfield::OnKeyPressed(const ui::KeyEvent& event + if (!textfield) + return handled; + +-#if defined(OS_LINUX) && !defined(OS_CHROMEOS) ++#if (defined(OS_LINUX) || defined(OS_BSD)) && !defined(OS_CHROMEOS) + ui::TextEditKeyBindingsDelegateAuraLinux* delegate = + ui::GetTextEditKeyBindingsDelegate(); + std::vector<ui::TextEditCommandAuraLinux> commands; +@@ -923,7 +923,7 @@ void Textfield::AboutToRequestFocusFromTabTraversal(bo + } + + bool Textfield::SkipDefaultKeyEventProcessing(const ui::KeyEvent& event) { +-#if defined(OS_LINUX) && !defined(OS_CHROMEOS) ++#if (defined(OS_LINUX) || defined(OS_BSD)) && !defined(OS_CHROMEOS) + // Skip any accelerator handling that conflicts with custom keybindings. + ui::TextEditKeyBindingsDelegateAuraLinux* delegate = + ui::GetTextEditKeyBindingsDelegate(); +@@ -2182,7 +2182,7 @@ bool Textfield::PasteSelectionClipboard() { + } + + void Textfield::UpdateSelectionClipboard() { +-#if defined(OS_LINUX) && !defined(OS_CHROMEOS) ++#if (defined(OS_LINUX) || defined(OS_BSD)) && !defined(OS_CHROMEOS) + if (text_input_type_ != ui::TEXT_INPUT_TYPE_PASSWORD) { + ui::ScopedClipboardWriter(ui::ClipboardBuffer::kSelection) + .WriteText(GetSelectedText()); diff --git a/www/iridium/files/patch-ui_views_corewm_tooltip__aura.cc b/www/iridium/files/patch-ui_views_corewm_tooltip__aura.cc new file mode 100644 index 000000000000..af036b2cf5d1 --- /dev/null +++ b/www/iridium/files/patch-ui_views_corewm_tooltip__aura.cc @@ -0,0 +1,11 @@ +--- ui/views/corewm/tooltip_aura.cc.orig 2019-12-16 21:51:34 UTC ++++ ui/views/corewm/tooltip_aura.cc +@@ -43,7 +43,7 @@ constexpr int kVerticalPaddingBottom = 5; + + // TODO(varkha): Update if native widget can be transparent on Linux. + bool CanUseTranslucentTooltipWidget() { +-#if (defined(OS_LINUX) && !defined(OS_CHROMEOS)) || defined(OS_WIN) ++#if (defined(OS_LINUX) && !defined(OS_CHROMEOS)) || defined(OS_WIN) || defined(OS_BSD) + return false; + #else + return true; diff --git a/www/iridium/files/patch-ui_views_examples_widget__example.cc b/www/iridium/files/patch-ui_views_examples_widget__example.cc new file mode 100644 index 000000000000..ae3eee7d03ac --- /dev/null +++ b/www/iridium/files/patch-ui_views_examples_widget__example.cc @@ -0,0 +1,11 @@ +--- ui/views/examples/widget_example.cc.orig 2020-02-03 21:53:14 UTC ++++ ui/views/examples/widget_example.cc +@@ -70,7 +70,7 @@ void WidgetExample::CreateExampleView(View* container) + BuildButton(container, "Popup widget", POPUP); + BuildButton(container, "Dialog widget", DIALOG); + BuildButton(container, "Modal Dialog", MODAL_DIALOG); +-#if defined(OS_LINUX) ++#if defined(OS_LINUX) || defined(OS_BSD) + // Windows does not support TYPE_CONTROL top-level widgets. + BuildButton(container, "Child widget", CHILD); + #endif diff --git a/www/iridium/files/patch-ui_views_selection__controller.cc b/www/iridium/files/patch-ui_views_selection__controller.cc new file mode 100644 index 000000000000..9504c67a2803 --- /dev/null +++ b/www/iridium/files/patch-ui_views_selection__controller.cc @@ -0,0 +1,11 @@ +--- ui/views/selection_controller.cc.orig 2019-12-16 21:51:09 UTC ++++ ui/views/selection_controller.cc +@@ -22,7 +22,7 @@ SelectionController::SelectionController(SelectionCont + delegate_(delegate), + handles_selection_clipboard_(false) { + // On Linux, update the selection clipboard on a text selection. +-#if defined(OS_LINUX) && !defined(OS_CHROMEOS) ++#if (defined(OS_LINUX) || defined(OS_BSD)) && !defined(OS_CHROMEOS) + set_handles_selection_clipboard(true); + #endif + diff --git a/www/iridium/files/patch-ui_views_style_platform__style.cc b/www/iridium/files/patch-ui_views_style_platform__style.cc new file mode 100644 index 000000000000..28a000e3e6de --- /dev/null +++ b/www/iridium/files/patch-ui_views_style_platform__style.cc @@ -0,0 +1,11 @@ +--- ui/views/style/platform_style.cc.orig 2020-02-03 21:53:14 UTC ++++ ui/views/style/platform_style.cc +@@ -74,7 +74,7 @@ gfx::Range PlatformStyle::RangeToDeleteBackwards(const + + #endif // OS_MACOSX + +-#if !BUILDFLAG(ENABLE_DESKTOP_AURA) || !defined(OS_LINUX) ++#if !BUILDFLAG(ENABLE_DESKTOP_AURA) || (!defined(OS_LINUX) && !defined(OS_BSD)) + // static + std::unique_ptr<Border> PlatformStyle::CreateThemedLabelButtonBorder( + LabelButton* button) { diff --git a/www/iridium/files/patch-ui_views_views__delegate.cc b/www/iridium/files/patch-ui_views_views__delegate.cc new file mode 100644 index 000000000000..6ed6c077584f --- /dev/null +++ b/www/iridium/files/patch-ui_views_views__delegate.cc @@ -0,0 +1,11 @@ +--- ui/views/views_delegate.cc.orig 2020-02-03 21:53:14 UTC ++++ ui/views/views_delegate.cc +@@ -85,7 +85,7 @@ HICON ViewsDelegate::GetSmallWindowIcon() const { + bool ViewsDelegate::IsWindowInMetro(gfx::NativeWindow window) const { + return false; + } +-#elif defined(OS_LINUX) && BUILDFLAG(ENABLE_DESKTOP_AURA) ++#elif (defined(OS_LINUX) || defined(OS_BSD)) && BUILDFLAG(ENABLE_DESKTOP_AURA) + gfx::ImageSkia* ViewsDelegate::GetDefaultWindowIcon() const { + return nullptr; + } diff --git a/www/iridium/files/patch-ui_views_views__delegate.h b/www/iridium/files/patch-ui_views_views__delegate.h new file mode 100644 index 000000000000..b5bdee958617 --- /dev/null +++ b/www/iridium/files/patch-ui_views_views__delegate.h @@ -0,0 +1,11 @@ +--- ui/views/views_delegate.h.orig 2020-02-03 21:53:14 UTC ++++ ui/views/views_delegate.h +@@ -131,7 +131,7 @@ class VIEWS_EXPORT ViewsDelegate { + // Returns true if the window passed in is in the Windows 8 metro + // environment. + virtual bool IsWindowInMetro(gfx::NativeWindow window) const; +-#elif defined(OS_LINUX) && BUILDFLAG(ENABLE_DESKTOP_AURA) ++#elif (defined(OS_LINUX) || defined(OS_BSD)) && BUILDFLAG(ENABLE_DESKTOP_AURA) + virtual gfx::ImageSkia* GetDefaultWindowIcon() const; + #endif + diff --git a/www/iridium/files/patch-ui_views_widget_desktop__aura_desktop__window__tree__host__platform.cc b/www/iridium/files/patch-ui_views_widget_desktop__aura_desktop__window__tree__host__platform.cc new file mode 100644 index 000000000000..ab44393b52fb --- /dev/null +++ b/www/iridium/files/patch-ui_views_widget_desktop__aura_desktop__window__tree__host__platform.cc @@ -0,0 +1,11 @@ +--- ui/views/widget/desktop_aura/desktop_window_tree_host_platform.cc.orig 2020-03-16 18:40:43 UTC ++++ ui/views/widget/desktop_aura/desktop_window_tree_host_platform.cc +@@ -747,7 +747,7 @@ void DesktopWindowTreeHostPlatform::AddAdditionalInitP + // DesktopWindowTreeHost: + + // Linux subclasses this host and adds some Linux specific bits. +-#if !defined(OS_LINUX) ++#if !defined(OS_LINUX) && !defined(OS_BSD) + // static + DesktopWindowTreeHost* DesktopWindowTreeHost::Create( + internal::NativeWidgetDelegate* native_widget_delegate, diff --git a/www/iridium/files/patch-ui_views_widget_native__widget__aura.cc b/www/iridium/files/patch-ui_views_widget_native__widget__aura.cc new file mode 100644 index 000000000000..61706964d7c0 --- /dev/null +++ b/www/iridium/files/patch-ui_views_widget_native__widget__aura.cc @@ -0,0 +1,27 @@ +--- ui/views/widget/native_widget_aura.cc.orig 2020-03-16 18:40:43 UTC ++++ ui/views/widget/native_widget_aura.cc +@@ -64,7 +64,7 @@ + #include "ui/views/widget/desktop_aura/desktop_window_tree_host_win.h" + #endif + +-#if BUILDFLAG(ENABLE_DESKTOP_AURA) && defined(OS_LINUX) ++#if BUILDFLAG(ENABLE_DESKTOP_AURA) && (defined(OS_LINUX) || defined(OS_BSD)) + #include "ui/views/linux_ui/linux_ui.h" + #include "ui/views/widget/desktop_aura/desktop_window_tree_host_linux.h" + #endif +@@ -1099,13 +1099,13 @@ void Widget::CloseAllSecondaryWidgets() { + EnumThreadWindows(GetCurrentThreadId(), WindowCallbackProc, 0); + #endif + +-#if BUILDFLAG(ENABLE_DESKTOP_AURA) && defined(OS_LINUX) ++#if BUILDFLAG(ENABLE_DESKTOP_AURA) && (defined(OS_LINUX) || defined(OS_BSD)) + DesktopWindowTreeHostLinux::CleanUpWindowList(CloseWindow); + #endif + } + + const ui::NativeTheme* Widget::GetNativeTheme() const { +-#if BUILDFLAG(ENABLE_DESKTOP_AURA) && defined(OS_LINUX) ++#if BUILDFLAG(ENABLE_DESKTOP_AURA) && (defined(OS_LINUX) || defined(OS_BSD)) + const LinuxUI* linux_ui = LinuxUI::instance(); + if (linux_ui) { + ui::NativeTheme* native_theme = diff --git a/www/iridium/files/patch-ui_views_window_custom__frame__view.cc b/www/iridium/files/patch-ui_views_window_custom__frame__view.cc new file mode 100644 index 000000000000..4c35d22da5da --- /dev/null +++ b/www/iridium/files/patch-ui_views_window_custom__frame__view.cc @@ -0,0 +1,11 @@ +--- ui/views/window/custom_frame_view.cc.orig 2019-09-09 21:55:47 UTC ++++ ui/views/window/custom_frame_view.cc +@@ -287,7 +287,7 @@ int CustomFrameView::NonClientTopBorderHeight() const + int CustomFrameView::CaptionButtonY() const { + // Maximized buttons start at window top so that even if their images aren't + // drawn flush with the screen edge, they still obey Fitts' Law. +-#if defined(OS_LINUX) && !defined(OS_CHROMEOS) ++#if defined(OS_LINUX) && !defined(OS_CHROMEOS) || defined(OS_BSD) + return FrameBorderThickness(); + #else + return frame_->IsMaximized() ? FrameBorderThickness() : kFrameShadowThickness; diff --git a/www/iridium/files/patch-ui_views_window_dialog__delegate.cc b/www/iridium/files/patch-ui_views_window_dialog__delegate.cc new file mode 100644 index 000000000000..b92881838304 --- /dev/null +++ b/www/iridium/files/patch-ui_views_window_dialog__delegate.cc @@ -0,0 +1,11 @@ +--- ui/views/window/dialog_delegate.cc.orig 2020-02-03 21:53:40 UTC ++++ ui/views/window/dialog_delegate.cc +@@ -59,7 +59,7 @@ Widget* DialogDelegate::CreateDialogWidget(WidgetDeleg + + // static + bool DialogDelegate::CanSupportCustomFrame(gfx::NativeView parent) { +-#if defined(OS_LINUX) && BUILDFLAG(ENABLE_DESKTOP_AURA) ++#if (defined(OS_LINUX) || defined(OS_BSD)) && BUILDFLAG(ENABLE_DESKTOP_AURA) + // The new style doesn't support unparented dialogs on Linux desktop. + return parent != nullptr; + #elif defined(OS_WIN) diff --git a/www/iridium/files/patch-ui_views_window_frame__background.cc b/www/iridium/files/patch-ui_views_window_frame__background.cc new file mode 100644 index 000000000000..18a363a65e8f --- /dev/null +++ b/www/iridium/files/patch-ui_views_window_frame__background.cc @@ -0,0 +1,11 @@ +--- ui/views/window/frame_background.cc.orig 2020-02-03 21:53:14 UTC ++++ ui/views/window/frame_background.cc +@@ -107,7 +107,7 @@ void FrameBackground::PaintMaximized(gfx::Canvas* canv + const View* view) const { + // Fill the top with the frame color first so we have a constant background + // for areas not covered by the theme image. +-#if defined(OS_LINUX) && BUILDFLAG(ENABLE_DESKTOP_AURA) ++#if (defined(OS_LINUX) || defined(OS_BSD)) && BUILDFLAG(ENABLE_DESKTOP_AURA) + auto* native_theme = view->GetNativeTheme(); + ui::NativeTheme::ExtraParams params; + params.frame_top_area.use_custom_frame = use_custom_frame_; diff --git a/www/iridium/files/patch-ui_webui_resources_js_cr.js b/www/iridium/files/patch-ui_webui_resources_js_cr.js new file mode 100644 index 000000000000..2df5b1190a27 --- /dev/null +++ b/www/iridium/files/patch-ui_webui_resources_js_cr.js @@ -0,0 +1,14 @@ +--- ui/webui/resources/js/cr.js.orig 2019-12-16 21:51:34 UTC ++++ ui/webui/resources/js/cr.js +@@ -437,6 +437,11 @@ var cr = cr || function(global) { + get isMac() { + return /Mac/.test(navigator.platform); + }, ++ ++ /** Whether this is on *BSD. */ ++ get isBSD() { ++ return /BSD/.test(navigator.userAgent); ++ }, + + /** Whether this is on the Windows platform or not. */ + get isWindows() { diff --git a/www/iridium/files/patch-ui_webui_resources_js_icon.js b/www/iridium/files/patch-ui_webui_resources_js_icon.js new file mode 100644 index 000000000000..26d3260b5cff --- /dev/null +++ b/www/iridium/files/patch-ui_webui_resources_js_icon.js @@ -0,0 +1,11 @@ +--- ui/webui/resources/js/icon.js.orig 2019-10-21 19:07:29 UTC ++++ ui/webui/resources/js/icon.js +@@ -16,7 +16,7 @@ cr.define('cr.icon', function() { + // supports SCALE_FACTOR_100P on all non-iOS platforms. + supportedScaleFactors.push(1); + } +- if (cr.isMac || cr.isChromeOS || cr.isWindows || cr.isLinux) { ++ if (cr.isMac || cr.isChromeOS || cr.isWindows || cr.isLinux || cr.isBSD) { + // All desktop platforms support zooming which also updates the renderer's + // device scale factors (a.k.a devicePixelRatio), and these platforms have + // high DPI assets for 2x. Let the renderer pick the closest image for diff --git a/www/iridium/files/patch-v8_BUILD.gn b/www/iridium/files/patch-v8_BUILD.gn new file mode 100644 index 000000000000..0fe25aa48094 --- /dev/null +++ b/www/iridium/files/patch-v8_BUILD.gn @@ -0,0 +1,32 @@ +--- v8/BUILD.gn.orig 2020-03-16 18:42:16 UTC ++++ v8/BUILD.gn +@@ -3616,7 +3616,7 @@ v8_component("v8_libbase") { + } + } + +- if (is_linux) { ++ if (is_linux && !is_bsd) { + sources += [ + "src/base/debug/stack_trace_posix.cc", + "src/base/platform/platform-linux.cc", +@@ -3636,6 +3636,12 @@ v8_component("v8_libbase") { + "dl", + "rt", + ] ++ } else if (is_bsd) { ++ sources += [ ++ "src/base/debug/stack_trace_posix.cc", ++ "src/base/platform/platform-freebsd.cc", ++ ] ++ libs = [ "rt", "execinfo" ] + } else if (is_android) { + if (current_toolchain == host_toolchain) { + libs = [ +@@ -3891,6 +3897,7 @@ if (current_toolchain == v8_snapshot_toolchain) { + "src/snapshot/mksnapshot.cc", + "src/snapshot/snapshot-empty.cc", + ] ++ libs = ["execinfo"] + + configs = [ ":internal_config" ] + diff --git a/www/iridium/files/patch-v8_include_v8config.h b/www/iridium/files/patch-v8_include_v8config.h new file mode 100644 index 000000000000..18b8adbb56b8 --- /dev/null +++ b/www/iridium/files/patch-v8_include_v8config.h @@ -0,0 +1,21 @@ +--- v8/include/v8config.h.orig 2020-03-03 18:55:34 UTC ++++ v8/include/v8config.h +@@ -273,7 +273,18 @@ + # define V8_HAS_ATTRIBUTE_WARN_UNUSED_RESULT \ + (__has_attribute(warn_unused_result)) + ++// Work around Clang bug present in 9.0.1, at least. ++// ++// Clang stores alignment as a 32-bit unsigned integer, but V8 only uses ++// V8_ASSUME_ALIGNED() for a 4GB (2^32) alignment ++// (kPtrComprIsolateRootAlignment). As such, the alignment overflows and ++// becomes zero, triggering an internal Clang assertion that alignment must not ++// be zero. ++#if 0 + # define V8_HAS_BUILTIN_ASSUME_ALIGNED (__has_builtin(__builtin_assume_aligned)) ++#else ++# define V8_HAS_BUILTIN_ASSUME_ALIGNED 0 ++#endif + # define V8_HAS_BUILTIN_BSWAP16 (__has_builtin(__builtin_bswap16)) + # define V8_HAS_BUILTIN_BSWAP32 (__has_builtin(__builtin_bswap32)) + # define V8_HAS_BUILTIN_BSWAP64 (__has_builtin(__builtin_bswap64)) diff --git a/www/iridium/files/patch-v8_src_api_api.cc b/www/iridium/files/patch-v8_src_api_api.cc new file mode 100644 index 000000000000..f32636389a90 --- /dev/null +++ b/www/iridium/files/patch-v8_src_api_api.cc @@ -0,0 +1,11 @@ +--- v8/src/api/api.cc.orig 2020-03-16 18:42:16 UTC ++++ v8/src/api/api.cc +@@ -5657,7 +5657,7 @@ bool v8::V8::Initialize() { + return true; + } + +-#if V8_OS_LINUX || V8_OS_MACOSX ++#if V8_OS_LINUX || V8_OS_MACOSX || V8_OS_OPENBSD || V8_OS_FREEBSD + bool TryHandleWebAssemblyTrapPosix(int sig_code, siginfo_t* info, + void* context) { + #if V8_TARGET_ARCH_X64 && !V8_OS_ANDROID diff --git a/www/iridium/files/patch-v8_src_base_cpu.cc b/www/iridium/files/patch-v8_src_base_cpu.cc new file mode 100644 index 000000000000..c11e6a384aa0 --- /dev/null +++ b/www/iridium/files/patch-v8_src_base_cpu.cc @@ -0,0 +1,18 @@ +--- v8/src/base/cpu.cc.orig 2019-12-16 21:56:22 UTC ++++ v8/src/base/cpu.cc +@@ -422,6 +422,7 @@ CPU::CPU() + + #if V8_OS_LINUX + ++#if V8_OS_LINUX + CPUInfo cpu_info; + + // Extract implementor from the "CPU implementer" field. +@@ -455,6 +456,7 @@ CPU::CPU() + } + delete[] part; + } ++#endif + + // Extract architecture from the "CPU Architecture" field. + // The list is well-known, unlike the the output of diff --git a/www/iridium/files/patch-v8_src_base_platform_platform-freebsd.cc b/www/iridium/files/patch-v8_src_base_platform_platform-freebsd.cc new file mode 100644 index 000000000000..14e3ac15e039 --- /dev/null +++ b/www/iridium/files/patch-v8_src_base_platform_platform-freebsd.cc @@ -0,0 +1,13 @@ +--- v8/src/base/platform/platform-freebsd.cc.orig 2020-03-24 16:12:11 UTC ++++ v8/src/base/platform/platform-freebsd.cc +@@ -81,8 +81,8 @@ std::vector<OS::SharedLibraryAddress> OS::GetSharedLib + lib_name = std::string(path); + } + result.push_back(SharedLibraryAddress( +- lib_name, reinterpret_cast<uintptr_t>(map->kve_start), +- reinterpret_cast<uintptr_t>(map->kve_end))); ++ lib_name, static_cast<uintptr_t>(map->kve_start), ++ static_cast<uintptr_t>(map->kve_end))); + } + + start += ssize; diff --git a/www/iridium/files/patch-v8_src_base_platform_platform-posix.cc b/www/iridium/files/patch-v8_src_base_platform_platform-posix.cc new file mode 100644 index 000000000000..e60a94f246f1 --- /dev/null +++ b/www/iridium/files/patch-v8_src_base_platform_platform-posix.cc @@ -0,0 +1,24 @@ +--- v8/src/base/platform/platform-posix.cc.orig 2020-02-03 21:55:00 UTC ++++ v8/src/base/platform/platform-posix.cc +@@ -427,7 +427,7 @@ bool OS::DiscardSystemPages(void* address, size_t size + + // static + bool OS::HasLazyCommits() { +-#if V8_OS_AIX || V8_OS_LINUX || V8_OS_MACOSX ++#if V8_OS_AIX || V8_OS_LINUX || V8_OS_MACOSX || V8_OS_FREEBSD + return true; + #else + // TODO(bbudge) Return true for all POSIX platforms. +@@ -558,6 +558,12 @@ int OS::GetCurrentThreadId() { + return static_cast<int>(syscall(__NR_gettid)); + #elif V8_OS_ANDROID + return static_cast<int>(gettid()); ++#elif V8_OS_DRAGONFLYBSD || defined(__DragonFly__) ++ return static_cast<int>(lwp_gettid()); ++#elif V8_OS_FREEBSD ++ return static_cast<int>(pthread_getthreadid_np()); ++#elif V8_OS_NETBSD ++ return static_cast<int>(_lwp_self()); + #elif V8_OS_AIX + return static_cast<int>(thread_self()); + #elif V8_OS_FUCHSIA diff --git a/www/iridium/files/patch-weblayer_app_content__main__delegate__impl.cc b/www/iridium/files/patch-weblayer_app_content__main__delegate__impl.cc new file mode 100644 index 000000000000..ef8149182926 --- /dev/null +++ b/www/iridium/files/patch-weblayer_app_content__main__delegate__impl.cc @@ -0,0 +1,11 @@ +--- weblayer/app/content_main_delegate_impl.cc.orig 2020-03-17 10:35:42 UTC ++++ weblayer/app/content_main_delegate_impl.cc +@@ -146,7 +146,7 @@ bool ContentMainDelegateImpl::BasicStartupComplete(int + } + + void ContentMainDelegateImpl::PreSandboxStartup() { +-#if defined(ARCH_CPU_ARM_FAMILY) && (defined(OS_ANDROID) || defined(OS_LINUX)) ++#if defined(ARCH_CPU_ARM_FAMILY) && (defined(OS_ANDROID) || defined(OS_LINUX) || defined(OS_BSD)) + // Create an instance of the CPU class to parse /proc/cpuinfo and cache + // cpu_brand info. + base::CPU cpu_info; diff --git a/www/iridium/files/patch-weblayer_browser_browser__main__parts__impl.cc b/www/iridium/files/patch-weblayer_browser_browser__main__parts__impl.cc new file mode 100644 index 000000000000..ca6a91a131c6 --- /dev/null +++ b/www/iridium/files/patch-weblayer_browser_browser__main__parts__impl.cc @@ -0,0 +1,20 @@ +--- weblayer/browser/browser_main_parts_impl.cc.orig 2020-03-16 18:40:43 UTC ++++ weblayer/browser/browser_main_parts_impl.cc +@@ -41,7 +41,7 @@ + #if defined(USE_AURA) && defined(USE_X11) + #include "ui/events/devices/x11/touch_factory_x11.h" // nogncheck + #endif +-#if !defined(OS_CHROMEOS) && defined(USE_AURA) && defined(OS_LINUX) ++#if !defined(OS_CHROMEOS) && defined(USE_AURA) && (defined(OS_LINUX) || defined(OS_BSD)) + #include "ui/base/ime/init/input_method_initializer.h" + #endif + +@@ -109,7 +109,7 @@ int BrowserMainPartsImpl::PreEarlyInitialization() { + #if defined(USE_X11) + ui::SetDefaultX11ErrorHandlers(); + #endif +-#if defined(USE_AURA) && defined(OS_LINUX) ++#if defined(USE_AURA) && (defined(OS_LINUX) || defined(OS_BSD)) + ui::InitializeInputMethodForTesting(); + #endif + #if defined(OS_ANDROID) diff --git a/www/iridium/files/patch-weblayer_browser_content__browser__client__impl.cc b/www/iridium/files/patch-weblayer_browser_content__browser__client__impl.cc new file mode 100644 index 000000000000..cdb4c7b0f2a0 --- /dev/null +++ b/www/iridium/files/patch-weblayer_browser_content__browser__client__impl.cc @@ -0,0 +1,38 @@ +--- weblayer/browser/content_browser_client_impl.cc.orig 2020-03-16 18:40:43 UTC ++++ weblayer/browser/content_browser_client_impl.cc +@@ -72,7 +72,7 @@ + #include "weblayer/browser/safe_browsing/safe_browsing_service.h" + #endif + +-#if defined(OS_LINUX) || defined(OS_ANDROID) ++#if defined(OS_LINUX) || defined(OS_ANDROID) || defined(OS_BSD) + #include "content/public/common/content_descriptors.h" + #endif + +@@ -247,7 +247,7 @@ ContentBrowserClientImpl::CreateNetworkContext( + + void ContentBrowserClientImpl::OnNetworkServiceCreated( + network::mojom::NetworkService* network_service) { +-#if defined(OS_LINUX) && !defined(OS_CHROMEOS) ++#if (defined(OS_LINUX) && !defined(OS_CHROMEOS)) || defined(OS_BSD) + network::mojom::CryptConfigPtr config = network::mojom::CryptConfig::New(); + content::GetNetworkService()->SetCryptConfig(std::move(config)); + #endif +@@ -426,7 +426,7 @@ SafeBrowsingService* ContentBrowserClientImpl::GetSafe + } + #endif + +-#if defined(OS_LINUX) || defined(OS_ANDROID) ++#if defined(OS_LINUX) || defined(OS_ANDROID) || defined(OS_BSD) + void ContentBrowserClientImpl::GetAdditionalMappedFilesForChildProcess( + const base::CommandLine& command_line, + int child_process_id, +@@ -460,7 +460,7 @@ void ContentBrowserClientImpl::GetAdditionalMappedFile + mappings->Share(service_manager::kCrashDumpSignal, crash_signal_fd); + #endif // defined(OS_ANDROID) + } +-#endif // defined(OS_LINUX) || defined(OS_ANDROID) ++#endif // defined(OS_LINUX) || defined(OS_ANDROID) || defined(OS_BSD) + + #if defined(OS_ANDROID) + bool ContentBrowserClientImpl::ShouldOverrideUrlLoading( diff --git a/www/iridium/files/patch-weblayer_browser_content__browser__client__impl.h b/www/iridium/files/patch-weblayer_browser_content__browser__client__impl.h new file mode 100644 index 000000000000..41c6b7a9b08d --- /dev/null +++ b/www/iridium/files/patch-weblayer_browser_content__browser__client__impl.h @@ -0,0 +1,17 @@ +--- weblayer/browser/content_browser_client_impl.h.orig 2020-03-16 18:40:43 UTC ++++ weblayer/browser/content_browser_client_impl.h +@@ -85,12 +85,12 @@ class ContentBrowserClientImpl : public content::Conte + service_manager::BinderMapWithContext<content::RenderFrameHost*>* map) + override; + +-#if defined(OS_LINUX) || defined(OS_ANDROID) ++#if defined(OS_LINUX) || defined(OS_ANDROID) || defined(OS_BSD) + void GetAdditionalMappedFilesForChildProcess( + const base::CommandLine& command_line, + int child_process_id, + content::PosixFileDescriptorInfo* mappings) override; +-#endif // defined(OS_LINUX) || defined(OS_ANDROID) ++#endif // defined(OS_LINUX) || defined(OS_ANDROID) || defined(OS_BSD) + + #if defined(OS_ANDROID) + bool ShouldOverrideUrlLoading(int frame_tree_node_id, diff --git a/www/iridium/files/patch-weblayer_browser_system__network__context__manager.cc b/www/iridium/files/patch-weblayer_browser_system__network__context__manager.cc new file mode 100644 index 000000000000..4ac2c36b5362 --- /dev/null +++ b/www/iridium/files/patch-weblayer_browser_system__network__context__manager.cc @@ -0,0 +1,11 @@ +--- weblayer/browser/system_network_context_manager.cc.orig 2020-03-17 10:36:11 UTC ++++ weblayer/browser/system_network_context_manager.cc +@@ -102,7 +102,7 @@ SystemNetworkContextManager::CreateSystemNetworkContex + + network_context_params->context_name = std::string("system"); + network_context_params->primary_network_context = true; +-#if defined(OS_LINUX) || defined(OS_WIN) ++#if defined(OS_LINUX) || defined(OS_WIN) || defined(OS_BSD) + // We're not configuring the cookie encryption on these platforms yet. + network_context_params->enable_encrypted_cookies = false; + #endif diff --git a/www/iridium/files/patch-weblayer_common_weblayer__paths.cc b/www/iridium/files/patch-weblayer_common_weblayer__paths.cc new file mode 100644 index 000000000000..54019d8cc261 --- /dev/null +++ b/www/iridium/files/patch-weblayer_common_weblayer__paths.cc @@ -0,0 +1,20 @@ +--- weblayer/common/weblayer_paths.cc.orig 2020-03-16 18:40:15 UTC ++++ weblayer/common/weblayer_paths.cc +@@ -17,7 +17,7 @@ + + #if defined(OS_WIN) + #include "base/base_paths_win.h" +-#elif defined(OS_LINUX) ++#elif defined(OS_LINUX) || defined(OS_BSD) + #include "base/nix/xdg_util.h" + #endif + +@@ -35,7 +35,7 @@ bool GetDefaultUserDataDirectory(base::FilePath* resul + return false; + *result = result->AppendASCII("weblayer"); + return true; +-#elif defined(OS_LINUX) ++#elif defined(OS_LINUX) || defined(OS_BSD) + std::unique_ptr<base::Environment> env(base::Environment::Create()); + base::FilePath config_dir(base::nix::GetXDGDirectory( + env.get(), base::nix::kXdgConfigHomeEnvVar, base::nix::kDotConfigDir)); diff --git a/www/iridium/files/sndio_input.cc b/www/iridium/files/sndio_input.cc new file mode 100644 index 000000000000..6c7bc8b8025b --- /dev/null +++ b/www/iridium/files/sndio_input.cc @@ -0,0 +1,201 @@ +// Copyright 2013 The Chromium Authors. All rights reserved. +// Use of this source code is governed by a BSD-style license that can be +// found in the LICENSE file. + +#include "base/bind.h" +#include "base/logging.h" +#include "base/macros.h" +#include "base/message_loop/message_loop.h" +#include "media/base/audio_timestamp_helper.h" +#include "media/audio/openbsd/audio_manager_openbsd.h" +#include "media/audio/audio_manager.h" +#include "media/audio/sndio/sndio_input.h" + +namespace media { + +static const SampleFormat kSampleFormat = kSampleFormatS16; + +void SndioAudioInputStream::OnMoveCallback(void *arg, int delta) +{ + SndioAudioInputStream* self = static_cast<SndioAudioInputStream*>(arg); + + self->hw_delay += delta; +} + +void *SndioAudioInputStream::ThreadEntry(void *arg) { + SndioAudioInputStream* self = static_cast<SndioAudioInputStream*>(arg); + + self->ThreadLoop(); + return NULL; +} + +SndioAudioInputStream::SndioAudioInputStream(AudioManagerBase* manager, + const std::string& device_name, + const AudioParameters& params) + : manager(manager), + params(params), + audio_bus(AudioBus::Create(params)), + state(kClosed) { +} + +SndioAudioInputStream::~SndioAudioInputStream() { + if (state != kClosed) + Close(); +} + +bool SndioAudioInputStream::Open() { + struct sio_par par; + int sig; + + if (state != kClosed) + return false; + + if (params.format() != AudioParameters::AUDIO_PCM_LINEAR && + params.format() != AudioParameters::AUDIO_PCM_LOW_LATENCY) { + LOG(WARNING) << "Unsupported audio format."; + return false; + } + + sio_initpar(&par); + par.rate = params.sample_rate(); + par.rchan = params.channels(); + par.bits = SampleFormatToBitsPerChannel(kSampleFormat); + par.bps = par.bits / 8; + par.sig = sig = par.bits != 8 ? 1 : 0; + par.le = SIO_LE_NATIVE; + par.appbufsz = params.frames_per_buffer(); + + hdl = sio_open(SIO_DEVANY, SIO_REC, 0); + + if (hdl == NULL) { + LOG(ERROR) << "Couldn't open audio device."; + return false; + } + + if (!sio_setpar(hdl, &par) || !sio_getpar(hdl, &par)) { + LOG(ERROR) << "Couldn't set audio parameters."; + goto bad_close; + } + + if (par.rate != (unsigned int)params.sample_rate() || + par.rchan != (unsigned int)params.channels() || + par.bits != (unsigned int)SampleFormatToBitsPerChannel(kSampleFormat) || + par.sig != (unsigned int)sig || + (par.bps > 1 && par.le != SIO_LE_NATIVE) || + (par.bits != par.bps * 8)) { + LOG(ERROR) << "Unsupported audio parameters."; + goto bad_close; + } + state = kStopped; + buffer = new char[audio_bus->frames() * params.GetBytesPerFrame(kSampleFormat)]; + sio_onmove(hdl, &OnMoveCallback, this); + return true; +bad_close: + sio_close(hdl); + return false; +} + +void SndioAudioInputStream::Start(AudioInputCallback* cb) { + + StartAgc(); + + state = kRunning; + hw_delay = 0; + callback = cb; + sio_start(hdl); + if (pthread_create(&thread, NULL, &ThreadEntry, this) != 0) { + LOG(ERROR) << "Failed to create real-time thread for recording."; + sio_stop(hdl); + state = kStopped; + } +} + +void SndioAudioInputStream::Stop() { + + if (state == kStopped) + return; + + state = kStopWait; + pthread_join(thread, NULL); + sio_stop(hdl); + state = kStopped; + + StopAgc(); +} + +void SndioAudioInputStream::Close() { + + if (state == kClosed) + return; + + if (state == kRunning) + Stop(); + + state = kClosed; + delete [] buffer; + sio_close(hdl); + + manager->ReleaseInputStream(this); +} + +double SndioAudioInputStream::GetMaxVolume() { + // Not supported + return 0.0; +} + +void SndioAudioInputStream::SetVolume(double volume) { + // Not supported. Do nothing. +} + +double SndioAudioInputStream::GetVolume() { + // Not supported. + return 0.0; +} + +bool SndioAudioInputStream::IsMuted() { + // Not supported. + return false; +} + +void SndioAudioInputStream::SetOutputDeviceForAec( + const std::string& output_device_id) { + // Not supported. +} + +void SndioAudioInputStream::ThreadLoop(void) { + size_t todo, n; + char *data; + unsigned int nframes; + double normalized_volume = 0.0; + + nframes = audio_bus->frames(); + + while (state == kRunning && !sio_eof(hdl)) { + + GetAgcVolume(&normalized_volume); + + // read one block + todo = nframes * params.GetBytesPerFrame(kSampleFormat); + data = buffer; + while (todo > 0) { + n = sio_read(hdl, data, todo); + if (n == 0) + return; // unrecoverable I/O error + todo -= n; + data += n; + } + hw_delay -= nframes; + + // convert frames count to TimeDelta + const base::TimeDelta delay = AudioTimestampHelper::FramesToTime(hw_delay, + params.sample_rate()); + + // push into bus + audio_bus->FromInterleaved(buffer, nframes, SampleFormatToBytesPerChannel(kSampleFormat)); + + // invoke callback + callback->OnData(audio_bus.get(), base::TimeTicks::Now() - delay, 1.); + } +} + +} // namespace media diff --git a/www/iridium/files/sndio_input.h b/www/iridium/files/sndio_input.h new file mode 100644 index 000000000000..d868e0469db5 --- /dev/null +++ b/www/iridium/files/sndio_input.h @@ -0,0 +1,91 @@ +// Copyright 2013 The Chromium Authors. All rights reserved. +// Use of this source code is governed by a BSD-style license that can be +// found in the LICENSE file. + +#ifndef MEDIA_AUDIO_SNDIO_SNDIO_INPUT_H_ +#define MEDIA_AUDIO_SNDIO_SNDIO_INPUT_H_ + +#include <stdint.h> +#include <string> +#include <sndio.h> + +#include "base/compiler_specific.h" +#include "base/macros.h" +#include "base/memory/weak_ptr.h" +#include "base/time/time.h" +#include "media/audio/agc_audio_stream.h" +#include "media/audio/audio_io.h" +#include "media/audio/audio_device_description.h" +#include "media/base/audio_parameters.h" + +namespace media { + +class AudioManagerBase; + +// Implementation of AudioOutputStream using sndio(7) +class SndioAudioInputStream : public AgcAudioStream<AudioInputStream> { + public: + // Pass this to the constructor if you want to attempt auto-selection + // of the audio recording device. + static const char kAutoSelectDevice[]; + + // Create a PCM Output stream for the SNDIO device identified by + // |device_name|. If unsure of what to use for |device_name|, use + // |kAutoSelectDevice|. + SndioAudioInputStream(AudioManagerBase* audio_manager, + const std::string& device_name, + const AudioParameters& params); + + ~SndioAudioInputStream() override; + + // Implementation of AudioInputStream. + bool Open() override; + void Start(AudioInputCallback* callback) override; + void Stop() override; + void Close() override; + double GetMaxVolume() override; + void SetVolume(double volume) override; + double GetVolume() override; + bool IsMuted() override; + void SetOutputDeviceForAec(const std::string& output_device_id) override; + + private: + + enum StreamState { + kClosed, // Not opened yet + kStopped, // Device opened, but not started yet + kRunning, // Started, device playing + kStopWait // Stopping, waiting for the real-time thread to exit + }; + + // C-style call-backs + static void OnMoveCallback(void *arg, int delta); + static void* ThreadEntry(void *arg); + + // Continuously moves data from the device to the consumer + void ThreadLoop(); + // Our creator, the audio manager needs to be notified when we close. + AudioManagerBase* manager; + // Parameters of the source + AudioParameters params; + // We store data here for consumer + std::unique_ptr<AudioBus> audio_bus; + // Call-back that consumes recorded data + AudioInputCallback* callback; // Valid during a recording session. + // Handle of the audio device + struct sio_hdl* hdl; + // Current state of the stream + enum StreamState state; + // High priority thread running ThreadLoop() + pthread_t thread; + // Number of frames buffered in the hardware + int hw_delay; + // Temporary buffer where data is stored sndio-compatible format + char* buffer; + + DISALLOW_COPY_AND_ASSIGN(SndioAudioInputStream); +}; + +} // namespace media + +#endif // MEDIA_AUDIO_SNDIO_SNDIO_INPUT_H_ diff --git a/www/iridium/files/sndio_output.cc b/www/iridium/files/sndio_output.cc new file mode 100644 index 000000000000..a6719f9aac8d --- /dev/null +++ b/www/iridium/files/sndio_output.cc @@ -0,0 +1,183 @@ +// Copyright (c) 2012 The Chromium Authors. All rights reserved. +// Use of this source code is governed by a BSD-style license that can be +// found in the LICENSE file. + +#include "base/logging.h" +#include "base/time/time.h" +#include "base/time/default_tick_clock.h" +#include "media/audio/audio_manager_base.h" +#include "media/base/audio_timestamp_helper.h" +#include "media/audio/sndio/sndio_output.h" + +namespace media { + +static const SampleFormat kSampleFormat = kSampleFormatS16; + +void SndioAudioOutputStream::OnMoveCallback(void *arg, int delta) { + SndioAudioOutputStream* self = static_cast<SndioAudioOutputStream*>(arg); + + self->hw_delay -= delta; +} + +void SndioAudioOutputStream::OnVolCallback(void *arg, unsigned int vol) { + SndioAudioOutputStream* self = static_cast<SndioAudioOutputStream*>(arg); + + self->vol = vol; +} + +void *SndioAudioOutputStream::ThreadEntry(void *arg) { + SndioAudioOutputStream* self = static_cast<SndioAudioOutputStream*>(arg); + + self->ThreadLoop(); + return NULL; +} + +SndioAudioOutputStream::SndioAudioOutputStream(const AudioParameters& params, + AudioManagerBase* manager) + : manager(manager), + params(params), + audio_bus(AudioBus::Create(params)), + state(kClosed), + mutex(PTHREAD_MUTEX_INITIALIZER) { +} + +SndioAudioOutputStream::~SndioAudioOutputStream() { + if (state != kClosed) + Close(); +} + +bool SndioAudioOutputStream::Open() { + struct sio_par par; + int sig; + + if (params.format() != AudioParameters::AUDIO_PCM_LINEAR && + params.format() != AudioParameters::AUDIO_PCM_LOW_LATENCY) { + LOG(WARNING) << "Unsupported audio format."; + return false; + } + sio_initpar(&par); + par.rate = params.sample_rate(); + par.pchan = params.channels(); + par.bits = SampleFormatToBitsPerChannel(kSampleFormat); + par.bps = par.bits / 8; + par.sig = sig = par.bits != 8 ? 1 : 0; + par.le = SIO_LE_NATIVE; + par.appbufsz = params.frames_per_buffer(); + + hdl = sio_open(SIO_DEVANY, SIO_PLAY, 0); + if (hdl == NULL) { + LOG(ERROR) << "Couldn't open audio device."; + return false; + } + if (!sio_setpar(hdl, &par) || !sio_getpar(hdl, &par)) { + LOG(ERROR) << "Couldn't set audio parameters."; + goto bad_close; + } + if (par.rate != (unsigned int)params.sample_rate() || + par.pchan != (unsigned int)params.channels() || + par.bits != (unsigned int)SampleFormatToBitsPerChannel(kSampleFormat) || + par.sig != (unsigned int)sig || + (par.bps > 1 && par.le != SIO_LE_NATIVE) || + (par.bits != par.bps * 8)) { + LOG(ERROR) << "Unsupported audio parameters."; + goto bad_close; + } + state = kStopped; + volpending = 0; + vol = 0; + buffer = new char[audio_bus->frames() * params.GetBytesPerFrame(kSampleFormat)]; + sio_onmove(hdl, &OnMoveCallback, this); + sio_onvol(hdl, &OnVolCallback, this); + return true; + bad_close: + sio_close(hdl); + return false; +} + +void SndioAudioOutputStream::Close() { + if (state == kClosed) + return; + if (state == kRunning) + Stop(); + state = kClosed; + delete [] buffer; + sio_close(hdl); + manager->ReleaseOutputStream(this); // Calls the destructor +} + +void SndioAudioOutputStream::Start(AudioSourceCallback* callback) { + state = kRunning; + hw_delay = 0; + source = callback; + sio_start(hdl); + if (pthread_create(&thread, NULL, &ThreadEntry, this) != 0) { + LOG(ERROR) << "Failed to create real-time thread."; + sio_stop(hdl); + state = kStopped; + } +} + +void SndioAudioOutputStream::Stop() { + if (state == kStopped) + return; + state = kStopWait; + pthread_join(thread, NULL); + sio_stop(hdl); + state = kStopped; +} + +void SndioAudioOutputStream::SetVolume(double v) { + pthread_mutex_lock(&mutex); + vol = v * SIO_MAXVOL; + volpending = 1; + pthread_mutex_unlock(&mutex); +} + +void SndioAudioOutputStream::GetVolume(double* v) { + pthread_mutex_lock(&mutex); + *v = vol * (1. / SIO_MAXVOL); + pthread_mutex_unlock(&mutex); +} + +// This stream is always used with sub second buffer sizes, where it's +// sufficient to simply always flush upon Start(). +void SndioAudioOutputStream::Flush() {} + +void SndioAudioOutputStream::ThreadLoop(void) { + int avail, count, result; + + while (state == kRunning) { + // Update volume if needed + pthread_mutex_lock(&mutex); + if (volpending) { + volpending = 0; + sio_setvol(hdl, vol); + } + pthread_mutex_unlock(&mutex); + + // Get data to play + const base::TimeDelta delay = AudioTimestampHelper::FramesToTime(hw_delay, + params.sample_rate()); + count = source->OnMoreData(delay, base::TimeTicks::Now(), 0, audio_bus.get()); + audio_bus->ToInterleaved(count, SampleFormatToBytesPerChannel(kSampleFormat), buffer); + if (count == 0) { + // We have to submit something to the device + count = audio_bus->frames(); + memset(buffer, 0, count * params.GetBytesPerFrame(kSampleFormat)); + LOG(WARNING) << "No data to play, running empty cycle."; + } + + // Submit data to the device + avail = count * params.GetBytesPerFrame(kSampleFormat); + result = sio_write(hdl, buffer, avail); + if (result == 0) { + LOG(WARNING) << "Audio device disconnected."; + break; + } + + // Update hardware pointer + hw_delay += count; + } +} + +} // namespace media diff --git a/www/iridium/files/sndio_output.h b/www/iridium/files/sndio_output.h new file mode 100644 index 000000000000..ead220ca96e7 --- /dev/null +++ b/www/iridium/files/sndio_output.h @@ -0,0 +1,86 @@ +// Copyright (c) 2012 The Chromium Authors. All rights reserved. +// Use of this source code is governed by a BSD-style license that can be +// found in the LICENSE file. + +#ifndef MEDIA_AUDIO_SNDIO_SNDIO_OUTPUT_H_ +#define MEDIA_AUDIO_SNDIO_SNDIO_OUTPUT_H_ + +#include <pthread.h> +#include <sndio.h> + +#include "base/time/tick_clock.h" +#include "base/time/time.h" +#include "media/audio/audio_io.h" + +namespace media { + +class AudioManagerBase; + +// Implementation of AudioOutputStream using sndio(7) +class SndioAudioOutputStream : public AudioOutputStream { + public: + // The manager is creating this object + SndioAudioOutputStream(const AudioParameters& params, + AudioManagerBase* manager); + virtual ~SndioAudioOutputStream(); + + // Implementation of AudioOutputStream. + bool Open() override; + void Close() override; + void Start(AudioSourceCallback* callback) override; + void Stop() override; + void SetVolume(double volume) override; + void GetVolume(double* volume) override; + void Flush() override; + + friend void sndio_onmove(void *arg, int delta); + friend void sndio_onvol(void *arg, unsigned int vol); + friend void *sndio_threadstart(void *arg); + + private: + enum StreamState { + kClosed, // Not opened yet + kStopped, // Device opened, but not started yet + kRunning, // Started, device playing + kStopWait // Stopping, waiting for the real-time thread to exit + }; + + // C-style call-backs + static void OnMoveCallback(void *arg, int delta); + static void OnVolCallback(void *arg, unsigned int vol); + static void* ThreadEntry(void *arg); + + // Continuously moves data from the producer to the device + void ThreadLoop(void); + + // Our creator, the audio manager needs to be notified when we close. + AudioManagerBase* manager; + // Parameters of the source + AudioParameters params; + // Source stores data here + std::unique_ptr<AudioBus> audio_bus; + // Call-back that produces data to play + AudioSourceCallback* source; + // Handle of the audio device + struct sio_hdl* hdl; + // Current state of the stream + enum StreamState state; + // High priority thread running ThreadLoop() + pthread_t thread; + // Protects vol, volpending and hw_delay + pthread_mutex_t mutex; + // Current volume in the 0..SIO_MAXVOL range + int vol; + // Set to 1 if volumes must be refreshed in the realtime thread + int volpending; + // Number of frames buffered in the hardware + int hw_delay; + // Temporary buffer where data is stored sndio-compatible format + char* buffer; + + DISALLOW_COPY_AND_ASSIGN(SndioAudioOutputStream); +}; + +} // namespace media + +#endif // MEDIA_AUDIO_SNDIO_SNDIO_OUTPUT_H_ diff --git a/www/iridium/pkg-descr b/www/iridium/pkg-descr new file mode 100644 index 000000000000..50b29c6098d7 --- /dev/null +++ b/www/iridium/pkg-descr @@ -0,0 +1,7 @@ +Iridium is a free, open, and libre browser modification of the Chromium +code base, with privacy being enhanced in several key areas. + +Automatic transmission of partial queries, keywords, metrics to central +services is inhibited and only occurs with consent. + +WWW: https://iridiumbrowser.de/ diff --git a/www/iridium/pkg-plist b/www/iridium/pkg-plist new file mode 100644 index 000000000000..d71c983aceb2 --- /dev/null +++ b/www/iridium/pkg-plist @@ -0,0 +1,1101 @@ +bin/iridium +%%DATADIR%%/iridium +%%DATADIR%%/chrome_100_percent.pak +%%DATADIR%%/chrome_200_percent.pak +%%DATADIR%%/headless_lib.pak +%%DATADIR%%/icudtl.dat +%%DATADIR%%/libEGL.so +%%DATADIR%%/libGLESv2.so +%%DATADIR%%/libVkICD_mock_icd.so +%%DATADIR%%/locales/am.pak +%%DATADIR%%/locales/am.pak.info +%%DATADIR%%/locales/ar.pak +%%DATADIR%%/locales/ar.pak.info +%%DATADIR%%/locales/bg.pak +%%DATADIR%%/locales/bg.pak.info +%%DATADIR%%/locales/bn.pak +%%DATADIR%%/locales/bn.pak.info +%%DATADIR%%/locales/ca.pak +%%DATADIR%%/locales/ca.pak.info +%%DATADIR%%/locales/cs.pak +%%DATADIR%%/locales/cs.pak.info +%%DATADIR%%/locales/da.pak +%%DATADIR%%/locales/da.pak.info +%%DATADIR%%/locales/de.pak +%%DATADIR%%/locales/de.pak.info +%%DATADIR%%/locales/el.pak +%%DATADIR%%/locales/el.pak.info +%%DATADIR%%/locales/en-GB.pak +%%DATADIR%%/locales/en-GB.pak.info +%%DATADIR%%/locales/en-US.pak +%%DATADIR%%/locales/en-US.pak.info +%%DATADIR%%/locales/es-419.pak +%%DATADIR%%/locales/es-419.pak.info +%%DATADIR%%/locales/es.pak +%%DATADIR%%/locales/es.pak.info +%%DATADIR%%/locales/et.pak +%%DATADIR%%/locales/et.pak.info +%%DATADIR%%/locales/fa.pak +%%DATADIR%%/locales/fa.pak.info +%%DATADIR%%/locales/fi.pak +%%DATADIR%%/locales/fi.pak.info +%%DATADIR%%/locales/fil.pak +%%DATADIR%%/locales/fil.pak.info +%%DATADIR%%/locales/fr.pak +%%DATADIR%%/locales/fr.pak.info +%%DATADIR%%/locales/gu.pak +%%DATADIR%%/locales/gu.pak.info +%%DATADIR%%/locales/he.pak +%%DATADIR%%/locales/he.pak.info +%%DATADIR%%/locales/hi.pak +%%DATADIR%%/locales/hi.pak.info +%%DATADIR%%/locales/hr.pak +%%DATADIR%%/locales/hr.pak.info +%%DATADIR%%/locales/hu.pak +%%DATADIR%%/locales/hu.pak.info +%%DATADIR%%/locales/id.pak +%%DATADIR%%/locales/id.pak.info +%%DATADIR%%/locales/it.pak +%%DATADIR%%/locales/it.pak.info +%%DATADIR%%/locales/ja.pak +%%DATADIR%%/locales/ja.pak.info +%%DATADIR%%/locales/kn.pak +%%DATADIR%%/locales/kn.pak.info +%%DATADIR%%/locales/ko.pak +%%DATADIR%%/locales/ko.pak.info +%%DATADIR%%/locales/lt.pak +%%DATADIR%%/locales/lt.pak.info +%%DATADIR%%/locales/lv.pak +%%DATADIR%%/locales/lv.pak.info +%%DATADIR%%/locales/ml.pak +%%DATADIR%%/locales/ml.pak.info +%%DATADIR%%/locales/mr.pak +%%DATADIR%%/locales/mr.pak.info +%%DATADIR%%/locales/ms.pak +%%DATADIR%%/locales/ms.pak.info +%%DATADIR%%/locales/nb.pak +%%DATADIR%%/locales/nb.pak.info +%%DATADIR%%/locales/nl.pak +%%DATADIR%%/locales/nl.pak.info +%%DATADIR%%/locales/pl.pak +%%DATADIR%%/locales/pl.pak.info +%%DATADIR%%/locales/pt-BR.pak +%%DATADIR%%/locales/pt-BR.pak.info +%%DATADIR%%/locales/pt-PT.pak +%%DATADIR%%/locales/pt-PT.pak.info +%%DATADIR%%/locales/ro.pak +%%DATADIR%%/locales/ro.pak.info +%%DATADIR%%/locales/ru.pak +%%DATADIR%%/locales/ru.pak.info +%%DATADIR%%/locales/sk.pak +%%DATADIR%%/locales/sk.pak.info +%%DATADIR%%/locales/sl.pak +%%DATADIR%%/locales/sl.pak.info +%%DATADIR%%/locales/sr.pak +%%DATADIR%%/locales/sr.pak.info +%%DATADIR%%/locales/sv.pak +%%DATADIR%%/locales/sv.pak.info +%%DATADIR%%/locales/sw.pak +%%DATADIR%%/locales/sw.pak.info +%%DATADIR%%/locales/ta.pak +%%DATADIR%%/locales/ta.pak.info +%%DATADIR%%/locales/te.pak +%%DATADIR%%/locales/te.pak.info +%%DATADIR%%/locales/th.pak +%%DATADIR%%/locales/th.pak.info +%%DATADIR%%/locales/tr.pak +%%DATADIR%%/locales/tr.pak.info +%%DATADIR%%/locales/uk.pak +%%DATADIR%%/locales/uk.pak.info +%%DATADIR%%/locales/vi.pak +%%DATADIR%%/locales/vi.pak.info +%%DATADIR%%/locales/zh-CN.pak +%%DATADIR%%/locales/zh-CN.pak.info +%%DATADIR%%/locales/zh-TW.pak +%%DATADIR%%/locales/zh-TW.pak.info +%%DATADIR%%/mksnapshot +%%DATADIR%%/product_logo_48.png +%%DATADIR%%/protoc +%%DATADIR%%/resources.pak +%%DATADIR%%/resources/inspector/.htaccess +%%DATADIR%%/resources/inspector/Images/accelerometer-back.svg +%%DATADIR%%/resources/inspector/Images/accelerometer-bottom.png +%%DATADIR%%/resources/inspector/Images/accelerometer-front.svg +%%DATADIR%%/resources/inspector/Images/accelerometer-left.png +%%DATADIR%%/resources/inspector/Images/accelerometer-right.png +%%DATADIR%%/resources/inspector/Images/accelerometer-top.png +%%DATADIR%%/resources/inspector/Images/audits_logo.svg +%%DATADIR%%/resources/inspector/Images/breakpoint.svg +%%DATADIR%%/resources/inspector/Images/breakpointConditional.svg +%%DATADIR%%/resources/inspector/Images/checkboxCheckmark.svg +%%DATADIR%%/resources/inspector/Images/checker.png +%%DATADIR%%/resources/inspector/Images/chevrons.svg +%%DATADIR%%/resources/inspector/Images/chromeDisabledSelect.png +%%DATADIR%%/resources/inspector/Images/chromeDisabledSelect_2x.png +%%DATADIR%%/resources/inspector/Images/chromeLeft.png +%%DATADIR%%/resources/inspector/Images/chromeMiddle.png +%%DATADIR%%/resources/inspector/Images/chromeRight.png +%%DATADIR%%/resources/inspector/Images/chromeSelect.png +%%DATADIR%%/resources/inspector/Images/chromeSelect_2x.png +%%DATADIR%%/resources/inspector/Images/cssoverview_icons_2x.png +%%DATADIR%%/resources/inspector/Images/errorWave.svg +%%DATADIR%%/resources/inspector/Images/ic_info_black_18dp.svg +%%DATADIR%%/resources/inspector/Images/ic_warning_black_18dp.svg +%%DATADIR%%/resources/inspector/Images/largeIcons.svg +%%DATADIR%%/resources/inspector/Images/mediumIcons.svg +%%DATADIR%%/resources/inspector/Images/navigationControls.png +%%DATADIR%%/resources/inspector/Images/navigationControls_2x.png +%%DATADIR%%/resources/inspector/Images/nodeIcon.png +%%DATADIR%%/resources/inspector/Images/popoverArrows.png +%%DATADIR%%/resources/inspector/Images/profileGroupIcon.png +%%DATADIR%%/resources/inspector/Images/profileIcon.png +%%DATADIR%%/resources/inspector/Images/profileSmallIcon.png +%%DATADIR%%/resources/inspector/Images/radioDot.png +%%DATADIR%%/resources/inspector/Images/radioDot-dark-theme.png +%%DATADIR%%/resources/inspector/Images/resizeDiagonal.png +%%DATADIR%%/resources/inspector/Images/resizeDiagonal_2x.png +%%DATADIR%%/resources/inspector/Images/resizeHorizontal.png +%%DATADIR%%/resources/inspector/Images/resizeHorizontal_2x.png +%%DATADIR%%/resources/inspector/Images/resizeVertical.png +%%DATADIR%%/resources/inspector/Images/resizeVertical_2x.png +%%DATADIR%%/resources/inspector/Images/resourceCSSIcon.png +%%DATADIR%%/resources/inspector/Images/resourceDocumentIcon.png +%%DATADIR%%/resources/inspector/Images/resourceDocumentIconSmall.png +%%DATADIR%%/resources/inspector/Images/resourceJSIcon.png +%%DATADIR%%/resources/inspector/Images/resourcePlainIcon.png +%%DATADIR%%/resources/inspector/Images/resourcePlainIconSmall.png +%%DATADIR%%/resources/inspector/Images/resourcesTimeGraphIcon.png +%%DATADIR%%/resources/inspector/Images/searchNext.png +%%DATADIR%%/resources/inspector/Images/searchPrev.png +%%DATADIR%%/resources/inspector/Images/securityIcons.svg +%%DATADIR%%/resources/inspector/Images/smallIcons.svg +%%DATADIR%%/resources/inspector/Images/speech.png +%%DATADIR%%/resources/inspector/Images/toolbarResizerVertical.png +%%DATADIR%%/resources/inspector/Images/touchCursor.png +%%DATADIR%%/resources/inspector/Images/touchCursor_2x.png +%%DATADIR%%/resources/inspector/Images/treeoutlineTriangles.svg +%%DATADIR%%/resources/inspector/Images/whatsnew.png +%%DATADIR%%/resources/inspector/InspectorBackendCommands.js +%%DATADIR%%/resources/inspector/SupportedCSSProperties.js +%%DATADIR%%/resources/inspector/Tests.js +%%DATADIR%%/resources/inspector/accessibility/accessibility_module.js +%%DATADIR%%/resources/inspector/accessibility/accessibility-legacy.js +%%DATADIR%%/resources/inspector/accessibility/accessibility.js +%%DATADIR%%/resources/inspector/accessibility/AccessibilityModel.js +%%DATADIR%%/resources/inspector/accessibility/AccessibilityNodeView.js +%%DATADIR%%/resources/inspector/accessibility/AccessibilitySidebarView.js +%%DATADIR%%/resources/inspector/accessibility/AccessibilityStrings.js +%%DATADIR%%/resources/inspector/accessibility/AccessibilitySubPane.js +%%DATADIR%%/resources/inspector/accessibility/ARIAAttributesView.js +%%DATADIR%%/resources/inspector/accessibility/ARIAMetadata.js +%%DATADIR%%/resources/inspector/accessibility/ARIAProperties.js +%%DATADIR%%/resources/inspector/accessibility/AXBreadcrumbsPane.js +%%DATADIR%%/resources/inspector/accessibility_test_runner/accessibility_test_runner_module.js +%%DATADIR%%/resources/inspector/animation/animation_module.js +%%DATADIR%%/resources/inspector/animation/animation-legacy.js +%%DATADIR%%/resources/inspector/animation/animation.js +%%DATADIR%%/resources/inspector/animation/AnimationGroupPreviewUI.js +%%DATADIR%%/resources/inspector/animation/AnimationModel.js +%%DATADIR%%/resources/inspector/animation/AnimationScreenshotPopover.js +%%DATADIR%%/resources/inspector/animation/AnimationTimeline.js +%%DATADIR%%/resources/inspector/animation/AnimationUI.js +%%DATADIR%%/resources/inspector/application_test_runner/application_test_runner_module.js +%%DATADIR%%/resources/inspector/audits/audits_module.js +%%DATADIR%%/resources/inspector/audits/audits-legacy.js +%%DATADIR%%/resources/inspector/audits/audits.js +%%DATADIR%%/resources/inspector/audits/AuditsController.js +%%DATADIR%%/resources/inspector/audits/AuditsPanel.js +%%DATADIR%%/resources/inspector/audits/AuditsProtocolService.js +%%DATADIR%%/resources/inspector/audits/AuditsReportRenderer.js +%%DATADIR%%/resources/inspector/audits/AuditsReportSelector.js +%%DATADIR%%/resources/inspector/audits/AuditsStartView.js +%%DATADIR%%/resources/inspector/audits/AuditsStatusView.js +%%DATADIR%%/resources/inspector/audits/lighthouse/report-generator.js +%%DATADIR%%/resources/inspector/audits/lighthouse/report.js +%%DATADIR%%/resources/inspector/audits/RadioSetting.js +%%DATADIR%%/resources/inspector/audits_test_runner/audits_test_runner_module.js +%%DATADIR%%/resources/inspector/audits_worker.js +%%DATADIR%%/resources/inspector/audits_worker/audits_worker_module.js +%%DATADIR%%/resources/inspector/audits_worker/lighthouse/locales/ar-XB.json +%%DATADIR%%/resources/inspector/audits_worker/lighthouse/locales/ar.json +%%DATADIR%%/resources/inspector/audits_worker/lighthouse/locales/bg.json +%%DATADIR%%/resources/inspector/audits_worker/lighthouse/locales/ca.json +%%DATADIR%%/resources/inspector/audits_worker/lighthouse/locales/cs.json +%%DATADIR%%/resources/inspector/audits_worker/lighthouse/locales/da.json +%%DATADIR%%/resources/inspector/audits_worker/lighthouse/locales/de.json +%%DATADIR%%/resources/inspector/audits_worker/lighthouse/locales/el.json +%%DATADIR%%/resources/inspector/audits_worker/lighthouse/locales/en-GB.json +%%DATADIR%%/resources/inspector/audits_worker/lighthouse/locales/en-US.json +%%DATADIR%%/resources/inspector/audits_worker/lighthouse/locales/en-XA.json +%%DATADIR%%/resources/inspector/audits_worker/lighthouse/locales/en-XL.json +%%DATADIR%%/resources/inspector/audits_worker/lighthouse/locales/es-419.json +%%DATADIR%%/resources/inspector/audits_worker/lighthouse/locales/es.json +%%DATADIR%%/resources/inspector/audits_worker/lighthouse/locales/fi.json +%%DATADIR%%/resources/inspector/audits_worker/lighthouse/locales/fil.json +%%DATADIR%%/resources/inspector/audits_worker/lighthouse/locales/fr.json +%%DATADIR%%/resources/inspector/audits_worker/lighthouse/locales/he.json +%%DATADIR%%/resources/inspector/audits_worker/lighthouse/locales/hi.json +%%DATADIR%%/resources/inspector/audits_worker/lighthouse/locales/hr.json +%%DATADIR%%/resources/inspector/audits_worker/lighthouse/locales/hu.json +%%DATADIR%%/resources/inspector/audits_worker/lighthouse/locales/id.json +%%DATADIR%%/resources/inspector/audits_worker/lighthouse/locales/it.json +%%DATADIR%%/resources/inspector/audits_worker/lighthouse/locales/ja.json +%%DATADIR%%/resources/inspector/audits_worker/lighthouse/locales/ko.json +%%DATADIR%%/resources/inspector/audits_worker/lighthouse/locales/lt.json +%%DATADIR%%/resources/inspector/audits_worker/lighthouse/locales/lv.json +%%DATADIR%%/resources/inspector/audits_worker/lighthouse/locales/nl.json +%%DATADIR%%/resources/inspector/audits_worker/lighthouse/locales/no.json +%%DATADIR%%/resources/inspector/audits_worker/lighthouse/locales/pl.json +%%DATADIR%%/resources/inspector/audits_worker/lighthouse/locales/pt-PT.json +%%DATADIR%%/resources/inspector/audits_worker/lighthouse/locales/pt.json +%%DATADIR%%/resources/inspector/audits_worker/lighthouse/locales/ro.json +%%DATADIR%%/resources/inspector/audits_worker/lighthouse/locales/ru.json +%%DATADIR%%/resources/inspector/audits_worker/lighthouse/locales/sk.json +%%DATADIR%%/resources/inspector/audits_worker/lighthouse/locales/sl.json +%%DATADIR%%/resources/inspector/audits_worker/lighthouse/locales/sr-Latn.json +%%DATADIR%%/resources/inspector/audits_worker/lighthouse/locales/sr.json +%%DATADIR%%/resources/inspector/audits_worker/lighthouse/locales/sv.json +%%DATADIR%%/resources/inspector/audits_worker/lighthouse/locales/ta.json +%%DATADIR%%/resources/inspector/audits_worker/lighthouse/locales/te.json +%%DATADIR%%/resources/inspector/audits_worker/lighthouse/locales/th.json +%%DATADIR%%/resources/inspector/audits_worker/lighthouse/locales/tr.json +%%DATADIR%%/resources/inspector/audits_worker/lighthouse/locales/uk.json +%%DATADIR%%/resources/inspector/audits_worker/lighthouse/locales/vi.json +%%DATADIR%%/resources/inspector/audits_worker/lighthouse/locales/zh-HK.json +%%DATADIR%%/resources/inspector/audits_worker/lighthouse/locales/zh-TW.json +%%DATADIR%%/resources/inspector/audits_worker/lighthouse/locales/zh.json +%%DATADIR%%/resources/inspector/axe_core_test_runner/axe_core_test_runner_module.js +%%DATADIR%%/resources/inspector/bindings_test_runner/bindings_test_runner_module.js +%%DATADIR%%/resources/inspector/bindings/bindings.js +%%DATADIR%%/resources/inspector/bindings/bindings-legacy.js +%%DATADIR%%/resources/inspector/bindings/BlackboxManager.js +%%DATADIR%%/resources/inspector/bindings/BreakpointManager.js +%%DATADIR%%/resources/inspector/bindings/CompilerScriptMapping.js +%%DATADIR%%/resources/inspector/bindings/ContentProviderBasedProject.js +%%DATADIR%%/resources/inspector/bindings/CSSWorkspaceBinding.js +%%DATADIR%%/resources/inspector/bindings/DebuggerLanguagePlugins.js +%%DATADIR%%/resources/inspector/bindings/DebuggerWorkspaceBinding.js +%%DATADIR%%/resources/inspector/bindings/DefaultScriptMapping.js +%%DATADIR%%/resources/inspector/bindings/FileUtils.js +%%DATADIR%%/resources/inspector/bindings/LiveLocation.js +%%DATADIR%%/resources/inspector/bindings/NetworkProject.js +%%DATADIR%%/resources/inspector/bindings/PresentationConsoleMessageHelper.js +%%DATADIR%%/resources/inspector/bindings/ResourceMapping.js +%%DATADIR%%/resources/inspector/bindings/ResourceScriptMapping.js +%%DATADIR%%/resources/inspector/bindings/ResourceUtils.js +%%DATADIR%%/resources/inspector/bindings/SASSSourceMapping.js +%%DATADIR%%/resources/inspector/bindings/StylesSourceMapping.js +%%DATADIR%%/resources/inspector/bindings/TempFile.js +%%DATADIR%%/resources/inspector/bindings/language_plugins/CXXDWARFLanguagePlugin.js +%%DATADIR%%/resources/inspector/browser_debugger/browser_debugger_module.js +%%DATADIR%%/resources/inspector/browser_debugger/browser_debugger-legacy.js +%%DATADIR%%/resources/inspector/browser_debugger/browser_debugger.js +%%DATADIR%%/resources/inspector/browser_debugger/DOMBreakpointsSidebarPane.js +%%DATADIR%%/resources/inspector/browser_debugger/EventListenerBreakpointsSidebarPane.js +%%DATADIR%%/resources/inspector/browser_debugger/ObjectEventListenersSidebarPane.js +%%DATADIR%%/resources/inspector/browser_debugger/XHRBreakpointsSidebarPane.js +%%DATADIR%%/resources/inspector/browser_sdk/browser_sdk.js +%%DATADIR%%/resources/inspector/browser_sdk/browser_sdk-legacy.js +%%DATADIR%%/resources/inspector/browser_sdk/LogManager.js +%%DATADIR%%/resources/inspector/changes/changes_module.js +%%DATADIR%%/resources/inspector/changes/changes-legacy.js +%%DATADIR%%/resources/inspector/changes/changes.js +%%DATADIR%%/resources/inspector/changes/ChangesHighlighter.js +%%DATADIR%%/resources/inspector/changes/ChangesSidebar.js +%%DATADIR%%/resources/inspector/changes/ChangesTextEditor.js +%%DATADIR%%/resources/inspector/changes/ChangesView.js +%%DATADIR%%/resources/inspector/cm_headless/cm_headless.js +%%DATADIR%%/resources/inspector/cm_headless/headlesscodemirror.js +%%DATADIR%%/resources/inspector/cm_modes/clike.js +%%DATADIR%%/resources/inspector/cm_modes/clojure.js +%%DATADIR%%/resources/inspector/cm/cm_module.js +%%DATADIR%%/resources/inspector/cm/active-line.js +%%DATADIR%%/resources/inspector/cm/brace-fold.js +%%DATADIR%%/resources/inspector/cm/closebrackets.js +%%DATADIR%%/resources/inspector/cm/cm.js +%%DATADIR%%/resources/inspector/cm/codemirror.js +%%DATADIR%%/resources/inspector/cm/comment.js +%%DATADIR%%/resources/inspector/cm/foldcode.js +%%DATADIR%%/resources/inspector/cm/foldgutter.js +%%DATADIR%%/resources/inspector/cm/mark-selection.js +%%DATADIR%%/resources/inspector/cm/matchbrackets.js +%%DATADIR%%/resources/inspector/cm/multiplex.js +%%DATADIR%%/resources/inspector/cm/overlay.js +%%DATADIR%%/resources/inspector/cm_modes/cm_modes_module.js +%%DATADIR%%/resources/inspector/cm_modes/cm_modes.js +%%DATADIR%%/resources/inspector/cm_modes/coffeescript.js +%%DATADIR%%/resources/inspector/cm_modes/DefaultCodeMirrorMimeMode.js +%%DATADIR%%/resources/inspector/cm_modes/jsx.js +%%DATADIR%%/resources/inspector/cm_modes/livescript.js +%%DATADIR%%/resources/inspector/cm_modes/markdown.js +%%DATADIR%%/resources/inspector/cm_modes/php.js +%%DATADIR%%/resources/inspector/cm_modes/python.js +%%DATADIR%%/resources/inspector/cm_modes/shell.js +%%DATADIR%%/resources/inspector/cm_web_modes/cm_web_modes_cm.js +%%DATADIR%%/resources/inspector/cm_web_modes/cm_web_modes_headless.js +%%DATADIR%%/resources/inspector/cm_web_modes/cm_web_modes_module.js +%%DATADIR%%/resources/inspector/cm_web_modes/cm_web_modes.js +%%DATADIR%%/resources/inspector/cm_web_modes/css.js +%%DATADIR%%/resources/inspector/cm_web_modes/htmlembedded.js +%%DATADIR%%/resources/inspector/cm_web_modes/htmlmixed.js +%%DATADIR%%/resources/inspector/cm_web_modes/javascript.js +%%DATADIR%%/resources/inspector/cm_web_modes/xml.js +%%DATADIR%%/resources/inspector/color_picker/color_picker_module.js +%%DATADIR%%/resources/inspector/color_picker/color_picker-legacy.js +%%DATADIR%%/resources/inspector/color_picker/color_picker.js +%%DATADIR%%/resources/inspector/color_picker/ContrastDetails.js +%%DATADIR%%/resources/inspector/color_picker/ContrastInfo.js +%%DATADIR%%/resources/inspector/color_picker/ContrastOverlay.js +%%DATADIR%%/resources/inspector/color_picker/Spectrum.js +%%DATADIR%%/resources/inspector/common/App.js +%%DATADIR%%/resources/inspector/common/AppProvider.js +%%DATADIR%%/resources/inspector/common/CharacterIdMap.js +%%DATADIR%%/resources/inspector/common/Color.js +%%DATADIR%%/resources/inspector/common/common.js +%%DATADIR%%/resources/inspector/common/common-legacy.js +%%DATADIR%%/resources/inspector/common/Console.js +%%DATADIR%%/resources/inspector/common/ContentProvider.js +%%DATADIR%%/resources/inspector/common/EventTarget.js +%%DATADIR%%/resources/inspector/common/JavaScriptMetaData.js +%%DATADIR%%/resources/inspector/common/Linkifier.js +%%DATADIR%%/resources/inspector/common/Object.js +%%DATADIR%%/resources/inspector/common/ParsedURL.js +%%DATADIR%%/resources/inspector/common/Progress.js +%%DATADIR%%/resources/inspector/common/QueryParamHandler.js +%%DATADIR%%/resources/inspector/common/ResourceType.js +%%DATADIR%%/resources/inspector/common/Revealer.js +%%DATADIR%%/resources/inspector/common/Runnable.js +%%DATADIR%%/resources/inspector/common/SegmentedRange.js +%%DATADIR%%/resources/inspector/common/Settings.js +%%DATADIR%%/resources/inspector/common/StaticContentProvider.js +%%DATADIR%%/resources/inspector/common/StringOutputStream.js +%%DATADIR%%/resources/inspector/common/TextDictionary.js +%%DATADIR%%/resources/inspector/common/Throttler.js +%%DATADIR%%/resources/inspector/common/Trie.js +%%DATADIR%%/resources/inspector/common/UIString.js +%%DATADIR%%/resources/inspector/common/Worker.js +%%DATADIR%%/resources/inspector/components/components.js +%%DATADIR%%/resources/inspector/components/components-legacy.js +%%DATADIR%%/resources/inspector/components/DockController.js +%%DATADIR%%/resources/inspector/components/ImagePreview.js +%%DATADIR%%/resources/inspector/components/JSPresentationUtils.js +%%DATADIR%%/resources/inspector/components/Linkifier.js +%%DATADIR%%/resources/inspector/components/Reload.js +%%DATADIR%%/resources/inspector/components/TargetDetachedDialog.js +%%DATADIR%%/resources/inspector/console_counters/console_counters.js +%%DATADIR%%/resources/inspector/console_counters/console_counters-legacy.js +%%DATADIR%%/resources/inspector/console_counters/WarningErrorCounter.js +%%DATADIR%%/resources/inspector/console/console_module.js +%%DATADIR%%/resources/inspector/console/console-legacy.js +%%DATADIR%%/resources/inspector/console/console.js +%%DATADIR%%/resources/inspector/console/ConsoleContextSelector.js +%%DATADIR%%/resources/inspector/console/ConsoleFilter.js +%%DATADIR%%/resources/inspector/console/ConsolePanel.js +%%DATADIR%%/resources/inspector/console/ConsolePinPane.js +%%DATADIR%%/resources/inspector/console/ConsolePrompt.js +%%DATADIR%%/resources/inspector/console/ConsoleSidebar.js +%%DATADIR%%/resources/inspector/console/ConsoleView.js +%%DATADIR%%/resources/inspector/console/ConsoleViewMessage.js +%%DATADIR%%/resources/inspector/console/ConsoleViewport.js +%%DATADIR%%/resources/inspector/console_test_runner/console_test_runner_module.js +%%DATADIR%%/resources/inspector/cookie_table/cookie_table_module.js +%%DATADIR%%/resources/inspector/cookie_table/cookie_table-legacy.js +%%DATADIR%%/resources/inspector/cookie_table/cookie_table.js +%%DATADIR%%/resources/inspector/cookie_table/CookiesTable.js +%%DATADIR%%/resources/inspector/coverage/coverage_module.js +%%DATADIR%%/resources/inspector/coverage/coverage-legacy.js +%%DATADIR%%/resources/inspector/coverage/coverage.js +%%DATADIR%%/resources/inspector/coverage/CoverageDecorationManager.js +%%DATADIR%%/resources/inspector/coverage/CoverageListView.js +%%DATADIR%%/resources/inspector/coverage/CoverageModel.js +%%DATADIR%%/resources/inspector/coverage/CoverageView.js +%%DATADIR%%/resources/inspector/coverage_test_runner/coverage_test_runner_module.js +%%DATADIR%%/resources/inspector/cpu_profiler_test_runner/cpu_profiler_test_runner_module.js +%%DATADIR%%/resources/inspector/css_overview/css_overview_module.js +%%DATADIR%%/resources/inspector/css_overview/css_overview-legacy.js +%%DATADIR%%/resources/inspector/css_overview/css_overview.js +%%DATADIR%%/resources/inspector/css_overview/CSSOverviewCompletedView.js +%%DATADIR%%/resources/inspector/css_overview/CSSOverviewController.js +%%DATADIR%%/resources/inspector/css_overview/CSSOverviewModel.js +%%DATADIR%%/resources/inspector/css_overview/CSSOverviewPanel.js +%%DATADIR%%/resources/inspector/css_overview/CSSOverviewProcessingView.js +%%DATADIR%%/resources/inspector/css_overview/CSSOverviewSidebarPanel.js +%%DATADIR%%/resources/inspector/css_overview/CSSOverviewStartView.js +%%DATADIR%%/resources/inspector/css_overview/CSSOverviewUnusedDeclarations.js +%%DATADIR%%/resources/inspector/dagre_layout/dagre_layout_module.js +%%DATADIR%%/resources/inspector/data_grid/data_grid_module.js +%%DATADIR%%/resources/inspector/data_grid/data_grid-legacy.js +%%DATADIR%%/resources/inspector/data_grid/data_grid.js +%%DATADIR%%/resources/inspector/data_grid/DataGrid.js +%%DATADIR%%/resources/inspector/data_grid/ShowMoreDataGridNode.js +%%DATADIR%%/resources/inspector/data_grid/SortableDataGrid.js +%%DATADIR%%/resources/inspector/data_grid/ViewportDataGrid.js +%%DATADIR%%/resources/inspector/data_grid_test_runner/data_grid_test_runner_module.js +%%DATADIR%%/resources/inspector/device_mode_test_runner/device_mode_test_runner_module.js +%%DATADIR%%/resources/inspector/devices/devices_module.js +%%DATADIR%%/resources/inspector/devtools_app.html +%%DATADIR%%/resources/inspector/devtools_app.js +%%DATADIR%%/resources/inspector/devtools_compatibility.js +%%DATADIR%%/resources/inspector/devtools_extension_api.js +%%DATADIR%%/resources/inspector/diff/diff_match_patch.js +%%DATADIR%%/resources/inspector/diff/diff_module.js +%%DATADIR%%/resources/inspector/diff/diff-legacy.js +%%DATADIR%%/resources/inspector/diff/diff.js +%%DATADIR%%/resources/inspector/diff/DiffWrapper.js +%%DATADIR%%/resources/inspector/dom_extension/dom_extension.js +%%DATADIR%%/resources/inspector/dom_extension/DOMExtension.js +%%DATADIR%%/resources/inspector/elements/elements_module.js +%%DATADIR%%/resources/inspector/elements/elements-legacy.js +%%DATADIR%%/resources/inspector/elements/elements.js +%%DATADIR%%/resources/inspector/elements/ClassesPaneWidget.js +%%DATADIR%%/resources/inspector/elements/ColorSwatchPopoverIcon.js +%%DATADIR%%/resources/inspector/elements/ComputedStyleModel.js +%%DATADIR%%/resources/inspector/elements/ComputedStyleWidget.js +%%DATADIR%%/resources/inspector/elements/DOMLinkifier.js +%%DATADIR%%/resources/inspector/elements/DOMPath.js +%%DATADIR%%/resources/inspector/elements/ElementsBreadcrumbs.js +%%DATADIR%%/resources/inspector/elements/ElementsPanel.js +%%DATADIR%%/resources/inspector/elements/ElementsSidebarPane.js +%%DATADIR%%/resources/inspector/elements/ElementStatePaneWidget.js +%%DATADIR%%/resources/inspector/elements/ElementsTreeElement.js +%%DATADIR%%/resources/inspector/elements/ElementsTreeElementHighlighter.js +%%DATADIR%%/resources/inspector/elements/ElementsTreeOutline.js +%%DATADIR%%/resources/inspector/elements/EventListenersWidget.js +%%DATADIR%%/resources/inspector/elements/InspectElementModeController.js +%%DATADIR%%/resources/inspector/elements/MarkerDecorator.js +%%DATADIR%%/resources/inspector/elements/MetricsSidebarPane.js +%%DATADIR%%/resources/inspector/elements/NodeStackTraceWidget.js +%%DATADIR%%/resources/inspector/elements/PlatformFontsWidget.js +%%DATADIR%%/resources/inspector/elements/PropertiesWidget.js +%%DATADIR%%/resources/inspector/elements/StylePropertyHighlighter.js +%%DATADIR%%/resources/inspector/elements/StylePropertyTreeElement.js +%%DATADIR%%/resources/inspector/elements/StylesSidebarPane.js +%%DATADIR%%/resources/inspector/elements_test_runner/elements_test_runner_module.js +%%DATADIR%%/resources/inspector/emulated_devices/MotoG4-landscape.svg +%%DATADIR%%/resources/inspector/emulated_devices/MotoG4-portrait.svg +%%DATADIR%%/resources/inspector/emulated_devices/Nexus5X-landscape.svg +%%DATADIR%%/resources/inspector/emulated_devices/Nexus5X-portrait.svg +%%DATADIR%%/resources/inspector/emulated_devices/Nexus6P-landscape.svg +%%DATADIR%%/resources/inspector/emulated_devices/Nexus6P-portrait.svg +%%DATADIR%%/resources/inspector/emulated_devices/emulated_devices_module.js +%%DATADIR%%/resources/inspector/emulated_devices/google-nexus-5-horizontal-default-1x.png +%%DATADIR%%/resources/inspector/emulated_devices/google-nexus-5-horizontal-default-2x.png +%%DATADIR%%/resources/inspector/emulated_devices/google-nexus-5-horizontal-keyboard-1x.png +%%DATADIR%%/resources/inspector/emulated_devices/google-nexus-5-horizontal-keyboard-2x.png +%%DATADIR%%/resources/inspector/emulated_devices/google-nexus-5-horizontal-navigation-1x.png +%%DATADIR%%/resources/inspector/emulated_devices/google-nexus-5-horizontal-navigation-2x.png +%%DATADIR%%/resources/inspector/emulated_devices/google-nexus-5-vertical-default-1x.png +%%DATADIR%%/resources/inspector/emulated_devices/google-nexus-5-vertical-default-2x.png +%%DATADIR%%/resources/inspector/emulated_devices/google-nexus-5-vertical-keyboard-1x.png +%%DATADIR%%/resources/inspector/emulated_devices/google-nexus-5-vertical-keyboard-2x.png +%%DATADIR%%/resources/inspector/emulated_devices/google-nexus-5-vertical-navigation-1x.png +%%DATADIR%%/resources/inspector/emulated_devices/google-nexus-5-vertical-navigation-2x.png +%%DATADIR%%/resources/inspector/emulated_devices/google-nexus-5x-horizontal-default-1x.png +%%DATADIR%%/resources/inspector/emulated_devices/google-nexus-5x-horizontal-default-2x.png +%%DATADIR%%/resources/inspector/emulated_devices/google-nexus-5x-horizontal-keyboard-1x.png +%%DATADIR%%/resources/inspector/emulated_devices/google-nexus-5x-horizontal-keyboard-2x.png +%%DATADIR%%/resources/inspector/emulated_devices/google-nexus-5x-horizontal-navigation-1x.png +%%DATADIR%%/resources/inspector/emulated_devices/google-nexus-5x-horizontal-navigation-2x.png +%%DATADIR%%/resources/inspector/emulated_devices/google-nexus-5x-vertical-default-1x.png +%%DATADIR%%/resources/inspector/emulated_devices/google-nexus-5x-vertical-default-2x.png +%%DATADIR%%/resources/inspector/emulated_devices/google-nexus-5x-vertical-keyboard-1x.png +%%DATADIR%%/resources/inspector/emulated_devices/google-nexus-5x-vertical-keyboard-2x.png +%%DATADIR%%/resources/inspector/emulated_devices/google-nexus-5x-vertical-navigation-1x.png +%%DATADIR%%/resources/inspector/emulated_devices/google-nexus-5x-vertical-navigation-2x.png +%%DATADIR%%/resources/inspector/emulated_devices/iPad-landscape.svg +%%DATADIR%%/resources/inspector/emulated_devices/iPad-portrait.svg +%%DATADIR%%/resources/inspector/emulated_devices/iPhone5-landscape.svg +%%DATADIR%%/resources/inspector/emulated_devices/iPhone5-portrait.svg +%%DATADIR%%/resources/inspector/emulated_devices/iPhone6-landscape.svg +%%DATADIR%%/resources/inspector/emulated_devices/iPhone6-portrait.svg +%%DATADIR%%/resources/inspector/emulated_devices/iPhone6Plus-landscape.svg +%%DATADIR%%/resources/inspector/emulated_devices/iPhone6Plus-portrait.svg +%%DATADIR%%/resources/inspector/emulation/AdvancedApp.js +%%DATADIR%%/resources/inspector/emulation/DeviceModeModel.js +%%DATADIR%%/resources/inspector/emulation/DeviceModeToolbar.js +%%DATADIR%%/resources/inspector/emulation/DeviceModeView.js +%%DATADIR%%/resources/inspector/emulation/DeviceModeWrapper.js +%%DATADIR%%/resources/inspector/emulation/DevicesSettingsTab.js +%%DATADIR%%/resources/inspector/emulation/EmulatedDevices.js +%%DATADIR%%/resources/inspector/emulation/emulation-legacy.js +%%DATADIR%%/resources/inspector/emulation/emulation.js +%%DATADIR%%/resources/inspector/emulation/GeolocationsSettingsTab.js +%%DATADIR%%/resources/inspector/emulation/InspectedPagePlaceholder.js +%%DATADIR%%/resources/inspector/emulation/MediaQueryInspector.js +%%DATADIR%%/resources/inspector/emulation/SensorsView.js +%%DATADIR%%/resources/inspector/event_listeners/event_listeners_module.js +%%DATADIR%%/resources/inspector/event_listeners/event_listeners-legacy.js +%%DATADIR%%/resources/inspector/event_listeners/event_listeners.js +%%DATADIR%%/resources/inspector/event_listeners/EventListenersUtils.js +%%DATADIR%%/resources/inspector/event_listeners/EventListenersView.js +%%DATADIR%%/resources/inspector/extensions_test_runner/extensions_test_runner_module.js +%%DATADIR%%/resources/inspector/extensions/ExtensionAPI.js +%%DATADIR%%/resources/inspector/extensions/ExtensionPanel.js +%%DATADIR%%/resources/inspector/extensions/extensions-legacy.js +%%DATADIR%%/resources/inspector/extensions/extensions.js +%%DATADIR%%/resources/inspector/extensions/ExtensionServer.js +%%DATADIR%%/resources/inspector/extensions/ExtensionTraceProvider.js +%%DATADIR%%/resources/inspector/extensions/ExtensionView.js +%%DATADIR%%/resources/inspector/formatter_worker_entrypoint.js +%%DATADIR%%/resources/inspector/formatter_worker/acorn/acorn.js +%%DATADIR%%/resources/inspector/formatter_worker/acorn/acorn_loose.js +%%DATADIR%%/resources/inspector/formatter_worker/AcornTokenizer.js +%%DATADIR%%/resources/inspector/formatter_worker/CSSFormatter.js +%%DATADIR%%/resources/inspector/formatter_worker/CSSRuleParser.js +%%DATADIR%%/resources/inspector/formatter_worker/ESTreeWalker.js +%%DATADIR%%/resources/inspector/formatter_worker/FormattedContentBuilder.js +%%DATADIR%%/resources/inspector/formatter_worker/formatter_worker.js +%%DATADIR%%/resources/inspector/formatter_worker/formatter_worker-legacy.js +%%DATADIR%%/resources/inspector/formatter_worker/FormatterWorker.js +%%DATADIR%%/resources/inspector/formatter_worker/HTMLFormatter.js +%%DATADIR%%/resources/inspector/formatter_worker/IdentityFormatter.js +%%DATADIR%%/resources/inspector/formatter_worker/JavaScriptFormatter.js +%%DATADIR%%/resources/inspector/formatter_worker/JavaScriptOutline.js +%%DATADIR%%/resources/inspector/formatter_worker/RelaxedJSONParser.js +%%DATADIR%%/resources/inspector/formatter/formatter_module.js +%%DATADIR%%/resources/inspector/formatter/formatter-legacy.js +%%DATADIR%%/resources/inspector/formatter/formatter.js +%%DATADIR%%/resources/inspector/formatter/FormatterWorkerPool.js +%%DATADIR%%/resources/inspector/formatter/ScriptFormatter.js +%%DATADIR%%/resources/inspector/formatter/SourceFormatter.js +%%DATADIR%%/resources/inspector/har_importer/har_importer_module.js +%%DATADIR%%/resources/inspector/har_importer/har_importer-legacy.js +%%DATADIR%%/resources/inspector/har_importer/har_importer.js +%%DATADIR%%/resources/inspector/har_importer/HARFormat.js +%%DATADIR%%/resources/inspector/har_importer/HARImporter.js +%%DATADIR%%/resources/inspector/heap_profiler_test_runner/heap_profiler_test_runner_module.js +%%DATADIR%%/resources/inspector/heap_snapshot_model/heap_snapshot_model_module.js +%%DATADIR%%/resources/inspector/heap_snapshot_model/heap_snapshot_model-legacy.js +%%DATADIR%%/resources/inspector/heap_snapshot_model/heap_snapshot_model.js +%%DATADIR%%/resources/inspector/heap_snapshot_model/HeapSnapshotModel.js +%%DATADIR%%/resources/inspector/heap_snapshot_worker_entrypoint.js +%%DATADIR%%/resources/inspector/heap_snapshot_worker/AllocationProfile.js +%%DATADIR%%/resources/inspector/heap_snapshot_worker/heap_snapshot_worker_module.js +%%DATADIR%%/resources/inspector/heap_snapshot_worker/heap_snapshot_worker-legacy.js +%%DATADIR%%/resources/inspector/heap_snapshot_worker/heap_snapshot_worker.js +%%DATADIR%%/resources/inspector/heap_snapshot_worker/HeapSnapshot.js +%%DATADIR%%/resources/inspector/heap_snapshot_worker/HeapSnapshotLoader.js +%%DATADIR%%/resources/inspector/heap_snapshot_worker/HeapSnapshotWorker.js +%%DATADIR%%/resources/inspector/heap_snapshot_worker/HeapSnapshotWorkerDispatcher.js +%%DATADIR%%/resources/inspector/help/help_module.js +%%DATADIR%%/resources/inspector/help/help-legacy.js +%%DATADIR%%/resources/inspector/help/help.js +%%DATADIR%%/resources/inspector/help/HelpImpl.js +%%DATADIR%%/resources/inspector/help/ReleaseNoteText.js +%%DATADIR%%/resources/inspector/help/ReleaseNoteView.js +%%DATADIR%%/resources/inspector/host/host.js +%%DATADIR%%/resources/inspector/host/host-legacy.js +%%DATADIR%%/resources/inspector/host/InspectorFrontendHost.js +%%DATADIR%%/resources/inspector/host/InspectorFrontendHostAPI.js +%%DATADIR%%/resources/inspector/host/Platform.js +%%DATADIR%%/resources/inspector/host/ResourceLoader.js +%%DATADIR%%/resources/inspector/host/UserMetrics.js +%%DATADIR%%/resources/inspector/inline_editor/BezierEditor.js +%%DATADIR%%/resources/inspector/inline_editor/BezierUI.js +%%DATADIR%%/resources/inspector/inline_editor/ColorSwatch.js +%%DATADIR%%/resources/inspector/inline_editor/CSSShadowEditor.js +%%DATADIR%%/resources/inspector/inline_editor/CSSShadowModel.js +%%DATADIR%%/resources/inspector/inline_editor/inline_editor_module.js +%%DATADIR%%/resources/inspector/inline_editor/inline_editor-legacy.js +%%DATADIR%%/resources/inspector/inline_editor/inline_editor.js +%%DATADIR%%/resources/inspector/inline_editor/SwatchPopoverHelper.js +%%DATADIR%%/resources/inspector/input/input_module.js +%%DATADIR%%/resources/inspector/input/input-legacy.js +%%DATADIR%%/resources/inspector/input/input.js +%%DATADIR%%/resources/inspector/input/InputModel.js +%%DATADIR%%/resources/inspector/input/InputTimeline.js +%%DATADIR%%/resources/inspector/inspector_main/inspector_main.js +%%DATADIR%%/resources/inspector/inspector_main/inspector_main-legacy.js +%%DATADIR%%/resources/inspector/inspector_main/InspectorMain.js +%%DATADIR%%/resources/inspector/inspector_main/RenderingOptions.js +%%DATADIR%%/resources/inspector/inspector.html +%%DATADIR%%/resources/inspector/inspector.js +%%DATADIR%%/resources/inspector/integration_test_runner.html +%%DATADIR%%/resources/inspector/integration_test_runner.js +%%DATADIR%%/resources/inspector/javascript_metadata/javascript_metadata_module.js +%%DATADIR%%/resources/inspector/javascript_metadata/javascript_metadata-legacy.js +%%DATADIR%%/resources/inspector/javascript_metadata/javascript_metadata.js +%%DATADIR%%/resources/inspector/javascript_metadata/JavaScriptMetadata.js +%%DATADIR%%/resources/inspector/javascript_metadata/NativeFunctions.js +%%DATADIR%%/resources/inspector/js_app.html +%%DATADIR%%/resources/inspector/js_app.js +%%DATADIR%%/resources/inspector/js_main/js_main.js +%%DATADIR%%/resources/inspector/js_main/js_main-legacy.js +%%DATADIR%%/resources/inspector/js_main/JsMain.js +%%DATADIR%%/resources/inspector/js_profiler/js_profiler_module.js +%%DATADIR%%/resources/inspector/layer_viewer/layer_viewer_module.js +%%DATADIR%%/resources/inspector/layer_viewer/layer_viewer-legacy.js +%%DATADIR%%/resources/inspector/layer_viewer/layer_viewer.js +%%DATADIR%%/resources/inspector/layer_viewer/LayerDetailsView.js +%%DATADIR%%/resources/inspector/layer_viewer/Layers3DView.js +%%DATADIR%%/resources/inspector/layer_viewer/LayerTreeOutline.js +%%DATADIR%%/resources/inspector/layer_viewer/LayerViewHost.js +%%DATADIR%%/resources/inspector/layer_viewer/PaintProfilerView.js +%%DATADIR%%/resources/inspector/layer_viewer/TransformController.js +%%DATADIR%%/resources/inspector/layers/layers_module.js +%%DATADIR%%/resources/inspector/layers/layers-legacy.js +%%DATADIR%%/resources/inspector/layers/layers.js +%%DATADIR%%/resources/inspector/layers/LayerPaintProfilerView.js +%%DATADIR%%/resources/inspector/layers/LayersPanel.js +%%DATADIR%%/resources/inspector/layers/LayerTreeModel.js +%%DATADIR%%/resources/inspector/layers_test_runner/layers_test_runner_module.js +%%DATADIR%%/resources/inspector/main/ExecutionContextSelector.js +%%DATADIR%%/resources/inspector/main/main-legacy.js +%%DATADIR%%/resources/inspector/main/main.js +%%DATADIR%%/resources/inspector/main/MainImpl.js +%%DATADIR%%/resources/inspector/main/SimpleApp.js +%%DATADIR%%/resources/inspector/media/media_module.js +%%DATADIR%%/resources/inspector/mobile_throttling/mobile_throttling.js +%%DATADIR%%/resources/inspector/mobile_throttling/mobile_throttling-legacy.js +%%DATADIR%%/resources/inspector/mobile_throttling/MobileThrottlingSelector.js +%%DATADIR%%/resources/inspector/mobile_throttling/NetworkPanelIndicator.js +%%DATADIR%%/resources/inspector/mobile_throttling/NetworkThrottlingSelector.js +%%DATADIR%%/resources/inspector/mobile_throttling/ThrottlingManager.js +%%DATADIR%%/resources/inspector/mobile_throttling/ThrottlingPresets.js +%%DATADIR%%/resources/inspector/mobile_throttling/ThrottlingSettingsTab.js +%%DATADIR%%/resources/inspector/ndb_app.html +%%DATADIR%%/resources/inspector/ndb_app.js +%%DATADIR%%/resources/inspector/network/network_module.js +%%DATADIR%%/resources/inspector/network/network-legacy.js +%%DATADIR%%/resources/inspector/network/network.js +%%DATADIR%%/resources/inspector/network/BinaryResourceView.js +%%DATADIR%%/resources/inspector/network/BlockedURLsPane.js +%%DATADIR%%/resources/inspector/network/EventSourceMessagesView.js +%%DATADIR%%/resources/inspector/network/HARWriter.js +%%DATADIR%%/resources/inspector/network/NetworkConfigView.js +%%DATADIR%%/resources/inspector/network/NetworkDataGridNode.js +%%DATADIR%%/resources/inspector/network/NetworkFrameGrouper.js +%%DATADIR%%/resources/inspector/network/NetworkItemView.js +%%DATADIR%%/resources/inspector/network/NetworkLogView.js +%%DATADIR%%/resources/inspector/network/NetworkLogViewColumns.js +%%DATADIR%%/resources/inspector/network/NetworkManageCustomHeadersView.js +%%DATADIR%%/resources/inspector/network/NetworkOverview.js +%%DATADIR%%/resources/inspector/network/NetworkPanel.js +%%DATADIR%%/resources/inspector/network/NetworkSearchScope.js +%%DATADIR%%/resources/inspector/network/NetworkTimeCalculator.js +%%DATADIR%%/resources/inspector/network/NetworkWaterfallColumn.js +%%DATADIR%%/resources/inspector/network/RequestCookiesView.js +%%DATADIR%%/resources/inspector/network/RequestHeadersView.js +%%DATADIR%%/resources/inspector/network/RequestHTMLView.js +%%DATADIR%%/resources/inspector/network/RequestInitiatorView.js +%%DATADIR%%/resources/inspector/network/RequestPreviewView.js +%%DATADIR%%/resources/inspector/network/RequestResponseView.js +%%DATADIR%%/resources/inspector/network/RequestTimingView.js +%%DATADIR%%/resources/inspector/network/ResourceWebSocketFrameView.js +%%DATADIR%%/resources/inspector/network/SignedExchangeInfoView.js +%%DATADIR%%/resources/inspector/network_test_runner/network_test_runner_module.js +%%DATADIR%%/resources/inspector/node_app.html +%%DATADIR%%/resources/inspector/node_app.js +%%DATADIR%%/resources/inspector/node_debugger/node_debugger_module.js +%%DATADIR%%/resources/inspector/node_main/node_main-legacy.js +%%DATADIR%%/resources/inspector/node_main/node_main.js +%%DATADIR%%/resources/inspector/node_main/NodeConnectionsPanel.js +%%DATADIR%%/resources/inspector/node_main/NodeMain.js +%%DATADIR%%/resources/inspector/object_ui/object_ui_module.js +%%DATADIR%%/resources/inspector/object_ui/object_ui-legacy.js +%%DATADIR%%/resources/inspector/object_ui/object_ui.js +%%DATADIR%%/resources/inspector/object_ui/CustomPreviewComponent.js +%%DATADIR%%/resources/inspector/object_ui/JavaScriptAutocomplete.js +%%DATADIR%%/resources/inspector/object_ui/ObjectPopoverHelper.js +%%DATADIR%%/resources/inspector/object_ui/ObjectPropertiesSection.js +%%DATADIR%%/resources/inspector/object_ui/RemoteObjectPreviewFormatter.js +%%DATADIR%%/resources/inspector/object_ui/JavaScriptREPL.js +%%DATADIR%%/resources/inspector/perf_ui/perf_ui_module.js +%%DATADIR%%/resources/inspector/perf_ui/perf_ui-legacy.js +%%DATADIR%%/resources/inspector/perf_ui/perf_ui.js +%%DATADIR%%/resources/inspector/perf_ui/ChartViewport.js +%%DATADIR%%/resources/inspector/perf_ui/FilmStripView.js +%%DATADIR%%/resources/inspector/perf_ui/FlameChart.js +%%DATADIR%%/resources/inspector/perf_ui/GCActionDelegate.js +%%DATADIR%%/resources/inspector/perf_ui/LineLevelProfile.js +%%DATADIR%%/resources/inspector/perf_ui/LiveHeapProfile.js +%%DATADIR%%/resources/inspector/perf_ui/NetworkPriorities.js +%%DATADIR%%/resources/inspector/perf_ui/OverviewGrid.js +%%DATADIR%%/resources/inspector/perf_ui/PieChart.js +%%DATADIR%%/resources/inspector/perf_ui/TimelineGrid.js +%%DATADIR%%/resources/inspector/perf_ui/TimelineOverviewPane.js +%%DATADIR%%/resources/inspector/performance_monitor/performance_monitor_module.js +%%DATADIR%%/resources/inspector/performance_monitor/performance_monitor-legacy.js +%%DATADIR%%/resources/inspector/performance_monitor/performance_monitor.js +%%DATADIR%%/resources/inspector/performance_monitor/PerformanceMonitor.js +%%DATADIR%%/resources/inspector/performance_test_runner/performance_test_runner_module.js +%%DATADIR%%/resources/inspector/persistence/Automapping.js +%%DATADIR%%/resources/inspector/persistence/EditFileSystemView.js +%%DATADIR%%/resources/inspector/persistence/FileSystemWorkspaceBinding.js +%%DATADIR%%/resources/inspector/persistence/IsolatedFileSystem.js +%%DATADIR%%/resources/inspector/persistence/IsolatedFileSystemManager.js +%%DATADIR%%/resources/inspector/persistence/NetworkPersistenceManager.js +%%DATADIR%%/resources/inspector/persistence/persistence.js +%%DATADIR%%/resources/inspector/persistence/persistence-legacy.js +%%DATADIR%%/resources/inspector/persistence/PersistenceActions.js +%%DATADIR%%/resources/inspector/persistence/PersistenceImpl.js +%%DATADIR%%/resources/inspector/persistence/PersistenceUtils.js +%%DATADIR%%/resources/inspector/persistence/PlatformFileSystem.js +%%DATADIR%%/resources/inspector/persistence/WorkspaceSettingsTab.js +%%DATADIR%%/resources/inspector/platform/platform.js +%%DATADIR%%/resources/inspector/platform/utilities.js +%%DATADIR%%/resources/inspector/profiler/profiler_module.js +%%DATADIR%%/resources/inspector/profiler/profiler-legacy.js +%%DATADIR%%/resources/inspector/profiler/profiler.js +%%DATADIR%%/resources/inspector/profiler/BottomUpProfileDataGrid.js +%%DATADIR%%/resources/inspector/profiler/ChildrenProvider.js +%%DATADIR%%/resources/inspector/profiler/CPUProfileFlameChart.js +%%DATADIR%%/resources/inspector/profiler/CPUProfileView.js +%%DATADIR%%/resources/inspector/profiler/HeapProfilerPanel.js +%%DATADIR%%/resources/inspector/profiler/HeapProfileView.js +%%DATADIR%%/resources/inspector/profiler/HeapSnapshotDataGrids.js +%%DATADIR%%/resources/inspector/profiler/HeapSnapshotGridNodes.js +%%DATADIR%%/resources/inspector/profiler/HeapSnapshotProxy.js +%%DATADIR%%/resources/inspector/profiler/HeapSnapshotView.js +%%DATADIR%%/resources/inspector/profiler/HeapTimelineOverview.js +%%DATADIR%%/resources/inspector/profiler/IsolateSelector.js +%%DATADIR%%/resources/inspector/profiler/LiveHeapProfileView.js +%%DATADIR%%/resources/inspector/profiler/ProfileDataGrid.js +%%DATADIR%%/resources/inspector/profiler/ProfileHeader.js +%%DATADIR%%/resources/inspector/profiler/ProfileLauncherView.js +%%DATADIR%%/resources/inspector/profiler/ProfileSidebarTreeElement.js +%%DATADIR%%/resources/inspector/profiler/ProfilesPanel.js +%%DATADIR%%/resources/inspector/profiler/ProfileTypeRegistry.js +%%DATADIR%%/resources/inspector/profiler/ProfileView.js +%%DATADIR%%/resources/inspector/profiler/TopDownProfileDataGrid.js +%%DATADIR%%/resources/inspector/protocol_monitor/protocol_monitor_module.js +%%DATADIR%%/resources/inspector/protocol_monitor/protocol_monitor-legacy.js +%%DATADIR%%/resources/inspector/protocol_monitor/protocol_monitor.js +%%DATADIR%%/resources/inspector/protocol_monitor/ProtocolMonitor.js +%%DATADIR%%/resources/inspector/protocol/InspectorBackend.js +%%DATADIR%%/resources/inspector/protocol/NodeURL.js +%%DATADIR%%/resources/inspector/protocol/protocol.js +%%DATADIR%%/resources/inspector/protocol/protocol-legacy.js +%%DATADIR%%/resources/inspector/quick_open/quick_open_module.js +%%DATADIR%%/resources/inspector/quick_open/quick_open-legacy.js +%%DATADIR%%/resources/inspector/quick_open/quick_open.js +%%DATADIR%%/resources/inspector/quick_open/CommandMenu.js +%%DATADIR%%/resources/inspector/quick_open/FilteredListWidget.js +%%DATADIR%%/resources/inspector/quick_open/HelpQuickOpen.js +%%DATADIR%%/resources/inspector/quick_open/QuickOpen.js +%%DATADIR%%/resources/inspector/resources/resources_module.js +%%DATADIR%%/resources/inspector/resources/resources-legacy.js +%%DATADIR%%/resources/inspector/resources/resources.js +%%DATADIR%%/resources/inspector/resources/ApplicationCacheItemsView.js +%%DATADIR%%/resources/inspector/resources/ApplicationCacheModel.js +%%DATADIR%%/resources/inspector/resources/ApplicationPanelSidebar.js +%%DATADIR%%/resources/inspector/resources/AppManifestView.js +%%DATADIR%%/resources/inspector/resources/BackgroundServiceModel.js +%%DATADIR%%/resources/inspector/resources/BackgroundServiceView.js +%%DATADIR%%/resources/inspector/resources/ClearStorageView.js +%%DATADIR%%/resources/inspector/resources/CookieItemsView.js +%%DATADIR%%/resources/inspector/resources/DatabaseModel.js +%%DATADIR%%/resources/inspector/resources/DatabaseQueryView.js +%%DATADIR%%/resources/inspector/resources/DatabaseTableView.js +%%DATADIR%%/resources/inspector/resources/DOMStorageItemsView.js +%%DATADIR%%/resources/inspector/resources/DOMStorageModel.js +%%DATADIR%%/resources/inspector/resources/IndexedDBModel.js +%%DATADIR%%/resources/inspector/resources/IndexedDBViews.js +%%DATADIR%%/resources/inspector/resources/ResourcesPanel.js +%%DATADIR%%/resources/inspector/resources/ServiceWorkerCacheViews.js +%%DATADIR%%/resources/inspector/resources/ServiceWorkersView.js +%%DATADIR%%/resources/inspector/resources/StorageItemsView.js +%%DATADIR%%/resources/inspector/root.js +%%DATADIR%%/resources/inspector/Runtime.js +%%DATADIR%%/resources/inspector/screencast/InputModel.js +%%DATADIR%%/resources/inspector/screencast/screencast.js +%%DATADIR%%/resources/inspector/screencast/screencast-legacy.js +%%DATADIR%%/resources/inspector/screencast/ScreencastApp.js +%%DATADIR%%/resources/inspector/screencast/ScreencastView.js +%%DATADIR%%/resources/inspector/sdk_test_runner/sdk_test_runner_module.js +%%DATADIR%%/resources/inspector/sdk/ChildTargetManager.js +%%DATADIR%%/resources/inspector/sdk/CompilerSourceMappingContentProvider.js +%%DATADIR%%/resources/inspector/sdk/Connections.js +%%DATADIR%%/resources/inspector/sdk/ConsoleModel.js +%%DATADIR%%/resources/inspector/sdk/Cookie.js +%%DATADIR%%/resources/inspector/sdk/CookieModel.js +%%DATADIR%%/resources/inspector/sdk/CookieParser.js +%%DATADIR%%/resources/inspector/sdk/CPUProfileDataModel.js +%%DATADIR%%/resources/inspector/sdk/CPUProfilerModel.js +%%DATADIR%%/resources/inspector/sdk/CSSMatchedStyles.js +%%DATADIR%%/resources/inspector/sdk/CSSMedia.js +%%DATADIR%%/resources/inspector/sdk/CSSMetadata.js +%%DATADIR%%/resources/inspector/sdk/CSSModel.js +%%DATADIR%%/resources/inspector/sdk/CSSProperty.js +%%DATADIR%%/resources/inspector/sdk/CSSRule.js +%%DATADIR%%/resources/inspector/sdk/CSSStyleDeclaration.js +%%DATADIR%%/resources/inspector/sdk/CSSStyleSheetHeader.js +%%DATADIR%%/resources/inspector/sdk/DebuggerModel.js +%%DATADIR%%/resources/inspector/sdk/DOMDebuggerModel.js +%%DATADIR%%/resources/inspector/sdk/DOMModel.js +%%DATADIR%%/resources/inspector/sdk/EmulationModel.js +%%DATADIR%%/resources/inspector/sdk/FilmStripModel.js +%%DATADIR%%/resources/inspector/sdk/HARLog.js +%%DATADIR%%/resources/inspector/sdk/HeapProfilerModel.js +%%DATADIR%%/resources/inspector/sdk/IsolateManager.js +%%DATADIR%%/resources/inspector/sdk/IssuesModel.js +%%DATADIR%%/resources/inspector/sdk/LayerTreeBase.js +%%DATADIR%%/resources/inspector/sdk/LogModel.js +%%DATADIR%%/resources/inspector/sdk/NetworkLog.js +%%DATADIR%%/resources/inspector/sdk/NetworkManager.js +%%DATADIR%%/resources/inspector/sdk/NetworkRequest.js +%%DATADIR%%/resources/inspector/sdk/OverlayModel.js +%%DATADIR%%/resources/inspector/sdk/PaintProfiler.js +%%DATADIR%%/resources/inspector/sdk/PerformanceMetricsModel.js +%%DATADIR%%/resources/inspector/sdk/ProfileTreeModel.js +%%DATADIR%%/resources/inspector/sdk/RemoteObject.js +%%DATADIR%%/resources/inspector/sdk/Resource.js +%%DATADIR%%/resources/inspector/sdk/ResourceTreeModel.js +%%DATADIR%%/resources/inspector/sdk/RuntimeModel.js +%%DATADIR%%/resources/inspector/sdk/ScreenCaptureModel.js +%%DATADIR%%/resources/inspector/sdk/Script.js +%%DATADIR%%/resources/inspector/sdk/sdk.js +%%DATADIR%%/resources/inspector/sdk/sdk-legacy.js +%%DATADIR%%/resources/inspector/sdk/SDKModel.js +%%DATADIR%%/resources/inspector/sdk/SecurityOriginManager.js +%%DATADIR%%/resources/inspector/sdk/ServerTiming.js +%%DATADIR%%/resources/inspector/sdk/ServiceWorkerCacheModel.js +%%DATADIR%%/resources/inspector/sdk/ServiceWorkerManager.js +%%DATADIR%%/resources/inspector/sdk/SourceMap.js +%%DATADIR%%/resources/inspector/sdk/SourceMapManager.js +%%DATADIR%%/resources/inspector/sdk/TracingManager.js +%%DATADIR%%/resources/inspector/sdk/TracingModel.js +%%DATADIR%%/resources/inspector/sdk/wasm_source_map/pkg/wasm_source_map_bg.wasm +%%DATADIR%%/resources/inspector/sdk/wasm_source_map/pkg/wasm_source_map.js +%%DATADIR%%/resources/inspector/search/search_module.js +%%DATADIR%%/resources/inspector/search/search-legacy.js +%%DATADIR%%/resources/inspector/search/search.js +%%DATADIR%%/resources/inspector/search/SearchConfig.js +%%DATADIR%%/resources/inspector/search/SearchResultsPane.js +%%DATADIR%%/resources/inspector/search/SearchView.js +%%DATADIR%%/resources/inspector/security/security_module.js +%%DATADIR%%/resources/inspector/security/security-legacy.js +%%DATADIR%%/resources/inspector/security/security.js +%%DATADIR%%/resources/inspector/security/SecurityModel.js +%%DATADIR%%/resources/inspector/security/SecurityPanel.js +%%DATADIR%%/resources/inspector/security_test_runner/security_test_runner_module.js +%%DATADIR%%/resources/inspector/services/ServiceManager.js +%%DATADIR%%/resources/inspector/services/services.js +%%DATADIR%%/resources/inspector/services/services-legacy.js +%%DATADIR%%/resources/inspector/settings/settings_module.js +%%DATADIR%%/resources/inspector/settings/settings-legacy.js +%%DATADIR%%/resources/inspector/settings/settings.js +%%DATADIR%%/resources/inspector/settings/FrameworkBlackboxSettingsTab.js +%%DATADIR%%/resources/inspector/settings/SettingsScreen.js +%%DATADIR%%/resources/inspector/shell.js +%%DATADIR%%/resources/inspector/snippets/snippets_module.js +%%DATADIR%%/resources/inspector/snippets/snippets-legacy.js +%%DATADIR%%/resources/inspector/snippets/snippets.js +%%DATADIR%%/resources/inspector/snippets/ScriptSnippetFileSystem.js +%%DATADIR%%/resources/inspector/snippets/SnippetsQuickOpen.js +%%DATADIR%%/resources/inspector/source_frame/source_frame_module.js +%%DATADIR%%/resources/inspector/source_frame/source_frame-legacy.js +%%DATADIR%%/resources/inspector/source_frame/source_frame.js +%%DATADIR%%/resources/inspector/source_frame/BinaryResourceViewFactory.js +%%DATADIR%%/resources/inspector/source_frame/FontView.js +%%DATADIR%%/resources/inspector/source_frame/ImageView.js +%%DATADIR%%/resources/inspector/source_frame/JSONView.js +%%DATADIR%%/resources/inspector/source_frame/PreviewFactory.js +%%DATADIR%%/resources/inspector/source_frame/ResourceSourceFrame.js +%%DATADIR%%/resources/inspector/source_frame/SourceCodeDiff.js +%%DATADIR%%/resources/inspector/source_frame/SourceFrame.js +%%DATADIR%%/resources/inspector/source_frame/SourcesTextEditor.js +%%DATADIR%%/resources/inspector/source_frame/XMLView.js +%%DATADIR%%/resources/inspector/sources/sources_module.js +%%DATADIR%%/resources/inspector/sources/sources-legacy.js +%%DATADIR%%/resources/inspector/sources/sources.js +%%DATADIR%%/resources/inspector/sources/AddSourceMapURLDialog.js +%%DATADIR%%/resources/inspector/sources/BreakpointEditDialog.js +%%DATADIR%%/resources/inspector/sources/CallStackSidebarPane.js +%%DATADIR%%/resources/inspector/sources/CoveragePlugin.js +%%DATADIR%%/resources/inspector/sources/CSSPlugin.js +%%DATADIR%%/resources/inspector/sources/DebuggerPausedMessage.js +%%DATADIR%%/resources/inspector/sources/DebuggerPlugin.js +%%DATADIR%%/resources/inspector/sources/EditingLocationHistoryManager.js +%%DATADIR%%/resources/inspector/sources/FilePathScoreFunction.js +%%DATADIR%%/resources/inspector/sources/FilteredUISourceCodeListProvider.js +%%DATADIR%%/resources/inspector/sources/GoToLineQuickOpen.js +%%DATADIR%%/resources/inspector/sources/GutterDiffPlugin.js +%%DATADIR%%/resources/inspector/sources/InplaceFormatterEditorAction.js +%%DATADIR%%/resources/inspector/sources/JavaScriptBreakpointsSidebarPane.js +%%DATADIR%%/resources/inspector/sources/JavaScriptCompilerPlugin.js +%%DATADIR%%/resources/inspector/sources/NavigatorView.js +%%DATADIR%%/resources/inspector/sources/OpenFileQuickOpen.js +%%DATADIR%%/resources/inspector/sources/OutlineQuickOpen.js +%%DATADIR%%/resources/inspector/sources/Plugin.js +%%DATADIR%%/resources/inspector/sources/ScopeChainSidebarPane.js +%%DATADIR%%/resources/inspector/sources/ScriptFormatterEditorAction.js +%%DATADIR%%/resources/inspector/sources/ScriptOriginPlugin.js +%%DATADIR%%/resources/inspector/sources/SearchSourcesView.js +%%DATADIR%%/resources/inspector/sources/SimpleHistoryManager.js +%%DATADIR%%/resources/inspector/sources/SnippetsPlugin.js +%%DATADIR%%/resources/inspector/sources/SourceMapNamesResolver.js +%%DATADIR%%/resources/inspector/sources/SourcesNavigator.js +%%DATADIR%%/resources/inspector/sources/SourcesPanel.js +%%DATADIR%%/resources/inspector/sources/SourcesSearchScope.js +%%DATADIR%%/resources/inspector/sources/SourcesView.js +%%DATADIR%%/resources/inspector/sources/TabbedEditorContainer.js +%%DATADIR%%/resources/inspector/sources/ThreadsSidebarPane.js +%%DATADIR%%/resources/inspector/sources/UISourceCodeFrame.js +%%DATADIR%%/resources/inspector/sources/WatchExpressionsSidebarPane.js +%%DATADIR%%/resources/inspector/sources_test_runner/sources_test_runner_module.js +%%DATADIR%%/resources/inspector/test_runner/test_runner.js +%%DATADIR%%/resources/inspector/test_runner/TestRunner.js +%%DATADIR%%/resources/inspector/text_editor/text_editor_module.js +%%DATADIR%%/resources/inspector/text_editor/CodeMirrorTextEditor.js +%%DATADIR%%/resources/inspector/text_editor/CodeMirrorUtils.js +%%DATADIR%%/resources/inspector/text_editor/text_editor.js +%%DATADIR%%/resources/inspector/text_editor/text_editor-legacy.js +%%DATADIR%%/resources/inspector/text_editor/TextEditorAutocompleteController.js +%%DATADIR%%/resources/inspector/text_utils/text_utils.js +%%DATADIR%%/resources/inspector/text_utils/text_utils-legacy.js +%%DATADIR%%/resources/inspector/text_utils/Text.js +%%DATADIR%%/resources/inspector/text_utils/TextCursor.js +%%DATADIR%%/resources/inspector/text_utils/TextRange.js +%%DATADIR%%/resources/inspector/text_utils/TextUtils.js +%%DATADIR%%/resources/inspector/third_party/wasmparser/WasmDis.js +%%DATADIR%%/resources/inspector/third_party/wasmparser/WasmParser.js +%%DATADIR%%/resources/inspector/timeline_model/timeline_model_module.js +%%DATADIR%%/resources/inspector/timeline_model/timeline_model-legacy.js +%%DATADIR%%/resources/inspector/timeline_model/timeline_model.js +%%DATADIR%%/resources/inspector/timeline_model/TimelineFrameModel.js +%%DATADIR%%/resources/inspector/timeline_model/TimelineIRModel.js +%%DATADIR%%/resources/inspector/timeline_model/TimelineJSProfile.js +%%DATADIR%%/resources/inspector/timeline_model/TimelineModel.js +%%DATADIR%%/resources/inspector/timeline_model/TimelineModelFilter.js +%%DATADIR%%/resources/inspector/timeline_model/TimelineProfileTree.js +%%DATADIR%%/resources/inspector/timeline_model/TracingLayerTree.js +%%DATADIR%%/resources/inspector/timeline/timeline_module.js +%%DATADIR%%/resources/inspector/timeline/timeline-legacy.js +%%DATADIR%%/resources/inspector/timeline/timeline.js +%%DATADIR%%/resources/inspector/timeline/CountersGraph.js +%%DATADIR%%/resources/inspector/timeline/EventsTimelineTreeView.js +%%DATADIR%%/resources/inspector/timeline/ExtensionTracingSession.js +%%DATADIR%%/resources/inspector/timeline/PerformanceModel.js +%%DATADIR%%/resources/inspector/timeline/TimelineController.js +%%DATADIR%%/resources/inspector/timeline/TimelineDetailsView.js +%%DATADIR%%/resources/inspector/timeline/TimelineEventOverview.js +%%DATADIR%%/resources/inspector/timeline/TimelineFilters.js +%%DATADIR%%/resources/inspector/timeline/TimelineFlameChartDataProvider.js +%%DATADIR%%/resources/inspector/timeline/TimelineFlameChartNetworkDataProvider.js +%%DATADIR%%/resources/inspector/timeline/TimelineFlameChartView.js +%%DATADIR%%/resources/inspector/timeline/TimelineHistoryManager.js +%%DATADIR%%/resources/inspector/timeline/TimelineLayersView.js +%%DATADIR%%/resources/inspector/timeline/TimelineLoader.js +%%DATADIR%%/resources/inspector/timeline/TimelinePaintProfilerView.js +%%DATADIR%%/resources/inspector/timeline/TimelinePanel.js +%%DATADIR%%/resources/inspector/timeline/TimelineTreeView.js +%%DATADIR%%/resources/inspector/timeline/TimelineUIUtils.js +%%DATADIR%%/resources/inspector/timeline/UIDevtoolsController.js +%%DATADIR%%/resources/inspector/timeline/UIDevtoolsUtils.js +%%DATADIR%%/resources/inspector/toolbox_bootstrap/toolbox_bootstrap.js +%%DATADIR%%/resources/inspector/toolbox.html +%%DATADIR%%/resources/inspector/toolbox.js +%%DATADIR%%/resources/inspector/ui/Action.js +%%DATADIR%%/resources/inspector/ui/ActionDelegate.js +%%DATADIR%%/resources/inspector/ui/ActionRegistry.js +%%DATADIR%%/resources/inspector/ui/ARIAUtils.js +%%DATADIR%%/resources/inspector/ui/Context.js +%%DATADIR%%/resources/inspector/ui/ContextFlavorListener.js +%%DATADIR%%/resources/inspector/ui/ContextMenu.js +%%DATADIR%%/resources/inspector/ui/Dialog.js +%%DATADIR%%/resources/inspector/ui/DropTarget.js +%%DATADIR%%/resources/inspector/ui/EmptyWidget.js +%%DATADIR%%/resources/inspector/ui/FilterBar.js +%%DATADIR%%/resources/inspector/ui/FilterSuggestionBuilder.js +%%DATADIR%%/resources/inspector/ui/ForwardedInputEventHandler.js +%%DATADIR%%/resources/inspector/ui/Fragment.js +%%DATADIR%%/resources/inspector/ui/Geometry.js +%%DATADIR%%/resources/inspector/ui/GlassPane.js +%%DATADIR%%/resources/inspector/ui/HistoryInput.js +%%DATADIR%%/resources/inspector/ui/Icon.js +%%DATADIR%%/resources/inspector/ui/Infobar.js +%%DATADIR%%/resources/inspector/ui/InplaceEditor.js +%%DATADIR%%/resources/inspector/ui/InspectorView.js +%%DATADIR%%/resources/inspector/ui/KeyboardShortcut.js +%%DATADIR%%/resources/inspector/ui/ListControl.js +%%DATADIR%%/resources/inspector/ui/ListModel.js +%%DATADIR%%/resources/inspector/ui/ListWidget.js +%%DATADIR%%/resources/inspector/ui/Panel.js +%%DATADIR%%/resources/inspector/ui/PopoverHelper.js +%%DATADIR%%/resources/inspector/ui/ProgressIndicator.js +%%DATADIR%%/resources/inspector/ui/RemoteDebuggingTerminatedScreen.js +%%DATADIR%%/resources/inspector/ui/ReportView.js +%%DATADIR%%/resources/inspector/ui/ResizerWidget.js +%%DATADIR%%/resources/inspector/ui/RootView.js +%%DATADIR%%/resources/inspector/ui/SearchableView.js +%%DATADIR%%/resources/inspector/ui/SegmentedButton.js +%%DATADIR%%/resources/inspector/ui/SettingsUI.js +%%DATADIR%%/resources/inspector/ui/ShortcutRegistry.js +%%DATADIR%%/resources/inspector/ui/ShortcutsScreen.js +%%DATADIR%%/resources/inspector/ui/SoftContextMenu.js +%%DATADIR%%/resources/inspector/ui/SoftDropDown.js +%%DATADIR%%/resources/inspector/ui/SplitWidget.js +%%DATADIR%%/resources/inspector/ui/SuggestBox.js +%%DATADIR%%/resources/inspector/ui/SyntaxHighlighter.js +%%DATADIR%%/resources/inspector/ui/TabbedPane.js +%%DATADIR%%/resources/inspector/ui/TargetCrashedScreen.js +%%DATADIR%%/resources/inspector/ui/TextEditor.js +%%DATADIR%%/resources/inspector/ui/TextPrompt.js +%%DATADIR%%/resources/inspector/ui/ThrottledWidget.js +%%DATADIR%%/resources/inspector/ui/Toolbar.js +%%DATADIR%%/resources/inspector/ui/Tooltip.js +%%DATADIR%%/resources/inspector/ui/Treeoutline.js +%%DATADIR%%/resources/inspector/ui/ui.js +%%DATADIR%%/resources/inspector/ui/ui-legacy.js +%%DATADIR%%/resources/inspector/ui/UIUtils.js +%%DATADIR%%/resources/inspector/ui/View.js +%%DATADIR%%/resources/inspector/ui/ViewManager.js +%%DATADIR%%/resources/inspector/ui/Widget.js +%%DATADIR%%/resources/inspector/ui/XElement.js +%%DATADIR%%/resources/inspector/ui/XLink.js +%%DATADIR%%/resources/inspector/ui/XWidget.js +%%DATADIR%%/resources/inspector/ui/ZoomManager.js +%%DATADIR%%/resources/inspector/ui/utils/append-style.js +%%DATADIR%%/resources/inspector/ui/utils/create-shadow-root-with-core-styles.js +%%DATADIR%%/resources/inspector/ui/utils/focus-changed.js +%%DATADIR%%/resources/inspector/ui/utils/inject-core-styles.js +%%DATADIR%%/resources/inspector/ui/utils/measured-scrollbar-width.js +%%DATADIR%%/resources/inspector/ui/utils/register-custom-element.js +%%DATADIR%%/resources/inspector/ui/utils/utils.js +%%DATADIR%%/resources/inspector/wasmparser_worker_entrypoint.js +%%DATADIR%%/resources/inspector/wasmparser_worker/wasmparser_worker.js +%%DATADIR%%/resources/inspector/wasmparser_worker/WasmParserWorker.js +%%DATADIR%%/resources/inspector/web_audio/web_audio_module.js +%%DATADIR%%/resources/inspector/web_audio/web_audio-legacy.js +%%DATADIR%%/resources/inspector/web_audio/web_audio.js +%%DATADIR%%/resources/inspector/web_audio/AudioContextContentBuilder.js +%%DATADIR%%/resources/inspector/web_audio/AudioContextSelector.js +%%DATADIR%%/resources/inspector/web_audio/graph_visualizer/EdgeView.js +%%DATADIR%%/resources/inspector/web_audio/graph_visualizer/GraphManager.js +%%DATADIR%%/resources/inspector/web_audio/graph_visualizer/GraphStyle.js +%%DATADIR%%/resources/inspector/web_audio/graph_visualizer/GraphView.js +%%DATADIR%%/resources/inspector/web_audio/graph_visualizer/NodeRendererUtility.js +%%DATADIR%%/resources/inspector/web_audio/graph_visualizer/NodeView.js +%%DATADIR%%/resources/inspector/web_audio/WebAudioModel.js +%%DATADIR%%/resources/inspector/web_audio/WebAudioView.js +%%DATADIR%%/resources/inspector/worker_app.html +%%DATADIR%%/resources/inspector/worker_app.js +%%DATADIR%%/resources/inspector/worker_main/worker_main-legacy.js +%%DATADIR%%/resources/inspector/worker_main/worker_main.js +%%DATADIR%%/resources/inspector/worker_main/WorkerMain.js +%%DATADIR%%/resources/inspector/workspace_diff/workspace_diff_module.js +%%DATADIR%%/resources/inspector/workspace_diff/workspace_diff-legacy.js +%%DATADIR%%/resources/inspector/workspace_diff/workspace_diff.js +%%DATADIR%%/resources/inspector/workspace_diff/WorkspaceDiff.js +%%DATADIR%%/resources/inspector/workspace/FileManager.js +%%DATADIR%%/resources/inspector/workspace/UISourceCode.js +%%DATADIR%%/resources/inspector/workspace/workspace.js +%%DATADIR%%/resources/inspector/workspace/workspace-legacy.js +%%DATADIR%%/resources/inspector/workspace/WorkspaceImpl.js +%%DATADIR%%/snapshot_blob.bin +%%DATADIR%%/libvk_swiftshader.so +%%DATADIR%%/swiftshader/libEGL.so +%%DATADIR%%/swiftshader/libGLESv2.so +%%DATADIR%%/v8_context_snapshot.bin +%%DEBUG%%%%DATADIR%%/character_data_generator +%%DEBUG%%%%DATADIR%%/libVkLayer_khronos_validation.so +%%DEBUG%%%%DATADIR%%/libvulkan.so +man/man1/iridium.1.gz +share/applications/iridium-browser.desktop +share/icons/hicolor/128x128/apps/iridium.png +share/icons/hicolor/22x22/apps/iridium.png +share/icons/hicolor/24x24/apps/iridium.png +share/icons/hicolor/256x256/apps/iridium.png +share/icons/hicolor/48x48/apps/iridium.png +share/icons/hicolor/64x64/apps/iridium.png |