diff --git a/www/chromium/Makefile b/www/chromium/Makefile index b3c04a824fd4..d8adb70ae88c 100644 --- a/www/chromium/Makefile +++ b/www/chromium/Makefile @@ -1,358 +1,342 @@ # Created by: Florent Thoumie PORTNAME= chromium -PORTVERSION= 97.0.4692.99 +PORTVERSION= 98.0.4758.102 CATEGORIES= www MASTER_SITES= https://commondatastorage.googleapis.com/chromium-browser-official/ \ LOCAL/rene/chromium/:fonts DISTFILES= ${DISTNAME}${EXTRACT_SUFX} MAINTAINER= chromium@FreeBSD.org COMMENT= Google web browser based on WebKit LICENSE= BSD3CLAUSE LGPL21 MPL11 LICENSE_COMB= multi ONLY_FOR_ARCHS= aarch64 amd64 i386 -BROKEN_i386= Does not compile, __ElfN macros unknown BUILD_DEPENDS= bash:shells/bash \ ${PYTHON_PKGNAMEPREFIX}Jinja2>0:devel/py-Jinja2@${PY_FLAVOR} \ ${PYTHON_PKGNAMEPREFIX}ply>0:devel/py-ply@${PY_FLAVOR} \ gperf:devel/gperf \ ffmpeg>=3.2.2,1:multimedia/ffmpeg \ flock:sysutils/flock \ node:www/node \ xcb-proto>0:x11/xcb-proto \ ${LOCALBASE}/bin/ar:devel/binutils \ ${LOCALBASE}/include/linux/videodev2.h:multimedia/v4l_compat \ ${LOCALBASE}/share/usbids/usb.ids:misc/usbids \ ${PYTHON_PKGNAMEPREFIX}html5lib>0:www/py-html5lib@${PY_FLAVOR} \ ${LOCALBASE}/include/va/va.h:multimedia/libva \ - ${LOCALBASE}/bin/python2.7:lang/python27 + ${LOCALBASE}/bin/python2.7:lang/python27 \ + ${LOCALBASE}/libdata/pkgconfig/dri.pc:graphics/mesa-dri 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 \ libxkbcommon.so:x11/libxkbcommon \ libxshmfence.so:x11/libxshmfence RUN_DEPENDS= xdg-open:devel/xdg-utils \ noto-basic>0:x11-fonts/noto-basic USES= bison compiler:c++17-lang cpe desktop-file-utils dos2unix gl gnome jpeg localbase:ldflags \ ninja perl5 pkgconfig python:3.6-3.9,build shebangfix tar:xz xorg CPE_VENDOR= google CPE_PRODUCT= chrome -DOS2UNIX_FILES= third_party/skia/third_party/vulkanmemoryallocator/include/vk_mem_alloc.h +DOS2UNIX_FILES= third_party/vulkan_memory_allocator/include/vk_mem_alloc.h USE_GL= gbm gl USE_GNOME= atk dconf gdkpixbuf2 glib20 gtk30 libxml2 libxslt USE_LDCONFIG= ${DATADIR} USE_PERL5= build USE_XORG= x11 xcb xcomposite xcursor xext xdamage xfixes xi \ xorgproto xrandr xrender xscrnsaver xtst SHEBANG_FILES= chrome/tools/build/linux/chrome-wrapper buildtools/linux64/clang-format MAKE_ARGS= -C out/${BUILDTYPE} ALL_TARGET= chrome BINARY_ALIAS= python=${LOCALBASE}/bin/python2.7 \ python3=${PYTHON_CMD} -EXTRA_PATCHES+= ${FILESDIR}/extra-patch-clang # TODO bz@ : install libwidevinecdm.so (see third_party/widevine/cdm/BUILD.gn) # # 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=true \ enable_js_type_check=false \ enable_nacl=false \ enable_one_click_signin=true \ enable_remoting=false \ + enable_wmax_tokens=false \ + fatal_linker_warnings=false \ is_clang=true \ optimize_webui=false \ 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=false \ use_system_harfbuzz=true \ use_system_libjpeg=true \ + use_udev=false \ 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 # FreeBSD Chromium Api Key # Set up Google API keys, see http://www.chromium.org/developers/how-tos/api-keys . # Note: these are for FreeBSD use ONLY. For your own distribution, # please get your own set of keys. GN_ARGS+= google_api_key="AIzaSyBsp9n41JLW8jCokwn7vhoaMejDFRd1mp8" SUB_FILES= chromium-browser.desktop chrome SUB_LIST+= COMMENT="${COMMENT}" OPTIONS_DEFINE= CODECS CUPS DEBUG DRIVER KERBEROS LTO TEST OPTIONS_DEFAULT= CODECS CUPS DRIVER KERBEROS SNDIO OPTIONS_EXCLUDE_aarch64=LTO OPTIONS_GROUP= AUDIO OPTIONS_GROUP_AUDIO= ALSA PULSEAUDIO SNDIO OPTIONS_RADIO= KERBEROS OPTIONS_RADIO_KERBEROS= HEIMDAL HEIMDAL_BASE MIT OPTIONS_SUB= yes CODECS_DESC= Compile and enable patented codecs like H.264 DRIVER_DESC= Install chromedriver HEIMDAL_BASE_DESC= Heimdal Kerberos (base) HEIMDAL_DESC= Heimdal Kerberos (security/heimdal) MIT_DESC= MIT Kerberos (security/krb5) 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="13 GB" 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="6.5 GB" DRIVER_MAKE_ARGS= chromedriver HEIMDAL_LIB_DEPENDS= libkrb.so.26:security/heimdal KERBEROS_VARS= GN_ARGS+=use_kerberos=true KERBEROS_VARS_OFF= GN_ARGS+=use_kerberos=false LTO_VARS= GN_ARGS+=use_thin_lto=true \ GN_ARGS+=thin_lto_enable_optimizations=true \ WANTSPACE="14 GB" LTO_VARS_OFF= GN_ARGS+=use_thin_lto=false MIT_LIB_DEPENDS= libkrb.so.3:security/krb5 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 or PulseAudio. 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 .include "Makefile.tests" TEST_DISTFILES= ${PORTNAME}-${DISTVERSION}-testdata${EXTRACT_SUFX} \ test_fonts-85${EXTRACT_SUFX}:fonts TEST_ALL_TARGET= ${TEST_TARGETS} .include .include -# Add extra-patch-no-mempcpy-nasm only when there's no mempcpy() in base. -# Nested variable expansion avoids executing the test when not needed for -# expanding EXTRA_PATCHES. -EXTRA_PATCHES+= ${"${:!${GREP} mempcpy ${CROSS_SYSROOT}/usr/include/string.h \ - || ${TRUE}!}" == "":?${PATCHDIR}/extra-patch-no-mempcpy-nasm:} - .if ${PORT_OPTIONS:MHEIMDAL_BASE} && !exists(/usr/lib/libkrb5.so) IGNORE= you have selected HEIMDAL_BASE but do not have Heimdal installed in base .endif .if ${COMPILER_VERSION} < 120 -EXTRA_PATCHES+= ${PATCHDIR}/extra-patch-build_config_compiler_pgo_pgo.gni .if ${PORT_OPTIONS:MLTO} BROKEN+= does not build with LTO needs LLVM 12+ .endif .endif # swiftshader/lib/{libEGL.so,libGLESv2.so} is x86 only .if ${ARCH} == aarch64 PLIST_SUB+= NOT_AARCH64="@comment " .else PLIST_SUB+= NOT_AARCH64="" .endif # 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 Chromium, you should have around 2GB of memory" @${ECHO_MSG} "and around ${WANTSPACE} of free disk space." @${ECHO_MSG} post-extract-TEST-on: @${MKDIR} ${WRKSRC}/third_party/test_fonts/test_fonts @${MV} ${WRKDIR}/test_fonts ${WRKSRC}/third_party/test_fonts/ -post-patch: - @${MKDIR} ${WRKSRC}/sandbox/policy/freebsd - @${CP} ${FILESDIR}/dir_reader_freebsd.h ${WRKSRC}/base/files - @${CP} ${FILESDIR}/device_info_fetcher_freebsd.h ${WRKSRC}/chrome/browser/enterprise/signals - @${CP} ${FILESDIR}/device_info_fetcher_freebsd.cc ${WRKSRC}/chrome/browser/enterprise/signals - @${CP} ${FILESDIR}/sandbox_freebsd.h ${WRKSRC}/sandbox/policy/freebsd - @${CP} ${FILESDIR}/sandbox_freebsd.cc ${WRKSRC}/sandbox/policy/freebsd - -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 chromium uses # system libraries and not shipped 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 \ - flac fontconfig freetype harfbuzz-ng libdrm libpng libwebp libxml libxslt openh264 opus snappy || ${FALSE} + flac fontconfig freetype harfbuzz-ng libusb libdrm libpng libwebp libxml libxslt openh264 opus snappy || ${FALSE} # Chromium uses an unreleased version of FFmpeg, so configure it +.for brand in Chrome Chromium ${CP} -R \ - ${WRKSRC}/third_party/ffmpeg/chromium/config/Chrome/linux/ \ - ${WRKSRC}/third_party/ffmpeg/chromium/config/Chrome/freebsd + ${WRKSRC}/third_party/ffmpeg/chromium/config/${brand}/linux/ \ + ${WRKSRC}/third_party/ffmpeg/chromium/config/${brand}/freebsd +.endfor 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 + @${MKDIR} ${WRKSRC}/third_party/node/freebsd/node-freebsd/bin + ${LN} -sf ${LOCALBASE}/bin/node ${WRKSRC}/third_party/node/freebsd/node-freebsd/bin/node # Setup buildtools/freebsd @${MKDIR} ${WRKSRC}/buildtools/freebsd ${LN} -sf ${WRKSRC}/buildtools/linux64/clang-format ${WRKSRC}/buildtools/freebsd ${LN} -sf ${WRKSRC}/out/${BUILDTYPE}/gn ${WRKSRC}/buildtools/freebsd ${LN} -sf /usr/bin/strip ${WRKSRC}/buildtools/freebsd/strip do-install: @${MKDIR} ${STAGEDIR}${DATADIR} ${INSTALL_MAN} ${WRKSRC}/chrome/app/resources/manpage.1.in \ ${STAGEDIR}${MANPREFIX}/man/man1/chrome.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/chrome.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} cd ${WRKSRC}/out/${BUILDTYPE} && \ ${COPYTREE_SHARE} "locales resources" ${STAGEDIR}${DATADIR} @${MKDIR} ${STAGEDIR}${DESKTOPDIR} ${INSTALL_DATA} ${WRKDIR}/chromium-browser.desktop \ ${STAGEDIR}${DESKTOPDIR} ${INSTALL_SCRIPT} ${WRKDIR}/chrome ${STAGEDIR}${PREFIX}/bin ${INSTALL_SCRIPT} ${WRKSRC}/chrome/tools/build/linux/chrome-wrapper \ ${STAGEDIR}${DATADIR} # ANGLE, EGL, Vk .for f in libEGL.so libGLESv2.so libVkICD_mock_icd.so ${INSTALL_LIB} ${WRKSRC}/out/${BUILDTYPE}/${f} ${STAGEDIR}${DATADIR} .endfor .if ${BUILDTYPE} == Debug ${INSTALL_LIB} ${WRKSRC}/out/${BUILDTYPE}/libVkLayer_khronos_validation.so ${STAGEDIR}${DATADIR} .endif # SwiftShader .if ${ARCH} != aarch64 @${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 .endif post-install-DEBUG-on: ${INSTALL_LIB} ${WRKSRC}/out/${BUILDTYPE}/*.so \ ${STAGEDIR}${DATADIR} ${INSTALL_LIB} ${WRKSRC}/out/${BUILDTYPE}/libvulkan.so.1 \ ${STAGEDIR}${DATADIR} ${INSTALL_PROGRAM} ${WRKSRC}/out/${BUILDTYPE}/character_data_generator \ ${STAGEDIR}${DATADIR} post-install-DRIVER-on: - ${INSTALL_PROGRAM} ${WRKSRC}/out/${BUILDTYPE}/chromedriver \ - ${STAGEDIR}${PREFIX}/bin + ${INSTALL_PROGRAM} ${WRKSRC}/out/${BUILDTYPE}/chromedriver.unstripped \ + ${STAGEDIR}${PREFIX}/bin/chromedriver do-test-TEST-on: .for t in ${TEST_TARGETS} cd ${WRKSRC}/out/${BUILDTYPE} && ${SETENV} LC_ALL=en_US.UTF-8 \ ./${t} --gtest_filter=-${EXCLUDE_${t}:ts:} || ${TRUE} .endfor .include diff --git a/www/chromium/distinfo b/www/chromium/distinfo index b74af3a6db33..4f04e0f5b957 100644 --- a/www/chromium/distinfo +++ b/www/chromium/distinfo @@ -1,7 +1,7 @@ -TIMESTAMP = 1642767718 -SHA256 (chromium-97.0.4692.99.tar.xz) = c91bae205705b367f2cfc1f72ce1ee99b2ceb5edfc584e15c60a6ab5ff01ecba -SIZE (chromium-97.0.4692.99.tar.xz) = 1213731872 -SHA256 (chromium-97.0.4692.99-testdata.tar.xz) = 4d27100d2a5dda623231fb341a53c5f71fb52a5e2eeec37ccee8f6dfd568d139 -SIZE (chromium-97.0.4692.99-testdata.tar.xz) = 259732316 +TIMESTAMP = 1645271488 +SHA256 (chromium-98.0.4758.102.tar.xz) = 415b47e912766cd07f9f52e95bc6470b835acf1d6f566ae32e66ba8be608f33e +SIZE (chromium-98.0.4758.102.tar.xz) = 1242565220 +SHA256 (chromium-98.0.4758.102-testdata.tar.xz) = d18ea0af0a9a87d53e75fbdbd886b17f689e00486f819905b38f02a2619504e6 +SIZE (chromium-98.0.4758.102-testdata.tar.xz) = 258963780 SHA256 (test_fonts-85.tar.xz) = f22b61b3639acb147c98ec2e2305d8b96f0b55c8c74c40e2ea696402fae8cef9 SIZE (test_fonts-85.tar.xz) = 9511984 diff --git a/www/chromium/files/audio_manager_openbsd.cc b/www/chromium/files/audio_manager_openbsd.cc deleted file mode 100644 index 0521930829df..000000000000 --- a/www/chromium/files/audio_manager_openbsd.cc +++ /dev/null @@ -1,177 +0,0 @@ -// 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 audio_thread, - AudioLogFactory* audio_log_factory) - : AudioManagerBase(std::move(audio_thread), - audio_log_factory) { - DLOG(INFO) << "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(INFO) << "MakeInputStream"; - return new SndioAudioInputStream(this, - AudioDeviceDescription::kDefaultDeviceId, params); -} - -AudioOutputStream* AudioManagerOpenBSD::MakeOutputStream( - const AudioParameters& params) { - DLOG(INFO) << "MakeOutputStream"; - return new SndioAudioOutputStream(params, this); -} -#endif - -std::unique_ptr CreateAudioManager( - std::unique_ptr audio_thread, - AudioLogFactory* audio_log_factory) { - DLOG(INFO) << "CreateAudioManager"; -#if defined(USE_SNDIO) - UMA_HISTOGRAM_ENUMERATION("Media.OpenBSDAudioIO", kSndio, kAudioIOMax + 1); - return std::make_unique(std::move(audio_thread), - audio_log_factory); -#else - return std::make_unique(std::move(audio_thread), - audio_log_factory); -#endif - -} - -} // namespace media diff --git a/www/chromium/files/audio_manager_openbsd.h b/www/chromium/files/audio_manager_openbsd.h deleted file mode 100644 index 8c99db966d65..000000000000 --- a/www/chromium/files/audio_manager_openbsd.h +++ /dev/null @@ -1,65 +0,0 @@ -// 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 - -#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 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/chromium/files/device_info_fetcher_freebsd.cc b/www/chromium/files/device_info_fetcher_freebsd.cc deleted file mode 100644 index dcd5af716e46..000000000000 --- a/www/chromium/files/device_info_fetcher_freebsd.cc +++ /dev/null @@ -1,141 +0,0 @@ -// Copyright 2020 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 "chrome/browser/enterprise/signals/device_info_fetcher_freebsd.h" - -#if defined(USE_GIO) -#include -#endif // defined(USE_GIO) -#include -#include -#include -#include -#include - -#include - -#include "base/environment.h" -#include "base/files/dir_reader_posix.h" -#include "base/files/file.h" -#include "base/files/file_util.h" -#include "base/nix/xdg_util.h" -#include "base/strings/string_split.h" -#include "base/strings/string_util.h" -#include "base/strings/stringprintf.h" -#include "base/system/sys_info.h" -#include "net/base/network_interfaces.h" - -namespace enterprise_signals { - -namespace { - -std::string GetDeviceModel() { - return base::SysInfo::HardwareModelName(); -} - -std::string GetOsVersion() { - return base::SysInfo::OperatingSystemVersion(); -} - -std::string GetDeviceHostName() { - return net::GetHostName(); -} - -std::string GetSerialNumber() { - return std::string(); -} - -// Implements the logic from the native client setup script. It reads the -// setting value straight from gsettings but picks the schema relevant to the -// currently active desktop environment. -// The current implementation support Gnone and Cinnamon only. -SettingValue GetScreenlockSecured() { -#if defined(USE_GIO) - static constexpr char kLockScreenKey[] = "lock-enabled"; - - std::unique_ptr env(base::Environment::Create()); - const base::nix::DesktopEnvironment desktop_env = - base::nix::GetDesktopEnvironment(env.get()); - if (desktop_env != base::nix::DESKTOP_ENVIRONMENT_CINNAMON && - desktop_env != base::nix::DESKTOP_ENVIRONMENT_GNOME) { - return SettingValue::UNKNOWN; - } - - const std::string settings_schema = base::StringPrintf( - "org.%s.desktop.screensaver", - desktop_env == base::nix::DESKTOP_ENVIRONMENT_CINNAMON ? "cinnamon" - : "gnome"); - - GSettingsSchema* screensaver_schema = g_settings_schema_source_lookup( - g_settings_schema_source_get_default(), settings_schema.c_str(), FALSE); - GSettings* screensaver_settings = nullptr; - if (!screensaver_schema || - !g_settings_schema_has_key(screensaver_schema, kLockScreenKey)) { - return SettingValue::UNKNOWN; - } - screensaver_settings = g_settings_new(settings_schema.c_str()); - if (!screensaver_settings) - return SettingValue::UNKNOWN; - gboolean lock_screen_enabled = - g_settings_get_boolean(screensaver_settings, kLockScreenKey); - g_object_unref(screensaver_settings); - - return lock_screen_enabled ? SettingValue::ENABLED : SettingValue::DISABLED; -#else - return SettingValue::UNKNOWN; -#endif // defined(USE_GIO) -} - -// Implements the logic from the native host installation script. First find the -// root device identifier, then locate its parent and get its type. -SettingValue GetDiskEncrypted() { - return SettingValue::UNKNOWN; -} - -std::vector GetMacAddresses() { - std::vector result; - struct ifaddrs* ifa = nullptr; - - if (getifaddrs(&ifa) != 0) - return result; - - struct ifaddrs* interface = ifa; - for (; interface != nullptr; interface = interface->ifa_next) { - if (interface->ifa_addr == nullptr || - interface->ifa_addr->sa_family != AF_LINK) { - continue; - } - struct sockaddr_dl* sdl = - reinterpret_cast(interface->ifa_addr); - if (!sdl || sdl->sdl_alen != 6) - continue; - char* link_address = static_cast(LLADDR(sdl)); - result.push_back(base::StringPrintf( - "%02x:%02x:%02x:%02x:%02x:%02x", link_address[0] & 0xff, - link_address[1] & 0xff, link_address[2] & 0xff, link_address[3] & 0xff, - link_address[4] & 0xff, link_address[5] & 0xff)); - } - return result; -} - -} // namespace - -DeviceInfoFetcherFreeBSD::DeviceInfoFetcherFreeBSD() = default; - -DeviceInfoFetcherFreeBSD::~DeviceInfoFetcherFreeBSD() = default; - -DeviceInfo DeviceInfoFetcherFreeBSD::Fetch() { - DeviceInfo device_info; - device_info.os_name = "freebsd"; - device_info.os_version = GetOsVersion(); - device_info.device_host_name = GetDeviceHostName(); - device_info.device_model = GetDeviceModel(); - device_info.serial_number = GetSerialNumber(); - device_info.screen_lock_secured = GetScreenlockSecured(); - device_info.disk_encrypted = GetDiskEncrypted(); - device_info.mac_addresses = GetMacAddresses(); - return device_info; -} - -} // namespace enterprise_signals diff --git a/www/chromium/files/device_info_fetcher_freebsd.h b/www/chromium/files/device_info_fetcher_freebsd.h deleted file mode 100644 index 2cd2f213f828..000000000000 --- a/www/chromium/files/device_info_fetcher_freebsd.h +++ /dev/null @@ -1,26 +0,0 @@ -// Copyright 2021 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 CHROME_BROWSER_ENTERPRISE_SIGNALS_DEVICE_INFO_FETCHER_FREEBSD_H_ -#define CHROME_BROWSER_ENTERPRISE_SIGNALS_DEVICE_INFO_FETCHER_FREEBSD_H_ - -#include "chrome/browser/enterprise/signals/device_info_fetcher.h" - -namespace enterprise_signals { - -// FreeBSD implementation of DeviceInfoFetcher. -class DeviceInfoFetcherFreeBSD : public DeviceInfoFetcher { - public: - DeviceInfoFetcherFreeBSD(); - DeviceInfoFetcherFreeBSD(const DeviceInfoFetcherFreeBSD&) = delete; - DeviceInfoFetcherFreeBSD& operator=(const DeviceInfoFetcherFreeBSD&) = delete; - ~DeviceInfoFetcherFreeBSD() override; - - // Overrides DeviceInfoFetcher: - DeviceInfo Fetch() override; -}; - -} // namespace enterprise_signals - -#endif // CHROME_BROWSER_ENTERPRISE_SIGNALS_DEVICE_INFO_FETCHER_FREEBSD_H_ diff --git a/www/chromium/files/dir_reader_freebsd.h b/www/chromium/files/dir_reader_freebsd.h deleted file mode 100644 index 7be73f000577..000000000000 --- a/www/chromium/files/dir_reader_freebsd.h +++ /dev/null @@ -1,95 +0,0 @@ -// 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 BASE_FILES_DIR_READER_FREEBSD_H_ -#define BASE_FILES_DIR_READER_FREEBSD_H_ - -#include -#include -#include -#include -#include -#include -#include -#include - -#include "base/logging.h" -#include "base/posix/eintr_wrapper.h" - -// See the comments in dir_reader_posix.h about this. - -namespace base { - -class DirReaderFreeBSD { - public: - explicit DirReaderFreeBSD(const char* directory_path) - : fd_(open(directory_path, O_RDONLY | O_DIRECTORY)), - offset_(0), - size_(0) { - memset(buf_, 0, sizeof(buf_)); - } - - DirReaderFreeBSD(const DirReaderFreeBSD&) = delete; - DirReaderFreeBSD& operator=(const DirReaderFreeBSD&) = delete; - - ~DirReaderFreeBSD() { - if (fd_ >= 0) { - if (IGNORE_EINTR(close(fd_))) - RAW_LOG(ERROR, "Failed to close directory handle"); - } - } - - bool IsValid() const { - return fd_ >= 0; - } - - // Move to the next entry returning false if the iteration is complete. - bool Next() { - if (size_) { - struct dirent* dirent = reinterpret_cast(&buf_[offset_]); - offset_ += dirent->d_reclen; - } - - if (offset_ != size_) - return true; - - ssize_t r = getdents(fd_, buf_, sizeof(buf_)); - if (r == 0) - return false; - if (r == -1) { - DPLOG(FATAL) << "getdents failed"; - return false; - } - size_ = r; - offset_ = 0; - return true; - } - - const char* name() const { - if (!size_) - return nullptr; - - const struct dirent* dirent = - reinterpret_cast(&buf_[offset_]); - return dirent->d_name; - } - - int fd() const { - return fd_; - } - - static bool IsFallback() { - return false; - } - - private: - const int fd_; - alignas(struct dirent) unsigned char buf_[512]; - size_t offset_; - size_t size_; -}; - -} // namespace base - -#endif // BASE_FILES_DIR_READER_LINUX_H_ diff --git a/www/chromium/files/extra-patch-clang b/www/chromium/files/extra-patch-clang deleted file mode 100644 index 104bbce09cda..000000000000 --- a/www/chromium/files/extra-patch-clang +++ /dev/null @@ -1,29 +0,0 @@ ---- 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("", 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(value); - // Destructors should never be called with a NULL. -- ASSERT_NE(reinterpret_cast(NULL), ptr); -+ ASSERT_NE(static_cast(NULL), ptr); - if (*ptr == kFinalTlsValue) - return; // We've been called enough times. - ASSERT_LT(kFinalTlsValue, *ptr); diff --git a/www/chromium/files/extra-patch-no-mempcpy-nasm b/www/chromium/files/extra-patch-no-mempcpy-nasm deleted file mode 100644 index 2a62e36e7edf..000000000000 --- a/www/chromium/files/extra-patch-no-mempcpy-nasm +++ /dev/null @@ -1,11 +0,0 @@ ---- third_party/nasm/config/config-linux.h.orig 2021-04-14 18:43:05 UTC -+++ third_party/nasm/config/config-linux.h -@@ -336,7 +336,7 @@ - #define HAVE_MEMORY_H 1 - - /* Define to 1 if you have the `mempcpy' function. */ --#define HAVE_MEMPCPY 1 -+/* #undef HAVE_MEMPCPY */ - - /* Define to 1 if you have a working `mmap' system call. */ - #define HAVE_MMAP 1 diff --git a/www/chromium/files/patch-3p-pdfium_3p_base_allocator_partition__allocator_page__allocator__internals__posix.h b/www/chromium/files/patch-3p-pdfium_3p_base_allocator_partition__allocator_page__allocator__internals__posix.h deleted file mode 100644 index fdbba9ffa23b..000000000000 --- a/www/chromium/files/patch-3p-pdfium_3p_base_allocator_partition__allocator_page__allocator__internals__posix.h +++ /dev/null @@ -1,11 +0,0 @@ ---- third_party/pdfium/third_party/base/allocator/partition_allocator/page_allocator_internals_posix.h.orig 2022-01-20 10:37:51 UTC -+++ third_party/pdfium/third_party/base/allocator/partition_allocator/page_allocator_internals_posix.h -@@ -16,7 +16,7 @@ - #if defined(OS_ANDROID) - #include - #endif --#if defined(OS_LINUX) || defined(OS_CHROMEOS) -+#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD) - #include - - #include diff --git a/www/chromium/files/patch-BUILD.gn b/www/chromium/files/patch-BUILD.gn index 88cb1c24f737..fbf272d4b247 100644 --- a/www/chromium/files/patch-BUILD.gn +++ b/www/chromium/files/patch-BUILD.gn @@ -1,133 +1,72 @@ ---- BUILD.gn.orig 2021-12-31 00:57:15 UTC +--- BUILD.gn.orig 2022-02-07 13:39:41 UTC +++ BUILD.gn +@@ -52,7 +52,7 @@ declare_args() { + root_extra_deps = [] + } + +-if (is_official_build) { ++if (is_official_build && !is_bsd) { + # An official (maximally optimized!) component (optimized for build times) + # build doesn't make sense and usually doesn't work. + assert(!is_component_build) @@ -454,7 +454,7 @@ group("gn_all") { ] } - if (is_linux || is_chromeos || is_android) { + if ((is_linux && !is_bsd) || is_chromeos || is_android) { deps += [ "//third_party/breakpad:breakpad_unittests", "//third_party/breakpad:core-2-minidump", -@@ -500,8 +500,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", - ] - -@@ -512,7 +510,7 @@ group("gn_all") { - ] - } - -- if (is_chrome_branded && is_official_build) { -+ if (is_chrome_branded && is_official_build && !is_bsd) { - # TODO(dpranke): add the linux_dump_symbols flag? - deps += [ "//chrome:linux_symbols" ] +@@ -638,6 +638,15 @@ group("gn_all") { } -@@ -556,10 +554,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", -@@ -618,10 +612,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) { -@@ -699,7 +689,7 @@ group("gn_all") { ++ if (is_bsd) { ++ deps -= [ ++ "//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_mac) { + deps += [ + "//third_party/breakpad:crash_inspector", +@@ -688,7 +697,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)" ] } -@@ -715,7 +705,7 @@ group("gn_all") { - } - } - -- if (is_mac || is_win || is_android || is_linux || is_chromeos) { -+ if (is_mac || is_win || is_android || (is_linux && !is_bsd) || is_chromeos) { - deps += [ - "//third_party/crashpad/crashpad:crashpad_tests", - "//third_party/crashpad/crashpad/handler:crashpad_handler", -@@ -829,15 +819,17 @@ group("gn_all") { - "//chrome/browser/vr:vr_common_unittests", - "//chrome/browser/vr:vr_pixeltests", - ] -- if (!is_android) { -- deps += [ "//tools/perf/contrib/vr_benchmarks:vr_perf_tests" ] -- } else { -- deps += [ "//chrome/browser/android/vr:vr_android_unittests" ] -- import("//tools/perf/chrome_telemetry_build/android_browser_types.gni") -- foreach(_target_suffix, telemetry_android_browser_target_suffixes) { -- deps += [ -- "//tools/perf/contrib/vr_benchmarks:vr_perf_tests${_target_suffix}", -- ] -+ if (!is_bsd) { -+ if (!is_android) { -+ deps += [ "//tools/perf/contrib/vr_benchmarks:vr_perf_tests" ] -+ } else { -+ deps += [ "//chrome/browser/android/vr:vr_android_unittests" ] -+ import("//tools/perf/chrome_telemetry_build/android_browser_types.gni") -+ foreach(_target_suffix, telemetry_android_browser_target_suffixes) { -+ deps += [ -+ "//tools/perf/contrib/vr_benchmarks:vr_perf_tests${_target_suffix}", -+ ] -+ } - } - } - } -@@ -1140,7 +1132,7 @@ if (!is_ios) { +@@ -1139,7 +1148,7 @@ if (!is_ios) { data_deps += [ "//content/web_test:web_test_common_mojom_js_data_deps" ] } - if (!is_win && !is_android) { + if (!is_win && !is_android && !is_bsd) { data_deps += [ "//third_party/breakpad:minidump_stackwalk($host_toolchain)" ] } -@@ -1149,7 +1141,7 @@ if (!is_ios) { +@@ -1148,7 +1157,7 @@ if (!is_ios) { data_deps += [ "//third_party/breakpad:dump_syms($host_toolchain)" ] } - if (is_linux || is_chromeos) { + if ((is_linux && !is_bsd) || is_chromeos) { data_deps += [ "//third_party/breakpad:dump_syms($host_toolchain)" ] } -@@ -1518,7 +1510,7 @@ group("chromium_builder_perf") { - data_deps += [ "//chrome/test:performance_browser_tests" ] - } - if (is_linux || is_chromeos_lacros) { -- if (is_official_build) { -+ if (is_official_build && !is_bsd) { - # In GN builds, this is controlled by the 'linux_dump_symbols' - # flag, which defaults to 1 for official builds. For now, - # we skip the separate flag and just key off of is_official_build. -@@ -1530,9 +1522,6 @@ group("chromium_builder_perf") { +@@ -1525,7 +1534,7 @@ 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)" ] ++ } else if (!is_bsd) { + data_deps += + [ "//third_party/breakpad:minidump_stackwalk($host_toolchain)" ] } - if (is_win || is_android) { - data_deps += [ diff --git a/www/chromium/files/patch-apps_app__restore__service__browsertest.cc b/www/chromium/files/patch-apps_app__restore__service__browsertest.cc deleted file mode 100644 index f206af1b2f52..000000000000 --- a/www/chromium/files/patch-apps_app__restore__service__browsertest.cc +++ /dev/null @@ -1,11 +0,0 @@ ---- apps/app_restore_service_browsertest.cc.orig 2021-12-14 11:44:54 UTC -+++ apps/app_restore_service_browsertest.cc -@@ -140,7 +140,7 @@ IN_PROC_BROWSER_TEST_F(PlatformAppBrowserTest, FileAcc - } - - // Flaky: crbug.com/269613 --#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_WIN) -+#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_WIN) || defined(OS_BSD) - #define MAYBE_FileAccessIsRestored DISABLED_FileAccessIsRestored - #else - #define MAYBE_FileAccessIsRestored FileAccessIsRestored diff --git a/www/chromium/files/patch-apps_ui_views_app__window__frame__view.cc b/www/chromium/files/patch-apps_ui_views_app__window__frame__view.cc index 715b413018fa..4c99002b2147 100644 --- a/www/chromium/files/patch-apps_ui_views_app__window__frame__view.cc +++ b/www/chromium/files/patch-apps_ui_views_app__window__frame__view.cc @@ -1,11 +1,11 @@ ---- apps/ui/views/app_window_frame_view.cc.orig 2021-04-14 18:40:47 UTC +--- apps/ui/views/app_window_frame_view.cc.orig 2022-02-07 13:39:41 UTC +++ apps/ui/views/app_window_frame_view.cc @@ -137,7 +137,7 @@ gfx::Rect AppWindowFrameView::GetWindowBoundsForClient gfx::Rect window_bounds = client_bounds; // TODO(crbug.com/1052397): Revisit once build flag switch of lacros-chrome is // complete. -#if defined(OS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS) -+#if defined(OS_LINUX) || defined(OS_BSD) || BUILDFLAG(IS_CHROMEOS_LACROS) ++#if defined(OS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS) || defined(OS_BSD) // 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/chromium/files/patch-ash_display_mirror__window__controller.cc b/www/chromium/files/patch-ash_display_mirror__window__controller.cc index 764566caed12..aae659dabc3b 100644 --- a/www/chromium/files/patch-ash_display_mirror__window__controller.cc +++ b/www/chromium/files/patch-ash_display_mirror__window__controller.cc @@ -1,14 +1,14 @@ ---- ash/display/mirror_window_controller.cc.orig 2021-12-31 00:57:16 UTC +--- ash/display/mirror_window_controller.cc.orig 2022-02-07 13:39:41 UTC +++ ash/display/mirror_window_controller.cc -@@ -284,7 +284,11 @@ void MirrorWindowController::UpdateWindow( +@@ -297,7 +297,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/chromium/files/patch-base_BUILD.gn b/www/chromium/files/patch-base_BUILD.gn index ac264690acfd..20b36c33a916 100644 --- a/www/chromium/files/patch-base_BUILD.gn +++ b/www/chromium/files/patch-base_BUILD.gn @@ -1,94 +1,102 @@ ---- base/BUILD.gn.orig 2021-12-31 00:57:18 UTC +--- base/BUILD.gn.orig 2022-02-07 13:39:41 UTC +++ base/BUILD.gn -@@ -954,7 +954,7 @@ component("base") { +@@ -975,7 +975,7 @@ component("base") { "timer/hi_res_timer_manager_posix.cc", ] - if (!is_nacl && !is_apple) { + if (!is_nacl && !is_apple && !is_bsd) { sources += [ "cpu_affinity_posix.cc", "cpu_affinity_posix.h", -@@ -965,6 +965,11 @@ component("base") { +@@ -986,6 +986,12 @@ component("base") { "profiler/thread_delegate_posix.h", ] } ++ + if (is_bsd) { + sources += [ + "profiler/stack_sampler_posix.cc", + ] + } } if (is_win) { -@@ -1391,7 +1396,7 @@ component("base") { +@@ -1416,11 +1422,24 @@ component("base") { # building inside the cros_sdk environment - use host_toolchain as a # more robust check for this. if (!use_sysroot && - (is_android || ((is_linux || is_chromeos) && !is_chromecast)) && -+ (is_android || ((is_linux || is_chromeos) && !is_chromecast) && !is_clang) && ++ (is_android || ((is_linux || is_chromeos) && !is_chromecast && !is_bsd)) && host_toolchain != "//build/toolchain/cros:host") { libs += [ "atomic" ] } -@@ -1444,7 +1449,7 @@ component("base") { - "allocator/allocator_shim_default_dispatch_to_mac_zoned_malloc.cc", - ] - } -- if (is_chromeos || is_linux) { -+ if ((is_chromeos || is_linux) && !is_bsd) { - sources += [ "allocator/allocator_shim_default_dispatch_to_glibc.cc" ] - } - if (is_win) { -@@ -2142,6 +2147,34 @@ component("base") { - } - } ++ # *BSD needs libkvm ++ if (is_bsd) { ++ libs += [ "kvm" ] ++ } ++ ++ if (is_freebsd) { ++ libs += [ ++ "iconv", ++ "execinfo", ++ "util", ++ ] ++ } ++ + if (use_allocator_shim) { + sources += [ + "allocator/allocator_shim.cc", +@@ -1443,7 +1462,7 @@ component("base") { + "allocator/early_zone_registration_mac.h", + ] + } +- if (is_chromeos || is_linux) { ++ if (is_chromeos || (is_linux && !is_bsd)) { + sources += [ + "allocator/allocator_shim_override_cpp_symbols.h", + "allocator/allocator_shim_override_glibc_weak_symbols.h", +@@ -2176,6 +2195,42 @@ component("base") { + "linux_util.h", + ] + } ++ } ++ + if (is_bsd) { + sources -= [ + "files/file_path_watcher_linux.cc", + "files/file_util_linux.cc", ++ "files/scoped_file_linux.cc", + "process/memory_linux.cc", -+ "process/process_handle_linux.cc", ++ "process/process_linux.cc", ++ "system/sys_info_linux.cc", + "process/process_iterator_linux.cc", + "process/process_metrics_linux.cc", -+ "system/sys_info_linux.cc" ++ "process/process_handle_linux.cc" + ] + sources += [ -+ "files/file_path_watcher_freebsd.cc", ++ "process/memory_stubs.cc", + "files/file_path_watcher_kqueue.cc", + "files/file_path_watcher_kqueue.h", -+ "process/memory_stubs.cc", ++ "files/file_path_watcher_bsd.cc", ++ ] ++ } ++ ++ if (is_openbsd) { ++ sources += [ ++ "process/process_handle_openbsd.cc", ++ "process/process_iterator_openbsd.cc", ++ "process/process_metrics_openbsd.cc", ++ "system/sys_info_openbsd.cc", ++ ] ++ } else if (is_freebsd) { ++ sources += [ + "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 -= [ -@@ -3359,7 +3392,7 @@ test("base_unittests") { - } } -- if (is_linux || is_chromeos) { -+ if ((is_linux || is_chromeos) && !is_bsd) { - sources += [ - "debug/proc_maps_linux_unittest.cc", - "files/scoped_file_linux_unittest.cc", -@@ -3406,7 +3439,7 @@ test("base_unittests") { - "posix/unix_domain_socket_unittest.cc", - "task/thread_pool/task_tracker_posix_unittest.cc", - ] -- if (!is_nacl && !is_apple) { -+ if (!is_nacl && !is_apple && !is_bsd) { - sources += [ - "cpu_affinity_posix_unittest.cc", - "profiler/stack_copier_signal_unittest.cc", + # iOS diff --git a/www/chromium/files/patch-base_allocator_allocator__shim__default__dispatch__to__glibc.cc b/www/chromium/files/patch-base_allocator_allocator__shim__default__dispatch__to__glibc.cc deleted file mode 100644 index c8722784b6ee..000000000000 --- a/www/chromium/files/patch-base_allocator_allocator__shim__default__dispatch__to__glibc.cc +++ /dev/null @@ -1,88 +0,0 @@ ---- base/allocator/allocator_shim_default_dispatch_to_glibc.cc.orig 2021-12-14 11:44:55 UTC -+++ base/allocator/allocator_shim_default_dispatch_to_glibc.cc -@@ -10,18 +10,28 @@ - #include "base/process/memory.h" - - #include --#include -+#include -+#include -+#include - - // 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 { -@@ -39,7 +49,7 @@ void* GlibcMalloc(const AllocatorDispatch*, size_t siz - if (UNLIKELY(size >= kMaxAllowedSize)) - base::TerminateBecauseOutOfMemory(size); - -- return __libc_malloc(size); -+ return __malloc(size); - } - - void* GlibcUncheckedMalloc(const AllocatorDispatch*, -@@ -48,7 +58,7 @@ void* GlibcUncheckedMalloc(const AllocatorDispatch*, - if (UNLIKELY(size >= kMaxAllowedSize)) - return nullptr; - -- return __libc_malloc(size); -+ return __malloc(size); - } - - void* GlibcCalloc(const AllocatorDispatch*, -@@ -59,7 +69,7 @@ void* GlibcCalloc(const AllocatorDispatch*, - if (UNLIKELY(!total.IsValid() || total.ValueOrDie() >= kMaxAllowedSize)) - base::TerminateBecauseOutOfMemory(size * n); - -- return __libc_calloc(n, size); -+ return __calloc(n, size); - } - - void* GlibcRealloc(const AllocatorDispatch*, -@@ -69,7 +79,7 @@ void* GlibcRealloc(const AllocatorDispatch*, - if (UNLIKELY(size >= kMaxAllowedSize)) - base::TerminateBecauseOutOfMemory(size); - -- return __libc_realloc(address, size); -+ return __realloc(address, size); - } - - void* GlibcMemalign(const AllocatorDispatch*, -@@ -79,11 +89,11 @@ void* GlibcMemalign(const AllocatorDispatch*, - if (UNLIKELY(size >= kMaxAllowedSize)) - base::TerminateBecauseOutOfMemory(size); - -- 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/chromium/files/patch-base_allocator_allocator__shim__override__libc__symbols.h b/www/chromium/files/patch-base_allocator_allocator__shim__override__libc__symbols.h deleted file mode 100644 index 6308eb5707c2..000000000000 --- a/www/chromium/files/patch-base_allocator_allocator__shim__override__libc__symbols.h +++ /dev/null @@ -1,13 +0,0 @@ ---- base/allocator/allocator_shim_override_libc_symbols.h.orig 2021-04-14 18:40:48 UTC -+++ base/allocator/allocator_shim_override_libc_symbols.h -@@ -16,6 +16,10 @@ - #include - #endif - -+#if defined(OS_BSD) -+#include -+#endif -+ - #include "base/allocator/allocator_shim_internals.h" - - extern "C" { diff --git a/www/chromium/files/patch-base_allocator_allocator__shim__unittest.cc b/www/chromium/files/patch-base_allocator_allocator__shim__unittest.cc deleted file mode 100644 index 3f3a8a53ae18..000000000000 --- a/www/chromium/files/patch-base_allocator_allocator__shim__unittest.cc +++ /dev/null @@ -1,47 +0,0 @@ ---- base/allocator/allocator_shim_unittest.cc.orig 2021-12-14 11:44:55 UTC -+++ base/allocator/allocator_shim_unittest.cc -@@ -369,7 +369,7 @@ TEST_F(AllocatorShimTest, InterceptLibcSymbols) { - - #endif // !OS_WIN - --#if !defined(OS_WIN) && !defined(OS_APPLE) -+#if !defined(OS_WIN) && !defined(OS_APPLE) && !defined(OS_BSD) - void* memalign_ptr = memalign(128, 53); - ASSERT_NE(nullptr, memalign_ptr); - ASSERT_EQ(0u, reinterpret_cast(memalign_ptr) % 128); -@@ -385,7 +385,7 @@ TEST_F(AllocatorShimTest, InterceptLibcSymbols) { - ASSERT_GE(aligned_allocs_intercepted_by_size[kPageSize], 1u); - #endif // defined(OS_POSIX) && !defined(OS_ANDROID) - --#endif // !OS_WIN && !OS_APPLE -+#endif // !OS_WIN && !OS_APPLE && !OS_BSD - - // See allocator_shim_override_glibc_weak_symbols.h for why we intercept - // internal libc symbols. -@@ -412,7 +412,7 @@ 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_APPLE) -+#if !defined(OS_WIN) && !defined(OS_APPLE) && !defined(OS_BSD) - free(memalign_ptr); - ASSERT_GE(frees_intercepted_by_addr[Hash(memalign_ptr)], 1u); - -@@ -421,7 +421,7 @@ TEST_F(AllocatorShimTest, InterceptLibcSymbols) { - ASSERT_GE(frees_intercepted_by_addr[Hash(pvalloc_ptr)], 1u); - #endif // defined(OS_POSIX) && !defined(OS_ANDROID) - --#endif // !OS_WIN && !OS_APPLE -+#endif // !OS_WIN && !OS_APPLE && !OS_BSD - - #if !defined(OS_WIN) - free(posix_memalign_ptr); -@@ -615,7 +615,7 @@ static size_t GetUsableSize(void* ptr) { - static size_t GetUsableSize(void* ptr) { - return malloc_size(ptr); - } --#elif defined(OS_LINUX) || defined(OS_CHROMEOS) -+#elif defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD) - static size_t GetUsableSize(void* ptr) { - return malloc_usable_size(ptr); - } diff --git a/www/chromium/files/patch-base_allocator_partition__allocator_address__pool__manager.cc b/www/chromium/files/patch-base_allocator_partition__allocator_address__pool__manager.cc deleted file mode 100644 index bd1771f1163f..000000000000 --- a/www/chromium/files/patch-base_allocator_partition__allocator_address__pool__manager.cc +++ /dev/null @@ -1,16 +0,0 @@ ---- base/allocator/partition_allocator/address_pool_manager.cc.orig 2021-12-14 11:44:55 UTC -+++ base/allocator/partition_allocator/address_pool_manager.cc -@@ -8,6 +8,13 @@ - #include - #endif - -+#if defined(OS_FREEBSD) -+#include -+#include -+ -+#include "base/posix/eintr_wrapper.h" -+#endif -+ - #include - #include - diff --git a/www/chromium/files/patch-base_allocator_partition__allocator_page__allocator.h b/www/chromium/files/patch-base_allocator_partition__allocator_page__allocator.h deleted file mode 100644 index 12f57b367556..000000000000 --- a/www/chromium/files/patch-base_allocator_partition__allocator_page__allocator.h +++ /dev/null @@ -1,11 +0,0 @@ ---- base/allocator/partition_allocator/page_allocator.h.orig 2021-12-14 11:44:55 UTC -+++ base/allocator/partition_allocator/page_allocator.h -@@ -170,7 +170,7 @@ BASE_EXPORT void DecommitAndZeroSystemPages(void* addr - // Whether decommitted memory is guaranteed to be zeroed when it is - // recommitted. Do not assume that this will not change over time. - constexpr BASE_EXPORT bool DecommittedMemoryIsAlwaysZeroed() { --#if defined(OS_APPLE) -+#if defined(OS_APPLE) || defined(OS_FREEBSD) - return false; - #else - return true; diff --git a/www/chromium/files/patch-base_allocator_partition__allocator_page__allocator__internals__posix.h b/www/chromium/files/patch-base_allocator_partition__allocator_page__allocator__internals__posix.h deleted file mode 100644 index cf452245c7a2..000000000000 --- a/www/chromium/files/patch-base_allocator_partition__allocator_page__allocator__internals__posix.h +++ /dev/null @@ -1,56 +0,0 @@ ---- base/allocator/partition_allocator/page_allocator_internals_posix.h.orig 2021-12-14 11:44:55 UTC -+++ base/allocator/partition_allocator/page_allocator_internals_posix.h -@@ -28,10 +28,14 @@ - #if defined(OS_ANDROID) - #include - #endif --#if defined(OS_LINUX) || defined(OS_CHROMEOS) -+#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD) - #include - #endif - -+#if defined(OS_BSD) -+#include -+#endif -+ - #include "base/allocator/partition_allocator/page_allocator.h" - - #ifndef MAP_ANONYMOUS -@@ -151,12 +155,19 @@ void* SystemAllocPagesInternal(void* hint, - PA_DCHECK(PageTag::kFirst <= page_tag); - PA_DCHECK(PageTag::kLast >= page_tag); - int fd = VM_MAKE_TAG(static_cast(page_tag)); -+#elif defined(OS_FREEBSD) -+ int fd = HANDLE_EINTR(open("/dev/zero", O_RDWR | O_CLOEXEC)); -+ PA_PCHECK(fd != -1); - #else - int fd = -1; - #endif - - int access_flag = GetAccessFlags(accessibility); -+#if defined(OS_FREEBSD) -+ int map_flags = MAP_PRIVATE; -+#else - int map_flags = MAP_ANONYMOUS | MAP_PRIVATE; -+#endif - - #if defined(OS_MAC) - // On macOS 10.14 and higher, executables that are code signed with the -@@ -183,6 +194,8 @@ void* SystemAllocPagesInternal(void* hint, - prctl(PR_SET_VMA, PR_SET_VMA_ANON_NAME, ret, length, - PageTagToName(page_tag)); - } -+#elif defined(OS_FREEBSD) -+ HANDLE_EINTR(close(fd)); - #endif - - return ret; -@@ -346,6 +359,8 @@ void DiscardSystemPagesInternal(void* address, size_t - ret = madvise(address, length, MADV_DONTNEED); - } - PA_PCHECK(ret == 0); -+#elif defined(OS_FREEBSD) -+ PA_PCHECK(0 == madvise(address, length, MADV_FREE)); - #else - // We have experimented with other flags, but with suboptimal results. - // diff --git a/www/chromium/files/patch-base_allocator_partition__allocator_partition__alloc__config.h b/www/chromium/files/patch-base_allocator_partition__allocator_partition__alloc__config.h index 047945ce0075..b525560e52b0 100644 --- a/www/chromium/files/patch-base_allocator_partition__allocator_partition__alloc__config.h +++ b/www/chromium/files/patch-base_allocator_partition__allocator_partition__alloc__config.h @@ -1,22 +1,11 @@ ---- base/allocator/partition_allocator/partition_alloc_config.h.orig 2021-12-31 00:57:18 UTC +--- base/allocator/partition_allocator/partition_alloc_config.h.orig 2022-02-07 13:39:41 UTC +++ base/allocator/partition_allocator/partition_alloc_config.h -@@ -59,6 +59,10 @@ static_assert(sizeof(void*) != 8, ""); +@@ -59,7 +59,7 @@ static_assert(sizeof(void*) != 8, ""); + + // POSIX is not only UNIX, e.g. macOS and other OSes. We do use Linux-specific + // features such as futex(2). +-#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_ANDROID) ++#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_ANDROID) || defined(OS_BSD) #define PA_HAS_LINUX_KERNEL #endif -+#if defined(OS_FREEBSD) -+#define PA_HAS_FREEBSD_KERNEL -+#endif -+ - // On some platforms, we implement locking by spinning in userspace, then going - // into the kernel only if there is contention. This requires platform support, - // namely: -@@ -73,7 +77,7 @@ static_assert(sizeof(void*) != 8, ""); - // assume that pthread_mutex_trylock() is suitable. - // - // Otherwise, a userspace spinlock implementation is used. --#if defined(PA_HAS_LINUX_KERNEL) || defined(OS_WIN) || \ -+#if defined(PA_HAS_LINUX_KERNEL) || defined(PA_HAS_FREEBSD_KERNEL) || defined(OS_WIN) || \ - (defined(OS_POSIX) && !defined(OS_APPLE)) || defined(OS_FUCHSIA) - #define PA_HAS_FAST_MUTEX - #endif diff --git a/www/chromium/files/patch-base_allocator_partition__allocator_partition__alloc__constants.h b/www/chromium/files/patch-base_allocator_partition__allocator_partition__alloc__constants.h index 847ab3dc11a8..3c37a2b8e5a7 100644 --- a/www/chromium/files/patch-base_allocator_partition__allocator_partition__alloc__constants.h +++ b/www/chromium/files/patch-base_allocator_partition__allocator_partition__alloc__constants.h @@ -1,11 +1,11 @@ ---- base/allocator/partition_allocator/partition_alloc_constants.h.orig 2022-01-21 12:58:23 UTC +--- base/allocator/partition_allocator/partition_alloc_constants.h.orig 2022-02-07 13:39:41 UTC +++ base/allocator/partition_allocator/partition_alloc_constants.h -@@ -349,7 +349,7 @@ constexpr size_t kBitsPerSizeT = sizeof(void*) * CHAR_ +@@ -361,7 +361,7 @@ constexpr size_t kBitsPerSizeT = sizeof(void*) * CHAR_ // PartitionPurgeDecommitEmptySlotSpans flag will eagerly decommit all entries // in the ring buffer, so with periodic purge enabled, this typically happens // every few seconds. --#if defined(OS_LINUX) -+#if defined(OS_LINUX) || defined(OS_BSD) - // Set to a higher value on Linux, to assess impact on performance bots. This - // roughly halves the number of syscalls done during a speedometer 2.0 run on - // this platform. +-#if defined(OS_LINUX) || defined(OS_APPLE) ++#if defined(OS_LINUX) || defined(OS_APPLE) || defined(OS_BSD) + // Set to a higher value on Linux and macOS, to assess impact on performance + // bots. This roughly halves the number of syscalls done during a speedometer + // 2.0 run on these platforms. diff --git a/www/chromium/files/patch-base_allocator_partition__allocator_partition__alloc__unittest.cc b/www/chromium/files/patch-base_allocator_partition__allocator_partition__alloc__unittest.cc deleted file mode 100644 index f713b26a5cb3..000000000000 --- a/www/chromium/files/patch-base_allocator_partition__allocator_partition__alloc__unittest.cc +++ /dev/null @@ -1,20 +0,0 @@ ---- base/allocator/partition_allocator/partition_alloc_unittest.cc.orig 2021-12-31 00:57:18 UTC -+++ base/allocator/partition_allocator/partition_alloc_unittest.cc -@@ -1803,7 +1803,7 @@ TEST_F(PartitionAllocTest, LostFreeSlotSpansBug) { - // cause flake. - #if !defined(OS_WIN) && \ - (!defined(ARCH_CPU_64_BITS) || \ -- (defined(OS_POSIX) && !(defined(OS_APPLE) || defined(OS_ANDROID)))) -+ (defined(OS_POSIX) && !(defined(OS_APPLE) || defined(OS_ANDROID) || defined(OS_BSD)))) - - // The following four tests wrap a called function in an expect death statement - // to perform their test, because they are non-hermetic. Specifically they are -@@ -1869,7 +1869,7 @@ TEST_F(PartitionAllocDeathTest, DISABLED_RepeatedTryRe - } - - #endif // !defined(ARCH_CPU_64_BITS) || (defined(OS_POSIX) && -- // !(defined(OS_APPLE) || defined(OS_ANDROID))) -+ // !(defined(OS_APPLE) || defined(OS_ANDROID) || defined(OS_BSD))) - - // Make sure that malloc(-1) dies. - // In the past, we had an integer overflow that would alias malloc(-1) to diff --git a/www/chromium/files/patch-base_allocator_partition__allocator_partition__page.h b/www/chromium/files/patch-base_allocator_partition__allocator_partition__page.h new file mode 100644 index 000000000000..3fd97ed4f2bf --- /dev/null +++ b/www/chromium/files/patch-base_allocator_partition__allocator_partition__page.h @@ -0,0 +1,12 @@ +--- base/allocator/partition_allocator/partition_page.h.orig 2022-02-07 13:39:41 UTC ++++ base/allocator/partition_allocator/partition_page.h +@@ -141,7 +141,8 @@ struct __attribute__((packed)) SlotSpanMetadata { + // in PartitionPage, which has other fields as well, and must fit in 32 bytes. + + // CHECK()ed in AllocNewSlotSpan(). +-#if defined(PA_HAS_64_BITS_POINTERS) && defined(OS_APPLE) ++#if (defined(PA_HAS_64_BITS_POINTERS) && defined(OS_APPLE)) || \ ++ (defined(OS_FREEBSD) && defined(__i386__)) + // System page size is not a constant on Apple OSes, but is either 4 or 16kiB + // (1 << 12 or 1 << 14), as checked in PartitionRoot::Init(). And + // PartitionPageSize() is 4 times the OS page size. diff --git a/www/chromium/files/patch-base_allocator_partition__allocator_partition__root.cc b/www/chromium/files/patch-base_allocator_partition__allocator_partition__root.cc deleted file mode 100644 index 6eb3a48451aa..000000000000 --- a/www/chromium/files/patch-base_allocator_partition__allocator_partition__root.cc +++ /dev/null @@ -1,47 +0,0 @@ ---- base/allocator/partition_allocator/partition_root.cc.orig 2021-12-31 00:57:18 UTC -+++ base/allocator/partition_allocator/partition_root.cc -@@ -28,7 +28,7 @@ - #include "wow64apiset.h" - #endif - --#if defined(OS_LINUX) || defined(OS_CHROMEOS) -+#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD) - #include - #endif - -@@ -42,7 +42,7 @@ namespace base { - - namespace { - --#if defined(OS_APPLE) || defined(OS_LINUX) || defined(OS_CHROMEOS) -+#if defined(OS_APPLE) || defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD) - - // NO_THREAD_SAFETY_ANALYSIS: acquires the lock and doesn't release it, by - // design. -@@ -111,7 +111,7 @@ void AfterForkInChild() { - internal::ThreadCacheRegistry::Instance() - .ForcePurgeAllThreadAfterForkUnsafe(); - } --#endif // defined(OS_APPLE) || defined(OS_LINUX) || defined(OS_CHROMEOS) -+#endif // defined(OS_APPLE) || defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD) - - std::atomic g_global_init_called; - void PartitionAllocMallocInitOnce() { -@@ -121,7 +121,7 @@ void PartitionAllocMallocInitOnce() { - if (!g_global_init_called.compare_exchange_strong(expected, true)) - return; - --#if defined(OS_LINUX) || defined(OS_CHROMEOS) -+#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD) - // When fork() is called, only the current thread continues to execute in the - // child process. If the lock is held, but *not* by this thread when fork() is - // called, we have a deadlock. -@@ -146,7 +146,7 @@ void PartitionAllocMallocInitOnce() { - int err = - pthread_atfork(BeforeForkInParent, AfterForkInParent, AfterForkInChild); - PA_CHECK(err == 0); --#endif // defined(OS_LINUX) || defined(OS_CHROMEOS) -+#endif // defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD) - } - - } // namespace diff --git a/www/chromium/files/patch-base_allocator_partition__allocator_partition__root.h b/www/chromium/files/patch-base_allocator_partition__allocator_partition__root.h new file mode 100644 index 000000000000..86e2996e9bc2 --- /dev/null +++ b/www/chromium/files/patch-base_allocator_partition__allocator_partition__root.h @@ -0,0 +1,11 @@ +--- base/allocator/partition_allocator/partition_root.h.orig 2022-02-07 13:39:41 UTC ++++ base/allocator/partition_allocator/partition_root.h +@@ -1044,7 +1044,7 @@ ALWAYS_INLINE void PartitionRoot::FreeNoH + // essentially). + #if BUILDFLAG(USE_PARTITION_ALLOC_AS_MALLOC) && \ + ((defined(OS_ANDROID) && !BUILDFLAG(IS_CHROMECAST)) || \ +- (defined(OS_LINUX) && defined(ARCH_CPU_64_BITS))) ++ ((defined(OS_LINUX) || defined(OS_BSD)) && defined(ARCH_CPU_64_BITS))) + PA_CHECK(IsManagedByPartitionAlloc(reinterpret_cast(ptr))); + #endif + diff --git a/www/chromium/files/patch-base_allocator_partition__allocator_spinning__mutex.cc b/www/chromium/files/patch-base_allocator_partition__allocator_spinning__mutex.cc index ad0050c3bb6f..be1594ebc8d8 100644 --- a/www/chromium/files/patch-base_allocator_partition__allocator_spinning__mutex.cc +++ b/www/chromium/files/patch-base_allocator_partition__allocator_spinning__mutex.cc @@ -1,54 +1,47 @@ ---- base/allocator/partition_allocator/spinning_mutex.cc.orig 2021-12-14 11:44:55 UTC +--- base/allocator/partition_allocator/spinning_mutex.cc.orig 2022-02-07 13:39:41 UTC +++ base/allocator/partition_allocator/spinning_mutex.cc -@@ -22,6 +22,13 @@ - #include - #endif // defined(PA_HAS_LINUX_KERNEL) +@@ -17,7 +17,15 @@ -+#if defined(PA_HAS_FREEBSD_KERNEL) -+#include + #if defined(PA_HAS_LINUX_KERNEL) + #include ++#if defined(OS_OPENBSD) ++#include ++#elif defined(OS_FREEBSD) +#include +#include +#include -+#endif // defined(PA_HAS_FREEBSD_KERNEL) -+ - #if !defined(PA_HAS_FAST_MUTEX) - #include "base/threading/platform_thread.h" - -@@ -43,7 +50,7 @@ namespace internal { - - #if defined(PA_HAS_FAST_MUTEX) - --#if defined(PA_HAS_LINUX_KERNEL) -+#if defined(PA_HAS_LINUX_KERNEL) || defined(PA_HAS_FREEBSD_KERNEL) - - void SpinningMutex::FutexWait() { - // Save and restore errno. -@@ -67,8 +74,13 @@ void SpinningMutex::FutexWait() { ++#else + #include ++#endif + #include + #include + #endif // defined(PA_HAS_LINUX_KERNEL) +@@ -86,8 +94,13 @@ void SpinningMutex::FutexWait() { // |kLockedContended| anymore. Note that even without spurious wakeups, the // value of |state_| is not guaranteed when this returns, as another thread // may get the lock before we get to run. -+#if defined(PA_HAS_LINUX_KERNEL) ++#if defined(OS_FREEBSD) ++ int err = _umtx_op(&state_, UMTX_OP_WAIT_UINT_PRIVATE, ++ kLockedContended, nullptr, nullptr); ++#else int err = syscall(SYS_futex, &state_, FUTEX_WAIT | FUTEX_PRIVATE_FLAG, kLockedContended, nullptr, nullptr, 0); -+#elif defined(PA_HAS_FREEBSD_KERNEL) -+ int err = _umtx_op(&state_, UMTX_OP_WAIT_UINT_PRIVATE, -+ kLockedContended, nullptr, nullptr); +#endif if (err) { // These are programming error, check them. -@@ -80,8 +92,14 @@ void SpinningMutex::FutexWait() { +@@ -99,8 +112,14 @@ void SpinningMutex::FutexWait() { void SpinningMutex::FutexWake() { int saved_errno = errno; -+#if defined(PA_HAS_LINUX_KERNEL) - long retval = syscall(SYS_futex, &state_, FUTEX_WAKE | FUTEX_PRIVATE_FLAG, - 1 /* wake up a single waiter */, nullptr, nullptr, 0); -+#elif defined(PA_HAS_FREEBSD_KERNEL) ++#if defined(OS_FREEBSD) + long retval = _umtx_op(&state_, UMTX_OP_WAKE_PRIVATE, + 1 /* wake up a single waiter */, nullptr, nullptr); ++#else + long retval = syscall(SYS_futex, &state_, FUTEX_WAKE | FUTEX_PRIVATE_FLAG, + 1 /* wake up a single waiter */, nullptr, nullptr, 0); +#endif -+ ++ PA_CHECK(retval != -1); errno = saved_errno; } diff --git a/www/chromium/files/patch-base_allocator_partition__allocator_spinning__mutex.h b/www/chromium/files/patch-base_allocator_partition__allocator_spinning__mutex.h deleted file mode 100644 index a5899e29e5c8..000000000000 --- a/www/chromium/files/patch-base_allocator_partition__allocator_spinning__mutex.h +++ /dev/null @@ -1,20 +0,0 @@ ---- base/allocator/partition_allocator/spinning_mutex.h.orig 2021-12-14 11:44:55 UTC -+++ base/allocator/partition_allocator/spinning_mutex.h -@@ -106,7 +106,7 @@ class LOCKABLE BASE_EXPORT SpinningMutex { - - #if defined(PA_HAS_FAST_MUTEX) - --#if defined(PA_HAS_LINUX_KERNEL) -+#if defined(PA_HAS_LINUX_KERNEL) || defined(PA_HAS_FREEBSD_KERNEL) - void FutexWait(); - void FutexWake(); - -@@ -176,7 +176,7 @@ inline constexpr SpinningMutex::SpinningMutex() = defa - - #if defined(PA_HAS_FAST_MUTEX) - --#if defined(PA_HAS_LINUX_KERNEL) -+#if defined(PA_HAS_LINUX_KERNEL) || defined(PA_HAS_FREEBSD_KERNEL) - - ALWAYS_INLINE bool SpinningMutex::Try() { - // Using the weak variant of compare_exchange(), which may fail spuriously. On diff --git a/www/chromium/files/patch-base_allocator_partition__allocator_starscan_stack_stack.cc b/www/chromium/files/patch-base_allocator_partition__allocator_starscan_stack_stack.cc index 97c6764116f7..09e46dc3b1a8 100644 --- a/www/chromium/files/patch-base_allocator_partition__allocator_starscan_stack_stack.cc +++ b/www/chromium/files/patch-base_allocator_partition__allocator_starscan_stack_stack.cc @@ -1,39 +1,50 @@ ---- base/allocator/partition_allocator/starscan/stack/stack.cc.orig 2021-09-24 04:25:55 UTC +--- base/allocator/partition_allocator/starscan/stack/stack.cc.orig 2022-02-07 13:39:41 UTC +++ base/allocator/partition_allocator/starscan/stack/stack.cc @@ -17,6 +17,10 @@ #include #endif -+#if defined(OS_FREEBSD) ++#if defined(OS_BSD) +#include +#endif + #if defined(LIBC_GLIBC) extern "C" void* __libc_stack_end; #endif -@@ -54,7 +58,15 @@ void* GetStackTop() { +@@ -48,6 +52,36 @@ void* GetStackTop() { void* GetStackTop() { - pthread_attr_t attr; -+#if defined(OS_FREEBSD) -+ int error = pthread_attr_init(&attr); -+ if (error) { + return pthread_get_stackaddr_np(pthread_self()); ++} ++ ++#elif defined(OS_OPENBSD) ++ ++void* GetStackTop() { ++ stack_t ss; ++ if (pthread_stackseg_np(pthread_self(), &ss) != 0) + return nullptr; -+ } -+ error = pthread_attr_get_np(pthread_self(), &attr); -+#else - int error = pthread_getattr_np(pthread_self(), &attr); -+#endif - if (!error) { - void* base; - size_t size; -@@ -71,6 +83,9 @@ void* GetStackTop() { - // See https://code.google.com/p/nativeclient/issues/detail?id=3431. - return __libc_stack_end; - #else -+#if defined(OS_FREEBSD) ++ return reinterpret_cast(ss.ss_sp); ++} ++ ++#elif defined(OS_FREEBSD) ++ ++void* GetStackTop() { ++ pthread_attr_t attr; ++ int error = pthread_attr_init(&attr); ++ if (error) { ++ return nullptr; ++ } ++ error = pthread_attr_get_np(pthread_self(), &attr); ++ if (!error) { ++ void* base; ++ size_t size; ++ error = pthread_attr_getstack(&attr, &base, &size); ++ PA_CHECK(!error); ++ pthread_attr_destroy(&attr); ++ return reinterpret_cast(base) + size; ++ } + pthread_attr_destroy(&attr); -+#endif - return nullptr; - #endif // defined(LIBC_GLIBC) ++ return nullptr; } + + #elif defined(OS_POSIX) || defined(OS_FUCHSIA) diff --git a/www/chromium/files/patch-base_atomicops.h b/www/chromium/files/patch-base_atomicops.h new file mode 100644 index 000000000000..2001ce228478 --- /dev/null +++ b/www/chromium/files/patch-base_atomicops.h @@ -0,0 +1,14 @@ +--- base/atomicops.h.orig 2022-02-07 13:39:41 UTC ++++ base/atomicops.h +@@ -57,7 +57,11 @@ typedef intptr_t Atomic64; + + // Use AtomicWord for a machine-sized pointer. It will use the Atomic32 or + // Atomic64 routines below, depending on your architecture. ++#if !defined(OS_OPENBSD) && defined(__i386__) ++typedef Atomic32 AtomicWord; ++#else + typedef intptr_t AtomicWord; ++#endif + + // Atomically execute: + // result = *ptr; diff --git a/www/chromium/files/patch-base_base__paths__posix.cc b/www/chromium/files/patch-base_base__paths__posix.cc new file mode 100644 index 000000000000..e4e467db6322 --- /dev/null +++ b/www/chromium/files/patch-base_base__paths__posix.cc @@ -0,0 +1,98 @@ +--- base/base_paths_posix.cc.orig 2022-02-07 13:39:41 UTC ++++ base/base_paths_posix.cc +@@ -15,6 +15,7 @@ + #include + #include + ++#include "base/command_line.h" + #include "base/environment.h" + #include "base/files/file_path.h" + #include "base/files/file_util.h" +@@ -25,9 +26,13 @@ + #include "base/process/process_metrics.h" + #include "build/build_config.h" + +-#if defined(OS_FREEBSD) ++#if defined(OS_BSD) + #include + #include ++#if defined(OS_OPENBSD) ++#include ++#define MAXTOKENS 2 ++#endif + #elif defined(OS_SOLARIS) || defined(OS_AIX) + #include + #endif +@@ -68,13 +73,65 @@ bool PathProviderPosix(int key, FilePath* result) { + *result = FilePath(bin_dir); + return true; + #elif defined(OS_OPENBSD) || defined(OS_AIX) +- // There is currently no way to get the executable path on OpenBSD +- char* cpath; +- if ((cpath = getenv("CHROME_EXE_PATH")) != NULL) +- *result = FilePath(cpath); +- else +- *result = FilePath("/usr/local/chrome/chrome"); +- return true; ++ char *cpath; ++#if !defined(OS_AIX) ++ struct kinfo_file *files; ++ kvm_t *kd = NULL; ++ char errbuf[_POSIX2_LINE_MAX]; ++ static char retval[PATH_MAX]; ++ int cnt; ++ struct stat sb; ++ pid_t cpid = getpid(); ++ bool ret = false; ++ ++ const base::CommandLine* command_line = ++ base::CommandLine::ForCurrentProcess(); ++ ++ VLOG(1) << "PathProviderPosix argv: " << command_line->argv()[0]; ++ ++ if (realpath(command_line->argv()[0].c_str(), retval) == NULL) ++ goto out; ++ ++ if (stat(command_line->argv()[0].c_str(), &sb) < 0) ++ goto out; ++ ++ if (!command_line->HasSwitch("no-sandbox")) { ++ ret = true; ++ *result = FilePath(retval); ++ VLOG(1) << "PathProviderPosix (sandbox) result: " << retval; ++ goto out; ++ } ++ ++ if ((kd = kvm_openfiles(NULL, NULL, NULL, KVM_NO_FILES, errbuf)) == NULL) ++ goto out; ++ ++ if ((files = kvm_getfiles(kd, KERN_FILE_BYPID, cpid, ++ sizeof(struct kinfo_file), &cnt)) == NULL) ++ goto out; ++ ++ for (int i = 0; i < cnt; i++) { ++ if (files[i].fd_fd == KERN_FILE_TEXT && ++ files[i].va_fsid == static_cast(sb.st_dev) && ++ files[i].va_fileid == sb.st_ino) { ++ ret = true; ++ *result = FilePath(retval); ++ VLOG(1) << "PathProviderPosix result: " << retval; ++ } ++ } ++out: ++ if (kd) ++ kvm_close(kd); ++ if (!ret) { ++#endif ++ if ((cpath = getenv("CHROME_EXE_PATH")) != NULL) ++ *result = FilePath(cpath); ++ else ++ *result = FilePath("/usr/local/chrome/chrome"); ++ return true; ++#if !defined(OS_AIX) ++ } ++ return ret; ++#endif + #endif + } + case DIR_SRC_TEST_DATA_ROOT: { diff --git a/www/chromium/files/patch-base_base__switches.cc b/www/chromium/files/patch-base_base__switches.cc index c7fd2e4d641b..be1fb8bcdacd 100644 --- a/www/chromium/files/patch-base_base__switches.cc +++ b/www/chromium/files/patch-base_base__switches.cc @@ -1,22 +1,11 @@ ---- base/base_switches.cc.orig 2021-05-12 22:05:40 UTC +--- base/base_switches.cc.orig 2022-02-07 13:39:41 UTC +++ base/base_switches.cc -@@ -125,8 +125,8 @@ const char kDisableUsbKeyboardDetect[] = "disable - - // TODO(crbug.com/1052397): Revisit the macro expression once build flag switch - // of lacros-chrome is complete. --#if defined(OS_LINUX) && !BUILDFLAG(IS_CHROMEOS_ASH) && \ -- !BUILDFLAG(IS_CHROMEOS_LACROS) -+#if defined(OS_BSD) || (defined(OS_LINUX) && !BUILDFLAG(IS_CHROMEOS_ASH) && \ -+ !BUILDFLAG(IS_CHROMEOS_LACROS)) - // 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 -@@ -161,7 +161,7 @@ const char kForceFieldTrialParams[] = "force-fieldtria +@@ -170,7 +170,7 @@ const char kForceFieldTrialParams[] = "force-fieldtria #endif -#if defined(OS_LINUX) || defined(OS_CHROMEOS) +#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD) // Controls whether or not retired instruction counts are surfaced for threads // in trace events on Linux. // diff --git a/www/chromium/files/patch-base_base__switches.h b/www/chromium/files/patch-base_base__switches.h index f878cbc00f2d..3388972738b8 100644 --- a/www/chromium/files/patch-base_base__switches.h +++ b/www/chromium/files/patch-base_base__switches.h @@ -1,22 +1,11 @@ ---- base/base_switches.h.orig 2021-05-12 22:05:40 UTC +--- base/base_switches.h.orig 2022-02-07 13:39:41 UTC +++ base/base_switches.h -@@ -42,8 +42,8 @@ extern const char kDisableUsbKeyboardDetect[]; - - // TODO(crbug.com/1052397): Revisit the macro expression once build flag switch - // of lacros-chrome is complete. --#if defined(OS_LINUX) && !BUILDFLAG(IS_CHROMEOS_ASH) && \ -- !BUILDFLAG(IS_CHROMEOS_LACROS) -+#if defined(OS_BSD) || (defined(OS_LINUX) && !BUILDFLAG(IS_CHROMEOS_ASH) && \ -+ !BUILDFLAG(IS_CHROMEOS_LACROS)) - extern const char kDisableDevShmUsage[]; - #endif - -@@ -59,7 +59,7 @@ extern const char kEnableIdleTracing[]; +@@ -60,7 +60,7 @@ extern const char kEnableIdleTracing[]; extern const char kForceFieldTrialParams[]; #endif -#if defined(OS_LINUX) || defined(OS_CHROMEOS) +#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD) extern const char kEnableThreadInstructionCount[]; // TODO(crbug.com/1176772): Remove kEnableCrashpad and IsCrashpadEnabled() when diff --git a/www/chromium/files/patch-base_check.h b/www/chromium/files/patch-base_check.h deleted file mode 100644 index 8ff12ec1ffe7..000000000000 --- a/www/chromium/files/patch-base_check.h +++ /dev/null @@ -1,11 +0,0 @@ ---- base/check.h.orig 2021-04-22 11:38:19 UTC -+++ base/check.h -@@ -85,7 +85,7 @@ class BASE_EXPORT CheckError { - // Stream for adding optional details to the error message. - std::ostream& stream(); - -- NOMERGE ~CheckError(); -+ ~CheckError(); - - CheckError(const CheckError& other) = delete; - CheckError& operator=(const CheckError& other) = delete; diff --git a/www/chromium/files/patch-base_compiler__specific.h b/www/chromium/files/patch-base_compiler__specific.h new file mode 100644 index 000000000000..d9fcba02e013 --- /dev/null +++ b/www/chromium/files/patch-base_compiler__specific.h @@ -0,0 +1,11 @@ +--- base/compiler_specific.h.orig 2022-02-07 13:39:41 UTC ++++ base/compiler_specific.h +@@ -366,7 +366,7 @@ inline constexpr bool AnalyzerAssumeTrue(bool arg) { + #endif // defined(__clang_analyzer__) + + // Use nomerge attribute to disable optimization of merging multiple same calls. +-#if defined(__clang__) && __has_attribute(nomerge) ++#if defined(__clang__) && __has_attribute(nomerge) && !defined(OS_FREEBSD) + #define NOMERGE [[clang::nomerge]] + #else + #define NOMERGE diff --git a/www/chromium/files/patch-base_containers_checked__iterators__unittest.cc b/www/chromium/files/patch-base_containers_checked__iterators__unittest.cc deleted file mode 100644 index 95160ac0985a..000000000000 --- a/www/chromium/files/patch-base_containers_checked__iterators__unittest.cc +++ /dev/null @@ -1,11 +0,0 @@ ---- base/containers/checked_iterators_unittest.cc.orig 2021-10-05 14:50:27 UTC -+++ base/containers/checked_iterators_unittest.cc -@@ -88,7 +88,7 @@ TEST(CheckedContiguousIterator, ConvertingComparisonOp - // lags a bit behind. - // TODO(crbug.com/1166360): Enable this test on ChromeOS once the shared libc++ - // is sufficiently modern. --#if defined(_LIBCPP_VERSION) && !defined(OS_NACL) && !defined(OS_CHROMEOS) -+#if defined(_LIBCPP_VERSION) && !defined(OS_NACL) && !defined(OS_CHROMEOS) && !defined(OS_BSD) - namespace { - - // Helper template that wraps an iterator and disables its dereference and diff --git a/www/chromium/files/patch-base_cpu.cc b/www/chromium/files/patch-base_cpu.cc deleted file mode 100644 index 6a0db27401ac..000000000000 --- a/www/chromium/files/patch-base_cpu.cc +++ /dev/null @@ -1,35 +0,0 @@ ---- base/cpu.cc.orig 2021-12-14 11:44:55 UTC -+++ base/cpu.cc -@@ -17,7 +17,7 @@ - #include "base/cxx17_backports.h" - #include "base/no_destructor.h" - --#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_ANDROID) || \ -+#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_ANDROID) || defined(OS_BSD) || \ - defined(OS_AIX) - #include "base/containers/flat_set.h" - #include "base/files/file_util.h" -@@ -215,6 +215,14 @@ const ProcCpuInfo& ParseProcCpu() { - - return *info; - } -+#elif defined(OS_BSD) -+std::string* CpuInfoBrand() { -+ static std::string* brand = []() { -+ return new std::string(SysInfo::CPUModelName()); -+ }(); -+ -+ return brand; -+} - #endif // defined(ARCH_CPU_ARM_FAMILY) && (defined(OS_ANDROID) || - // defined(OS_LINUX) || defined(OS_CHROMEOS)) - -@@ -358,6 +366,8 @@ void CPU::Initialize(bool require_branding) { - has_bti_ = hwcap2 & HWCAP2_BTI; - #endif - -+#elif defined(OS_BSD) -+ cpu_brand_ = *CpuInfoBrand(); - #elif defined(OS_WIN) - // Windows makes high-resolution thread timing information available in - // user-space. diff --git a/www/chromium/files/patch-base_cpu.h b/www/chromium/files/patch-base_cpu.h index 5b713f08f882..1879d459ce46 100644 --- a/www/chromium/files/patch-base_cpu.h +++ b/www/chromium/files/patch-base_cpu.h @@ -1,20 +1,11 @@ ---- base/cpu.h.orig 2021-12-14 11:44:55 UTC +--- base/cpu.h.orig 2022-02-07 13:39:41 UTC +++ base/cpu.h -@@ -103,7 +103,7 @@ class BASE_EXPORT CPU final { - IntelMicroArchitecture GetIntelMicroArchitecture() const; +@@ -104,7 +104,7 @@ class BASE_EXPORT CPU final { const std::string& cpu_brand() const { return cpu_brand_; } --#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_ANDROID) || \ -+#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_ANDROID) || defined(OS_BSD) || \ - defined(OS_AIX) + #if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_ANDROID) || \ +- defined(OS_AIX) ++ defined(OS_AIX) || defined(OS_BSD) enum class CoreType { kUnknown = 0, -@@ -154,7 +154,7 @@ class BASE_EXPORT CPU final { - // cpuidle driver. - using CoreIdleTimes = std::vector; - static bool GetCumulativeCoreIdleTimes(CoreIdleTimes&); --#endif // defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_ANDROID) || -+#endif // defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_ANDROID) || defined(OS_BSD) - // defined(OS_AIX) - - private: + kOther, diff --git a/www/chromium/files/patch-base_debug_debugger__posix.cc b/www/chromium/files/patch-base_debug_debugger__posix.cc index 024e9e915cda..63a56d85b575 100644 --- a/www/chromium/files/patch-base_debug_debugger__posix.cc +++ b/www/chromium/files/patch-base_debug_debugger__posix.cc @@ -1,56 +1,68 @@ ---- base/debug/debugger_posix.cc.orig 2021-12-14 11:44:55 UTC +--- base/debug/debugger_posix.cc.orig 2022-02-07 13:39:41 UTC +++ base/debug/debugger_posix.cc -@@ -87,7 +87,7 @@ bool BeingDebugged() { - KERN_PROC, - KERN_PROC_PID, - getpid() --#if defined(OS_OPENBSD) -+#if defined(OS_BSD) - , sizeof(struct kinfo_proc), - 0 +@@ -36,6 +36,10 @@ + #include #endif -@@ -95,33 +95,35 @@ bool BeingDebugged() { + ++#if defined(OS_OPENBSD) ++#include ++#endif ++ + #if defined(OS_FREEBSD) + #include + #endif +@@ -95,32 +99,51 @@ 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); ++#if defined(OS_OPENBSD) + struct kinfo_proc *info; + size_t info_size; ++#else + struct kinfo_proc info; + size_t info_size = sizeof(info); ++#endif --#if defined(OS_OPENBSD) + #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); ++ if ((info = reinterpret_cast(malloc(info_size))) == NULL) { ++ is_set = true; ++ being_debugged = false; ++ return being_debugged; ++ } ++ + int sysctl_result = sysctl(mib, base::size(mib), info, &info_size, NULL, 0); + #endif + ++#if !defined(OS_OPENBSD) + int sysctl_result = sysctl(mib, base::size(mib), &info, &info_size, NULL, 0); ++#endif 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.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; ++#elif defined(OS_OPENBSD) ++ being_debugged = (info->p_psflags & PS_TRACED) != 0; #else -- being_debugged = (info.kp_proc.p_flag & P_TRACED) != 0; -+ being_debugged = (info->kp_proc.p_flag & P_TRACED) != 0; - #endif + being_debugged = (info.kp_proc.p_flag & P_TRACED) != 0; ++#endif + +out: ++#if defined(OS_OPENBSD) + free(info); + #endif return being_debugged; } - diff --git a/www/chromium/files/patch-base_debug_elf__reader.cc b/www/chromium/files/patch-base_debug_elf__reader.cc index 50e4509445ed..21904ae7ca00 100644 --- a/www/chromium/files/patch-base_debug_elf__reader.cc +++ b/www/chromium/files/patch-base_debug_elf__reader.cc @@ -1,28 +1,18 @@ ---- base/debug/elf_reader.cc.orig 2021-07-19 18:45:05 UTC +--- base/debug/elf_reader.cc.orig 2022-02-07 13:39:41 UTC +++ base/debug/elf_reader.cc -@@ -39,7 +39,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. Here and below |elf_mapped_base| is a -@@ -76,6 +78,7 @@ size_t ReadElfBuildId(const void* elf_mapped_base, +@@ -76,6 +76,7 @@ size_t ReadElfBuildId(const void* elf_mapped_base, bool found = false; while (current_section < section_end) { current_note = reinterpret_cast(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); -@@ -85,6 +88,7 @@ size_t ReadElfBuildId(const void* elf_mapped_base, +@@ -85,6 +86,7 @@ size_t ReadElfBuildId(const void* elf_mapped_base, break; } } +#endif size_t section_size = bits::AlignUp(current_note->n_namesz, 4) + bits::AlignUp(current_note->n_descsz, 4) + diff --git a/www/chromium/files/patch-base_debug_proc__maps__linux.cc b/www/chromium/files/patch-base_debug_proc__maps__linux.cc index 9d9eff8794a9..c728ce89a006 100644 --- a/www/chromium/files/patch-base_debug_proc__maps__linux.cc +++ b/www/chromium/files/patch-base_debug_proc__maps__linux.cc @@ -1,141 +1,11 @@ ---- base/debug/proc_maps_linux.cc.orig 2021-04-14 18:40:48 UTC +--- base/debug/proc_maps_linux.cc.orig 2022-02-07 13:39:41 UTC +++ base/debug/proc_maps_linux.cc -@@ -13,13 +13,18 @@ +@@ -13,7 +13,7 @@ #include "base/strings/string_split.h" #include "build/build_config.h" -#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_ANDROID) +#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_ANDROID) || defined(OS_BSD) #include #endif - 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) { -@@ -35,15 +40,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(); -@@ -57,7 +63,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; - } -@@ -68,6 +74,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. - // -@@ -78,6 +85,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; -@@ -105,11 +113,32 @@ bool ParseProcMaps(const std::string& input, - - MappedMemoryRegion region; - const char* line = lines[i].c_str(); -- char permissions[5] = {'\0'}; // Ensure NUL-terminated string. -+ char permissions[6] = {'\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 %*[^ ] %5[^ ] %*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: - // -@@ -125,6 +154,7 @@ bool ParseProcMaps(const std::string& input, - DPLOG(WARNING) << "sscanf failed for line: " << line; - return false; - } -+#endif - - region.permissions = 0; - -@@ -143,14 +173,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/chromium/files/patch-base_debug_stack__trace.cc b/www/chromium/files/patch-base_debug_stack__trace.cc deleted file mode 100644 index 2733c1b031d9..000000000000 --- a/www/chromium/files/patch-base_debug_stack__trace.cc +++ /dev/null @@ -1,11 +0,0 @@ ---- base/debug/stack_trace.cc.orig 2021-09-14 01:51:47 UTC -+++ base/debug/stack_trace.cc -@@ -16,7 +16,7 @@ - #if BUILDFLAG(CAN_UNWIND_WITH_FRAME_POINTERS) - #include "third_party/abseil-cpp/absl/types/optional.h" - --#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_ANDROID) -+#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_ANDROID) || defined(OS_BSD) - #include - - #include "base/process/process_handle.h" diff --git a/www/chromium/files/patch-base_debug_stack__trace.h b/www/chromium/files/patch-base_debug_stack__trace.h deleted file mode 100644 index fd24a9ba8900..000000000000 --- a/www/chromium/files/patch-base_debug_stack__trace.h +++ /dev/null @@ -1,19 +0,0 @@ ---- base/debug/stack_trace.h.orig 2021-12-14 11:44:55 UTC -+++ base/debug/stack_trace.h -@@ -18,6 +18,7 @@ - #if !defined(OS_NACL) - #include - #endif -+#include - #include - #endif - -@@ -155,7 +156,7 @@ BASE_EXPORT size_t CollectStackTrace(void** trace, siz - // scanning area at the origin of the stack, wasting time and not finding any - // frames (since Android libraries don't have frame pointers). Scanning is not - // enabled on other posix platforms due to legacy reasons. --#if defined(OS_LINUX) || defined(OS_CHROMEOS) -+#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD) - constexpr bool kEnableScanningByDefault = true; - #else - constexpr bool kEnableScanningByDefault = false; diff --git a/www/chromium/files/patch-base_debug_stack__trace__posix.cc b/www/chromium/files/patch-base_debug_stack__trace__posix.cc index afefdadf5bf8..1852f89074be 100644 --- a/www/chromium/files/patch-base_debug_stack__trace__posix.cc +++ b/www/chromium/files/patch-base_debug_stack__trace__posix.cc @@ -1,75 +1,38 @@ ---- base/debug/stack_trace_posix.cc.orig 2021-12-14 11:44:55 UTC +--- base/debug/stack_trace_posix.cc.orig 2022-02-07 13:39:41 UTC +++ base/debug/stack_trace_posix.cc @@ -35,7 +35,7 @@ #include #endif -#if defined(OS_LINUX) || defined(OS_CHROMEOS) +#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD) #include "base/debug/proc_maps_linux.h" #endif -@@ -446,7 +446,7 @@ void StackDumpSignalHandler(int signal, siginfo_t* inf - if (::signal(signal, SIG_DFL) == SIG_ERR) { - _exit(EXIT_FAILURE); - } --#elif !defined(OS_LINUX) -+#elif !defined(OS_LINUX) && !defined(OS_BSD) - // For all operating systems but Linux we do not reraise the signal that - // brought us here but terminate the process immediately. - // Otherwise various tests break on different operating systems, see -@@ -454,7 +454,7 @@ void StackDumpSignalHandler(int signal, siginfo_t* inf - PrintToStderr( - "Calling _exit(EXIT_FAILURE). Core file will not be generated.\n"); - _exit(EXIT_FAILURE); --#endif // !defined(OS_LINUX) -+#endif // !defined(OS_LINUX) && !defined(OS_BSD) - - // After leaving this handler control flow returns to the point where the - // signal was raised, raising the current signal once again but executing the -@@ -695,13 +695,21 @@ class SandboxSymbolizeHelper { +@@ -693,6 +693,9 @@ class SandboxSymbolizeHelper { + // for the modules that are loaded in the current process. + // Returns true on success. + bool CacheMemoryRegions() { ++#if defined(OS_BSD) ++ return false; ++#else // Reads /proc/self/maps. std::string contents; if (!ReadProcMaps(&contents)) { -+#if defined(OS_BSD) -+ LOG(ERROR) << "Failed to read /proc/curproc/map"; -+#else - LOG(ERROR) << "Failed to read /proc/self/maps"; -+#endif - return false; - } +@@ -710,6 +713,7 @@ class SandboxSymbolizeHelper { - // Parses /proc/self/maps. - if (!ParseProcMaps(contents, ®ions_)) { -+#if defined(OS_BSD) -+ LOG(ERROR) << "Failed to parse the contents of /proc/curproc/map"; -+#else - LOG(ERROR) << "Failed to parse the contents of /proc/self/maps"; -+#endif - return false; - } - -@@ -732,7 +740,11 @@ class SandboxSymbolizeHelper { - // Skip regions with empty file names. - continue; - } -+#if defined(OS_BSD) -+ if (region.path[0] == '-') { -+#else - if (region.path[0] == '[') { + is_initialized_ = true; + return true; +#endif - // Skip pseudo-paths, like [stack], [vdso], [heap], etc ... - continue; - } -@@ -827,9 +839,9 @@ bool EnableInProcessStackDumping() { - success &= (sigaction(SIGBUS, &action, nullptr) == 0); - success &= (sigaction(SIGSEGV, &action, nullptr) == 0); - // On Linux, SIGSYS is reserved by the kernel for seccomp-bpf sandboxing. --#if !defined(OS_LINUX) && !defined(OS_CHROMEOS) -+#if !defined(OS_LINUX) && !defined(OS_CHROMEOS) && !defined(OS_BSD) - success &= (sigaction(SIGSYS, &action, nullptr) == 0); --#endif // !defined(OS_LINUX) && !defined(OS_CHROMEOS) -+#endif // !defined(OS_LINUX) && !defined(OS_CHROMEOS) && !defined(OS_BSD) + } - return success; - } + // Opens all object files and caches their file descriptors. +@@ -866,7 +870,7 @@ size_t CollectStackTrace(void** trace, size_t count) { + // If we do not have unwind tables, then try tracing using frame pointers. + return base::debug::TraceStackFramePointers(const_cast(trace), + count, 0); +-#elif !defined(__UCLIBC__) && !defined(_AIX) ++#elif !defined(__UCLIBC__) && !defined(_AIX) && !defined(OS_BSD) + // Though the backtrace API man page does not list any possible negative + // return values, we take no chance. + return base::saturated_cast(backtrace(trace, count)); diff --git a/www/chromium/files/patch-base_debug_stack__trace__unittest.cc b/www/chromium/files/patch-base_debug_stack__trace__unittest.cc deleted file mode 100644 index a679dcb06d73..000000000000 --- a/www/chromium/files/patch-base_debug_stack__trace__unittest.cc +++ /dev/null @@ -1,40 +0,0 @@ ---- base/debug/stack_trace_unittest.cc.orig 2021-07-19 18:45:05 UTC -+++ base/debug/stack_trace_unittest.cc -@@ -71,6 +71,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::UnitTest::Run()". -@@ -89,9 +90,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) { -@@ -105,7 +107,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) { -@@ -344,7 +346,7 @@ TEST_F(StackTraceTest, MAYBE_TraceStackFramePointers) - // sometimes we read fp / pc from the place that previously held - // uninitialized value. - // TODO(crbug.com/1132511): Enable this test on Fuchsia. --#if defined(MEMORY_SANITIZER) || defined(OS_FUCHSIA) -+#if defined(MEMORY_SANITIZER) || defined(OS_FUCHSIA) || defined(OS_BSD) - #define MAYBE_TraceStackFramePointersFromBuffer \ - DISABLED_TraceStackFramePointersFromBuffer - #else diff --git a/www/chromium/files/patch-base_files_file__path__unittest.cc b/www/chromium/files/patch-base_files_file__path__unittest.cc deleted file mode 100644 index 14bb60990cde..000000000000 --- a/www/chromium/files/patch-base_files_file__path__unittest.cc +++ /dev/null @@ -1,11 +0,0 @@ ---- base/files/file_path_unittest.cc.orig 2021-12-14 11:44:55 UTC -+++ base/files/file_path_unittest.cc -@@ -1202,7 +1202,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) || defined(OS_CHROMEOS)) -+#if !defined(SYSTEM_NATIVE_UTF8) && (defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD)) - ScopedLocale locale("en_US.UTF-8"); - #endif - diff --git a/www/chromium/files/patch-base_files_file__path__watcher__freebsd.cc b/www/chromium/files/patch-base_files_file__path__watcher__bsd.cc similarity index 78% rename from www/chromium/files/patch-base_files_file__path__watcher__freebsd.cc rename to www/chromium/files/patch-base_files_file__path__watcher__bsd.cc index a10889cb9fdb..b4632c587e95 100644 --- a/www/chromium/files/patch-base_files_file__path__watcher__freebsd.cc +++ b/www/chromium/files/patch-base_files_file__path__watcher__bsd.cc @@ -1,64 +1,57 @@ ---- base/files/file_path_watcher_freebsd.cc.orig 2021-04-15 08:12:30 UTC -+++ base/files/file_path_watcher_freebsd.cc -@@ -0,0 +1,61 @@ -+// Copyright (c) 2012 The Chromium Authors. All rights reserved. +--- base/files/file_path_watcher_bsd.cc.orig 2022-02-07 13:39:41 UTC ++++ base/files/file_path_watcher_bsd.cc +@@ -0,0 +1,54 @@ ++// Copyright 2021 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 + +#include "base/files/file_path_watcher.h" +#include "base/files/file_path_watcher_kqueue.h" -+ +#include "base/memory/ptr_util.h" +#include "build/build_config.h" + +namespace base { + +namespace { + +class FilePathWatcherImpl : public FilePathWatcher::PlatformDelegate { + public: + FilePathWatcherImpl() = default; + FilePathWatcherImpl(const FilePathWatcherImpl&) = delete; + FilePathWatcherImpl& operator=(const FilePathWatcherImpl&) = delete; + ~FilePathWatcherImpl() override = default; + + bool Watch(const FilePath& path, + Type type, + const FilePathWatcher::Callback& callback) override { + DCHECK(!impl_.get()); -+ + if (type == Type::kRecursive) { -+ return false; ++ if (!FilePathWatcher::RecursiveWatchAvailable()) ++ return false; + } else { + impl_ = std::make_unique(); + } -+ + DCHECK(impl_.get()); -+ + return impl_->Watch(path, type, callback); + } + + void Cancel() override { + if (impl_.get()) + impl_->Cancel(); -+ + set_cancelled(); + } + + private: + std::unique_ptr impl_; +}; + +} // namespace + +FilePathWatcher::FilePathWatcher() { + sequence_checker_.DetachFromSequence(); + impl_ = std::make_unique(); +} + +} // namespace base diff --git a/www/chromium/files/patch-base_files_file__path__watcher__kqueue.h b/www/chromium/files/patch-base_files_file__path__watcher__kqueue.h index 75dd465828bc..821858b75711 100644 --- a/www/chromium/files/patch-base_files_file__path__watcher__kqueue.h +++ b/www/chromium/files/patch-base_files_file__path__watcher__kqueue.h @@ -1,13 +1,10 @@ ---- base/files/file_path_watcher_kqueue.h.orig 2021-04-14 18:40:48 UTC +--- base/files/file_path_watcher_kqueue.h.orig 2022-02-07 13:39:41 UTC +++ base/files/file_path_watcher_kqueue.h -@@ -5,6 +5,10 @@ +@@ -5,6 +5,7 @@ #ifndef BASE_FILES_FILE_PATH_WATCHER_KQUEUE_H_ #define BASE_FILES_FILE_PATH_WATCHER_KQUEUE_H_ -+#ifdef __FreeBSD__ -+#include -+#include -+#endif ++#include #include #include diff --git a/www/chromium/files/patch-base_files_file__path__watcher__unittest.cc b/www/chromium/files/patch-base_files_file__path__watcher__unittest.cc deleted file mode 100644 index c046f76ff4cc..000000000000 --- a/www/chromium/files/patch-base_files_file__path__watcher__unittest.cc +++ /dev/null @@ -1,56 +0,0 @@ ---- base/files/file_path_watcher_unittest.cc.orig 2021-09-24 04:25:55 UTC -+++ base/files/file_path_watcher_unittest.cc -@@ -451,12 +451,12 @@ TEST_F(FilePathWatcherTest, WatchDirectory) { - VLOG(1) << "Waiting for file1 creation"; - ASSERT_TRUE(WaitForEvents()); - --#if !defined(OS_APPLE) -+#if !defined(OS_APPLE) && !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"; - ASSERT_TRUE(WaitForEvents()); --#endif // !OS_APPLE -+#endif // !OS_APPLE && !OS_BSD - - ASSERT_TRUE(base::DeleteFile(file1)); - VLOG(1) << "Waiting for file1 deletion"; -@@ -1031,7 +1031,7 @@ TEST_F(FilePathWatcherTest, InotifyLimitInUpdateRecurs - } - } - --#endif // defined(OS_LINUX) || defined(OS_CHROMEOS) -+#endif // defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD) - - enum Permission { - Read, -@@ -1039,7 +1039,7 @@ enum Permission { - Execute - }; - --#if defined(OS_APPLE) -+#if defined(OS_APPLE) || defined(OS_BSD) - bool ChangeFilePermissions(const FilePath& path, Permission perm, bool allow) { - struct stat stat_buf; - -@@ -1068,9 +1068,9 @@ bool ChangeFilePermissions(const FilePath& path, Permi - } - return chmod(path.value().c_str(), stat_buf.st_mode) == 0; - } --#endif // defined(OS_APPLE) -+#endif // defined(OS_APPLE) || defined(OS_BSD) - --#if defined(OS_APPLE) -+#if defined(OS_APPLE) || defined(OS_BSD) - // Linux implementation of FilePathWatcher doesn't catch attribute changes. - // http://crbug.com/78043 - // Windows implementation of FilePathWatcher catches attribute changes that -@@ -1106,7 +1106,7 @@ TEST_F(FilePathWatcherTest, DirAttributesChanged) { - ASSERT_TRUE(ChangeFilePermissions(test_dir1, Execute, true)); - } - --#endif // OS_APPLE -+#endif // OS_APPLE || OS_BSD - - #if defined(OS_MAC) - diff --git a/www/chromium/files/patch-base_files_file__util.h b/www/chromium/files/patch-base_files_file__util.h deleted file mode 100644 index de3e4fa1d2fb..000000000000 --- a/www/chromium/files/patch-base_files_file__util.h +++ /dev/null @@ -1,46 +0,0 @@ ---- base/files/file_util.h.orig 2021-09-24 04:25:55 UTC -+++ base/files/file_util.h -@@ -280,14 +280,14 @@ BASE_EXPORT bool SetPosixFilePermissions(const FilePat - BASE_EXPORT bool ExecutableExistsInPath(Environment* env, - const FilePath::StringType& executable); - --#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_AIX) -+#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_AIX) || defined(OS_BSD) - // Determine if files under a given |path| can be mapped and then mprotect'd - // PROT_EXEC. This depends on the mount options used for |path|, which vary - // among different Linux distributions and possibly local configuration. It also - // depends on details of kernel--ChromeOS uses the noexec option for /dev/shm - // but its kernel allows mprotect with PROT_EXEC anyway. - BASE_EXPORT bool IsPathExecutable(const FilePath& path); --#endif // defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_AIX) -+#endif // defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_AIX) || defined(OS_BSD) - - #endif // OS_POSIX - -@@ -610,7 +610,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_CHROMEOS) || defined(OS_AIX) -+#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_AIX) || defined(OS_BSD) - // Broad categories of file systems as returned by statfs() on Linux. - enum FileSystemType { - FILE_SYSTEM_UNKNOWN, // statfs failed. -@@ -657,7 +657,7 @@ BASE_EXPORT bool CopyAndDeleteDirectory(const FilePath - const FilePath& to_path); - #endif // defined(OS_WIN) - --#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_ANDROID) -+#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_ANDROID) || defined(OS_BSD) - // CopyFileContentsWithSendfile will use the sendfile(2) syscall to perform a - // file copy without moving the data between kernel and userspace. This is much - // more efficient than sequences of read(2)/write(2) calls. The |retry_slow| -@@ -669,7 +669,7 @@ BASE_EXPORT bool CopyAndDeleteDirectory(const FilePath - BASE_EXPORT bool CopyFileContentsWithSendfile(File& infile, - File& outfile, - bool& retry_slow); --#endif // defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_ANDROID) -+#endif // defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_ANDROID) || defined(OS_BSD) - - // Used by PreReadFile() when no kernel support for prefetching is available. - bool PreReadFileSlow(const FilePath& file_path, int64_t max_bytes); diff --git a/www/chromium/files/patch-base_files_file__util__posix.cc b/www/chromium/files/patch-base_files_file__util__posix.cc index 4f1bee8b12a5..a1831d52549c 100644 --- a/www/chromium/files/patch-base_files_file__util__posix.cc +++ b/www/chromium/files/patch-base_files_file__util__posix.cc @@ -1,142 +1,52 @@ ---- base/files/file_util_posix.cc.orig 2021-09-24 04:25:55 UTC +--- base/files/file_util_posix.cc.orig 2022-02-07 13:39:41 UTC +++ base/files/file_util_posix.cc -@@ -23,6 +23,10 @@ - #if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_ANDROID) - #include - #endif -+#if defined(OS_BSD) -+#include -+#include -+#endif - - #include "base/base_switches.h" - #include "base/bits.h" -@@ -384,7 +388,7 @@ bool CreatePipe(ScopedFD* read_fd, ScopedFD* write_fd, - } - - bool CreateLocalNonBlockingPipe(int fds[2]) { --#if defined(OS_LINUX) || defined(OS_CHROMEOS) -+#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD) - return pipe2(fds, O_CLOEXEC | O_NONBLOCK) == 0; - #else - int raw_fds[2]; -@@ -937,8 +941,12 @@ bool AllocateFileRegion(File* file, int64_t offset, si - // space. It can fail because the filesystem doesn't support it. In that case, - // use the manual method below. - --#if defined(OS_LINUX) || defined(OS_CHROMEOS) -+#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD) -+#if defined(OS_BSD) -+ if (HANDLE_EINTR(posix_fallocate(file->GetPlatformFile(), offset, size)) != -1) -+#else - if (HANDLE_EINTR(fallocate(file->GetPlatformFile(), 0, offset, size)) != -1) -+#endif - return true; - DPLOG(ERROR) << "fallocate"; - #elif defined(OS_APPLE) -@@ -1113,7 +1121,7 @@ int GetMaximumPathComponentLength(const FilePath& path - #if !defined(OS_ANDROID) - // This is implemented in file_util_android.cc for that platform. - bool GetShmemTempDir(bool executable, FilePath* path) { --#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_AIX) -+#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_AIX) || defined(OS_BSD) - bool disable_dev_shm = false; - #if !BUILDFLAG(IS_CHROMEOS_ASH) && !BUILDFLAG(IS_CHROMEOS_LACROS) - disable_dev_shm = CommandLine::ForCurrentProcess()->HasSwitch( -@@ -1129,7 +1137,7 @@ bool GetShmemTempDir(bool executable, FilePath* path) - *path = FilePath("/dev/shm"); - return true; - } --#endif // defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_AIX) -+#endif // defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_AIX) || defined(OS_BSD) - return GetTempDir(path); - } - #endif // !defined(OS_ANDROID) -@@ -1167,7 +1175,7 @@ PrefetchResult PreReadFile(const FilePath& file_path, - // posix_fadvise() is only available in the Android NDK in API 21+. Older - // versions may have the required kernel support, but don't have enough usage - // to justify backporting. --#if defined(OS_LINUX) || defined(OS_CHROMEOS) || \ -+#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD) || \ - (defined(OS_ANDROID) && __ANDROID_API__ >= 21) - File file(file_path, File::FLAG_OPEN | File::FLAG_READ); - if (!file.IsValid()) -@@ -1203,7 +1211,7 @@ PrefetchResult PreReadFile(const FilePath& file_path, - return internal::PreReadFileSlow(file_path, max_bytes) - ? PrefetchResult{PrefetchResultCode::kSlowSuccess} - : PrefetchResult{PrefetchResultCode::kSlowFailed}; --#endif // defined(OS_LINUX) || defined(OS_CHROMEOS) || (defined(OS_ANDROID) && -+#endif // defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD) || (defined(OS_ANDROID) && - // __ANDROID_API__ >= 21) - } - -@@ -1234,7 +1242,7 @@ bool MoveUnsafe(const FilePath& from_path, const FileP - return true; - } - --#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_ANDROID) -+#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_ANDROID) || defined(OS_BSD) - bool CopyFileContentsWithSendfile(File& infile, - File& outfile, - bool& retry_slow) { -@@ -1243,17 +1251,36 @@ bool CopyFileContentsWithSendfile(File& infile, - return false; +@@ -694,32 +694,34 @@ bool CreateDirectoryAndGetError(const FilePath& full_p + File::Error* error) { + ScopedBlockingCall scoped_blocking_call( + FROM_HERE, BlockingType::MAY_BLOCK); // For call to mkdir(). ++ const FilePath kFileSystemRoot("/"); + std::vector subpaths; + + // Collect a list of all parent directories. + FilePath last_path = full_path; +- subpaths.push_back(full_path); ++ if (full_path != kFileSystemRoot) ++ subpaths.push_back(full_path); + for (FilePath path = full_path.DirName(); +- path.value() != last_path.value(); path = path.DirName()) { ++ (path.value() != last_path.value() && ++ (path != kFileSystemRoot)); path = path.DirName()) { + subpaths.push_back(path); + last_path = path; } -+#if defined(OS_BSD) -+ off_t copied = 0; -+ off_t res = 0; -+#else - size_t copied = 0; - ssize_t res = 0; -+#endif - while (file_size - copied > 0) { - // Don't specify an offset and the kernel will begin reading/writing to the - // current file offsets. -+#if defined(OS_BSD) -+ int retv = HANDLE_EINTR(sendfile(infile.GetPlatformFile(), -+ outfile.GetPlatformFile(), -+ copied, -+ file_size - copied, -+ /*hdtr=*/nullptr, -+ &res, -+ 0)); -+ if (retv != 0) { -+ res = -1; -+ break; -+ } -+#else - res = HANDLE_EINTR(sendfile(outfile.GetPlatformFile(), - infile.GetPlatformFile(), /*offset=*/nullptr, - /*length=*/file_size - copied)); - if (res <= 0) { - break; + // Iterate through the parents and create the missing ones. + for (auto i = subpaths.rbegin(); i != subpaths.rend(); ++i) { +- if (DirectoryExists(*i)) +- continue; +- if (mkdir(i->value().c_str(), 0700) == 0) +- continue; +- // Mkdir failed, but it might have failed with EEXIST, or some other error +- // due to the directory appearing out of thin air. This can occur if +- // two processes are trying to create the same file system tree at the same +- // time. Check to see if it exists and make sure it is a directory. +- int saved_errno = errno; +- if (!DirectoryExists(*i)) { +- if (error) +- *error = File::OSErrorToFileError(saved_errno); +- return false; ++ if (!PathExists(*i)) { ++ if ((mkdir(i->value().c_str(), 0700) == -1) && ++ ((full_path != *i) ? (errno != ENOENT) : (-1))) { ++ int saved_errno = errno; ++ if (error) ++ *error = File::OSErrorToFileError(saved_errno); ++ return false; ++ } ++ } else if (!DirectoryExists(*i)) { ++ if (error) ++ *error = File::OSErrorToFileError(ENOTDIR); ++ return false; } -+#endif - - copied += res; } -@@ -1267,13 +1294,13 @@ bool CopyFileContentsWithSendfile(File& infile, - - return res >= 0; - } --#endif // defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_ANDROID) -+#endif // defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_ANDROID) || defined(OS_BSD) - - } // namespace internal - - #endif // !defined(OS_NACL_NONSFI) - --#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_AIX) -+#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_AIX) || defined(OS_BSD) - BASE_EXPORT bool IsPathExecutable(const FilePath& path) { - bool result = false; - FilePath tmp_file_path; -@@ -1294,6 +1321,6 @@ BASE_EXPORT bool IsPathExecutable(const FilePath& path - } - return result; - } --#endif // defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_AIX) -+#endif // defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_AIX) || defined(OS_BSD) - - } // namespace base + return true; diff --git a/www/chromium/files/patch-base_files_file__util__unittest.cc b/www/chromium/files/patch-base_files_file__util__unittest.cc deleted file mode 100644 index 17631593b4b2..000000000000 --- a/www/chromium/files/patch-base_files_file__util__unittest.cc +++ /dev/null @@ -1,38 +0,0 @@ ---- base/files/file_util_unittest.cc.orig 2021-12-31 00:57:18 UTC -+++ base/files/file_util_unittest.cc -@@ -1640,7 +1640,7 @@ TEST_F(FileUtilTest, DeleteDirRecursiveWithOpenFile) { - #endif - } - --#if defined(OS_LINUX) || defined(OS_CHROMEOS) -+#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD) - // This test will validate that files which would block when read result in a - // failure on a call to ReadFileToStringNonBlocking. To accomplish this we will - // use a named pipe because it appears as a file on disk and we can control how -@@ -1673,7 +1673,7 @@ TEST_F(FileUtilTest, TestNonBlockingFileReadLinux) { - ASSERT_EQ(result.size(), 1u); - EXPECT_EQ(result[0], 'a'); - } --#endif // defined(OS_LINUX) || defined(OS_CHROMEOS) -+#endif // defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD) - - TEST_F(FileUtilTest, MoveFileNew) { - // Create a file -@@ -3509,7 +3509,7 @@ TEST_F(FileUtilTest, ReadFileToStringWithNamedPipe) { - } - #endif // defined(OS_WIN) - --#if defined(OS_POSIX) && !defined(OS_APPLE) -+#if defined(OS_POSIX) && !defined(OS_APPLE) && !defined(OS_BSD) - TEST_F(FileUtilTest, ReadFileToStringWithProcFileSystem) { - FilePath file_path("/proc/cpuinfo"); - std::string data = "temp"; -@@ -3527,7 +3527,7 @@ TEST_F(FileUtilTest, ReadFileToStringWithProcFileSyste - - EXPECT_FALSE(ReadFileToStringWithMaxSize(file_path, nullptr, 4)); - } --#endif // defined(OS_POSIX) && !defined(OS_APPLE) -+#endif // defined(OS_POSIX) && !defined(OS_APPLE) && !defined(OS_BSD) - - TEST_F(FileUtilTest, ReadFileToStringWithLargeFile) { - std::string data(kLargeFileSize, 'c'); diff --git a/www/chromium/files/patch-base_files_important__file__writer__cleaner.cc b/www/chromium/files/patch-base_files_important__file__writer__cleaner.cc new file mode 100644 index 000000000000..63a8f084dee3 --- /dev/null +++ b/www/chromium/files/patch-base_files_important__file__writer__cleaner.cc @@ -0,0 +1,12 @@ +--- base/files/important_file_writer_cleaner.cc.orig 2022-02-07 13:39:41 UTC ++++ base/files/important_file_writer_cleaner.cc +@@ -24,7 +24,8 @@ namespace base { + namespace { + + base::Time GetUpperBoundTime() { +-#if defined(OS_ANDROID) || defined(OS_IOS) || defined(OS_FUCHSIA) ++// needed because of .CreationTime() pledge ++#if defined(OS_ANDROID) || defined(OS_IOS) || defined(OS_FUCHSIA) || defined(OS_BSD) + // If process creation time is not available then use instance creation + // time as the upper-bound for old files. Modification times may be + // rounded-down to coarse-grained increments, e.g. FAT has 2s granularity, diff --git a/www/chromium/files/patch-base_files_scoped__file.cc b/www/chromium/files/patch-base_files_scoped__file.cc index bcef7a1f0bbd..874e2e3d597a 100644 --- a/www/chromium/files/patch-base_files_scoped__file.cc +++ b/www/chromium/files/patch-base_files_scoped__file.cc @@ -1,11 +1,11 @@ ---- base/files/scoped_file.cc.orig 2021-04-14 18:40:48 UTC +--- base/files/scoped_file.cc.orig 2022-02-07 13:39:41 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. +@@ -31,7 +31,7 @@ void ScopedFDCloseTraits::Free(int fd) { int ret = IGNORE_EINTR(close(fd)); --#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_APPLE) || \ -+#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD) || defined(OS_APPLE) || \ - defined(OS_FUCHSIA) || defined(OS_ANDROID) + #if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_APPLE) || \ +- defined(OS_FUCHSIA) || defined(OS_ANDROID) ++ defined(OS_FUCHSIA) || defined(OS_ANDROID) || defined(OS_BSD) // NB: Some file descriptors can return errors from close() e.g. network // filesystems such as NFS and Linux input devices. On Linux, macOS, and + // Fuchsia's POSIX layer, errors from close other than EBADF do not indicate diff --git a/www/chromium/files/patch-base_files_scoped__file.h b/www/chromium/files/patch-base_files_scoped__file.h deleted file mode 100644 index 0973e46682f4..000000000000 --- a/www/chromium/files/patch-base_files_scoped__file.h +++ /dev/null @@ -1,43 +0,0 @@ ---- base/files/scoped_file.h.orig 2021-07-28 07:19:23 UTC -+++ base/files/scoped_file.h -@@ -26,7 +26,7 @@ struct BASE_EXPORT ScopedFDCloseTraits : public Scoped - static void Release(const ScopedGeneric&, int); - }; - #elif defined(OS_POSIX) || defined(OS_FUCHSIA) --#if defined(OS_CHROMEOS) || defined(OS_LINUX) -+#if defined(OS_CHROMEOS) || defined(OS_LINUX) || defined(OS_BSD) - // On ChromeOS and Linux we guard FD lifetime with a global table and hook into - // libc close() to perform checks. - struct BASE_EXPORT ScopedFDCloseTraits : public ScopedGenericOwnershipTracking { -@@ -37,7 +37,7 @@ struct BASE_EXPORT ScopedFDCloseTraits { - return -1; - } - static void Free(int fd); --#if defined(OS_CHROMEOS) || defined(OS_LINUX) -+#if defined(OS_CHROMEOS) || defined(OS_LINUX) || defined(OS_BSD) - static void Acquire(const ScopedGeneric&, int); - static void Release(const ScopedGeneric&, int); - #endif -@@ -54,7 +54,7 @@ struct ScopedFILECloser { - - } // namespace internal - --#if defined(OS_CHROMEOS) || defined(OS_LINUX) -+#if defined(OS_CHROMEOS) || defined(OS_LINUX) || defined(OS_BSD) - namespace subtle { - - // Enables or disables enforcement of FD ownership as tracked by ScopedFD -@@ -104,11 +104,11 @@ typedef ScopedGeneric ScopedFILE; - --#if defined(OS_CHROMEOS) || defined(OS_LINUX) -+#if defined(OS_CHROMEOS) || defined(OS_LINUX) || defined(OS_BSD) - // Queries the ownership status of an FD, i.e. whether it is currently owned by - // a ScopedFD in the calling process. - bool BASE_EXPORT IsFDOwned(int fd); --#endif // defined(OS_CHROMEOS) || defined(OS_LINUX) -+#endif // defined(OS_CHROMEOS) || defined(OS_LINUX) || defined(OS_BSD) - - } // namespace base - diff --git a/www/chromium/files/patch-base_files_scoped__file__linux.cc b/www/chromium/files/patch-base_files_scoped__file__linux.cc deleted file mode 100644 index 05667175c342..000000000000 --- a/www/chromium/files/patch-base_files_scoped__file__linux.cc +++ /dev/null @@ -1,23 +0,0 @@ ---- base/files/scoped_file_linux.cc.orig 2021-07-28 11:34:50 UTC -+++ base/files/scoped_file_linux.cc -@@ -80,12 +80,20 @@ bool IsFDOwned(int fd) { - - extern "C" { - -+#if defined(OS_FREEBSD) -+int __sys_close(int); -+#else - int __close(int); -+#endif - - __attribute__((visibility("default"), noinline)) int close(int fd) { - if (base::IsFDOwned(fd) && g_is_ownership_enforced) - CrashOnFdOwnershipViolation(); -+#if defined(OS_FREEBSD) -+ return __sys_close(fd); -+#else - return __close(fd); -+#endif - } - - } // extern "C" diff --git a/www/chromium/files/patch-base_i18n_icu__util.cc b/www/chromium/files/patch-base_i18n_icu__util.cc index c7da7bc3c69c..36122feefefa 100644 --- a/www/chromium/files/patch-base_i18n_icu__util.cc +++ b/www/chromium/files/patch-base_i18n_icu__util.cc @@ -1,20 +1,21 @@ ---- base/i18n/icu_util.cc.orig 2021-05-12 22:05:40 UTC +--- base/i18n/icu_util.cc.orig 2022-02-07 13:39:41 UTC +++ base/i18n/icu_util.cc @@ -49,7 +49,7 @@ #include "third_party/icu/source/common/unicode/unistr.h" #endif -#if defined(OS_ANDROID) || defined(OS_FUCHSIA) || \ +#if defined(OS_ANDROID) || defined(OS_FUCHSIA) || defined(OS_BSD) || \ ((defined(OS_LINUX) || defined(OS_CHROMEOS)) && !BUILDFLAG(IS_CHROMECAST)) #include "third_party/icu/source/i18n/unicode/timezone.h" #endif -@@ -343,7 +343,7 @@ void InitializeIcuTimeZone() { +@@ -343,7 +343,8 @@ void InitializeIcuTimeZone() { FuchsiaIntlProfileWatcher::GetPrimaryTimeZoneIdForIcuInitialization(); icu::TimeZone::adoptDefault( icu::TimeZone::createTimeZone(icu::UnicodeString::fromUTF8(zone_id))); -#elif (defined(OS_LINUX) || defined(OS_CHROMEOS)) && !BUILDFLAG(IS_CHROMECAST) -+#elif (defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD)) && !BUILDFLAG(IS_CHROMECAST) ++#elif (defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD)) && \ ++ !BUILDFLAG(IS_CHROMECAST) // To respond to the time zone change properly, the default time zone // cache in ICU has to be populated on starting up. // See TimeZoneMonitorLinux::NotifyClientsFromImpl(). diff --git a/www/chromium/files/patch-base_linux__util.cc b/www/chromium/files/patch-base_linux__util.cc index 5455bc589b4d..853eb881f872 100644 --- a/www/chromium/files/patch-base_linux__util.cc +++ b/www/chromium/files/patch-base_linux__util.cc @@ -1,38 +1,28 @@ ---- base/linux_util.cc.orig 2021-09-14 01:51:47 UTC +--- base/linux_util.cc.orig 2022-02-07 13:39:41 UTC +++ base/linux_util.cc @@ -15,6 +15,7 @@ #include #include +#include #include "base/files/dir_reader_posix.h" #include "base/files/file_util.h" -@@ -78,6 +79,9 @@ class DistroNameGetter { - public: - DistroNameGetter() { - static const char* const kFilesToCheck[] = {"/etc/os-release", -+#if defined(OS_BSD) -+ "/usr/local/etc/os-release", -+#endif - "/usr/lib/os-release"}; - for (const char* file : kFilesToCheck) { - if (ReadDistroFromOSReleaseFile(file)) -@@ -134,6 +138,9 @@ void SetLinuxDistro(const std::string& distro) { +@@ -134,6 +135,9 @@ void SetLinuxDistro(const std::string& distro) { } bool GetThreadsForProcess(pid_t pid, std::vector* tids) { +#if defined(OS_BSD) + return false; +#else // 25 > strlen("/proc//task") + strlen(std::to_string(INT_MAX)) + 1 = 22 char buf[25]; strings::SafeSPrintf(buf, "/proc/%d/task", pid); -@@ -153,6 +160,7 @@ bool GetThreadsForProcess(pid_t pid, std::vector - #endif - -@@ -553,7 +553,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_MAC) -+#if defined(OS_MAC) || defined(OS_BSD) - crash_addr = reinterpret_cast(info->si_addr); - #else // OS_* - ucontext_t* context = reinterpret_cast(context_ptr); diff --git a/www/chromium/files/patch-base_memory_discardable__memory.cc b/www/chromium/files/patch-base_memory_discardable__memory.cc index b0860eea0c36..136569ca00cd 100644 --- a/www/chromium/files/patch-base_memory_discardable__memory.cc +++ b/www/chromium/files/patch-base_memory_discardable__memory.cc @@ -1,63 +1,38 @@ ---- base/memory/discardable_memory.cc.orig 2021-05-12 22:05:40 UTC +--- base/memory/discardable_memory.cc.orig 2022-02-07 13:39:41 UTC +++ base/memory/discardable_memory.cc @@ -24,7 +24,7 @@ const base::Feature kMadvFreeDiscardableMemory{ "MadvFreeDiscardableMemory", base::FEATURE_DISABLED_BY_DEFAULT}; #endif // defined(OS_POSIX) -#if defined(OS_ANDROID) || defined(OS_LINUX) || defined(OS_CHROMEOS) +#if defined(OS_ANDROID) || defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD) const base::Feature kDiscardableMemoryBackingTrial{ "DiscardableMemoryBackingTrial", base::FEATURE_DISABLED_BY_DEFAULT}; -@@ -42,13 +42,13 @@ const base::FeatureParam - DiscardableMemoryTrialGroup::kEmulatedSharedMemory, - &kDiscardableMemoryBackingParamOptions}; - --#endif // defined(OS_ANDROID) || defined(OS_LINUX) || defined(OS_CHROMEOS) -+#endif // defined(OS_ANDROID) || defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD) - - } // namespace features +@@ -48,7 +48,7 @@ const base::FeatureParam namespace { -#if defined(OS_ANDROID) || defined(OS_LINUX) || defined(OS_CHROMEOS) +#if defined(OS_ANDROID) || defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD) DiscardableMemoryBacking GetBackingForFieldTrial() { DiscardableMemoryTrialGroup trial_group = -@@ -62,11 +62,11 @@ DiscardableMemoryBacking GetBackingForFieldTrial() { - } - NOTREACHED(); - } --#endif // defined(OS_ANDROID) || defined(OS_LINUX) || defined(OS_CHROMEOS) -+#endif // defined(OS_ANDROID) || defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD) +@@ -66,7 +66,7 @@ DiscardableMemoryBacking GetBackingForFieldTrial() { } // namespace -#if defined(OS_ANDROID) || defined(OS_LINUX) || defined(OS_CHROMEOS) +#if defined(OS_ANDROID) || defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD) // Probe capabilities of this device to determine whether we should participate // in the discardable memory backing trial. -@@ -88,18 +88,18 @@ DiscardableMemoryTrialGroup GetDiscardableMemoryBackin - DCHECK(DiscardableMemoryBackingFieldTrialIsEnabled()); - return features::kDiscardableMemoryBackingParam.Get(); - } --#endif // defined(OS_ANDROID) || defined(OS_LINUX) || defined(OS_CHROMEOS) -+#endif // defined(OS_ANDROID) || defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD) - - DiscardableMemory::DiscardableMemory() = default; - +@@ -95,7 +95,7 @@ DiscardableMemory::DiscardableMemory() = default; DiscardableMemory::~DiscardableMemory() = default; DiscardableMemoryBacking GetDiscardableMemoryBacking() { -#if defined(OS_ANDROID) || defined(OS_LINUX) || defined(OS_CHROMEOS) +#if defined(OS_ANDROID) || defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD) if (DiscardableMemoryBackingFieldTrialIsEnabled()) { return GetBackingForFieldTrial(); } --#endif // defined(OS_ANDROID) || defined(OS_LINUX) || defined(OS_CHROMEOS) -+#endif // defined(OS_ANDROID) || defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD) - - #if defined(OS_ANDROID) - if (ashmem_device_is_supported()) diff --git a/www/chromium/files/patch-base_memory_discardable__memory__internal.h b/www/chromium/files/patch-base_memory_discardable__memory__internal.h index aad3103a3e2c..c511cb6b113c 100644 --- a/www/chromium/files/patch-base_memory_discardable__memory__internal.h +++ b/www/chromium/files/patch-base_memory_discardable__memory__internal.h @@ -1,19 +1,11 @@ ---- base/memory/discardable_memory_internal.h.orig 2021-04-14 18:40:48 UTC +--- base/memory/discardable_memory_internal.h.orig 2022-02-07 13:39:41 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) || defined(OS_CHROMEOS) +#if defined(OS_ANDROID) || defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD) namespace base { -@@ -47,6 +47,6 @@ GetDiscardableMemoryBackingFieldTrialGroup(); - - } // namespace base - --#endif // defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_ANDROID) -+#endif // defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_ANDROID) || defined(OS_BSD) - - #endif // BASE_MEMORY_DISCARDABLE_MEMORY_INTERNAL_H_ diff --git a/www/chromium/files/patch-base_memory_madv__free__discardable__memory__posix.cc b/www/chromium/files/patch-base_memory_madv__free__discardable__memory__posix.cc index 7d915032033f..51230808b76b 100644 --- a/www/chromium/files/patch-base_memory_madv__free__discardable__memory__posix.cc +++ b/www/chromium/files/patch-base_memory_madv__free__discardable__memory__posix.cc @@ -1,11 +1,21 @@ ---- base/memory/madv_free_discardable_memory_posix.cc.orig 2021-04-14 18:40:48 UTC +--- base/memory/madv_free_discardable_memory_posix.cc.orig 2022-02-07 13:39:41 UTC +++ base/memory/madv_free_discardable_memory_posix.cc -@@ -292,7 +292,7 @@ void MadvFreeDiscardableMemoryPosix::SetKeepMemoryForT +@@ -292,6 +292,10 @@ void MadvFreeDiscardableMemoryPosix::SetKeepMemoryForT bool MadvFreeDiscardableMemoryPosix::IsResident() const { DFAKE_SCOPED_RECURSIVE_LOCK(thread_collision_warner_); --#if defined(OS_APPLE) -+#if defined(OS_APPLE) || defined(OS_BSD) ++// XXX mincore ++#if defined(OS_BSD) ++ return false; ++#else + #if defined(OS_APPLE) std::vector vec(allocated_pages_); #else - std::vector vec(allocated_pages_); +@@ -307,6 +311,7 @@ bool MadvFreeDiscardableMemoryPosix::IsResident() cons + return false; + } + return true; ++#endif + } + + bool MadvFreeDiscardableMemoryPosix::IsDiscarded() const { diff --git a/www/chromium/files/patch-base_memory_platform__shared__memory__region__posix.cc b/www/chromium/files/patch-base_memory_platform__shared__memory__region__posix.cc index ac2e0f6b2691..a35c8d880061 100644 --- a/www/chromium/files/patch-base_memory_platform__shared__memory__region__posix.cc +++ b/www/chromium/files/patch-base_memory_platform__shared__memory__region__posix.cc @@ -1,109 +1,29 @@ ---- base/memory/platform_shared_memory_region_posix.cc.orig 2022-01-20 10:35:46 UTC +--- base/memory/platform_shared_memory_region_posix.cc.orig 2022-02-07 13:39:41 UTC +++ base/memory/platform_shared_memory_region_posix.cc -@@ -23,7 +23,11 @@ struct ScopedPathUnlinkerTraits { - static const FilePath* InvalidValue() { return nullptr; } - - static void Free(const FilePath* path) { -+#if defined(OS_BSD) -+ if (shm_unlink(path->value().c_str())) -+#else - if (unlink(path->value().c_str())) -+#endif - PLOG(WARNING) << "unlink"; - } - }; -@@ -70,7 +74,7 @@ FDPair ScopedFDPair::get() const { +@@ -70,7 +70,7 @@ FDPair ScopedFDPair::get() const { return {fd.get(), readonly_fd.get()}; } -#if defined(OS_LINUX) || defined(OS_CHROMEOS) +#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD) // static ScopedFD PlatformSharedMemoryRegion::ExecutableRegion::CreateFD(size_t size) { PlatformSharedMemoryRegion region = -@@ -79,7 +83,7 @@ ScopedFD PlatformSharedMemoryRegion::ExecutableRegion: - return region.PassPlatformHandle().fd; - return ScopedFD(); - } --#endif // defined(OS_LINUX) || defined(OS_CHROMEOS) -+#endif // defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD) - - // static - PlatformSharedMemoryRegion PlatformSharedMemoryRegion::Take( -@@ -204,7 +208,7 @@ bool PlatformSharedMemoryRegion::MapAtInternal(off_t o +@@ -204,7 +204,7 @@ bool PlatformSharedMemoryRegion::MapAtInternal(off_t o // static PlatformSharedMemoryRegion PlatformSharedMemoryRegion::Create(Mode mode, size_t size -#if defined(OS_LINUX) || defined(OS_CHROMEOS) +#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD) , bool executable #endif -@@ -233,7 +237,7 @@ PlatformSharedMemoryRegion PlatformSharedMemoryRegion: +@@ -233,7 +233,7 @@ PlatformSharedMemoryRegion PlatformSharedMemoryRegion: // flag. FilePath directory; if (!GetShmemTempDir( -#if defined(OS_LINUX) || defined(OS_CHROMEOS) +#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD) executable, #else false /* executable */, -@@ -242,6 +246,22 @@ PlatformSharedMemoryRegion PlatformSharedMemoryRegion: - return {}; - } - -+#if defined(OS_BSD) -+ UnguessableToken token = UnguessableToken::Create(); -+ FilePath path = directory.Append(token.ToString()); -+ ScopedFD fd{HANDLE_EINTR(shm_open(path.value().c_str(), O_CREAT | O_RDWR, 0700))}; -+ File shm_file(fd.release()); -+ -+ if (!shm_file.IsValid()) { -+ PLOG(ERROR) << "Creating shared memory failed"; -+ return {}; -+ } -+ -+ if (HANDLE_EINTR(ftruncate(shm_file.GetPlatformFile(), size)) == -1) { -+ PLOG(ERROR) << "Failed to extend shared memory object to size " << size; -+ return {}; -+ } -+#else - FilePath path; - ScopedFD fd = CreateAndOpenFdForTemporaryFileInDir(directory, &path); - File shm_file(fd.release()); -@@ -258,6 +278,7 @@ PlatformSharedMemoryRegion PlatformSharedMemoryRegion: - } - return {}; - } -+#endif // OS_BSD - - // Deleting the file prevents anyone else from mapping it in (making it - // private), and prevents the need for cleanup (once the last fd is -@@ -267,7 +288,11 @@ PlatformSharedMemoryRegion PlatformSharedMemoryRegion: - ScopedFD readonly_fd; - if (mode == Mode::kWritable) { - // Also open as readonly so that we can ConvertToReadOnly(). -+#if defined(OS_BSD) -+ readonly_fd.reset(HANDLE_EINTR(shm_open(path.value().c_str(), O_RDONLY, 0400))); -+#else - readonly_fd.reset(HANDLE_EINTR(open(path.value().c_str(), O_RDONLY))); -+#endif - if (!readonly_fd.is_valid()) { - DPLOG(ERROR) << "open(\"" << path.value() << "\", O_RDONLY) failed"; - return {}; -@@ -298,9 +323,15 @@ PlatformSharedMemoryRegion PlatformSharedMemoryRegion: - } - } - -+#if defined(OS_BSD) - return PlatformSharedMemoryRegion( - {ScopedFD(shm_file.TakePlatformFile()), std::move(readonly_fd)}, mode, -+ size, token); -+#else -+ return PlatformSharedMemoryRegion( -+ {ScopedFD(shm_file.TakePlatformFile()), std::move(readonly_fd)}, mode, - size, UnguessableToken::Create()); -+#endif // OS_BSD - #endif // !defined(OS_NACL) - } - diff --git a/www/chromium/files/patch-base_memory_shared__memory__region__unittest.cc b/www/chromium/files/patch-base_memory_shared__memory__region__unittest.cc deleted file mode 100644 index 184ac299c806..000000000000 --- a/www/chromium/files/patch-base_memory_shared__memory__region__unittest.cc +++ /dev/null @@ -1,16 +0,0 @@ ---- base/memory/shared_memory_region_unittest.cc.orig 2021-04-14 18:40:48 UTC -+++ base/memory/shared_memory_region_unittest.cc -@@ -188,10 +188,13 @@ TYPED_TEST(SharedMemoryRegionTest, MapAtNotAlignedOffs - std::tie(region, rw_mapping) = CreateMappedRegion(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/chromium/files/patch-base_native__library__unittest.cc b/www/chromium/files/patch-base_native__library__unittest.cc deleted file mode 100644 index 58952dbd6b3a..000000000000 --- a/www/chromium/files/patch-base_native__library__unittest.cc +++ /dev/null @@ -1,11 +0,0 @@ ---- base/native_library_unittest.cc.orig 2021-04-14 18:40:48 UTC -+++ base/native_library_unittest.cc -@@ -118,7 +118,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/chromium/files/patch-base_numerics_safe__math__shared__impl.h b/www/chromium/files/patch-base_numerics_safe__math__shared__impl.h deleted file mode 100644 index 4a3d6cc92eb5..000000000000 --- a/www/chromium/files/patch-base_numerics_safe__math__shared__impl.h +++ /dev/null @@ -1,12 +0,0 @@ ---- base/numerics/safe_math_shared_impl.h.orig 2021-04-14 18:40:48 UTC -+++ base/numerics/safe_math_shared_impl.h -@@ -24,8 +24,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/chromium/files/patch-base_path__service__unittest.cc b/www/chromium/files/patch-base_path__service__unittest.cc deleted file mode 100644 index 3bf8f3f4cc0f..000000000000 --- a/www/chromium/files/patch-base_path__service__unittest.cc +++ /dev/null @@ -1,11 +0,0 @@ ---- base/path_service_unittest.cc.orig 2021-12-31 00:57:18 UTC -+++ base/path_service_unittest.cc -@@ -46,7 +46,7 @@ bool ReturnsValidPath(int key) { - if (key == DIR_CACHE) - check_path_exists = false; - #endif --#if defined(OS_LINUX) || defined(OS_CHROMEOS) -+#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD) - // On the linux try-bots: a path is returned (e.g. /home/chrome-bot/Desktop), - // but it doesn't exist. - if (key == DIR_USER_DESKTOP) diff --git a/www/chromium/files/patch-base_posix_can__lower__nice__to.cc b/www/chromium/files/patch-base_posix_can__lower__nice__to.cc index 9ffbb4524a4d..43b20c5e8988 100644 --- a/www/chromium/files/patch-base_posix_can__lower__nice__to.cc +++ b/www/chromium/files/patch-base_posix_can__lower__nice__to.cc @@ -1,20 +1,16 @@ ---- base/posix/can_lower_nice_to.cc.orig 2021-04-14 18:40:48 UTC +--- base/posix/can_lower_nice_to.cc.orig 2022-02-07 13:39:41 UTC +++ base/posix/can_lower_nice_to.cc -@@ -31,6 +31,9 @@ bool CanLowerNiceTo(int nice_value) { - if (geteuid() == 0) - return true; +@@ -11,8 +11,12 @@ -+#if defined(OS_BSD) -+ return false; -+#else - // 2. Skip checking the CAP_SYS_NICE permission because it would require - // libcap.so. + #include "build/build_config.h" -@@ -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; ++#if defined(OS_FREEBSD) ++#include +#endif - } - - } // namespace internal ++ + // Not defined on AIX by default. +-#if defined(OS_AIX) ++#if defined(OS_AIX) || defined(OS_BSD) + #if defined(RLIMIT_NICE) + #error Assumption about OS_AIX is incorrect + #endif diff --git a/www/chromium/files/patch-base_posix_unix__domain__socket.cc b/www/chromium/files/patch-base_posix_unix__domain__socket.cc index 7064cdc080f5..db441a342cef 100644 --- a/www/chromium/files/patch-base_posix_unix__domain__socket.cc +++ b/www/chromium/files/patch-base_posix_unix__domain__socket.cc @@ -1,49 +1,39 @@ ---- base/posix/unix_domain_socket.cc.orig 2021-09-14 01:51:47 UTC +--- base/posix/unix_domain_socket.cc.orig 2022-02-07 13:39:41 UTC +++ base/posix/unix_domain_socket.cc -@@ -5,7 +5,10 @@ - #include "base/posix/unix_domain_socket.h" +@@ -50,7 +50,7 @@ bool CreateSocketPair(ScopedFD* one, ScopedFD* two) { - #include -+#include - #include -+#include -+#include - #if !defined(OS_NACL_NONSFI) - #include - #endif -@@ -28,6 +31,14 @@ namespace base { + // static + bool UnixDomainSocket::EnableReceiveProcessId(int fd) { +-#if !defined(OS_APPLE) ++#if !defined(OS_APPLE) && !defined(OS_BSD) + const int enable = 1; + return setsockopt(fd, SOL_SOCKET, SO_PASSCRED, &enable, sizeof(enable)) == 0; + #else +@@ -140,7 +140,7 @@ ssize_t UnixDomainSocket::RecvMsgWithFlags(int fd, - 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_APPLE) - // 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 // !defined(OS_NACL_NONSFI) && !defined(OS_APPLE) - ; - char control_buffer[kControlBufferSize]; -@@ -180,9 +191,9 @@ ssize_t UnixDomainSocket::RecvMsgWithFlags(int fd, - // SCM_CREDENTIALS. + const size_t kControlBufferSize = + CMSG_SPACE(sizeof(int) * kMaxFileDescriptors) +-#if !defined(OS_APPLE) ++#if !defined(OS_APPLE) && !defined(OS_BSD) + // macOS does not support ucred. + // macOS supports xucred, but this structure is insufficient. + + CMSG_SPACE(sizeof(struct ucred)) +@@ -168,7 +168,7 @@ ssize_t UnixDomainSocket::RecvMsgWithFlags(int fd, + wire_fds = reinterpret_cast(CMSG_DATA(cmsg)); + wire_fds_len = payload_len / sizeof(int); + } +-#if !defined(OS_APPLE) ++#if !defined(OS_APPLE) && !defined(OS_BSD) + // macOS does not support 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(CMSG_DATA(cmsg))->pid; -+ pid = getpid(); - } - #endif // !defined(OS_NACL_NONSFI) && !defined(OS_APPLE) - } +@@ -202,6 +202,9 @@ ssize_t UnixDomainSocket::RecvMsgWithFlags(int fd, + socklen_t pid_size = sizeof(pid); + if (getsockopt(fd, SOL_LOCAL, LOCAL_PEERPID, &pid, &pid_size) != 0) + pid = -1; ++#elif defined(OS_BSD) ++ NOTIMPLEMENTED(); ++ pid = -1; + #else + // |pid| will legitimately be -1 if we read EOF, so only DCHECK if we + // actually received a message. Unfortunately, Linux allows sending zero diff --git a/www/chromium/files/patch-base_posix_unix__domain__socket__unittest.cc b/www/chromium/files/patch-base_posix_unix__domain__socket__unittest.cc deleted file mode 100644 index 47dce76652a8..000000000000 --- a/www/chromium/files/patch-base_posix_unix__domain__socket__unittest.cc +++ /dev/null @@ -1,12 +0,0 @@ ---- base/posix/unix_domain_socket_unittest.cc.orig 2021-04-14 18:40:48 UTC -+++ base/posix/unix_domain_socket_unittest.cc -@@ -8,6 +8,9 @@ - #include - #include - #include -+#if defined(OS_BSD) -+#include -+#endif - #include - - #include "base/bind.h" diff --git a/www/chromium/files/patch-base_process_internal__linux.cc b/www/chromium/files/patch-base_process_internal__linux.cc deleted file mode 100644 index d0dba67d9274..000000000000 --- a/www/chromium/files/patch-base_process_internal__linux.cc +++ /dev/null @@ -1,97 +0,0 @@ ---- base/process/internal_linux.cc.orig 2021-04-14 18:40:48 UTC -+++ base/process/internal_linux.cc -@@ -30,7 +30,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)); -@@ -66,6 +70,7 @@ bool ReadProcFile(const FilePath& file, std::string* b - DLOG(WARNING) << "Failed to read " << file.MaybeAsASCII(); - return false; - } -+ - return !buffer->empty(); - } - -@@ -81,6 +86,22 @@ bool ParseProcStats(const std::string& stats_data, - if (stats_data.empty()) - return false; - -+#if defined(OS_BSD) -+ proc_stats->clear(); -+ -+ std::vector 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 -@@ -110,6 +131,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; - } - -@@ -157,7 +179,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); - } - -@@ -173,6 +199,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)) -@@ -186,9 +215,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)) -@@ -212,6 +245,7 @@ TimeDelta GetUserCpuTimeSinceBoot() { - return TimeDelta(); - - return ClockTicksToTimeDelta(user + nice); -+#endif - } - - TimeDelta ClockTicksToTimeDelta(int clock_ticks) { diff --git a/www/chromium/files/patch-base_process_internal__linux.h b/www/chromium/files/patch-base_process_internal__linux.h deleted file mode 100644 index 4f5d3719e412..000000000000 --- a/www/chromium/files/patch-base_process_internal__linux.h +++ /dev/null @@ -1,34 +0,0 @@ ---- base/process/internal_linux.h.orig 2021-12-14 11:44:55 UTC -+++ base/process/internal_linux.h -@@ -20,6 +20,8 @@ - #include "base/strings/string_number_conversions.h" - #include "base/threading/platform_thread.h" - -+#include /* pid_t */ -+ - namespace base { - - class Time; -@@ -61,6 +63,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. -@@ -73,6 +83,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/chromium/files/patch-base_process_kill.h b/www/chromium/files/patch-base_process_kill.h index b135b44d2e28..d74a364d078e 100644 --- a/www/chromium/files/patch-base_process_kill.h +++ b/www/chromium/files/patch-base_process_kill.h @@ -1,16 +1,11 @@ ---- base/process/kill.h.orig 2021-04-14 18:40:48 UTC +--- base/process/kill.h.orig 2022-02-07 13:39:41 UTC +++ base/process/kill.h -@@ -113,11 +113,11 @@ BASE_EXPORT TerminationStatus GetTerminationStatus(Pro +@@ -112,7 +112,7 @@ BASE_EXPORT TerminationStatus GetTerminationStatus(Pro BASE_EXPORT TerminationStatus GetKnownDeadTerminationStatus( ProcessHandle handle, int* exit_code); -#if defined(OS_LINUX) || defined(OS_CHROMEOS) +#if defined(OS_LINUX) || defined(OS_CHROMEOS) || 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) || defined(OS_CHROMEOS) -+#endif // defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD) - #endif // defined(OS_POSIX) - - // Registers |process| to be asynchronously monitored for termination, forcibly diff --git a/www/chromium/files/patch-base_process_kill__posix.cc b/www/chromium/files/patch-base_process_kill__posix.cc index 23719e51bb67..1fc27331b044 100644 --- a/www/chromium/files/patch-base_process_kill__posix.cc +++ b/www/chromium/files/patch-base_process_kill__posix.cc @@ -1,20 +1,11 @@ ---- base/process/kill_posix.cc.orig 2021-12-14 11:44:55 UTC +--- base/process/kill_posix.cc.orig 2022-02-07 13:39:41 UTC +++ base/process/kill_posix.cc -@@ -162,7 +162,7 @@ void EnsureProcessTerminated(Process process) { +@@ -159,7 +159,7 @@ void EnsureProcessTerminated(Process process) { 0, new BackgroundReaper(std::move(process), Seconds(2))); } -#if defined(OS_LINUX) || defined(OS_CHROMEOS) +#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD) void EnsureProcessGetsReaped(Process process) { DCHECK(!process.is_current()); -@@ -173,7 +173,7 @@ void EnsureProcessGetsReaped(Process process) { - PlatformThread::CreateNonJoinable( - 0, new BackgroundReaper(std::move(process), TimeDelta())); - } --#endif // defined(OS_LINUX) || defined(OS_CHROMEOS) -+#endif // defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD) - - #endif // !defined(OS_APPLE) - #endif // !defined(OS_NACL_NONSFI) diff --git a/www/chromium/files/patch-base_process_launch.cc b/www/chromium/files/patch-base_process_launch.cc deleted file mode 100644 index 59944e45465b..000000000000 --- a/www/chromium/files/patch-base_process_launch.cc +++ /dev/null @@ -1,11 +0,0 @@ ---- base/process/launch.cc.orig 2021-04-14 18:40:48 UTC -+++ base/process/launch.cc -@@ -15,7 +15,7 @@ LaunchOptions::~LaunchOptions() = default; - - LaunchOptions LaunchOptionsForTest() { - LaunchOptions options; --#if defined(OS_LINUX) || defined(OS_CHROMEOS) -+#if defined(OS_LINUX) || defined(OS_CHROMEOS) || 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/chromium/files/patch-base_process_launch.h b/www/chromium/files/patch-base_process_launch.h index 0c41c6fe1c3e..0fe8b6553511 100644 --- a/www/chromium/files/patch-base_process_launch.h +++ b/www/chromium/files/patch-base_process_launch.h @@ -1,29 +1,11 @@ ---- base/process/launch.h.orig 2021-12-14 11:44:55 UTC +--- base/process/launch.h.orig 2022-02-07 13:39:41 UTC +++ base/process/launch.h @@ -192,7 +192,7 @@ struct BASE_EXPORT LaunchOptions { bool clear_environment = false; #endif // OS_WIN || OS_POSIX || OS_FUCHSIA -#if defined(OS_LINUX) || defined(OS_CHROMEOS) +#if defined(OS_LINUX) || defined(OS_CHROMEOS) || 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 -@@ -205,7 +205,7 @@ struct BASE_EXPORT LaunchOptions { - - // Sets parent process death signal to SIGKILL. - bool kill_on_parent_death = false; --#endif // defined(OS_LINUX) || defined(OS_CHROMEOS) -+#endif // defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD) - - #if defined(OS_MAC) - // Mach ports that will be accessible to the child process. These are not -@@ -417,7 +417,7 @@ BASE_EXPORT void RaiseProcessToHighPriority(); - // binary. This should not be called in production/released code. - BASE_EXPORT LaunchOptions LaunchOptionsForTest(); - --#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_NACL_NONSFI) -+#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_NACL_NONSFI) || defined(OS_BSD) - // A wrapper for clone with fork-like behavior, meaning that it returns the - // child's pid in the parent and 0 in the child. |flags|, |ptid|, and |ctid| are - // as in the clone system call (the CLONE_VM flag is not supported). diff --git a/www/chromium/files/patch-base_process_launch__posix.cc b/www/chromium/files/patch-base_process_launch__posix.cc index 4c7abac588b3..7e4f92b48eb9 100644 --- a/www/chromium/files/patch-base_process_launch__posix.cc +++ b/www/chromium/files/patch-base_process_launch__posix.cc @@ -1,115 +1,12 @@ ---- base/process/launch_posix.cc.orig 2021-09-24 04:25:55 UTC +--- base/process/launch_posix.cc.orig 2022-02-07 13:39:41 UTC +++ base/process/launch_posix.cc -@@ -58,12 +58,14 @@ - #if defined(OS_FREEBSD) - #include - #include -+#include - #endif - - #if defined(OS_APPLE) +@@ -64,6 +64,9 @@ #error "macOS should use launch_mac.cc" #endif ++#if defined(OS_FREEBSD) +#pragma weak environ ++#endif extern char** environ; namespace base { -@@ -183,7 +185,7 @@ void ResetChildSignalHandlersToDefaults(void) { - #endif // !defined(NDEBUG) - } - } --#endif // !defined(OS_LINUX) || -+#endif // (!defined(OS_LINUX) && !defined(OS_BSD)) || - // (!defined(__i386__) && !defined(__x86_64__) && !defined(__arm__)) - } // anonymous namespace - -@@ -220,6 +222,28 @@ void CloseSuperfluousFds(const base::InjectiveMultimap - DirReaderPosix fd_dir(kFDDir); - if (!fd_dir.IsValid()) { - // Fallback case: Try every possible fd. -+ -+#if defined(OS_FREEBSD) -+ // CEM: blast away most of the range with closefrom(). A common use case -+ // of this function only maps STDIN/STDOUT/STDERR and closefrom(3) is much -+ // cheaper than x00,000 close(2) invocations with a high RLIMIT_NOFILE. -+ // -+ // In the other caller, it is still very likely that the fds we care about -+ // are in relatively low number space and we can save hundreds of thousands -+ // of syscalls. -+ int max_valid_fd = -1; -+ for (size_t j = 0; j < saved_mapping.size(); j++) { -+ int fd = saved_mapping[j].dest; -+ if (fd > max_valid_fd) -+ max_valid_fd = fd; -+ } -+ if (max_valid_fd < STDERR_FILENO) -+ max_valid_fd = STDERR_FILENO; -+ -+ closefrom(max_valid_fd + 1); -+ max_fds = static_cast(max_valid_fd) + 1; -+#endif -+ - for (size_t i = 0; i < max_fds; ++i) { - const int fd = static_cast(i); - if (fd == STDIN_FILENO || fd == STDOUT_FILENO || fd == STDERR_FILENO) -@@ -358,7 +382,7 @@ Process LaunchProcess(const std::vector& - // might do things like block waiting for threads that don't even exist - // in the child. - --#if defined(OS_LINUX) || defined(OS_CHROMEOS) -+#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD) - // See comments on the ResetFDOwnership() declaration in - // base/files/scoped_file.h regarding why this is called early here. - subtle::ResetFDOwnership(); -@@ -451,22 +475,32 @@ Process LaunchProcess(const std::vector& - - // Set NO_NEW_PRIVS by default. Since NO_NEW_PRIVS only exists in kernel - // 3.5+, do not check the return value of prctl here. --#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_AIX) -+#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_AIX) || defined(OS_FREEBSD) - #ifndef PR_SET_NO_NEW_PRIVS - #define PR_SET_NO_NEW_PRIVS 38 - #endif -+#if !defined(OS_FREEBSD) - if (!options.allow_new_privs) { - if (prctl(PR_SET_NO_NEW_PRIVS, 1, 0, 0, 0) && errno != EINVAL) { - // Only log if the error is not EINVAL (i.e. not supported). - RAW_LOG(FATAL, "prctl(PR_SET_NO_NEW_PRIVS) failed"); - } - } -+#endif - - if (options.kill_on_parent_death) { -+#if defined(OS_FREEBSD) -+ int procctl_value = SIGKILL; -+ if (procctl(P_PID, 0, PROC_PDEATHSIG_CTL, &procctl_value)) { -+ RAW_LOG(ERROR, "procctl(PROC_PDEATHSIG_CTL) failed"); -+ _exit(127); -+ } -+#else - if (prctl(PR_SET_PDEATHSIG, SIGKILL) != 0) { - RAW_LOG(ERROR, "prctl(PR_SET_PDEATHSIG) failed"); - _exit(127); - } -+#endif - } - #endif - -@@ -558,7 +592,7 @@ static bool GetAppOutputInternal( - // DANGER: no calls to malloc or locks are allowed from now on: - // http://crbug.com/36678 - --#if defined(OS_LINUX) || defined(OS_CHROMEOS) -+#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD) - // See comments on the ResetFDOwnership() declaration in - // base/files/scoped_file.h regarding why this is called early here. - subtle::ResetFDOwnership(); -@@ -750,6 +784,6 @@ pid_t ForkWithFlags(unsigned long flags, pid_t* ptid, - - return 0; - } --#endif // defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_NACL_NONSFI) -+#endif // defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_NACL_NONSFI) || defined(OS_BSD) - - } // namespace base diff --git a/www/chromium/files/patch-base_process_memory.cc b/www/chromium/files/patch-base_process_memory.cc index 591fc6ec350c..67b524cc8e85 100644 --- a/www/chromium/files/patch-base_process_memory.cc +++ b/www/chromium/files/patch-base_process_memory.cc @@ -1,11 +1,20 @@ ---- base/process/memory.cc.orig 2021-09-14 01:51:47 UTC +--- base/process/memory.cc.orig 2022-02-07 13:39:41 UTC +++ base/process/memory.cc -@@ -70,7 +70,7 @@ void TerminateBecauseOutOfMemory(size_t size) { +@@ -63,14 +63,16 @@ NOINLINE void OnNoMemoryInternal(size_t size) { + + } // namespace internal + ++#if !defined(OS_BSD) + void TerminateBecauseOutOfMemory(size_t size) { + internal::OnNoMemoryInternal(size); + } ++#endif + // Defined in memory_mac.mm for macOS + use_allocator="none". In case of // USE_PARTITION_ALLOC_AS_MALLOC, no need to route the call to the system // default calloc of macOS. -#if !defined(OS_APPLE) || BUILDFLAG(USE_PARTITION_ALLOC_AS_MALLOC) +#if (!defined(OS_APPLE) && !defined(OS_BSD)) || BUILDFLAG(USE_PARTITION_ALLOC_AS_MALLOC) bool UncheckedCalloc(size_t num_items, size_t size, void** result) { const size_t alloc_size = num_items * size; diff --git a/www/chromium/files/patch-base_process_memory.h b/www/chromium/files/patch-base_process_memory.h deleted file mode 100644 index ecbfa05d7fa1..000000000000 --- a/www/chromium/files/patch-base_process_memory.h +++ /dev/null @@ -1,11 +0,0 @@ ---- base/process/memory.h.orig 2021-07-19 18:45:05 UTC -+++ base/process/memory.h -@@ -32,7 +32,7 @@ BASE_EXPORT void TerminateBecauseOutOfMemory(size_t si - // TODO: this can be removed when Breakpad is no longer supported. - BASE_EXPORT extern size_t g_oom_size; - --#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_ANDROID) || \ -+#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_ANDROID) || defined(OS_BSD) || \ - defined(OS_AIX) - // The maximum allowed value for the OOM score. - const int kMaxOomScore = 1000; diff --git a/www/chromium/files/patch-base_process_memory__stubs.cc b/www/chromium/files/patch-base_process_memory__stubs.cc deleted file mode 100644 index 80ef5e08c505..000000000000 --- a/www/chromium/files/patch-base_process_memory__stubs.cc +++ /dev/null @@ -1,14 +0,0 @@ ---- base/process/memory_stubs.cc.orig 2021-04-22 13:13:03 UTC -+++ base/process/memory_stubs.cc -@@ -19,9 +19,11 @@ bool AdjustOOMScore(ProcessId process, int score) { - return false; - } - -+#if !defined(OS_BSD) - void TerminateBecauseOutOfMemory(size_t size) { - abort(); - } -+#endif - - // UncheckedMalloc and Calloc exist so that platforms making use of - // EnableTerminationOnOutOfMemory have a way to allocate memory without diff --git a/www/chromium/files/patch-base_process_memory__unittest.cc b/www/chromium/files/patch-base_process_memory__unittest.cc deleted file mode 100644 index 3b2bc7a8d784..000000000000 --- a/www/chromium/files/patch-base_process_memory__unittest.cc +++ /dev/null @@ -1,67 +0,0 @@ ---- base/process/memory_unittest.cc.orig 2021-12-14 11:44:55 UTC -+++ base/process/memory_unittest.cc -@@ -38,6 +38,8 @@ - #if defined(OS_LINUX) || defined(OS_CHROMEOS) - #include - #include "base/test/malloc_wrapper.h" -+#elif defined(OS_BSD) -+#include "base/test/malloc_wrapper.h" - #endif - #if defined(OS_ANDROID) - #include "base/android/build_info.h" -@@ -113,9 +115,9 @@ TEST(MemoryTest, AllocatorShimWorking) { - #endif - } - --// OpenBSD does not support these tests. Don't test these on ASan/TSan/MSan -+// BSD does not support these tests. Don't test these on ASan/TSan/MSan - // configurations: only test the real allocator. --#if !defined(OS_OPENBSD) && BUILDFLAG(USE_ALLOCATOR_SHIM) && \ -+#if !defined(OS_BSD) && BUILDFLAG(USE_ALLOCATOR_SHIM) && \ - !defined(MEMORY_TOOL_REPLACES_ALLOCATOR) - - namespace { -@@ -338,7 +340,7 @@ TEST_F(OutOfMemoryDeathTest, SecurityAlignedRealloc) { - #endif // defined(OS_WIN) - #endif // !defined(OS_MAC) && !defined(OS_ANDROID) - --#if defined(OS_LINUX) || defined(OS_CHROMEOS) -+#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD) - - TEST_F(OutOfMemoryDeathTest, Valloc) { - ASSERT_OOM_DEATH({ -@@ -384,7 +386,7 @@ TEST_F(OutOfMemoryDeathTest, ViaSharedLibraries) { - value_ = MallocWrapper(test_size_); - }); - } --#endif // defined(OS_LINUX) || defined(OS_CHROMEOS) -+#endif // defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD) - - // Android doesn't implement posix_memalign(). - #if defined(OS_POSIX) && !defined(OS_ANDROID) -@@ -535,7 +537,7 @@ TEST_F(OutOfMemoryTest, TerminateBecauseOutOfMemoryRep - #endif // OS_WIN - - #if defined(ARCH_CPU_32_BITS) && \ -- (defined(OS_WIN) || defined(OS_LINUX) || defined(OS_CHROMEOS)) -+ (defined(OS_WIN) || defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD)) - - void TestAllocationsReleaseReservation(void* (*alloc_fn)(size_t), - void (*free_fn)(void*)) { -@@ -593,7 +595,7 @@ TEST_F(OutOfMemoryHandledTest, NewReleasesReservation) - [](size_t size) { return static_cast(new char[size]); }, - [](void* ptr) { delete[] static_cast(ptr); }); - } --#endif // defined(ARCH_CPU_32_BITS) && (defined(OS_WIN) || defined(OS_LINUX) || -+#endif // defined(ARCH_CPU_32_BITS) && (defined(OS_WIN) || defined(OS_LINUX) || defined(OS_BSD) || - // defined(OS_CHROMEOS)) - - #if defined(OS_ANDROID) || defined(OS_FUCHSIA) -@@ -654,7 +656,6 @@ TEST_F(OutOfMemoryHandledTest, UncheckedCalloc) { - EXPECT_EQ(0, bytes[i]); - free(value_); - -- EXPECT_FALSE(base::UncheckedCalloc(1, test_size_, &value_)); - EXPECT_TRUE(value_ == nullptr); - } - diff --git a/www/chromium/files/patch-base_process_process__handle__openbsd.cc b/www/chromium/files/patch-base_process_process__handle__openbsd.cc new file mode 100644 index 000000000000..f176993b81b2 --- /dev/null +++ b/www/chromium/files/patch-base_process_process__handle__openbsd.cc @@ -0,0 +1,89 @@ +--- base/process/process_handle_openbsd.cc.orig 2022-02-07 13:39:41 UTC ++++ base/process/process_handle_openbsd.cc +@@ -3,8 +3,11 @@ + // found in the LICENSE file. + + #include "base/process/process_handle.h" ++#include "base/files/file_util.h" + + #include ++#include ++#include + #include + #include + #include +@@ -14,39 +17,59 @@ + namespace base { + + ProcessId GetParentProcessId(ProcessHandle process) { +- struct kinfo_proc info; ++ struct kinfo_proc *info; + size_t length; ++ pid_t ppid; + int mib[] = { CTL_KERN, KERN_PROC, KERN_PROC_PID, process, + sizeof(struct kinfo_proc), 0 }; + + if (sysctl(mib, base::size(mib), NULL, &length, NULL, 0) < 0) + return -1; + ++ info = (struct kinfo_proc *)malloc(length); ++ + mib[5] = (length / sizeof(struct kinfo_proc)); + +- if (sysctl(mib, base::size(mib), &info, &length, NULL, 0) < 0) +- return -1; ++ if (sysctl(mib, base::size(mib), info, &length, NULL, 0) < 0) { ++ ppid = -1; ++ goto out; ++ } + +- return info.p_ppid; ++ ppid = info->p_ppid; ++ ++out: ++ free(info); ++ return ppid; + } + + FilePath GetProcessExecutablePath(ProcessHandle process) { +- struct kinfo_proc kp; +- size_t len; ++ struct kinfo_proc *info; ++ size_t length; ++ char *path = NULL; + int mib[] = { CTL_KERN, KERN_PROC, KERN_PROC_PID, process, + sizeof(struct kinfo_proc), 0 }; + +- if (sysctl(mib, base::size(mib), NULL, &len, NULL, 0) == -1) ++ if (sysctl(mib, base::size(mib), NULL, &length, NULL, 0) == -1) + return FilePath(); +- mib[5] = (len / sizeof(struct kinfo_proc)); +- if (sysctl(mib, base::size(mib), &kp, &len, NULL, 0) < 0) +- return FilePath(); +- if ((kp.p_flag & P_SYSTEM) != 0) +- return FilePath(); +- if (strcmp(kp.p_comm, "chrome") == 0) +- return FilePath(kp.p_comm); + +- return FilePath(); ++ info = (struct kinfo_proc *)malloc(length); ++ ++ mib[5] = (length / sizeof(struct kinfo_proc)); ++ ++ if (sysctl(mib, base::size(mib), info, &length, NULL, 0) < 0) ++ goto out; ++ ++ if ((info->p_flag & P_SYSTEM) != 0) ++ goto out; ++ ++ if (strcmp(info->p_comm, "chrome") == 0) { ++ path = info->p_comm; ++ goto out; ++ } ++ ++out: ++ free(info); ++ return FilePath(path); + } + + } // namespace base diff --git a/www/chromium/files/patch-base_process_process__iterator__openbsd.cc b/www/chromium/files/patch-base_process_process__iterator__openbsd.cc new file mode 100644 index 000000000000..a48483289ff4 --- /dev/null +++ b/www/chromium/files/patch-base_process_process__iterator__openbsd.cc @@ -0,0 +1,45 @@ +--- base/process/process_iterator_openbsd.cc.orig 2022-02-07 13:39:41 UTC ++++ base/process/process_iterator_openbsd.cc +@@ -6,6 +6,9 @@ + + #include + #include ++#include ++#include ++#include + #include + + #include "base/cxx17_backports.h" +@@ -19,12 +22,13 @@ ProcessIterator::ProcessIterator(const ProcessFilter* + : index_of_kinfo_proc_(), + filter_(filter) { + +- int mib[] = { CTL_KERN, KERN_PROC, KERN_PROC_UID, getuid(), ++ int mib[] = { CTL_KERN, KERN_PROC, KERN_PROC_UID, static_cast(getuid()), + sizeof(struct kinfo_proc), 0 }; + + bool done = false; + int try_num = 1; + const int max_tries = 10; ++ size_t num_of_kinfo_proc; + + do { + size_t len = 0; +@@ -33,7 +37,7 @@ ProcessIterator::ProcessIterator(const ProcessFilter* + kinfo_procs_.resize(0); + done = true; + } else { +- size_t num_of_kinfo_proc = len / sizeof(struct kinfo_proc); ++ num_of_kinfo_proc = len / sizeof(struct kinfo_proc); + // Leave some spare room for process table growth (more could show up + // between when we check and now) + num_of_kinfo_proc += 16; +@@ -49,7 +53,7 @@ ProcessIterator::ProcessIterator(const ProcessFilter* + } + } else { + // Got the list, just make sure we're sized exactly right +- size_t num_of_kinfo_proc = len / sizeof(struct kinfo_proc); ++ num_of_kinfo_proc = len / sizeof(struct kinfo_proc); + kinfo_procs_.resize(num_of_kinfo_proc); + done = true; + } diff --git a/www/chromium/files/patch-base_process_process__linux.cc b/www/chromium/files/patch-base_process_process__linux.cc deleted file mode 100644 index b91800cecacc..000000000000 --- a/www/chromium/files/patch-base_process_process__linux.cc +++ /dev/null @@ -1,48 +0,0 @@ ---- base/process/process_linux.cc.orig 2021-04-14 18:40:48 UTC -+++ base/process/process_linux.cc -@@ -24,7 +24,9 @@ namespace base { - - namespace { - -+#if !defined(OS_BSD) - const int kForegroundPriority = 0; -+#endif - - #if BUILDFLAG(IS_CHROMEOS_ASH) || BUILDFLAG(IS_CHROMEOS_LACROS) - // We are more aggressive in our lowering of background process priority -@@ -69,7 +71,7 @@ struct CGroups { - return groups; - } - }; --#else -+#elif !defined(OS_BSD) - const int kBackgroundPriority = 5; - #endif // BUILDFLAG(IS_CHROMEOS_ASH) || BUILDFLAG(IS_CHROMEOS_LACROS) - -@@ -85,13 +87,18 @@ Time Process::CreationTime() const { - if (!start_ticks) - return Time(); - -+#if defined(OS_BSD) -+ return Time::FromTimeT(start_ticks); -+#else - TimeDelta start_offset = internal::ClockTicksToTimeDelta(start_ticks); - Time boot_time = internal::GetBootTime(); - if (boot_time.is_null()) - return Time(); - return Time(boot_time + start_offset); -+#endif - } - -+#if !defined(OS_BSD) - // static - bool Process::CanBackgroundProcesses() { - #if BUILDFLAG(IS_CHROMEOS_ASH) || BUILDFLAG(IS_CHROMEOS_LACROS) -@@ -143,6 +150,7 @@ bool Process::SetProcessBackgrounded(bool background) - DPCHECK(result == 0); - return result == 0; - } -+#endif // !defined(OS_BSD) - - #if BUILDFLAG(IS_CHROMEOS_ASH) || BUILDFLAG(IS_CHROMEOS_LACROS) - bool IsProcessBackgroundedCGroup(const StringPiece& cgroup_contents) { diff --git a/www/chromium/files/patch-base_process_process__metrics.cc b/www/chromium/files/patch-base_process_process__metrics.cc index 20a9ba831c6f..aff587d7cf98 100644 --- a/www/chromium/files/patch-base_process_process__metrics.cc +++ b/www/chromium/files/patch-base_process_process__metrics.cc @@ -1,47 +1,38 @@ ---- base/process/process_metrics.cc.orig 2021-09-14 01:51:47 UTC +--- base/process/process_metrics.cc.orig 2022-02-07 13:39:41 UTC +++ base/process/process_metrics.cc -@@ -17,7 +17,7 @@ namespace base { - +@@ -18,7 +18,7 @@ namespace base { namespace { --#if defined(OS_APPLE) || defined(OS_LINUX) || defined(OS_CHROMEOS) || \ -+#if defined(OS_APPLE) || defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD) || \ - defined(OS_AIX) + #if defined(OS_APPLE) || defined(OS_LINUX) || defined(OS_CHROMEOS) || \ +- defined(OS_AIX) ++ defined(OS_AIX) || defined(OS_BSD) int CalculateEventsPerSecond(uint64_t event_count, uint64_t* last_event_count, + base::TimeTicks* last_calculated) { @@ -55,7 +55,7 @@ SystemMetrics SystemMetrics::Sample() { SystemMetrics system_metrics; system_metrics.committed_memory_ = GetSystemCommitCharge(); -#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_ANDROID) +#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_ANDROID) || defined(OS_BSD) GetSystemMemoryInfo(&system_metrics.memory_info_); GetVmStatInfo(&system_metrics.vmstat_info_); GetSystemDiskInfo(&system_metrics.disk_info_); @@ -74,7 +74,7 @@ Value SystemMetrics::ToValue() const { Value res(Value::Type::DICTIONARY); res.SetIntKey("committed_memory", static_cast(committed_memory_)); -#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_ANDROID) +#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_ANDROID) || defined(OS_BSD) Value meminfo = memory_info_.ToValue(); Value vmstat = vmstat_info_.ToValue(); meminfo.MergeDictionary(&vmstat); -@@ -125,7 +125,7 @@ double ProcessMetrics::GetPlatformIndependentCPUUsage( - } +@@ -126,7 +126,7 @@ double ProcessMetrics::GetPlatformIndependentCPUUsage( #endif --#if defined(OS_APPLE) || defined(OS_LINUX) || defined(OS_CHROMEOS) || \ -+#if defined(OS_APPLE) || defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD) || \ - defined(OS_AIX) + #if defined(OS_APPLE) || defined(OS_LINUX) || defined(OS_CHROMEOS) || \ +- defined(OS_AIX) ++ defined(OS_AIX) || defined(OS_BSD) int ProcessMetrics::CalculateIdleWakeupsPerSecond( uint64_t absolute_idle_wakeups) { -@@ -138,7 +138,7 @@ int ProcessMetrics::GetIdleWakeupsPerSecond() { - NOTIMPLEMENTED(); // http://crbug.com/120488 - return 0; - } --#endif // defined(OS_APPLE) || defined(OS_LINUX) || defined(OS_CHROMEOS) || -+#endif // defined(OS_APPLE) || defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD) || - // defined(OS_AIX) - - #if defined(OS_APPLE) + return CalculateEventsPerSecond(absolute_idle_wakeups, diff --git a/www/chromium/files/patch-base_process_process__metrics.h b/www/chromium/files/patch-base_process_process__metrics.h index 70884fc12fa6..d56de6d74153 100644 --- a/www/chromium/files/patch-base_process_process__metrics.h +++ b/www/chromium/files/patch-base_process_process__metrics.h @@ -1,172 +1,119 @@ ---- base/process/process_metrics.h.orig 2021-12-14 11:44:55 UTC +--- base/process/process_metrics.h.orig 2022-02-07 13:39:41 UTC +++ base/process/process_metrics.h @@ -37,7 +37,7 @@ - #include "base/win/windows_types.h" #endif --#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_ANDROID) || \ -+#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_ANDROID) || defined(OS_BSD) || \ - defined(OS_AIX) + #if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_ANDROID) || \ +- defined(OS_AIX) ++ defined(OS_AIX) || defined(OS_BSD) #include #include -@@ -54,7 +54,7 @@ class Value; + #include +@@ -53,7 +53,7 @@ class Value; // Full declaration is in process_metrics_iocounters.h. struct IoCounters; -#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_ANDROID) +#if defined(OS_LINUX) || defined(OS_CHROMEOS) || 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. // -@@ -64,7 +64,7 @@ struct PageFaultCounts { - int64_t minor; - int64_t major; - }; --#endif // defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_ANDROID) -+#endif // defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_ANDROID) || defined(OS_BSD) - - // Convert a POSIX timeval to microseconds. - BASE_EXPORT int64_t TimeValToMicroseconds(const struct timeval& tv); -@@ -108,7 +108,7 @@ class BASE_EXPORT ProcessMetrics { +@@ -107,7 +107,7 @@ class BASE_EXPORT ProcessMetrics { // convenience wrapper for CreateProcessMetrics(). static std::unique_ptr CreateCurrentProcessMetrics(); -#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_ANDROID) +#if defined(OS_LINUX) || defined(OS_CHROMEOS) || 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; @@ -134,7 +134,7 @@ class BASE_EXPORT ProcessMetrics { - // will result in a time delta of 2 seconds/per 1 wall-clock second. TimeDelta GetCumulativeCPUUsage() WARN_UNUSED_RESULT; --#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_ANDROID) || \ -+#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_ANDROID) || defined(OS_BSD) || \ - defined(OS_AIX) + #if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_ANDROID) || \ +- defined(OS_AIX) ++ defined(OS_AIX) || defined(OS_BSD) // Emits the cumulative CPU usage for all currently active threads since they // were started into the output parameter (replacing its current contents). -@@ -169,7 +169,7 @@ class BASE_EXPORT ProcessMetrics { - bool ParseProcTimeInState(const std::string& content, - PlatformThreadId tid, - TimeInStatePerThread& time_in_state_per_thread); --#endif // defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_ANDROID) || -+#endif // defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_ANDROID) || defined(OS_BSD) || - // defined(OS_AIX) - - // Returns the number of average idle cpu wakeups per second since the last -@@ -218,14 +218,14 @@ class BASE_EXPORT ProcessMetrics { + // Threads that have already terminated will not be reported. Thus, the sum of +@@ -217,7 +217,7 @@ class BASE_EXPORT ProcessMetrics { int GetOpenFdSoftLimit() const; #endif // defined(OS_POSIX) -#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_ANDROID) +#if defined(OS_LINUX) || defined(OS_CHROMEOS) || 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_CHROMEOS) || defined(OS_ANDROID) -+#endif // defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_ANDROID) || defined(OS_BSD) - - // Returns total memory usage of malloc. - size_t GetMallocUsage(); @@ -237,7 +237,7 @@ class BASE_EXPORT ProcessMetrics { - ProcessMetrics(ProcessHandle process, PortProvider* port_provider); #endif // !defined(OS_MAC) --#if defined(OS_APPLE) || defined(OS_LINUX) || defined(OS_CHROMEOS) || \ -+#if defined(OS_APPLE) || defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD) || \ - defined(OS_AIX) + #if defined(OS_APPLE) || defined(OS_LINUX) || defined(OS_CHROMEOS) || \ +- defined(OS_AIX) ++ defined(OS_AIX) || defined(OS_BSD) int CalculateIdleWakeupsPerSecond(uint64_t absolute_idle_wakeups); #endif -@@ -248,10 +248,10 @@ class BASE_EXPORT ProcessMetrics { - uint64_t absolute_package_idle_wakeups); + #if defined(OS_APPLE) +@@ -248,7 +248,7 @@ class BASE_EXPORT ProcessMetrics { #endif --#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_ANDROID) || \ -+#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_ANDROID) || defined(OS_BSD) || \ - defined(OS_AIX) + #if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_ANDROID) || \ +- defined(OS_AIX) ++ defined(OS_AIX) || defined(OS_BSD) CPU::CoreType GetCoreType(int core_index); --#endif // defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_ANDROID) || -+#endif // defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_ANDROID) || defined(OS_BSD) || + #endif // defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_ANDROID) || // defined(OS_AIX) - - #if defined(OS_WIN) @@ -273,7 +273,7 @@ class BASE_EXPORT ProcessMetrics { - // Number of bytes transferred to/from disk in bytes. uint64_t last_cumulative_disk_usage_ = 0; --#if defined(OS_APPLE) || defined(OS_LINUX) || defined(OS_CHROMEOS) || \ -+#if defined(OS_APPLE) || defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD) || \ - defined(OS_AIX) + #if defined(OS_APPLE) || defined(OS_LINUX) || defined(OS_CHROMEOS) || \ +- defined(OS_AIX) ++ defined(OS_AIX) || defined(OS_BSD) // Same thing for idle wakeups. TimeTicks last_idle_wakeups_time_; -@@ -315,7 +315,7 @@ BASE_EXPORT size_t GetHandleLimit(); - BASE_EXPORT void IncreaseFdLimitTo(unsigned int max_descriptors); - #endif // defined(OS_POSIX) + uint64_t last_absolute_idle_wakeups_; +@@ -316,7 +316,7 @@ BASE_EXPORT void IncreaseFdLimitTo(unsigned int max_de --#if defined(OS_WIN) || defined(OS_APPLE) || defined(OS_LINUX) || \ -+#if defined(OS_WIN) || defined(OS_APPLE) || defined(OS_LINUX) || defined(OS_BSD) || \ + #if defined(OS_WIN) || defined(OS_APPLE) || defined(OS_LINUX) || \ defined(OS_CHROMEOS) || defined(OS_ANDROID) || defined(OS_AIX) || \ - defined(OS_FUCHSIA) +- defined(OS_FUCHSIA) ++ defined(OS_FUCHSIA) || defined(OS_BSD) // Data about system-wide memory consumption. Values are in KB. Available on + // Windows, Mac, Linux, Android and Chrome OS. + // @@ -351,7 +351,7 @@ struct BASE_EXPORT SystemMemoryInfoKB { - int avail_phys = 0; #endif --#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_ANDROID) || \ -+#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_ANDROID) || defined(OS_BSD) || \ - defined(OS_AIX) + #if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_ANDROID) || \ +- defined(OS_AIX) ++ 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 @@ -366,7 +366,7 @@ struct BASE_EXPORT SystemMemoryInfoKB { - int swap_free = 0; #endif --#if defined(OS_ANDROID) || defined(OS_LINUX) || defined(OS_CHROMEOS) || \ -+#if defined(OS_ANDROID) || defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD) || \ - defined(OS_AIX) || defined(OS_FUCHSIA) + #if defined(OS_ANDROID) || defined(OS_LINUX) || defined(OS_CHROMEOS) || \ +- defined(OS_AIX) || defined(OS_FUCHSIA) ++ defined(OS_AIX) || defined(OS_FUCHSIA) || defined(OS_BSD) int buffers = 0; int cached = 0; -@@ -376,7 +376,7 @@ struct BASE_EXPORT SystemMemoryInfoKB { - int inactive_file = 0; - int dirty = 0; - int reclaimable = 0; --#endif // defined(OS_ANDROID) || defined(OS_LINUX) || defined(OS_CHROMEOS) || -+#endif // defined(OS_ANDROID) || defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD) || - // defined(OS_AIX) defined(OS_FUCHSIA) - - #if BUILDFLAG(IS_CHROMEOS_ASH) || BUILDFLAG(IS_CHROMEOS_LACROS) -@@ -399,11 +399,11 @@ struct BASE_EXPORT SystemMemoryInfoKB { - // Exposed for memory debugging widget. - BASE_EXPORT bool GetSystemMemoryInfo(SystemMemoryInfoKB* meminfo); - --#endif // defined(OS_WIN) || defined(OS_APPLE) || defined(OS_LINUX) || -+#endif // defined(OS_WIN) || defined(OS_APPLE) || defined(OS_LINUX) || defined(OS_BSD) || - // defined(OS_CHROMEOS) defined(OS_ANDROID) || defined(OS_AIX) || + int active_anon = 0; +@@ -403,7 +403,7 @@ BASE_EXPORT bool GetSystemMemoryInfo(SystemMemoryInfoK // defined(OS_FUCHSIA) --#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_ANDROID) || \ -+#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_ANDROID) || defined(OS_BSD) || \ - defined(OS_AIX) + #if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_ANDROID) || \ +- defined(OS_AIX) ++ defined(OS_AIX) || defined(OS_BSD) // Parse the data found in /proc//stat and return the sum of the // CPU-related ticks. Returns -1 on parse error. -@@ -479,7 +479,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_CHROMEOS) || defined(OS_ANDROID) || -+#endif // defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_ANDROID) || defined(OS_BSD) || - // defined(OS_AIX) - - #if BUILDFLAG(IS_CHROMEOS_ASH) || BUILDFLAG(IS_CHROMEOS_LACROS) -@@ -591,7 +591,7 @@ class BASE_EXPORT SystemMetrics { + // Exposed for testing. +@@ -590,7 +590,7 @@ class BASE_EXPORT SystemMetrics { FRIEND_TEST_ALL_PREFIXES(SystemMetricsTest, SystemMetrics); size_t committed_memory_; -#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_ANDROID) +#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_ANDROID) || defined(OS_BSD) SystemMemoryInfoKB memory_info_; VmStatInfo vmstat_info_; SystemDiskInfo disk_info_; diff --git a/www/chromium/files/patch-base_process_process__metrics__openbsd.cc b/www/chromium/files/patch-base_process_process__metrics__openbsd.cc new file mode 100644 index 000000000000..1cc46d52fa55 --- /dev/null +++ b/www/chromium/files/patch-base_process_process__metrics__openbsd.cc @@ -0,0 +1,213 @@ +--- base/process/process_metrics_openbsd.cc.orig 2022-02-07 13:39:41 UTC ++++ base/process/process_metrics_openbsd.cc +@@ -4,14 +4,30 @@ + + #include "base/process/process_metrics.h" + ++#include "base/files/file_util.h" ++#include "base/logging.h" ++#include "base/process/internal_linux.h" ++#include "base/strings/string_number_conversions.h" ++#include "base/strings/string_split.h" ++#include "base/strings/string_tokenizer.h" ++#include "base/strings/string_util.h" ++#include "base/system/sys_info.h" ++#include "base/threading/thread_restrictions.h" ++#include "base/notreached.h" ++ + #include + #include ++#include + #include + #include ++#include + ++#include ++ + #include "base/cxx17_backports.h" + #include "base/memory/ptr_util.h" + #include "base/process/process_metrics_iocounters.h" ++#include "base/values.h" + + namespace base { + +@@ -25,48 +41,13 @@ bool ProcessMetrics::GetIOCounters(IoCounters* io_coun + return false; + } + +-static int GetProcessCPU(pid_t pid) { +- struct kinfo_proc info; +- size_t length; +- int mib[] = { CTL_KERN, KERN_PROC, KERN_PROC_PID, pid, +- sizeof(struct kinfo_proc), 0 }; +- +- if (sysctl(mib, base::size(mib), NULL, &length, NULL, 0) < 0) +- return -1; +- +- mib[5] = (length / sizeof(struct kinfo_proc)); +- +- if (sysctl(mib, base::size(mib), &info, &length, NULL, 0) < 0) +- return 0; +- +- return info.p_pctcpu; +-} +- +-double ProcessMetrics::GetPlatformIndependentCPUUsage() { +- TimeTicks time = TimeTicks::Now(); +- +- if (last_cpu_time_.is_zero()) { +- // First call, just set the last values. +- last_cpu_time_ = time; +- return 0; +- } +- +- int cpu = GetProcessCPU(process_); +- +- last_cpu_time_ = time; +- double percentage = static_cast((cpu * 100.0) / FSCALE); +- +- return percentage; +-} +- + TimeDelta ProcessMetrics::GetCumulativeCPUUsage() { + NOTREACHED(); + return TimeDelta(); + } + + ProcessMetrics::ProcessMetrics(ProcessHandle process) +- : process_(process), +- last_cpu_(0) {} ++ : process_(process) {} + + size_t GetSystemCommitCharge() { + int mib[] = { CTL_VM, VM_METER }; +@@ -85,6 +66,129 @@ size_t GetSystemCommitCharge() { + pagesize = getpagesize(); + + return mem_total - (mem_free*pagesize) - (mem_inactive*pagesize); ++} ++ ++int ProcessMetrics::GetOpenFdCount() const { ++ struct kinfo_file *files; ++ kvm_t *kd = NULL; ++ int total_count = 0; ++ char errbuf[_POSIX2_LINE_MAX]; ++ ++ if ((kd = kvm_openfiles(NULL, NULL, NULL, KVM_NO_FILES, errbuf)) == NULL) ++ goto out; ++ ++ if ((files = kvm_getfiles(kd, KERN_FILE_BYPID, process_, ++ sizeof(struct kinfo_file), &total_count)) == NULL) { ++ total_count = 0; ++ goto out; ++ } ++ ++ kvm_close(kd); ++ ++out: ++ return total_count; ++} ++ ++int ProcessMetrics::GetOpenFdSoftLimit() const { ++ return GetMaxFds(); ++} ++ ++uint64_t ProcessMetrics::GetVmSwapBytes() const { ++ NOTIMPLEMENTED(); ++ return 0; ++} ++ ++bool GetSystemMemoryInfo(SystemMemoryInfoKB* meminfo) { ++ NOTIMPLEMENTED_LOG_ONCE(); ++ 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; ++ ++bool GetSystemDiskInfo(SystemDiskInfo* diskinfo) { ++ NOTIMPLEMENTED(); ++ return false; ++} ++ ++bool GetVmStatInfo(VmStatInfo* vmstat) { ++ NOTIMPLEMENTED(); ++ return false; ++} ++ ++int ProcessMetrics::GetIdleWakeupsPerSecond() { ++ NOTIMPLEMENTED(); ++ return 0; ++} ++ ++Value SystemMemoryInfoKB::ToValue() const { ++ Value res(Value::Type::DICTIONARY); ++ 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); ++ ++ NOTIMPLEMENTED(); ++ ++ return res; ++} ++ ++Value VmStatInfo::ToValue() const { ++ Value res(Value::Type::DICTIONARY); ++ res.SetIntKey("pswpin", pswpin); ++ res.SetIntKey("pswpout", pswpout); ++ res.SetIntKey("pgmajfault", pgmajfault); ++ ++ NOTIMPLEMENTED(); ++ ++ return res; ++} ++ ++SystemDiskInfo& SystemDiskInfo::operator=(const SystemDiskInfo&) = default; ++ ++Value SystemDiskInfo::ToValue() const { ++ Value res(Value::Type::DICTIONARY); ++ ++ // Write out uint64_t variables as doubles. ++ // Note: this may discard some precision, but for JS there's no other option. ++ res.SetDoubleKey("reads", static_cast(reads)); ++ res.SetDoubleKey("reads_merged", static_cast(reads_merged)); ++ res.SetDoubleKey("sectors_read", static_cast(sectors_read)); ++ res.SetDoubleKey("read_time", static_cast(read_time)); ++ res.SetDoubleKey("writes", static_cast(writes)); ++ res.SetDoubleKey("writes_merged", static_cast(writes_merged)); ++ res.SetDoubleKey("sectors_written", static_cast(sectors_written)); ++ res.SetDoubleKey("write_time", static_cast(write_time)); ++ res.SetDoubleKey("io", static_cast(io)); ++ res.SetDoubleKey("io_time", static_cast(io_time)); ++ res.SetDoubleKey("weighted_io_time", static_cast(weighted_io_time)); ++ ++ NOTIMPLEMENTED(); ++ ++ return res; + } + + } // namespace base diff --git a/www/chromium/files/patch-base_process_process__metrics__posix.cc b/www/chromium/files/patch-base_process_process__metrics__posix.cc index 3fe1216db9df..9e3e19fc7abb 100644 --- a/www/chromium/files/patch-base_process_process__metrics__posix.cc +++ b/www/chromium/files/patch-base_process_process__metrics__posix.cc @@ -1,20 +1,20 @@ ---- base/process/process_metrics_posix.cc.orig 2021-07-19 18:45:05 UTC +--- base/process/process_metrics_posix.cc.orig 2022-02-07 13:39:41 UTC +++ base/process/process_metrics_posix.cc @@ -20,6 +20,8 @@ #if defined(OS_APPLE) #include -+#elif defined(OS_FREEBSD) ++#elif defined(OS_OPENBSD) +#include #else #include #endif @@ -136,7 +138,7 @@ size_t ProcessMetrics::GetMallocUsage() { return stats.size_in_use; #elif defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_ANDROID) return GetMallocUsageMallinfo(); -#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/chromium/files/patch-base_process_process__posix.cc b/www/chromium/files/patch-base_process_process__posix.cc new file mode 100644 index 000000000000..b2245b1ea796 --- /dev/null +++ b/www/chromium/files/patch-base_process_process__posix.cc @@ -0,0 +1,70 @@ +--- base/process/process_posix.cc.orig 2022-02-07 13:39:41 UTC ++++ base/process/process_posix.cc +@@ -27,6 +27,11 @@ + #include + #endif + ++#if defined(OS_BSD) ++#include ++#include ++#endif ++ + #if BUILDFLAG(CLANG_PROFILING) + #include "base/test/clang_profiling.h" + #endif +@@ -358,7 +363,55 @@ void Process::Exited(int exit_code) const {} + + int Process::GetPriority() const { + DCHECK(IsValid()); ++// avoid pledge(2) violation ++#if defined(OS_BSD) ++ return 0; ++#else + return getpriority(PRIO_PROCESS, process_); ++#endif ++} ++ ++Time Process::CreationTime() const { ++// avoid ps pledge in the network process ++#if !defined(OS_BSD) ++ int mib[] = { CTL_KERN, KERN_PROC, KERN_PROC_PID, getpid(), ++ sizeof(struct kinfo_proc), 0 }; ++ struct kinfo_proc *info = nullptr; ++ size_t info_size; ++#endif ++ Time ct = Time(); ++ ++#if !defined(OS_BSD) ++ if (sysctl(mib, base::size(mib), NULL, &info_size, NULL, 0) < 0) ++ goto out; ++ ++ mib[5] = (info_size / sizeof(struct kinfo_proc)); ++ if ((info = reinterpret_cast(malloc(info_size))) == NULL) ++ goto out; ++ ++ if (sysctl(mib, base::size(mib), info, &info_size, NULL, 0) < 0) ++ goto out; ++ ++ ct = Time::FromTimeT(info->p_ustart_sec); ++ ++out: ++ if (info) ++ free(info); ++#endif ++ return ct; ++} ++ ++bool Process::IsProcessBackgrounded() const { ++ return false; ++} ++ ++bool Process::SetProcessBackgrounded(bool value) { ++ return false; ++} ++ ++// static ++bool Process::CanBackgroundProcesses() { ++ return false; + } + + } // namespace base diff --git a/www/chromium/files/patch-base_process_process__unittest.cc b/www/chromium/files/patch-base_process_process__unittest.cc deleted file mode 100644 index 4f9397702033..000000000000 --- a/www/chromium/files/patch-base_process_process__unittest.cc +++ /dev/null @@ -1,27 +0,0 @@ ---- base/process/process_unittest.cc.orig 2021-09-14 01:51:47 UTC -+++ base/process/process_unittest.cc -@@ -140,7 +140,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) || defined(OS_CHROMEOS) -+#if defined(OS_LINUX) || defined(OS_CHROMEOS) || 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. -@@ -287,6 +287,7 @@ TEST_F(ProcessTest, WaitForExitOrEventWithEventSet) { - } - #endif // OS_WIN - -+#if !defined(OS_BSD) - // Ensure that the priority of a process is restored correctly after - // backgrounding and restoring. - // Note: a platform may not be willing or able to lower the priority of -@@ -344,6 +345,7 @@ TEST_F(ProcessTest, SetProcessBackgroundedSelf) { - int new_priority = process.GetPriority(); - EXPECT_EQ(old_priority, new_priority); - } -+#endif - - // Consumers can use WaitForExitWithTimeout(base::TimeDelta(), nullptr) to check - // whether the process is still running. This may not be safe because of the diff --git a/www/chromium/files/patch-base_process_process__util__unittest.cc b/www/chromium/files/patch-base_process_process__util__unittest.cc deleted file mode 100644 index b312c2876317..000000000000 --- a/www/chromium/files/patch-base_process_process__util__unittest.cc +++ /dev/null @@ -1,16 +0,0 @@ ---- base/process/process_util_unittest.cc.orig 2021-12-14 11:44:55 UTC -+++ base/process/process_util_unittest.cc -@@ -1342,11 +1342,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) || defined(OS_CHROMEOS) -+#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD) - options.clone_flags = clone_flags; - #else - CHECK_EQ(0, clone_flags); --#endif // defined(OS_LINUX) || defined(OS_CHROMEOS) -+#endif // defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD) - - EXPECT_TRUE(LaunchProcess(cmdline, options).IsValid()); - write_pipe.Close(); diff --git a/www/chromium/files/patch-base_profiler_register__context.h b/www/chromium/files/patch-base_profiler_register__context.h deleted file mode 100644 index 136080cf3b91..000000000000 --- a/www/chromium/files/patch-base_profiler_register__context.h +++ /dev/null @@ -1,60 +0,0 @@ ---- base/profiler/register_context.h.orig 2021-09-14 01:51:47 UTC -+++ base/profiler/register_context.h -@@ -17,7 +17,7 @@ - #include - #elif defined(OS_APPLE) - #include --#elif defined(OS_ANDROID) || defined(OS_LINUX) || defined(OS_CHROMEOS) -+#elif defined(OS_ANDROID) || defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD) - #include - #endif - -@@ -209,6 +209,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/chromium/files/patch-base_profiler_sampling__profiler__thread__token.cc b/www/chromium/files/patch-base_profiler_sampling__profiler__thread__token.cc deleted file mode 100644 index fb64e59d8b3f..000000000000 --- a/www/chromium/files/patch-base_profiler_sampling__profiler__thread__token.cc +++ /dev/null @@ -1,11 +0,0 @@ ---- base/profiler/sampling_profiler_thread_token.cc.orig 2021-04-14 18:40:48 UTC -+++ base/profiler/sampling_profiler_thread_token.cc -@@ -7,7 +7,7 @@ - namespace base { - - SamplingProfilerThreadToken GetSamplingProfilerCurrentThreadToken() { --#if defined(OS_ANDROID) || defined(OS_LINUX) || defined(OS_CHROMEOS) -+#if defined(OS_ANDROID) || defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD) - return {PlatformThread::CurrentId(), pthread_self()}; - #else - return {PlatformThread::CurrentId()}; diff --git a/www/chromium/files/patch-base_profiler_sampling__profiler__thread__token.h b/www/chromium/files/patch-base_profiler_sampling__profiler__thread__token.h deleted file mode 100644 index b9f665289555..000000000000 --- a/www/chromium/files/patch-base_profiler_sampling__profiler__thread__token.h +++ /dev/null @@ -1,20 +0,0 @@ ---- base/profiler/sampling_profiler_thread_token.h.orig 2021-04-14 18:40:48 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) || defined(OS_CHROMEOS) -+#if defined(OS_ANDROID) || defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD) - #include - #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) || defined(OS_CHROMEOS) -+#if defined(OS_ANDROID) || defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD) - pthread_t pthread_id; - #endif - }; diff --git a/www/chromium/files/patch-base_profiler_stack__copier__signal.cc b/www/chromium/files/patch-base_profiler_stack__copier__signal.cc deleted file mode 100644 index 4d309daebe17..000000000000 --- a/www/chromium/files/patch-base_profiler_stack__copier__signal.cc +++ /dev/null @@ -1,63 +0,0 @@ ---- base/profiler/stack_copier_signal.cc.orig 2021-07-19 18:45:05 UTC -+++ base/profiler/stack_copier_signal.cc -@@ -4,7 +4,14 @@ - - #include "base/profiler/stack_copier_signal.h" - -+#if defined(OS_LINUX) - #include -+#include -+#elif defined(OS_FREEBSD) -+#include -+#include -+#include -+#endif - #include - #include - #include -@@ -37,8 +44,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) -@@ -48,8 +60,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: -@@ -223,11 +239,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/chromium/files/patch-base_profiler_stack__sampling__profiler__test__util.cc b/www/chromium/files/patch-base_profiler_stack__sampling__profiler__test__util.cc deleted file mode 100644 index 039d8c363856..000000000000 --- a/www/chromium/files/patch-base_profiler_stack__sampling__profiler__test__util.cc +++ /dev/null @@ -1,11 +0,0 @@ ---- base/profiler/stack_sampling_profiler_test_util.cc.orig 2021-04-14 18:40:48 UTC -+++ base/profiler/stack_sampling_profiler_test_util.cc -@@ -32,7 +32,7 @@ - // Fortunately, it provides _alloca, which functions identically. - #include - #define alloca _alloca --#else -+#elif !defined(OS_BSD) - #include - #endif - diff --git a/www/chromium/files/patch-base_profiler_stack__sampling__profiler__unittest.cc b/www/chromium/files/patch-base_profiler_stack__sampling__profiler__unittest.cc deleted file mode 100644 index 6de970a38eeb..000000000000 --- a/www/chromium/files/patch-base_profiler_stack__sampling__profiler__unittest.cc +++ /dev/null @@ -1,11 +0,0 @@ ---- base/profiler/stack_sampling_profiler_unittest.cc.orig 2021-09-14 01:51:47 UTC -+++ base/profiler/stack_sampling_profiler_unittest.cc -@@ -41,7 +41,7 @@ - #include - #include - #include --#else -+#elif !defined(OS_BSD) - #include - #endif - diff --git a/www/chromium/files/patch-base_profiler_thread__delegate__posix.cc b/www/chromium/files/patch-base_profiler_thread__delegate__posix.cc deleted file mode 100644 index 2cfaf0bebbc0..000000000000 --- a/www/chromium/files/patch-base_profiler_thread__delegate__posix.cc +++ /dev/null @@ -1,68 +0,0 @@ ---- base/profiler/thread_delegate_posix.cc.orig 2021-09-14 01:51:47 UTC -+++ base/profiler/thread_delegate_posix.cc -@@ -12,6 +12,10 @@ - #include "build/build_config.h" - #include "third_party/abseil-cpp/absl/types/optional.h" - -+#if defined(OS_BSD) -+#include -+#endif -+ - #if defined(OS_ANDROID) - #include "base/files/file_util.h" - #include "base/files/scoped_file.h" -@@ -42,7 +46,12 @@ absl::optional GetAndroidMainThreadStackBas - uintptr_t GetThreadStackBaseAddressImpl( - SamplingProfilerThreadToken thread_token) { - pthread_attr_t attr; -+#if defined(OS_FREEBSD) -+ 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; -@@ -129,16 +138,33 @@ std::vector ThreadDelegatePosix::GetRegist - return { - // Return the set of callee-save registers per the i386 System V ABI - // section 2.2.3, plus the stack pointer. -+#if defined(OS_FREEBSD) -+ reinterpret_cast(&thread_context->mc_ebx), -+ reinterpret_cast(&thread_context->mc_ebp), -+ reinterpret_cast(&thread_context->mc_esi), -+ reinterpret_cast(&thread_context->mc_edi), -+ reinterpret_cast(&thread_context->mc_esp), -+#else - reinterpret_cast(&thread_context->gregs[REG_EBX]), - reinterpret_cast(&thread_context->gregs[REG_EBP]), - reinterpret_cast(&thread_context->gregs[REG_ESI]), - reinterpret_cast(&thread_context->gregs[REG_EDI]), - reinterpret_cast(&thread_context->gregs[REG_ESP]), -+#endif - }; - #elif defined(ARCH_CPU_X86_FAMILY) && defined(ARCH_CPU_64_BITS) - 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(&thread_context->mc_rbp), -+ reinterpret_cast(&thread_context->mc_rbx), -+ reinterpret_cast(&thread_context->mc_r12), -+ reinterpret_cast(&thread_context->mc_r13), -+ reinterpret_cast(&thread_context->mc_r14), -+ reinterpret_cast(&thread_context->mc_r15), -+ reinterpret_cast(&thread_context->mc_rsp), -+#else - reinterpret_cast(&thread_context->gregs[REG_RBP]), - reinterpret_cast(&thread_context->gregs[REG_RBX]), - reinterpret_cast(&thread_context->gregs[REG_R12]), -@@ -146,6 +172,7 @@ std::vector ThreadDelegatePosix::GetRegist - reinterpret_cast(&thread_context->gregs[REG_R14]), - reinterpret_cast(&thread_context->gregs[REG_R15]), - reinterpret_cast(&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/chromium/files/patch-base_rand__util.h b/www/chromium/files/patch-base_rand__util.h new file mode 100644 index 000000000000..1b379c09a366 --- /dev/null +++ b/www/chromium/files/patch-base_rand__util.h @@ -0,0 +1,11 @@ +--- base/rand_util.h.orig 2022-02-07 13:39:41 UTC ++++ base/rand_util.h +@@ -77,7 +77,7 @@ void RandomShuffle(Itr first, Itr last) { + std::shuffle(first, last, RandomBitGenerator()); + } + +-#if defined(OS_POSIX) ++#if defined(OS_POSIX) && !defined(OS_OPENBSD) + BASE_EXPORT int GetUrandomFD(); + #endif + diff --git a/www/chromium/files/patch-base_rand__util__posix.cc b/www/chromium/files/patch-base_rand__util__posix.cc new file mode 100644 index 000000000000..0d7503d62921 --- /dev/null +++ b/www/chromium/files/patch-base_rand__util__posix.cc @@ -0,0 +1,52 @@ +--- base/rand_util_posix.cc.orig 2022-02-07 13:39:41 UTC ++++ base/rand_util_posix.cc +@@ -17,7 +17,7 @@ + #include "base/posix/eintr_wrapper.h" + #include "build/build_config.h" + +-#if (defined(OS_LINUX) || defined(OS_CHROMEOS)) && !defined(OS_NACL) ++#if (defined(OS_LINUX) || defined(OS_CHROMEOS)) && !defined(OS_NACL) && !defined(OS_BSD) + #include "third_party/lss/linux_syscall_support.h" + #elif defined(OS_MAC) + // TODO(crbug.com/995996): Waiting for this header to appear in the iOS SDK. +@@ -34,6 +34,7 @@ static constexpr int kOpenFlags = O_RDONLY; + static constexpr int kOpenFlags = O_RDONLY | O_CLOEXEC; + #endif + ++#if !defined(OS_OPENBSD) + // We keep the file descriptor for /dev/urandom around so we don't need to + // reopen it (which is expensive), and since we may not even be able to reopen + // it if we are later put in a sandbox. This class wraps the file descriptor so +@@ -51,6 +52,7 @@ class URandomFd { + private: + const int fd_; + }; ++#endif + + } // namespace + +@@ -62,6 +64,7 @@ namespace base { + // (https://chromium-review.googlesource.com/c/chromium/src/+/1545096) and land + // it or some form of it. + void RandBytes(void* output, size_t output_length) { ++#if !defined(OS_OPENBSD) + #if (defined(OS_LINUX) || defined(OS_CHROMEOS)) && !defined(OS_NACL) + // We have to call `getrandom` via Linux Syscall Support, rather than through + // the libc wrapper, because we might not have an up-to-date libc (e.g. on +@@ -93,11 +96,16 @@ void RandBytes(void* output, size_t output_length) { + const bool success = + ReadFromFD(urandom_fd, static_cast(output), output_length); + CHECK(success); ++#else ++ arc4random_buf(static_cast(output), output_length); ++#endif + } + ++#if !defined(OS_OPENBSD) + int GetUrandomFD() { + static NoDestructor urandom_fd; + return urandom_fd->fd(); + } ++#endif + + } // namespace base diff --git a/www/chromium/files/patch-base_sampling__heap__profiler_sampling__heap__profiler.cc b/www/chromium/files/patch-base_sampling__heap__profiler_sampling__heap__profiler.cc deleted file mode 100644 index 78f5a70b338c..000000000000 --- a/www/chromium/files/patch-base_sampling__heap__profiler_sampling__heap__profiler.cc +++ /dev/null @@ -1,24 +0,0 @@ ---- base/sampling_heap_profiler/sampling_heap_profiler.cc.orig 2021-09-14 01:51:47 UTC -+++ base/sampling_heap_profiler/sampling_heap_profiler.cc -@@ -27,6 +27,10 @@ - #include - #endif - -+#if defined(OS_BSD) -+#include -+#endif -+ - #if defined(OS_ANDROID) && BUILDFLAG(CAN_UNWIND_WITH_CFI_TABLE) && \ - defined(OFFICIAL_BUILD) - #include "base/trace_event/cfi_backtrace_android.h" // no-presubmit-check -@@ -62,6 +66,10 @@ const char* GetAndLeakThreadName() { - #elif defined(OS_APPLE) - 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_CHROMEOS) || defined(OS_ANDROID) - diff --git a/www/chromium/files/patch-base_security__unittest.cc b/www/chromium/files/patch-base_security__unittest.cc deleted file mode 100644 index 75edbfea9696..000000000000 --- a/www/chromium/files/patch-base_security__unittest.cc +++ /dev/null @@ -1,28 +0,0 @@ ---- base/security_unittest.cc.orig 2021-12-14 11:44:55 UTC -+++ base/security_unittest.cc -@@ -61,7 +61,7 @@ NOINLINE Type HideValueFromCompiler(volatile Type valu - void OverflowTestsSoftExpectTrue(bool overflow_detected) { - if (!overflow_detected) { - #if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_ANDROID) || \ -- defined(OS_APPLE) -+ defined(OS_APPLE) || defined(OS_BSD) - // 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", -@@ -121,7 +121,7 @@ TEST(SecurityTest, MAYBE_NewOverflow) { - #endif // !defined(OS_WIN) || !defined(ARCH_CPU_64_BITS) - } - --#if (defined(OS_LINUX) || defined(OS_CHROMEOS)) && defined(__x86_64__) -+#if (defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD)) && defined(__x86_64__) - // Check if ptr1 and ptr2 are separated by less than size chars. - bool ArePointersToSameArea(void* ptr1, void* ptr2, size_t size) { - ptrdiff_t ptr_diff = reinterpret_cast(std::max(ptr1, ptr2)) - -@@ -175,6 +175,6 @@ TEST(SecurityTest, MALLOC_OVERFLOW_TEST(RandomMemoryAl - EXPECT_FALSE(impossible_random_address); - } - --#endif // (defined(OS_LINUX) || defined(OS_CHROMEOS)) && defined(__x86_64__) -+#endif // (defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD)) && defined(__x86_64__) - - } // namespace diff --git a/www/chromium/files/patch-base_strings_string__util.cc b/www/chromium/files/patch-base_strings_string__util.cc new file mode 100644 index 000000000000..1003ec60edef --- /dev/null +++ b/www/chromium/files/patch-base_strings_string__util.cc @@ -0,0 +1,11 @@ +--- base/strings/string_util.cc.orig 2022-02-07 13:39:41 UTC ++++ base/strings/string_util.cc +@@ -36,7 +36,7 @@ namespace base { + bool IsWprintfFormatPortable(const wchar_t* format) { + // This snippet of code checks that we can build C++17 code. + // TODO(thakis): Enable this on all platforms, and then remove it again. +-#if !defined(OS_LINUX) && !BUILDFLAG(CFI_ICALL_CHECK) && \ ++#if !defined(OS_LINUX) && !defined(OS_BSD) && !BUILDFLAG(CFI_ICALL_CHECK) && \ + !BUILDFLAG(CFI_CAST_CHECK) + if constexpr (constexpr int i = 0; i > 0) { + } diff --git a/www/chromium/files/patch-base_strings_sys__string__conversions__unittest.cc b/www/chromium/files/patch-base_strings_sys__string__conversions__unittest.cc deleted file mode 100644 index bc016b95adbe..000000000000 --- a/www/chromium/files/patch-base_strings_sys__string__conversions__unittest.cc +++ /dev/null @@ -1,19 +0,0 @@ ---- base/strings/sys_string_conversions_unittest.cc.orig 2021-09-14 01:51:47 UTC -+++ base/strings/sys_string_conversions_unittest.cc -@@ -75,7 +75,7 @@ TEST(SysStrings, SysUTF8ToWide) { - } - - // Tests depend on setting a specific Linux locale. --#if defined(OS_LINUX) || defined(OS_CHROMEOS) -+#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD) - TEST(SysStrings, SysWideToNativeMB) { - #if !defined(SYSTEM_NATIVE_UTF8) - ScopedLocale locale("en_US.UTF-8"); -@@ -190,6 +190,6 @@ TEST(SysStrings, SysNativeMBAndWide) { - EXPECT_EQ(wide, trip); - } - } --#endif // defined(OS_LINUX) || defined(OS_CHROMEOS) -+#endif // defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD) - - } // namespace base diff --git a/www/chromium/files/patch-base_synchronization_lock__impl.h b/www/chromium/files/patch-base_synchronization_lock__impl.h index b64073a52629..5e7c175fb687 100644 --- a/www/chromium/files/patch-base_synchronization_lock__impl.h +++ b/www/chromium/files/patch-base_synchronization_lock__impl.h @@ -1,19 +1,23 @@ ---- base/synchronization/lock_impl.h.orig 2021-12-14 11:44:55 UTC +--- base/synchronization/lock_impl.h.orig 2022-02-07 13:39:41 UTC +++ base/synchronization/lock_impl.h -@@ -107,6 +107,8 @@ void LockImpl::Unlock() { +@@ -107,6 +107,10 @@ void LockImpl::Unlock() { } #elif defined(OS_POSIX) || defined(OS_FUCHSIA) ++#if defined(OS_FREEBSD) +#pragma GCC diagnostic push +#pragma GCC diagnostic ignored "-Wthread-safety-analysis" ++#endif BASE_EXPORT std::string SystemErrorCodeToString(int error_code); -@@ -121,6 +123,7 @@ void LockImpl::Unlock() { +@@ -121,6 +125,9 @@ void LockImpl::Unlock() { int rv = pthread_mutex_unlock(&native_handle_); DCHECK_EQ(rv, 0) << ". " << strerror(rv); } ++#if defined(OS_FREEBSD) +#pragma GCC diagnostic pop ++#endif #endif // This is an implementation used for AutoLock templated on the lock type. diff --git a/www/chromium/files/patch-base_system_sys__info.cc b/www/chromium/files/patch-base_system_sys__info.cc index ad07c1b750e5..66ca14e577d0 100644 --- a/www/chromium/files/patch-base_system_sys__info.cc +++ b/www/chromium/files/patch-base_system_sys__info.cc @@ -1,11 +1,11 @@ ---- base/system/sys_info.cc.orig 2021-12-14 11:44:55 UTC +--- base/system/sys_info.cc.orig 2022-02-07 13:39:41 UTC +++ base/system/sys_info.cc -@@ -92,7 +92,7 @@ void SysInfo::GetHardwareInfo(base::OnceCallback(limit); ++ shmmax = static_cast(limit); ++out: ++ return shmmax; + } + + // static +-std::string SysInfo::CPUModelName() { +- int mib[] = {CTL_HW, HW_MODEL}; +- char name[256]; +- size_t len = base::size(name); +- if (sysctl(mib, base::size(mib), name, &len, NULL, 0) < 0) { +- NOTREACHED(); +- return std::string(); +- } +- return name; ++SysInfo::HardwareInfo SysInfo::GetHardwareInfoSync() { ++ HardwareInfo info; ++ // Set the manufacturer to "OpenBSD" and the model to ++ // an empty string. ++ info.manufacturer = "OpenBSD"; ++ info.model = HardwareModelName(); ++ DCHECK(IsStringUTF8(info.manufacturer)); ++ DCHECK(IsStringUTF8(info.model)); ++ return info; + } + + } // namespace base diff --git a/www/chromium/files/patch-base_system_sys__info__posix.cc b/www/chromium/files/patch-base_system_sys__info__posix.cc index 46bca98b2550..107e2da853a5 100644 --- a/www/chromium/files/patch-base_system_sys__info__posix.cc +++ b/www/chromium/files/patch-base_system_sys__info__posix.cc @@ -1,23 +1,11 @@ ---- base/system/sys_info_posix.cc.orig 2021-04-14 18:40:48 UTC +--- base/system/sys_info_posix.cc.orig 2022-02-07 13:39:41 UTC +++ base/system/sys_info_posix.cc -@@ -26,6 +26,11 @@ - #if defined(OS_ANDROID) - #include - #define statvfs statfs // Android uses a statvfs-like statfs struct and call. -+#elif defined(OS_BSD) -+#include -+#include -+#define statvfs statfs -+#define f_frsize f_bsize - #else - #include - #endif -@@ -239,6 +244,8 @@ std::string SysInfo::OperatingSystemArchitecture() { +@@ -252,6 +252,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/chromium/files/patch-base_system_sys__info__unittest.cc b/www/chromium/files/patch-base_system_sys__info__unittest.cc deleted file mode 100644 index e266b5462fbe..000000000000 --- a/www/chromium/files/patch-base_system_sys__info__unittest.cc +++ /dev/null @@ -1,46 +0,0 @@ ---- base/system/sys_info_unittest.cc.orig 2021-12-31 00:57:18 UTC -+++ base/system/sys_info_unittest.cc -@@ -64,13 +64,13 @@ TEST_F(SysInfoTest, AmountOfMem) { - EXPECT_GE(SysInfo::AmountOfVirtualMemory(), 0); - } - --#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_ANDROID) --#if defined(OS_LINUX) || defined(OS_CHROMEOS) -+#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_ANDROID) || defined(OS_BSD) -+#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD) - #define MAYBE_AmountOfAvailablePhysicalMemory \ - DISABLED_AmountOfAvailablePhysicalMemory - #else - #define MAYBE_AmountOfAvailablePhysicalMemory AmountOfAvailablePhysicalMemory --#endif // defined(OS_LINUX) || defined(OS_CHROMEOS) -+#endif // defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD) - TEST_F(SysInfoTest, MAYBE_AmountOfAvailablePhysicalMemory) { - // Note: info is in _K_bytes. - SystemMemoryInfoKB info; -@@ -101,7 +101,7 @@ TEST_F(SysInfoTest, MAYBE_AmountOfAvailablePhysicalMem - EXPECT_GT(amount, static_cast(info.free) * 1024); - EXPECT_LT(amount / 1024, info.total); - } --#endif // defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_ANDROID) -+#endif // defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_ANDROID) || defined(OS_BSD) - - TEST_F(SysInfoTest, AmountOfFreeDiskSpace) { - // We aren't actually testing that it's correct, just that it's sane. -@@ -141,7 +141,7 @@ TEST_F(SysInfoTest, NestedVolumesAmountOfTotalDiskSpac - } - #endif // defined(OS_FUCHSIA) - --#if defined(OS_WIN) || defined(OS_APPLE) || defined(OS_LINUX) || \ -+#if defined(OS_WIN) || defined(OS_APPLE) || defined(OS_LINUX) || defined(OS_BSD) || \ - defined(OS_CHROMEOS) || defined(OS_FUCHSIA) - TEST_F(SysInfoTest, OperatingSystemVersionNumbers) { - int32_t os_major_version = -1; -@@ -227,7 +227,7 @@ TEST_F(SysInfoTest, GetHardwareInfo) { - EXPECT_TRUE(IsStringUTF8(hardware_info->model)); - bool empty_result_expected = - #if defined(OS_ANDROID) || defined(OS_APPLE) || defined(OS_WIN) || \ -- defined(OS_LINUX) || defined(OS_CHROMEOS) -+ defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD) - false; - #else - true; diff --git a/www/chromium/files/patch-base_task_thread__pool_environment__config__unittest.cc b/www/chromium/files/patch-base_task_thread__pool_environment__config__unittest.cc deleted file mode 100644 index af894c771972..000000000000 --- a/www/chromium/files/patch-base_task_thread__pool_environment__config__unittest.cc +++ /dev/null @@ -1,11 +0,0 @@ ---- base/task/thread_pool/environment_config_unittest.cc.orig 2021-04-14 18:40:48 UTC -+++ base/task/thread_pool/environment_config_unittest.cc -@@ -14,7 +14,7 @@ namespace internal { - TEST(ThreadPoolEnvironmentConfig, CanUseBackgroundPriorityForWorker) { - #if defined(OS_WIN) || defined(OS_APPLE) - 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/chromium/files/patch-base_test_launcher_test__launcher.cc b/www/chromium/files/patch-base_test_launcher_test__launcher.cc index 13fb245637cf..9625a1f0bd0d 100644 --- a/www/chromium/files/patch-base_test_launcher_test__launcher.cc +++ b/www/chromium/files/patch-base_test_launcher_test__launcher.cc @@ -1,28 +1,10 @@ ---- base/test/launcher/test_launcher.cc.orig 2021-12-14 11:44:55 UTC +--- base/test/launcher/test_launcher.cc.orig 2022-02-07 13:39:41 UTC +++ base/test/launcher/test_launcher.cc -@@ -62,6 +62,7 @@ +@@ -63,6 +63,7 @@ #include "testing/gtest/include/gtest/gtest.h" #if defined(OS_POSIX) +#include #include #include "base/files/file_descriptor_watcher_posix.h" -@@ -620,7 +621,7 @@ ChildProcessResults DoLaunchChildTestProcess( - #if !defined(OS_FUCHSIA) - options.new_process_group = true; - #endif --#if defined(OS_LINUX) || defined(OS_CHROMEOS) -+#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD) - options.kill_on_parent_death = true; - #endif - -@@ -1571,7 +1572,7 @@ bool TestLauncher::Init(CommandLine* command_line) { - results_tracker_.AddGlobalTag("OS_IOS"); - #endif - --#if defined(OS_LINUX) || defined(OS_CHROMEOS) -+#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD) - results_tracker_.AddGlobalTag("OS_LINUX"); - #endif - diff --git a/www/chromium/files/patch-base_test_test__file__util__linux.cc b/www/chromium/files/patch-base_test_test__file__util__linux.cc new file mode 100644 index 000000000000..137d156cf616 --- /dev/null +++ b/www/chromium/files/patch-base_test_test__file__util__linux.cc @@ -0,0 +1,13 @@ +--- base/test/test_file_util_linux.cc.orig 2022-02-07 13:39:41 UTC ++++ base/test/test_file_util_linux.cc +@@ -52,8 +52,10 @@ bool EvictFileFromSystemCache(const FilePath& file) { + return false; + if (fdatasync(fd.get()) != 0) + return false; ++#if !defined(OS_BSD) + if (posix_fadvise(fd.get(), 0, 0, POSIX_FADV_DONTNEED) != 0) + return false; ++#endif + return true; + } + diff --git a/www/chromium/files/patch-base_test_test__file__util__posix.cc b/www/chromium/files/patch-base_test_test__file__util__posix.cc deleted file mode 100644 index 2bd4c0452c6b..000000000000 --- a/www/chromium/files/patch-base_test_test__file__util__posix.cc +++ /dev/null @@ -1,11 +0,0 @@ ---- base/test/test_file_util_posix.cc.orig 2021-04-14 18:40:48 UTC -+++ base/test/test_file_util_posix.cc -@@ -87,7 +87,7 @@ void SyncPageCacheToDisk() { - sync(); - } - --#if !defined(OS_LINUX) && !defined(OS_CHROMEOS) && !defined(OS_APPLE) && \ -+#if !defined(OS_LINUX) && !defined(OS_CHROMEOS) && !defined(OS_APPLE) && !defined(OS_BSD) && \ - !defined(OS_ANDROID) - bool EvictFileFromSystemCache(const FilePath& file) { - // There doesn't seem to be a POSIX way to cool the disk cache. diff --git a/www/chromium/files/patch-base_test_test__suite.cc b/www/chromium/files/patch-base_test_test__suite.cc deleted file mode 100644 index 511cfda2c7e8..000000000000 --- a/www/chromium/files/patch-base_test_test__suite.cc +++ /dev/null @@ -1,20 +0,0 @@ ---- base/test/test_suite.cc.orig 2022-01-05 13:32:44 UTC -+++ base/test/test_suite.cc -@@ -221,7 +221,7 @@ class CheckForLeakedGlobals : public testing::EmptyTes - }; - - // base::Process is not available on iOS --#if !defined(OS_IOS) -+#if !defined(OS_IOS) && !defined(OS_BSD) - class CheckProcessPriority : public testing::EmptyTestEventListener { - public: - CheckProcessPriority() { CHECK(!IsProcessBackgrounded()); } -@@ -634,7 +634,7 @@ void TestSuite::Initialize() { - if (check_for_leaked_globals_) - listeners.Append(new CheckForLeakedGlobals); - if (check_for_thread_and_process_priority_) { --#if !defined(OS_IOS) -+#if !defined(OS_IOS) && !defined(OS_BSD) - listeners.Append(new CheckProcessPriority); - #endif - } diff --git a/www/chromium/files/patch-base_third__party_libevent_event-config.h b/www/chromium/files/patch-base_third__party_libevent_event-config.h new file mode 100644 index 000000000000..eaa2383bbb97 --- /dev/null +++ b/www/chromium/files/patch-base_third__party_libevent_event-config.h @@ -0,0 +1,11 @@ +--- base/third_party/libevent/event-config.h.orig 2022-02-07 13:39:41 UTC ++++ base/third_party/libevent/event-config.h +@@ -13,6 +13,8 @@ + #include "base/third_party/libevent/linux/event-config.h" + #elif defined(__FreeBSD__) + #include "base/third_party/libevent/freebsd/event-config.h" ++#elif defined(__OpenBSD__) ++#include "base/third_party/libevent/openbsd/event-config.h" + #elif defined(__sun) + #include "base/third_party/libevent/solaris/event-config.h" + #elif defined(_AIX) diff --git a/www/chromium/files/patch-base_third__party_libevent_openbsd_config.h b/www/chromium/files/patch-base_third__party_libevent_openbsd_config.h new file mode 100644 index 000000000000..6c3c65196f6d --- /dev/null +++ b/www/chromium/files/patch-base_third__party_libevent_openbsd_config.h @@ -0,0 +1,279 @@ +--- base/third_party/libevent/openbsd/config.h.orig 2022-02-07 13:39:41 UTC ++++ base/third_party/libevent/openbsd/config.h +@@ -0,0 +1,276 @@ ++/* config.h. Generated from config.h.in by configure. */ ++/* config.h.in. Generated from configure.in by autoheader. */ ++ ++/* Define if clock_gettime is available in libc */ ++#define DNS_USE_CPU_CLOCK_FOR_ID 1 ++ ++/* Define is no secure id variant is available */ ++/* #undef DNS_USE_GETTIMEOFDAY_FOR_ID */ ++ ++/* Define to 1 if you have the `clock_gettime' function. */ ++#define HAVE_CLOCK_GETTIME 1 ++ ++/* Define if /dev/poll is available */ ++/* #undef HAVE_DEVPOLL */ ++ ++/* Define to 1 if you have the header file. */ ++#define HAVE_DLFCN_H 1 ++ ++/* Define if your system supports the epoll system calls */ ++/* #undef HAVE_EPOLL */ ++ ++/* Define to 1 if you have the `epoll_ctl' function. */ ++/* #undef HAVE_EPOLL_CTL */ ++ ++/* Define if your system supports event ports */ ++/* #undef HAVE_EVENT_PORTS */ ++ ++/* Define to 1 if you have the `fcntl' function. */ ++#define HAVE_FCNTL 1 ++ ++/* Define to 1 if you have the header file. */ ++#define HAVE_FCNTL_H 1 ++ ++/* Define to 1 if the system has the type `fd_mask'. */ ++#define HAVE_FD_MASK 1 ++ ++/* Define to 1 if you have the `getaddrinfo' function. */ ++#define HAVE_GETADDRINFO 1 ++ ++/* Define to 1 if you have the `getegid' function. */ ++#define HAVE_GETEGID 1 ++ ++/* Define to 1 if you have the `geteuid' function. */ ++#define HAVE_GETEUID 1 ++ ++/* Define to 1 if you have the `getnameinfo' function. */ ++#define HAVE_GETNAMEINFO 1 ++ ++/* Define to 1 if you have the `gettimeofday' function. */ ++#define HAVE_GETTIMEOFDAY 1 ++ ++/* Define to 1 if you have the `inet_ntop' function. */ ++#define HAVE_INET_NTOP 1 ++ ++/* Define to 1 if you have the header file. */ ++#define HAVE_INTTYPES_H 1 ++ ++/* Define to 1 if you have the `issetugid' function. */ ++#define HAVE_ISSETUGID 1 ++ ++/* Define to 1 if you have the `kqueue' function. */ ++#define HAVE_KQUEUE 1 ++ ++/* Define to 1 if you have the `nsl' library (-lnsl). */ ++/* #undef HAVE_LIBNSL */ ++ ++/* Define to 1 if you have the `resolv' library (-lresolv). */ ++/* #undef HAVE_LIBRESOLV */ ++ ++/* Define to 1 if you have the `rt' library (-lrt). */ ++/* #undef HAVE_LIBRT */ ++ ++/* Define to 1 if you have the `socket' library (-lsocket). */ ++/* #undef HAVE_LIBSOCKET */ ++ ++/* Define to 1 if you have the header file. */ ++#define HAVE_MEMORY_H 1 ++ ++/* Define to 1 if you have the header file. */ ++/* #undef HAVE_NETINET_IN6_H */ ++ ++/* Define to 1 if you have the `poll' function. */ ++#define HAVE_POLL 1 ++ ++/* Define to 1 if you have the header file. */ ++#define HAVE_POLL_H 1 ++ ++/* Define to 1 if you have the `port_create' function. */ ++/* #undef HAVE_PORT_CREATE */ ++ ++/* Define to 1 if you have the header file. */ ++/* #undef HAVE_PORT_H */ ++ ++/* Define to 1 if you have the `select' function. */ ++#define HAVE_SELECT 1 ++ ++/* Define if F_SETFD is defined in */ ++#define HAVE_SETFD 1 ++ ++/* Define to 1 if you have the `sigaction' function. */ ++#define HAVE_SIGACTION 1 ++ ++/* Define to 1 if you have the `signal' function. */ ++#define HAVE_SIGNAL 1 ++ ++/* Define to 1 if you have the header file. */ ++#define HAVE_SIGNAL_H 1 ++ ++/* Define to 1 if you have the header file. */ ++#define HAVE_STDARG_H 1 ++ ++/* Define to 1 if you have the header file. */ ++#define HAVE_STDINT_H 1 ++ ++/* Define to 1 if you have the header file. */ ++#define HAVE_STDLIB_H 1 ++ ++/* Define to 1 if you have the header file. */ ++#define HAVE_STRINGS_H 1 ++ ++/* Define to 1 if you have the header file. */ ++#define HAVE_STRING_H 1 ++ ++/* Define to 1 if you have the `strlcpy' function. */ ++#define HAVE_STRLCPY 1 ++ ++/* Define to 1 if you have the `strsep' function. */ ++#define HAVE_STRSEP 1 ++ ++/* Define to 1 if you have the `strtok_r' function. */ ++#define HAVE_STRTOK_R 1 ++ ++/* Define to 1 if you have the `strtoll' function. */ ++#define HAVE_STRTOLL 1 ++ ++/* Define to 1 if the system has the type `struct in6_addr'. */ ++#define HAVE_STRUCT_IN6_ADDR 1 ++ ++/* Define to 1 if you have the header file. */ ++/* #undef HAVE_SYS_DEVPOLL_H */ ++ ++/* Define to 1 if you have the header file. */ ++/* #undef HAVE_SYS_EPOLL_H */ ++ ++/* Define to 1 if you have the header file. */ ++#define HAVE_SYS_EVENT_H 1 ++ ++/* Define to 1 if you have the header file. */ ++#define HAVE_SYS_IOCTL_H 1 ++ ++/* Define to 1 if you have the header file. */ ++#define HAVE_SYS_PARAM_H 1 ++ ++/* Define to 1 if you have the header file. */ ++#define HAVE_SYS_QUEUE_H 1 ++ ++/* Define to 1 if you have the header file. */ ++#define HAVE_SYS_SELECT_H 1 ++ ++/* Define to 1 if you have the header file. */ ++#define HAVE_SYS_SOCKET_H 1 ++ ++/* Define to 1 if you have the header file. */ ++#define HAVE_SYS_STAT_H 1 ++ ++/* Define to 1 if you have the header file. */ ++#define HAVE_SYS_TIME_H 1 ++ ++/* Define to 1 if you have the header file. */ ++#define HAVE_SYS_TYPES_H 1 ++ ++/* Define if TAILQ_FOREACH is defined in */ ++#define HAVE_TAILQFOREACH 1 ++ ++/* Define if timeradd is defined in */ ++#define HAVE_TIMERADD 1 ++ ++/* Define if timerclear is defined in */ ++#define HAVE_TIMERCLEAR 1 ++ ++/* Define if timercmp is defined in */ ++#define HAVE_TIMERCMP 1 ++ ++/* Define if timerisset is defined in */ ++#define HAVE_TIMERISSET 1 ++ ++/* Define to 1 if the system has the type `uint16_t'. */ ++#define HAVE_UINT16_T 1 ++ ++/* Define to 1 if the system has the type `uint32_t'. */ ++#define HAVE_UINT32_T 1 ++ ++/* Define to 1 if the system has the type `uint64_t'. */ ++#define HAVE_UINT64_T 1 ++ ++/* Define to 1 if the system has the type `uint8_t'. */ ++#define HAVE_UINT8_T 1 ++ ++/* Define to 1 if you have the header file. */ ++#define HAVE_UNISTD_H 1 ++ ++/* Define to 1 if you have the `vasprintf' function. */ ++#define HAVE_VASPRINTF 1 ++ ++/* Define if kqueue works correctly with pipes */ ++#define HAVE_WORKING_KQUEUE 1 ++ ++/* Define to the sub-directory in which libtool stores uninstalled libraries. ++ */ ++#define LT_OBJDIR ".libs/" ++ ++/* Numeric representation of the version */ ++#define NUMERIC_VERSION 0x01040f00 ++ ++/* Name of package */ ++#define PACKAGE "libevent" ++ ++/* Define to the address where bug reports for this package should be sent. */ ++#define PACKAGE_BUGREPORT "" ++ ++/* Define to the full name of this package. */ ++#define PACKAGE_NAME "" ++ ++/* Define to the full name and version of this package. */ ++#define PACKAGE_STRING "" ++ ++/* Define to the one symbol short name of this package. */ ++#define PACKAGE_TARNAME "" ++ ++/* Define to the home page for this package. */ ++#define PACKAGE_URL "" ++ ++/* Define to the version of this package. */ ++#define PACKAGE_VERSION "" ++ ++/* The size of `int', as computed by sizeof. */ ++#define SIZEOF_INT 4 ++ ++/* The size of `long', as computed by sizeof. */ ++#define SIZEOF_LONG 8 ++ ++/* The size of `long long', as computed by sizeof. */ ++#define SIZEOF_LONG_LONG 8 ++ ++/* The size of `short', as computed by sizeof. */ ++#define SIZEOF_SHORT 2 ++ ++/* Define to 1 if you have the ANSI C header files. */ ++#define STDC_HEADERS 1 ++ ++/* Define to 1 if you can safely include both and . */ ++#define TIME_WITH_SYS_TIME 1 ++ ++/* Version number of package */ ++#define VERSION "1.4.15" ++ ++/* Define to appropriate substitue if compiler doesnt have __func__ */ ++/* #undef __func__ */ ++ ++/* Define to empty if `const' does not conform to ANSI C. */ ++/* #undef const */ ++ ++/* Define to `__inline__' or `__inline' if that's what the C compiler ++ calls it, or to nothing if 'inline' is not supported under any name. */ ++#ifndef __cplusplus ++/* #undef inline */ ++#endif ++ ++/* Define to `int' if does not define. */ ++/* #undef pid_t */ ++ ++/* Define to `unsigned int' if does not define. */ ++/* #undef size_t */ ++ ++/* Define to unsigned int if you dont have it */ ++/* #undef socklen_t */ diff --git a/www/chromium/files/patch-base_third__party_libevent_openbsd_event-config.h b/www/chromium/files/patch-base_third__party_libevent_openbsd_event-config.h new file mode 100644 index 000000000000..de5423361f24 --- /dev/null +++ b/www/chromium/files/patch-base_third__party_libevent_openbsd_event-config.h @@ -0,0 +1,287 @@ +--- base/third_party/libevent/openbsd/event-config.h.orig 2022-02-07 13:39:41 UTC ++++ base/third_party/libevent/openbsd/event-config.h +@@ -0,0 +1,284 @@ ++/* event-config.h ++ * Generated by autoconf; post-processed by libevent. ++ * Do not edit this file. ++ * Do not rely on macros in this file existing in later versions. ++ */ ++#ifndef _EVENT_CONFIG_H_ ++#define _EVENT_CONFIG_H_ ++/* config.h. Generated from config.h.in by configure. */ ++/* config.h.in. Generated from configure.in by autoheader. */ ++ ++/* Define if clock_gettime is available in libc */ ++#define _EVENT_DNS_USE_CPU_CLOCK_FOR_ID 1 ++ ++/* Define is no secure id variant is available */ ++/* #undef _EVENT_DNS_USE_GETTIMEOFDAY_FOR_ID */ ++ ++/* Define to 1 if you have the `clock_gettime' function. */ ++#define _EVENT_HAVE_CLOCK_GETTIME 1 ++ ++/* Define if /dev/poll is available */ ++/* #undef _EVENT_HAVE_DEVPOLL */ ++ ++/* Define to 1 if you have the header file. */ ++#define _EVENT_HAVE_DLFCN_H 1 ++ ++/* Define if your system supports the epoll system calls */ ++/* #undef _EVENT_HAVE_EPOLL */ ++ ++/* Define to 1 if you have the `epoll_ctl' function. */ ++/* #undef _EVENT_HAVE_EPOLL_CTL */ ++ ++/* Define if your system supports event ports */ ++/* #undef _EVENT_HAVE_EVENT_PORTS */ ++ ++/* Define to 1 if you have the `fcntl' function. */ ++#define _EVENT_HAVE_FCNTL 1 ++ ++/* Define to 1 if you have the header file. */ ++#define _EVENT_HAVE_FCNTL_H 1 ++ ++/* Define to 1 if the system has the type `fd_mask'. */ ++#define _EVENT_HAVE_FD_MASK 1 ++ ++/* Define to 1 if you have the `getaddrinfo' function. */ ++#define _EVENT_HAVE_GETADDRINFO 1 ++ ++/* Define to 1 if you have the `getegid' function. */ ++#define _EVENT_HAVE_GETEGID 1 ++ ++/* Define to 1 if you have the `geteuid' function. */ ++#define _EVENT_HAVE_GETEUID 1 ++ ++/* Define to 1 if you have the `getnameinfo' function. */ ++#define _EVENT_HAVE_GETNAMEINFO 1 ++ ++/* Define to 1 if you have the `gettimeofday' function. */ ++#define _EVENT_HAVE_GETTIMEOFDAY 1 ++ ++/* Define to 1 if you have the `inet_ntop' function. */ ++#define _EVENT_HAVE_INET_NTOP 1 ++ ++/* Define to 1 if you have the header file. */ ++#define _EVENT_HAVE_INTTYPES_H 1 ++ ++/* Define to 1 if you have the `issetugid' function. */ ++#define _EVENT_HAVE_ISSETUGID 1 ++ ++/* Define to 1 if you have the `kqueue' function. */ ++#define _EVENT_HAVE_KQUEUE 1 ++ ++/* Define to 1 if you have the `nsl' library (-lnsl). */ ++/* #undef _EVENT_HAVE_LIBNSL */ ++ ++/* Define to 1 if you have the `resolv' library (-lresolv). */ ++/* #undef _EVENT_HAVE_LIBRESOLV */ ++ ++/* Define to 1 if you have the `rt' library (-lrt). */ ++/* #undef _EVENT_HAVE_LIBRT */ ++ ++/* Define to 1 if you have the `socket' library (-lsocket). */ ++/* #undef _EVENT_HAVE_LIBSOCKET */ ++ ++/* Define to 1 if you have the header file. */ ++#define _EVENT_HAVE_MEMORY_H 1 ++ ++/* Define to 1 if you have the header file. */ ++/* #undef _EVENT_HAVE_NETINET_IN6_H */ ++ ++/* Define to 1 if you have the `poll' function. */ ++#define _EVENT_HAVE_POLL 1 ++ ++/* Define to 1 if you have the header file. */ ++#define _EVENT_HAVE_POLL_H 1 ++ ++/* Define to 1 if you have the `port_create' function. */ ++/* #undef _EVENT_HAVE_PORT_CREATE */ ++ ++/* Define to 1 if you have the header file. */ ++/* #undef _EVENT_HAVE_PORT_H */ ++ ++/* Define to 1 if you have the `select' function. */ ++#define _EVENT_HAVE_SELECT 1 ++ ++/* Define if F_SETFD is defined in */ ++#define _EVENT_HAVE_SETFD 1 ++ ++/* Define to 1 if you have the `sigaction' function. */ ++#define _EVENT_HAVE_SIGACTION 1 ++ ++/* Define to 1 if you have the `signal' function. */ ++#define _EVENT_HAVE_SIGNAL 1 ++ ++/* Define to 1 if you have the header file. */ ++#define _EVENT_HAVE_SIGNAL_H 1 ++ ++/* Define to 1 if you have the header file. */ ++#define _EVENT_HAVE_STDARG_H 1 ++ ++/* Define to 1 if you have the header file. */ ++#define _EVENT_HAVE_STDINT_H 1 ++ ++/* Define to 1 if you have the header file. */ ++#define _EVENT_HAVE_STDLIB_H 1 ++ ++/* Define to 1 if you have the header file. */ ++#define _EVENT_HAVE_STRINGS_H 1 ++ ++/* Define to 1 if you have the header file. */ ++#define _EVENT_HAVE_STRING_H 1 ++ ++/* Define to 1 if you have the `strlcpy' function. */ ++#define _EVENT_HAVE_STRLCPY 1 ++ ++/* Define to 1 if you have the `strsep' function. */ ++#define _EVENT_HAVE_STRSEP 1 ++ ++/* Define to 1 if you have the `strtok_r' function. */ ++#define _EVENT_HAVE_STRTOK_R 1 ++ ++/* Define to 1 if you have the `strtoll' function. */ ++#define _EVENT_HAVE_STRTOLL 1 ++ ++/* Define to 1 if the system has the type `struct in6_addr'. */ ++#define _EVENT_HAVE_STRUCT_IN6_ADDR 1 ++ ++/* Define to 1 if you have the header file. */ ++/* #undef _EVENT_HAVE_SYS_DEVPOLL_H */ ++ ++/* Define to 1 if you have the header file. */ ++/* #undef _EVENT_HAVE_SYS_EPOLL_H */ ++ ++/* Define to 1 if you have the header file. */ ++#define _EVENT_HAVE_SYS_EVENT_H 1 ++ ++/* Define to 1 if you have the header file. */ ++#define _EVENT_HAVE_SYS_IOCTL_H 1 ++ ++/* Define to 1 if you have the header file. */ ++#define _EVENT_HAVE_SYS_PARAM_H 1 ++ ++/* Define to 1 if you have the header file. */ ++#define _EVENT_HAVE_SYS_QUEUE_H 1 ++ ++/* Define to 1 if you have the header file. */ ++#define _EVENT_HAVE_SYS_SELECT_H 1 ++ ++/* Define to 1 if you have the header file. */ ++#define _EVENT_HAVE_SYS_SOCKET_H 1 ++ ++/* Define to 1 if you have the header file. */ ++#define _EVENT_HAVE_SYS_STAT_H 1 ++ ++/* Define to 1 if you have the header file. */ ++#define _EVENT_HAVE_SYS_TIME_H 1 ++ ++/* Define to 1 if you have the header file. */ ++#define _EVENT_HAVE_SYS_TYPES_H 1 ++ ++/* Define if TAILQ_FOREACH is defined in */ ++#define _EVENT_HAVE_TAILQFOREACH 1 ++ ++/* Define if timeradd is defined in */ ++#define _EVENT_HAVE_TIMERADD 1 ++ ++/* Define if timerclear is defined in */ ++#define _EVENT_HAVE_TIMERCLEAR 1 ++ ++/* Define if timercmp is defined in */ ++#define _EVENT_HAVE_TIMERCMP 1 ++ ++/* Define if timerisset is defined in */ ++#define _EVENT_HAVE_TIMERISSET 1 ++ ++/* Define to 1 if the system has the type `uint16_t'. */ ++#define _EVENT_HAVE_UINT16_T 1 ++ ++/* Define to 1 if the system has the type `uint32_t'. */ ++#define _EVENT_HAVE_UINT32_T 1 ++ ++/* Define to 1 if the system has the type `uint64_t'. */ ++#define _EVENT_HAVE_UINT64_T 1 ++ ++/* Define to 1 if the system has the type `uint8_t'. */ ++#define _EVENT_HAVE_UINT8_T 1 ++ ++/* Define to 1 if you have the header file. */ ++#define _EVENT_HAVE_UNISTD_H 1 ++ ++/* Define to 1 if you have the `vasprintf' function. */ ++#define _EVENT_HAVE_VASPRINTF 1 ++ ++/* Define if kqueue works correctly with pipes */ ++#define _EVENT_HAVE_WORKING_KQUEUE 1 ++ ++/* Define to the sub-directory in which libtool stores uninstalled libraries. ++ */ ++#define _EVENT_LT_OBJDIR ".libs/" ++ ++/* Numeric representation of the version */ ++#define _EVENT_NUMERIC_VERSION 0x01040f00 ++ ++/* Name of package */ ++#define _EVENT_PACKAGE "libevent" ++ ++/* Define to the address where bug reports for this package should be sent. */ ++#define _EVENT_PACKAGE_BUGREPORT "" ++ ++/* Define to the full name of this package. */ ++#define _EVENT_PACKAGE_NAME "" ++ ++/* Define to the full name and version of this package. */ ++#define _EVENT_PACKAGE_STRING "" ++ ++/* Define to the one symbol short name of this package. */ ++#define _EVENT_PACKAGE_TARNAME "" ++ ++/* Define to the home page for this package. */ ++#define _EVENT_PACKAGE_URL "" ++ ++/* Define to the version of this package. */ ++#define _EVENT_PACKAGE_VERSION "" ++ ++/* The size of `int', as computed by sizeof. */ ++#define _EVENT_SIZEOF_INT 4 ++ ++/* The size of `long', as computed by sizeof. */ ++#define _EVENT_SIZEOF_LONG 8 ++ ++/* The size of `long long', as computed by sizeof. */ ++#define _EVENT_SIZEOF_LONG_LONG 8 ++ ++/* The size of `short', as computed by sizeof. */ ++#define _EVENT_SIZEOF_SHORT 2 ++ ++/* Define to 1 if you have the ANSI C header files. */ ++#define _EVENT_STDC_HEADERS 1 ++ ++/* Define to 1 if you can safely include both and . */ ++#define _EVENT_TIME_WITH_SYS_TIME 1 ++ ++/* Version number of package */ ++#define _EVENT_VERSION "1.4.15" ++ ++/* Define to appropriate substitue if compiler doesnt have __func__ */ ++/* #undef _EVENT___func__ */ ++ ++/* Define to empty if `const' does not conform to ANSI C. */ ++/* #undef _EVENT_const */ ++ ++/* Define to `__inline__' or `__inline' if that's what the C compiler ++ calls it, or to nothing if 'inline' is not supported under any name. */ ++#ifndef _EVENT___cplusplus ++/* #undef _EVENT_inline */ ++#endif ++ ++/* Define to `int' if does not define. */ ++/* #undef _EVENT_pid_t */ ++ ++/* Define to `unsigned int' if does not define. */ ++/* #undef _EVENT_size_t */ ++ ++/* Define to unsigned int if you dont have it */ ++/* #undef _EVENT_socklen_t */ ++#endif diff --git a/www/chromium/files/patch-base_third__party_symbolize_symbolize.cc b/www/chromium/files/patch-base_third__party_symbolize_symbolize.cc new file mode 100644 index 000000000000..c73aac47312a --- /dev/null +++ b/www/chromium/files/patch-base_third__party_symbolize_symbolize.cc @@ -0,0 +1,11 @@ +--- base/third_party/symbolize/symbolize.cc.orig 2022-02-07 13:39:41 UTC ++++ base/third_party/symbolize/symbolize.cc +@@ -113,7 +113,7 @@ _END_GOOGLE_NAMESPACE_ + #if defined(HAVE_DLFCN_H) + #include + #endif +-#if defined(OS_OPENBSD) ++#if defined(__OpenBSD__) + #include + #else + #include diff --git a/www/chromium/files/patch-base_threading_platform__thread.h b/www/chromium/files/patch-base_threading_platform__thread.h index bff55b7b82ca..b1b6cf3f78e9 100644 --- a/www/chromium/files/patch-base_threading_platform__thread.h +++ b/www/chromium/files/patch-base_threading_platform__thread.h @@ -1,11 +1,11 @@ ---- base/threading/platform_thread.h.orig 2021-12-31 00:57:18 UTC +--- base/threading/platform_thread.h.orig 2022-02-07 13:39:41 UTC +++ base/threading/platform_thread.h -@@ -244,7 +244,7 @@ class BASE_EXPORT PlatformThread { +@@ -243,7 +243,7 @@ class BASE_EXPORT PlatformThread { // Returns a realtime period provided by `delegate`. static TimeDelta GetRealtimePeriod(Delegate* delegate); -#if defined(OS_LINUX) || defined(OS_CHROMEOS) +#if defined(OS_LINUX) || defined(OS_CHROMEOS) || 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/chromium/files/patch-base_threading_platform__thread__internal__posix.h b/www/chromium/files/patch-base_threading_platform__thread__internal__posix.h deleted file mode 100644 index 3619f1d34e67..000000000000 --- a/www/chromium/files/patch-base_threading_platform__thread__internal__posix.h +++ /dev/null @@ -1,18 +0,0 @@ ---- base/threading/platform_thread_internal_posix.h.orig 2021-12-31 00:57:18 UTC -+++ base/threading/platform_thread_internal_posix.h -@@ -46,13 +46,13 @@ bool SetCurrentThreadPriorityForPlatform(ThreadPriorit - // of CanIncreaseThreadPriority(). - absl::optional GetCurrentThreadPriorityForPlatform(); - --#if defined(OS_LINUX) || defined(OS_CHROMEOS) -+#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD) - // Current thread id is cached in thread local storage for performance reasons. - // In some rare cases it's important to clear that cache explicitly (e.g. after - // going through clone() syscall which does not call pthread_atfork() - // handlers). - BASE_EXPORT void ClearTidCache(); --#endif // defined(OS_LINUX) || defined(OS_CHROMEOS) -+#endif // defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD) - - } // namespace internal - diff --git a/www/chromium/files/patch-base_threading_platform__thread__linux.cc b/www/chromium/files/patch-base_threading_platform__thread__linux.cc index 30b2a7a63b6e..fcd82b84be44 100644 --- a/www/chromium/files/patch-base_threading_platform__thread__linux.cc +++ b/www/chromium/files/patch-base_threading_platform__thread__linux.cc @@ -1,110 +1,77 @@ ---- base/threading/platform_thread_linux.cc.orig 2022-01-20 10:35:46 UTC +--- base/threading/platform_thread_linux.cc.orig 2022-02-07 13:39:41 UTC +++ base/threading/platform_thread_linux.cc @@ -29,7 +29,9 @@ #if !defined(OS_NACL) && !defined(OS_AIX) #include +#if !defined(OS_BSD) #include +#endif #include #include #include -@@ -61,7 +63,7 @@ int g_scheduler_boost_adj; - int g_scheduler_limit_adj; - bool g_scheduler_use_latency_tune_adj; - --#if !defined(OS_NACL) && !defined(OS_AIX) -+#if !defined(OS_NACL) && !defined(OS_AIX) && !defined(OS_BSD) - - // Defined by linux uclamp ABI of sched_setattr(). - const uint32_t kSchedulerUclampMin = 0; -@@ -129,10 +131,10 @@ int sched_setattr(pid_t pid, - unsigned int flags) { - return syscall(__NR_sched_setattr, pid, attr, flags); - } --#endif // !defined(OS_NACL) && !defined(OS_AIX) -+#endif // !defined(OS_NACL) && !defined(OS_AIX) && !defined(OS_BSD) +@@ -132,7 +134,7 @@ int sched_setattr(pid_t pid, + #endif // !defined(OS_NACL) && !defined(OS_AIX) #endif // BUILDFLAG(IS_CHROMEOS_ASH) || BUILDFLAG(IS_CHROMEOS_LACROS) -#if !defined(OS_NACL) +#if !defined(OS_NACL) && !defined(OS_BSD) const FilePath::CharType kCgroupDirectory[] = FILE_PATH_LITERAL("/sys/fs/cgroup"); @@ -286,7 +288,7 @@ void SetThreadCgroupsForThreadPriority(PlatformThreadI namespace internal { namespace { -#if !defined(OS_NACL) +#if !defined(OS_NACL) && !defined(OS_BSD) const struct sched_param kRealTimePrio = {8}; #endif } // namespace @@ -299,7 +301,7 @@ const ThreadPriorityToNiceValuePair kThreadPriorityToN }; bool CanSetThreadPriorityToRealtimeAudio() { -#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; @@ -310,7 +312,7 @@ bool CanSetThreadPriorityToRealtimeAudio() { } bool SetCurrentThreadPriorityForPlatform(ThreadPriority priority) { -#if !defined(OS_NACL) +#if !defined(OS_NACL) && !defined(OS_BSD) // For legacy schedtune interface SetThreadCgroupsForThreadPriority(PlatformThread::CurrentId(), priority); @@ -328,7 +330,7 @@ bool SetCurrentThreadPriorityForPlatform(ThreadPriorit } absl::optional GetCurrentThreadPriorityForPlatform() { -#if !defined(OS_NACL) +#if !defined(OS_NACL) && !defined(OS_BSD) int maybe_sched_rr = 0; struct sched_param maybe_realtime_prio = {0}; if (pthread_getschedparam(pthread_self(), &maybe_sched_rr, @@ -347,7 +349,7 @@ absl::optional GetCurrentThreadPriorit 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 -@@ -364,7 +366,7 @@ void PlatformThread::SetName(const std::string& name) - // We expect EPERM failures in sandboxed processes, just ignore those. - if (err < 0 && errno != EPERM) - DPLOG(ERROR) << "prctl(PR_SET_NAME)"; --#endif // !defined(OS_NACL) && !defined(OS_AIX) -+#endif // !defined(OS_NACL) && !defined(OS_AIX) && !defined(OS_BSD) - } - - #if !defined(OS_NACL) && !defined(OS_AIX) @@ -377,8 +379,10 @@ void PlatformThread::SetThreadPriority(ProcessId proce // priority. CHECK_NE(thread_id, process_id); +#if !defined(OS_BSD) // For legacy schedtune interface SetThreadCgroupsForThreadPriority(thread_id, priority); +#endif #if BUILDFLAG(IS_CHROMEOS_ASH) || BUILDFLAG(IS_CHROMEOS_LACROS) // For upstream uclamp interface. We try both legacy (schedtune, as done -@@ -435,7 +439,9 @@ void InitThreading() {} - void TerminateOnThread() {} - - size_t GetDefaultThreadStackSize(const pthread_attr_t& attributes) { --#if !defined(THREAD_SANITIZER) -+#if defined(OS_BSD) -+ return (1 << 23); -+#elif !defined(THREAD_SANITIZER) - return 0; - #else - // ThreadSanitizer bloats the stack heavily. Evidence has been that the diff --git a/www/chromium/files/patch-base_threading_platform__thread__posix.cc b/www/chromium/files/patch-base_threading_platform__thread__posix.cc index 010ad62d6f9f..071a25201e45 100644 --- a/www/chromium/files/patch-base_threading_platform__thread__posix.cc +++ b/www/chromium/files/patch-base_threading_platform__thread__posix.cc @@ -1,22 +1,21 @@ ---- base/threading/platform_thread_posix.cc.orig 2021-12-14 11:44:55 UTC +--- base/threading/platform_thread_posix.cc.orig 2022-02-07 13:39:41 UTC +++ base/threading/platform_thread_posix.cc -@@ -33,6 +33,10 @@ - #include - #endif +@@ -74,7 +74,7 @@ void* ThreadFunc(void* params) { + if (!thread_params->joinable) + base::DisallowSingleton(); -+#if defined(OS_BSD) -+#include -+#endif -+ - #if defined(OS_FUCHSIA) - #include - #else -@@ -194,6 +198,8 @@ PlatformThreadId PlatformThread::CurrentId() { - // into the kernel. - #if defined(OS_APPLE) - return pthread_mach_thread_np(pthread_self()); +-#if !defined(OS_NACL) ++#if !defined(OS_NACL) && !defined(OS_BSD) + #if BUILDFLAG(USE_PARTITION_ALLOC_AS_MALLOC) + internal::PCScan::NotifyThreadCreated(internal::GetStackPointer()); + #endif +@@ -333,6 +333,9 @@ bool PlatformThread::CanChangeThreadPriority(ThreadPri + // static + void PlatformThread::SetCurrentThreadPriorityImpl(ThreadPriority priority) { + #if defined(OS_NACL) ++ NOTIMPLEMENTED(); ++// avoid pledge(2) violation +#elif defined(OS_BSD) -+ return pthread_getthreadid_np(); - #elif defined(OS_LINUX) || defined(OS_CHROMEOS) - static InitAtFork init_at_fork; - if (g_thread_id == -1) { + NOTIMPLEMENTED(); + #else + if (internal::SetCurrentThreadPriorityForPlatform(priority)) diff --git a/www/chromium/files/patch-base_threading_platform__thread__unittest.cc b/www/chromium/files/patch-base_threading_platform__thread__unittest.cc deleted file mode 100644 index 17d59aae5527..000000000000 --- a/www/chromium/files/patch-base_threading_platform__thread__unittest.cc +++ /dev/null @@ -1,24 +0,0 @@ ---- base/threading/platform_thread_unittest.cc.orig 2022-01-20 10:35:46 UTC -+++ base/threading/platform_thread_unittest.cc -@@ -311,7 +311,7 @@ TEST(PlatformThreadTest, - // and hardcodes what we know. Please inform scheduler-dev@chromium.org if this - // proprerty changes for a given platform. - TEST(PlatformThreadTest, CanChangeThreadPriority) { --#if defined(OS_LINUX) || defined(OS_CHROMEOS) -+#if defined(OS_LINUX) || defined(OS_CHROMEOS) || 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; -@@ -409,9 +409,9 @@ 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(OS_CHROMEOS)) && \ -- !defined(THREAD_SANITIZER)) || \ -+#if defined(OS_WIN) || defined(OS_IOS) || defined(OS_FUCHSIA) || \ -+ ((defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD)) && \ -+ !defined(THREAD_SANITIZER)) || \ - (defined(OS_ANDROID) && !defined(ADDRESS_SANITIZER)) - EXPECT_EQ(0u, stack_size); - #else diff --git a/www/chromium/files/patch-base_threading_scoped__blocking__call__unittest.cc b/www/chromium/files/patch-base_threading_scoped__blocking__call__unittest.cc deleted file mode 100644 index d51bf587bd36..000000000000 --- a/www/chromium/files/patch-base_threading_scoped__blocking__call__unittest.cc +++ /dev/null @@ -1,20 +0,0 @@ ---- base/threading/scoped_blocking_call_unittest.cc.orig 2021-12-14 11:44:55 UTC -+++ base/threading/scoped_blocking_call_unittest.cc -@@ -282,7 +282,7 @@ TEST_F(ScopedBlockingCallIOJankMonitoringTest, ManyInA - } - - TEST_F(ScopedBlockingCallIOJankMonitoringTest, OverlappingMultipleWindows) { -- constexpr auto kJankTiming = -+ auto kJankTiming = - internal::IOJankMonitoringWindow::kMonitoringWindow * 3 + - internal::IOJankMonitoringWindow::kIOJankInterval * 5; - -@@ -538,7 +538,7 @@ TEST_F(ScopedBlockingCallIOJankMonitoringTest, MultiTh - // First one starting at 10 seconds (can't start later than that or we'll trip - // the kTimeDiscrepancyTimeout per TaskEnvironment's inability to RunUntilIdle() - // with pending blocked tasks). --#if defined(OS_LINUX) || defined(OS_CHROMEOS) -+#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD) - // https://crbug.com/1071166 - #define MAYBE_MultiThreadedOverlappedWindows \ - DISABLED_MultiThreadedOverlappedWindows diff --git a/www/chromium/files/patch-base_threading_thread__task__runner__handle.cc b/www/chromium/files/patch-base_threading_thread__task__runner__handle.cc deleted file mode 100644 index 821e6f66682f..000000000000 --- a/www/chromium/files/patch-base_threading_thread__task__runner__handle.cc +++ /dev/null @@ -1,26 +0,0 @@ ---- base/threading/thread_task_runner_handle.cc.orig 2021-12-14 11:44:55 UTC -+++ base/threading/thread_task_runner_handle.cc -@@ -8,6 +8,7 @@ - #include - - #include "base/bind.h" -+#include "base/callback_helpers.h" - #include "base/check_op.h" - #include "base/dcheck_is_on.h" - #include "base/lazy_instance.h" -@@ -40,6 +41,7 @@ const scoped_refptr& ThreadTas - return current->task_runner_; - } - -+#if defined(OS_BSD) - // static - bool ThreadTaskRunnerHandle::IsSet() { - return !!thread_task_runner_tls.Pointer()->Get(); -@@ -87,6 +89,7 @@ ThreadTaskRunnerHandleOverride::ThreadTaskRunnerHandle - if (!allow_nested_runloop) - no_running_during_override_.emplace(); - } -+#endif - - ThreadTaskRunnerHandleOverride::~ThreadTaskRunnerHandleOverride() { - if (task_runner_to_restore_) { diff --git a/www/chromium/files/patch-base_time_time.cc b/www/chromium/files/patch-base_time_time.cc index 8809f2523e7c..b2f0f148e1a8 100644 --- a/www/chromium/files/patch-base_time_time.cc +++ b/www/chromium/files/patch-base_time_time.cc @@ -1,17 +1,11 @@ ---- base/time/time.cc.orig 2021-09-24 04:25:56 UTC +--- base/time/time.cc.orig 2022-02-07 13:39:41 UTC +++ base/time/time.cc -@@ -4,12 +4,12 @@ +@@ -4,7 +4,7 @@ #include "base/time/time.h" -#if defined(OS_LINUX) +#if defined(OS_LINUX) || defined(OS_BSD) // time.h is a widely included header and its size impacts build time. // Try not to raise this limit unless necessary. See // https://chromium.googlesource.com/chromium/src/+/HEAD/docs/wmax_tokens.md - #pragma clang max_tokens_here 390000 --#endif // defined(OS_LINUX) -+#endif // defined(OS_LINUX) || defined(OS_BSD) - - #include - #include diff --git a/www/chromium/files/patch-base_trace__event_heap__profiler__allocation__context__tracker.cc b/www/chromium/files/patch-base_trace__event_heap__profiler__allocation__context__tracker.cc deleted file mode 100644 index 510fe325059f..000000000000 --- a/www/chromium/files/patch-base_trace__event_heap__profiler__allocation__context__tracker.cc +++ /dev/null @@ -1,38 +0,0 @@ ---- base/trace_event/heap_profiler_allocation_context_tracker.cc.orig 2021-12-14 11:44:55 UTC -+++ base/trace_event/heap_profiler_allocation_context_tracker.cc -@@ -30,6 +30,10 @@ - #include - #endif - -+#if defined(OS_BSD) -+#include -+#endif -+ - namespace base { - namespace trace_event { - -@@ -62,13 +66,23 @@ ThreadLocalStorage::Slot& AllocationContextTrackerTLS( - // with id. This function intentionally leaks the allocated strings since they - // are used to tag allocations even after the thread dies. - const char* GetAndLeakThreadName() { -- char name[16]; -+#if defined(OS_BSD) -+ constexpr size_t kBufferLen = 64; -+#else -+ constexpr size_t kBufferLen = 16; -+#endif -+ char name[kBufferLen]; - #if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_ANDROID) - // If the thread name is not set, try to get it from prctl. Thread name might - // not be set in cases where the thread started before heap profiling was - // enabled. - int err = prctl(PR_GET_NAME, name); - if (!err) { -+ return strdup(name); -+ } -+#elif defined(OS_BSD) -+ pthread_get_name_np(pthread_self(), name, kBufferLen); -+ if (*name != '\0') { - return strdup(name); - } - #endif // defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_ANDROID) diff --git a/www/chromium/files/patch-base_trace__event_memory__dump__manager.cc b/www/chromium/files/patch-base_trace__event_memory__dump__manager.cc new file mode 100644 index 000000000000..45c5ecd63a91 --- /dev/null +++ b/www/chromium/files/patch-base_trace__event_memory__dump__manager.cc @@ -0,0 +1,11 @@ +--- base/trace_event/memory_dump_manager.cc.orig 2022-02-07 13:39:41 UTC ++++ base/trace_event/memory_dump_manager.cc +@@ -78,7 +78,7 @@ const char* const MemoryDumpManager::kSystemAllocatorP + #if defined(MALLOC_MEMORY_TRACING_SUPPORTED) + MallocDumpProvider::kAllocatedObjects; + #else +- nullptr; ++ ""; + #endif + + // static diff --git a/www/chromium/files/patch-base_trace__event_process__memory__dump.cc b/www/chromium/files/patch-base_trace__event_process__memory__dump.cc index fa2b435c8b7a..dc76336b3bc7 100644 --- a/www/chromium/files/patch-base_trace__event_process__memory__dump.cc +++ b/www/chromium/files/patch-base_trace__event_process__memory__dump.cc @@ -1,11 +1,20 @@ ---- base/trace_event/process_memory_dump.cc.orig 2021-09-14 01:51:47 UTC +--- base/trace_event/process_memory_dump.cc.orig 2022-02-07 13:39:41 UTC +++ base/trace_event/process_memory_dump.cc @@ -105,7 +105,7 @@ absl::optional ProcessMemoryDump::CountResiden #if defined(OS_WIN) std::unique_ptr vec( new PSAPI_WORKING_SET_EX_INFORMATION[max_vec_size]); -#elif defined(OS_APPLE) +#elif defined(OS_APPLE) || defined(OS_BSD) std::unique_ptr vec(new char[max_vec_size]); #elif defined(OS_POSIX) || defined(OS_FUCHSIA) std::unique_ptr vec(new unsigned char[max_vec_size]); +@@ -127,7 +127,7 @@ absl::optional ProcessMemoryDump::CountResiden + + for (size_t i = 0; i < page_count; i++) + resident_page_count += vec[i].VirtualAttributes.Valid; +-#elif defined(OS_FUCHSIA) ++#elif defined(OS_FUCHSIA) | defined(OS_BSD) + // TODO(fuchsia): Port, see https://crbug.com/706592. + ALLOW_UNUSED_LOCAL(chunk_start); + ALLOW_UNUSED_LOCAL(page_count); diff --git a/www/chromium/files/patch-base_tracing_trace__time.cc b/www/chromium/files/patch-base_tracing_trace__time.cc index 917480bf011b..b391966234ab 100644 --- a/www/chromium/files/patch-base_tracing_trace__time.cc +++ b/www/chromium/files/patch-base_tracing_trace__time.cc @@ -1,14 +1,28 @@ ---- base/tracing/trace_time.cc.orig 2021-07-21 11:24:56 UTC +--- base/tracing/trace_time.cc.orig 2022-02-07 13:39:41 UTC +++ base/tracing/trace_time.cc -@@ -16,7 +16,11 @@ int64_t TraceBootTicksNow() { +@@ -8,13 +8,17 @@ + #include "build/build_config.h" + #include "third_party/perfetto/include/perfetto/base/time.h" + ++#if defined(OS_FREEBSD) ++#define CLOCK_BOOTTIME CLOCK_UPTIME ++#endif ++ + namespace base { + namespace tracing { + + int64_t TraceBootTicksNow() { + // On Windows and Mac, TRACE_TIME_TICKS_NOW() behaves like boottime already. #if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_ANDROID) || \ - defined(OS_FUCHSIA) +- defined(OS_FUCHSIA) ++ defined(OS_FUCHSIA) || defined(OS_BSD) struct timespec ts; -+#if defined(OS_BSD) int res = clock_gettime(CLOCK_BOOTTIME, &ts); -+#else -+ int res = clock_gettime(CLOCK_BOOTTIME, &ts); -+#endif if (res != -1) - return static_cast(perfetto::base::FromPosixTimespec(ts).count()); - #endif +@@ -24,4 +28,4 @@ int64_t TraceBootTicksNow() { + } + + } // namespace tracing +-} // namespace base +\ No newline at end of file ++} // namespace base diff --git a/www/chromium/files/patch-base_tracing_trace__time.h b/www/chromium/files/patch-base_tracing_trace__time.h index 684427507459..670469229ceb 100644 --- a/www/chromium/files/patch-base_tracing_trace__time.h +++ b/www/chromium/files/patch-base_tracing_trace__time.h @@ -1,11 +1,11 @@ ---- base/tracing/trace_time.h.orig 2021-07-21 13:25:51 UTC +--- base/tracing/trace_time.h.orig 2022-02-07 13:39:41 UTC +++ base/tracing/trace_time.h -@@ -11,7 +11,7 @@ - namespace base { +@@ -12,7 +12,7 @@ namespace base { namespace tracing { --#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_ANDROID) || \ -+#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_ANDROID) || defined(OS_BSD) || \ - defined(OS_FUCHSIA) + #if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_ANDROID) || \ +- defined(OS_FUCHSIA) ++ defined(OS_FUCHSIA) || defined(OS_BSD) // Linux, Android, and Fuchsia all use CLOCK_MONOTONIC. See crbug.com/166153 // about efforts to unify base::TimeTicks across all platforms. + constexpr perfetto::protos::pbzero::BuiltinClock kTraceClockId = diff --git a/www/chromium/files/patch-build_config_BUILD.gn b/www/chromium/files/patch-build_config_BUILD.gn index bd6a0ed90cff..2f3841e1bb68 100644 --- a/www/chromium/files/patch-build_config_BUILD.gn +++ b/www/chromium/files/patch-build_config_BUILD.gn @@ -1,21 +1,22 @@ ---- build/config/BUILD.gn.orig 2021-05-12 22:05:40 UTC +--- build/config/BUILD.gn.orig 2022-02-07 13:39:41 UTC +++ build/config/BUILD.gn -@@ -227,9 +227,7 @@ config("default_libs") { +@@ -222,13 +222,17 @@ config("default_libs") { + "CoreText.framework", + "Foundation.framework", ] - } else if (is_linux || is_chromeos) { +- } else if (is_linux || is_chromeos) { ++ } else if ((is_linux && !is_bsd) || is_chromeos) { libs = [ -- "dl", + "dl", "pthread", -- "rt", + "rt", ] - } +- } ++ } else if (is_bsd) { ++ libs = [ ++ "pthread", ++ ] ++ } } -@@ -308,7 +306,7 @@ config("executable_config") { - "//build/config/ios:ios_dynamic_flags", - "//build/config/ios:ios_executable_flags", - ] -- } else if (is_linux || is_chromeos || is_android || current_os == "aix") { -+ } else if (is_linux || is_bsd || is_chromeos || is_android || current_os == "aix") { - configs += [ "//build/config/gcc:executable_config" ] - if (is_chromecast) { - configs += [ "//build/config/chromecast:executable_config" ] + + group("common_deps") { diff --git a/www/chromium/files/patch-build_config_BUILDCONFIG.gn b/www/chromium/files/patch-build_config_BUILDCONFIG.gn index 3918db73189b..d80e17aa728c 100644 --- a/www/chromium/files/patch-build_config_BUILDCONFIG.gn +++ b/www/chromium/files/patch-build_config_BUILDCONFIG.gn @@ -1,35 +1,45 @@ ---- build/config/BUILDCONFIG.gn.orig 2021-12-31 00:57:18 UTC +--- build/config/BUILDCONFIG.gn.orig 2022-02-07 13:39:41 UTC +++ build/config/BUILDCONFIG.gn -@@ -189,8 +189,8 @@ if (host_toolchain == "") { - # TODO(dpranke): Add some sort of assert here that verifies that - # no toolchain omitted host_toolchain from its toolchain_args(). +@@ -136,7 +136,8 @@ declare_args() { + is_official_build = false -- 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" -@@ -229,7 +229,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" -@@ -293,10 +293,11 @@ if (custom_toolchain != "") { - # current_os value directly. - - is_android = current_os == "android" -+is_bsd = current_os == "freebsd" + # Set to true when compiling with the Clang compiler. +- is_clang = current_os != "linux" || ++ is_clang = current_os != "linux" || current_os == "openbsd" || ++ current_os == "freebsd" || + (current_cpu != "s390x" && current_cpu != "s390" && + current_cpu != "ppc64" && current_cpu != "ppc" && + current_cpu != "mips" && current_cpu != "mips64" && +@@ -218,6 +219,10 @@ if (host_toolchain == "") { + host_toolchain = "//build/toolchain/aix:$host_cpu" + } else if (host_os == "zos") { + host_toolchain = "//build/toolchain/zos:$host_cpu" ++ } else if (host_os == "openbsd") { ++ host_toolchain = "//build/toolchain/openbsd:clang_$host_cpu" ++ } else if (host_os == "freebsd") { ++ host_toolchain = "//build/toolchain/freebsd:clang_$host_cpu" + } else { + assert(false, "Unsupported host_os: $host_os") + } +@@ -262,6 +267,8 @@ if (target_os == "android") { + _default_toolchain = "//build/toolchain/aix:$target_cpu" + } else if (target_os == "zos") { + _default_toolchain = "//build/toolchain/zos:$target_cpu" ++} else if (target_os == "openbsd" || target_os == "freebsd") { ++ _default_toolchain = host_toolchain + } else { + assert(false, "Unsupported target_os: $target_os") + } +@@ -296,7 +303,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 == "linux" -+is_linux = current_os == "linux" || current_os == "freebsd" ++is_linux = current_os == "linux" || current_os == "openbsd" || ++ current_os == "freebsd" ++is_openbsd = current_os == "openbsd" ++is_freebsd = current_os == "freebsd" ++is_bsd = current_os == "openbsd" || current_os == "freebsd" is_mac = current_os == "mac" is_nacl = current_os == "nacl" is_win = current_os == "win" || current_os == "winuwp" diff --git a/www/chromium/files/patch-build_config_c++_c++.gni b/www/chromium/files/patch-build_config_c++_c++.gni deleted file mode 100644 index ec43c6b5fc4c..000000000000 --- a/www/chromium/files/patch-build_config_c++_c++.gni +++ /dev/null @@ -1,11 +0,0 @@ ---- build/config/c++/c++.gni.orig 2021-10-06 09:43:59 UTC -+++ build/config/c++/c++.gni -@@ -43,7 +43,7 @@ declare_args() { - - use_custom_libcxx = - use_custom_libcxx || (use_custom_libcxx_for_host && !is_a_target_toolchain) --use_custom_libcxx = use_custom_libcxx && !is_nacl -+use_custom_libcxx = use_custom_libcxx && !is_nacl && !is_bsd - - declare_args() { - # WARNING: Setting this to a non-default value is highly discouraged. diff --git a/www/chromium/files/patch-build_config_compiler_BUILD.gn b/www/chromium/files/patch-build_config_compiler_BUILD.gn index a74be1cecbd7..b2cb7fa98158 100644 --- a/www/chromium/files/patch-build_config_compiler_BUILD.gn +++ b/www/chromium/files/patch-build_config_compiler_BUILD.gn @@ -1,139 +1,113 @@ ---- build/config/compiler/BUILD.gn.orig 2021-12-31 00:57:18 UTC +--- build/config/compiler/BUILD.gn.orig 2022-02-07 13:39:41 UTC +++ build/config/compiler/BUILD.gn -@@ -140,7 +140,7 @@ declare_args() { - # - # TODO(crbug.com/1131993): Enabling this when 'is_android' is true breaks - # content_shell_test_apk on both ARM and x86. -- init_stack_vars = !is_android -+ init_stack_vars = !is_android && !is_bsd - - # This argument is to control whether enabling text section splitting in the - # final binary. When enabled, the separated text sections with prefix -@@ -241,7 +241,7 @@ config("default_include_dirs") { +@@ -236,13 +236,16 @@ config("default_include_dirs") { # Compiler instrumentation can introduce dependencies in DSOs to symbols in # the executable they are loaded into, so they are unresolved at link-time. config("no_unresolved_symbols") { - if (!using_sanitizer && + if (!using_sanitizer && !is_bsd && (is_linux || is_chromeos || is_android || is_fuchsia)) { ldflags = [ "-Wl,-z,defs", -@@ -361,7 +361,7 @@ config("compiler") { - } + "-Wl,--as-needed", + ] + } ++ if (current_cpu == "x86" && is_openbsd) { ++ ldflags = [ "-Wl,-z,notext" ] ++ } + } - # Linker warnings. -- if (fatal_linker_warnings && !is_apple && current_os != "aix" && -+ if (fatal_linker_warnings && !is_apple && !is_bsd && current_os != "aix" && - current_os != "zos") { - ldflags += [ "-Wl,--fatal-warnings" ] + # compiler --------------------------------------------------------------------- +@@ -452,6 +455,10 @@ config("compiler") { } -@@ -539,7 +539,7 @@ config("compiler") { + } + ++ if (is_openbsd) { ++ ldflags += [ "-Wl,-z,wxneeded" ] ++ } ++ + # Linux-specific compiler flags setup. + # ------------------------------------ + if ((is_posix || is_fuchsia) && !is_apple && use_lld) { +@@ -534,7 +541,7 @@ config("compiler") { ldflags += [ "-Wl,-z,keep-text-section-prefix" ] } -- if (is_clang && !is_nacl && !use_xcode_clang && current_os != "zos") { -+ if (is_clang && !is_nacl && !is_bsd && !use_xcode_clang && current_os != "zos") { +- if (is_clang && !is_nacl && current_os != "zos") { ++ if (is_clang && !is_nacl && current_os != "zos" && !is_bsd) { cflags += [ "-fcrash-diagnostics-dir=" + clang_diagnostic_dir ] # TODO(hans): Remove this once Clang generates better optimized debug info -@@ -682,7 +682,12 @@ config("compiler") { - # and let it use all cores. - # TODO(thakis): Check if '=0' (that is, number of cores, instead - # of "all" which means number of hardware threads) is faster. -- ldflags += [ "-Wl,--thinlto-jobs=all" ] -+ if (is_bsd) { -+ # FreeBSD < 13 uses LLVM 10, which doesn't support --thinlto-jobs=all -+ ldflags += [ "-Wl,--thinlto-jobs=2" ] -+ } else { -+ ldflags += [ "-Wl,--thinlto-jobs=all" ] -+ } - if (is_mac) { - ldflags += - [ "-Wl,-cache_path_lto," + -@@ -910,7 +915,7 @@ config("compiler_cpu_abi") { +@@ -903,7 +910,7 @@ config("compiler_cpu_abi") { + ] + } + } else if (current_cpu == "arm") { +- if (is_clang && !is_android && !is_nacl) { ++ if (is_clang && !is_android && !is_nacl && !is_bsd) { + cflags += [ "--target=arm-linux-gnueabihf" ] + ldflags += [ "--target=arm-linux-gnueabihf" ] + } +@@ -917,7 +924,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" ] } -@@ -1266,6 +1271,9 @@ config("compiler_deterministic") { +@@ -1238,7 +1245,7 @@ config("compiler_deterministic") { + # different build directory like "out/feature_a" and "out/feature_b" if + # we build same files with same compile flag. + # Other paths are already given in relative, no need to normalize them. +- if (is_nacl) { ++ if (is_nacl || is_bsd) { + # TODO(https://crbug.com/1231236): Use -ffile-compilation-dir= here. + cflags += [ "-Xclang", - ".", +@@ -1525,7 +1532,7 @@ config("default_warnings") { + "-Wno-ignored-pragma-optimize", ] -+ } else if (is_bsd) { -+ # -ffile-compilation-dir is not supported in the LLVM version FreeBSD ships -+ cflags += [ "-fdebug-compilation-dir=." ] - } else { - # -ffile-compilation-dir is an alias for both -fdebug-compilation-dir= - # and -fcoverage-compilation-dir=. -@@ -1519,7 +1527,7 @@ config("default_warnings") { - cflags += [ "-Wno-null-pointer-subtraction" ] - } -- if (current_toolchain == host_toolchain || !use_xcode_clang) { -+ if ((current_toolchain == host_toolchain || !use_xcode_clang) && !is_bsd) { - # Flags Xcode 9.2 (Clang clang-900.0.39.2) does not recognize. - cflags += [ - "-Wenum-compare-conditional", -@@ -1549,6 +1557,18 @@ config("default_warnings") { - cflags += [ "-Wmax-tokens" ] - } +- if (is_chromeos || default_toolchain == "//build/toolchain/cros:target") { ++ if (is_chromeos || default_toolchain == "//build/toolchain/cros:target" || is_bsd) { + # TODO(https://crbug.com/1016945): Re-enable once ChromeOS toolchain is up to date + cflags += [ "-Wno-builtin-assume-aligned-alignment" ] } -+ -+ if (is_clang && is_bsd) { -+ cflags += [ -+ "-Wno-ignored-pragma-optimize", -+ "-Wno-implicit-int-float-conversion", -+ "-Wno-final-dtor-non-final-class", -+ "-Wno-builtin-assume-aligned-alignment", -+ "-Wno-deprecated-copy", -+ "-Wno-thread-safety-analysis", -+ "-Wno-thread-safety-attributes", -+ ] -+ } - } - } - } -@@ -1684,7 +1704,7 @@ config("no_chromium_code") { +@@ -1676,7 +1683,7 @@ config("no_chromium_code") { # third-party libraries. "-Wno-c++11-narrowing", ] -- if (!is_nacl && (current_toolchain == host_toolchain || !use_xcode_clang)) { -+ if (!is_nacl && (current_toolchain == host_toolchain || !use_xcode_clang) && !is_bsd) { +- if (!is_nacl) { ++ if (!is_nacl && !is_freebsd) { cflags += [ # Disabled for similar reasons as -Wunused-variable. "-Wno-unused-but-set-variable", -@@ -1767,7 +1787,7 @@ config("thin_archive") { - # archives. - # TODO(crbug.com/1221615): Enable on is_apple if use_lld once that no longer - # confuses lldb. -- if ((is_posix && !is_nacl && !is_apple) || is_fuchsia) { -+ if ((is_posix && !is_nacl && !is_apple && !is_bsd) || is_fuchsia) { - arflags = [ "-T" ] - } else if (is_win && use_lld) { - arflags = [ "/llvmlibthin" ] -@@ -2267,7 +2287,11 @@ 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) && current_os != "zos") { -- cflags += [ "-g2" ] -+ if (is_bsd) { -+ cflags += [ "-g0" ] -+ } else { -+ cflags += [ "-g2" ] -+ } +@@ -2191,7 +2198,7 @@ config("afdo_optimize_size") { + # between //base/allocator:tcmalloc and AFDO on GCC), so we provide a separate + # config to allow AFDO to be disabled per-target. + config("afdo") { +- if (is_clang) { ++ if (is_clang && !is_bsd) { + cflags = [] + if (clang_emit_debug_info_for_profiling) { + # Add the following flags to generate debug info for profiling. +@@ -2207,7 +2214,7 @@ config("afdo") { + cflags += [ "-fprofile-sample-use=${rebased_clang_sample_profile}" ] + inputs = [ _clang_sample_profile ] + } +- } else if (auto_profile_path != "" && is_a_target_toolchain) { ++ } else if (auto_profile_path != "" && is_a_target_toolchain && !is_bsd) { + cflags = [ "-fauto-profile=${auto_profile_path}" ] + inputs = [ auto_profile_path ] + } +@@ -2346,7 +2353,8 @@ config("symbols") { } + } - # Since only one of the build options -gdwarf-aranges and -fembed-bitcode -@@ -2307,7 +2331,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. - _enable_gdb_index = -- symbol_level == 2 && !is_apple && !is_nacl && current_cpu != "x86" && -+ symbol_level == 2 && !is_apple && !is_nacl && !is_bsd && current_cpu != "x86" && - current_os != "zos" && (use_gold || use_lld) && - # Disable on non-fission 32-bit Android because it pushes - # libcomponents_unittests over the 4gb size limit. +- if (is_clang && (!is_nacl || is_nacl_saigo) && current_os != "zos") { ++ if (is_clang && (!is_nacl || is_nacl_saigo) && current_os != "zos" && ++ !is_bsd) { + if (is_apple) { + # TODO(https://crbug.com/1050118): Investigate missing debug info on mac. + # Make sure we don't use constructor homing on mac. diff --git a/www/chromium/files/patch-build_config_compiler_compiler.gni b/www/chromium/files/patch-build_config_compiler_compiler.gni deleted file mode 100644 index a0b6161c64d8..000000000000 --- a/www/chromium/files/patch-build_config_compiler_compiler.gni +++ /dev/null @@ -1,11 +0,0 @@ ---- build/config/compiler/compiler.gni.orig 2021-12-31 00:57:18 UTC -+++ build/config/compiler/compiler.gni -@@ -219,7 +219,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 && -+ use_gold = !is_bsd && !use_lld && !(is_chromecast && is_linux && - (current_cpu == "arm" || current_cpu == "mipsel")) && - (((is_linux || is_chromeos_lacros) && - (current_cpu == "x64" || current_cpu == "x86" || diff --git a/www/chromium/files/extra-patch-build_config_compiler_pgo_pgo.gni b/www/chromium/files/patch-build_config_compiler_pgo_pgo.gni similarity index 86% rename from www/chromium/files/extra-patch-build_config_compiler_pgo_pgo.gni rename to www/chromium/files/patch-build_config_compiler_pgo_pgo.gni index 9c861611d45c..87304bc3d133 100644 --- a/www/chromium/files/extra-patch-build_config_compiler_pgo_pgo.gni +++ b/www/chromium/files/patch-build_config_compiler_pgo_pgo.gni @@ -1,11 +1,11 @@ ---- build/config/compiler/pgo/pgo.gni.orig 2022-01-20 10:35:46 UTC +--- build/config/compiler/pgo/pgo.gni.orig 2022-02-07 13:39:41 UTC +++ build/config/compiler/pgo/pgo.gni @@ -16,7 +16,7 @@ declare_args() { # TODO(crbug.com/1052397): Remove chromeos_is_browser_only once # target_os switch for lacros-chrome is completed. (is_win || is_mac || - (is_linux && !chromeos_is_browser_only && !is_chromecast))) { + (is_linux && !chromeos_is_browser_only && !is_chromecast && !is_bsd))) { chrome_pgo_phase = 2 } diff --git a/www/chromium/files/patch-build_config_features.gni b/www/chromium/files/patch-build_config_features.gni deleted file mode 100644 index 282ec208bed4..000000000000 --- a/www/chromium/files/patch-build_config_features.gni +++ /dev/null @@ -1,11 +0,0 @@ ---- build/config/features.gni.orig 2021-04-14 18:40:48 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_chromeos) && !is_chromecast -+ use_udev = (is_linux || is_chromeos) && !is_chromecast && !is_bsd - - use_dbus = (is_linux || is_chromeos) && !is_chromecast - diff --git a/www/chromium/files/patch-build_config_freetype_freetype.gni b/www/chromium/files/patch-build_config_freetype_freetype.gni deleted file mode 100644 index 0db577fe0459..000000000000 --- a/www/chromium/files/patch-build_config_freetype_freetype.gni +++ /dev/null @@ -1,9 +0,0 @@ ---- build/config/freetype/freetype.gni.orig 2021-04-14 18:40:48 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/chromium/files/patch-build_config_linux_BUILD.gn b/www/chromium/files/patch-build_config_linux_BUILD.gn index 1576d19ca1eb..f73ef24f032a 100644 --- a/www/chromium/files/patch-build_config_linux_BUILD.gn +++ b/www/chromium/files/patch-build_config_linux_BUILD.gn @@ -1,11 +1,11 @@ ---- build/config/linux/BUILD.gn.orig 2021-09-24 04:25:56 UTC +--- build/config/linux/BUILD.gn.orig 2022-02-07 13:39:41 UTC +++ build/config/linux/BUILD.gn -@@ -39,7 +39,7 @@ config("runtime_library") { +@@ -42,7 +42,7 @@ config("runtime_library") { if ((!(is_chromeos_ash || is_chromeos_lacros) || 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/chromium/files/patch-build_config_linux_pkg-config.py b/www/chromium/files/patch-build_config_linux_pkg-config.py index 7ed4de72c661..e48b205448bd 100644 --- a/www/chromium/files/patch-build_config_linux_pkg-config.py +++ b/www/chromium/files/patch-build_config_linux_pkg-config.py @@ -1,26 +1,11 @@ ---- build/config/linux/pkg-config.py.orig 2021-04-14 18:40:48 UTC +--- build/config/linux/pkg-config.py.orig 2022-02-07 13:39:41 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(): +@@ -109,7 +109,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: ++ if not sys.platform.startswith(tuple(['linux', 'openbsd', 'freebsd'])): print("[[],[],[],[],[]]") return 0 diff --git a/www/chromium/files/patch-build_config_ozone.gni b/www/chromium/files/patch-build_config_ozone.gni index bf85cab41c34..97366e428630 100644 --- a/www/chromium/files/patch-build_config_ozone.gni +++ b/www/chromium/files/patch-build_config_ozone.gni @@ -1,12 +1,21 @@ ---- build/config/ozone.gni.orig 2021-12-14 11:44:55 UTC +--- build/config/ozone.gni.orig 2022-02-07 13:39:41 UTC +++ build/config/ozone.gni -@@ -91,6 +91,9 @@ declare_args() { +@@ -91,9 +91,17 @@ declare_args() { } else if (is_chromeos_lacros) { ozone_platform = "wayland" ozone_platform_wayland = true -+ } else if (is_bsd) { -+ ozone_platform = "x11" -+ ozone_platform_x11 = true - } else if (is_linux) { +- } else if (is_linux) { ++ } else if (is_linux && !is_bsd) { ozone_platform = "x11" ozone_platform_wayland = true ++ ozone_platform_x11 = true ++ } else if (is_openbsd) { ++ ozone_platform = "x11" ++ ozone_platform_wayland = false ++ ozone_platform_x11 = true ++ } else if (is_freebsd) { ++ ozone_platform = "x11" ++ ozone_platform_wayland = false + ozone_platform_x11 = true + } else if (is_win) { + ozone_platform = "windows" diff --git a/www/chromium/files/patch-build_config_rust.gni b/www/chromium/files/patch-build_config_rust.gni index bdf651b6b961..5dd7ad561eef 100644 --- a/www/chromium/files/patch-build_config_rust.gni +++ b/www/chromium/files/patch-build_config_rust.gni @@ -1,11 +1,11 @@ ---- build/config/rust.gni.orig 2021-12-31 00:57:18 UTC +--- build/config/rust.gni.orig 2022-02-07 13:39:41 UTC +++ build/config/rust.gni -@@ -67,7 +67,7 @@ toolchain_has_official_rust = - (!is_nacl && - (is_android && (current_cpu == "arm" || current_cpu == "arm64" || - current_cpu == "x64" || current_cpu == "x86"))) || -- (is_linux && current_cpu == "x64") -+ ((is_linux && !is_bsd) && current_cpu == "x64") - - toolchain_has_rust = enable_rust && (toolchain_has_official_rust || - use_unverified_rust_toolchain) +@@ -84,7 +84,7 @@ if (enable_rust) { + rust_sysroot = get_path_info(rust_sysroot_absolute, "abspath") + use_unverified_rust_toolchain = true + } else { +- if (host_os != "linux") { ++ if (host_os != "linux" && host_os != "openbsd" && host_os != "freebsd") { + assert( + false, + "Attempt to use standard Rust toolchain on an unsupported platform") diff --git a/www/chromium/files/patch-build_config_sysroot.gni b/www/chromium/files/patch-build_config_sysroot.gni deleted file mode 100644 index b68650b4abf9..000000000000 --- a/www/chromium/files/patch-build_config_sysroot.gni +++ /dev/null @@ -1,14 +0,0 @@ ---- build/config/sysroot.gni.orig 2021-04-14 18:40:48 UTC -+++ build/config/sysroot.gni -@@ -21,9 +21,9 @@ declare_args() { - - # Controls default is_linux sysroot. If set to true, and sysroot - # is empty, default sysroot is calculated. -- 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 (sysroot == "") { diff --git a/www/chromium/files/patch-build_config_v8__target__cpu.gni b/www/chromium/files/patch-build_config_v8__target__cpu.gni new file mode 100644 index 000000000000..40fa8f6348e3 --- /dev/null +++ b/www/chromium/files/patch-build_config_v8__target__cpu.gni @@ -0,0 +1,13 @@ +--- build/config/v8_target_cpu.gni.orig 2022-02-07 13:39:41 UTC ++++ build/config/v8_target_cpu.gni +@@ -36,6 +36,10 @@ declare_args() { + if (v8_target_cpu == "") { + if (current_toolchain == "//build/toolchain/linux:clang_x64_v8_arm64") { + v8_target_cpu = "arm64" ++ } else if (current_toolchain == "//build/toolchain/openbsd:clang_arm64") { ++ v8_target_cpu = "arm64" ++ } else if (current_toolchain == "//build/toolchain/freebsd:clang_arm64") { ++ v8_target_cpu = "arm64" + } else if (current_toolchain == "//build/toolchain/linux:clang_x86_v8_arm") { + v8_target_cpu = "arm" + } else if (current_toolchain == diff --git a/www/chromium/files/patch-build_gn__run__binary.py b/www/chromium/files/patch-build_gn__run__binary.py index 905ddf57f5d1..cf65b6532d6f 100644 --- a/www/chromium/files/patch-build_gn__run__binary.py +++ b/www/chromium/files/patch-build_gn__run__binary.py @@ -1,11 +1,11 @@ ---- build/gn_run_binary.py.orig 2021-04-14 18:40:48 UTC +--- build/gn_run_binary.py.orig 2022-02-07 13:39:41 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"}) ++ret = subprocess.call(args, env={"CHROME_EXE_PATH":"${WRKSRC}/out/Release/chrome","LD_LIBRARY_PATH":"${WRKSRC}/out/Release"}) if ret != 0: if ret <= -100: # Windows error codes such as 0xC0000005 and 0xC0000409 are much easier to diff --git a/www/chromium/files/patch-build_linux_chrome.map b/www/chromium/files/patch-build_linux_chrome.map index 444c645ca7df..8e8c35005efb 100644 --- a/www/chromium/files/patch-build_linux_chrome.map +++ b/www/chromium/files/patch-build_linux_chrome.map @@ -1,29 +1,13 @@ ---- build/linux/chrome.map.orig 2021-04-14 18:40:48 UTC +--- build/linux/chrome.map.orig 2022-02-07 13:39:41 UTC +++ build/linux/chrome.map -@@ -1,4 +1,7 @@ - { -+local: -+ *; -+ - global: - __bss_start; - __data_start; -@@ -20,6 +23,10 @@ global: +@@ -20,6 +20,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; -@@ -83,7 +90,4 @@ global: - localtime_r; - - v8dbg_*; -- --local: -- *; - }; diff --git a/www/chromium/files/patch-build_linux_libpci_BUILD.gn b/www/chromium/files/patch-build_linux_libpci_BUILD.gn deleted file mode 100644 index fa8f9032e351..000000000000 --- a/www/chromium/files/patch-build_linux_libpci_BUILD.gn +++ /dev/null @@ -1,53 +0,0 @@ ---- build/linux/libpci/BUILD.gn.orig 2021-04-14 18:40:48 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 = "" -+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 = "" -+ -+ functions = [ -+ "pci_alloc", -+ "pci_init", -+ "pci_cleanup", -+ "pci_scan_bus", -+ "pci_fill_info", -+ "pci_lookup_name", -+ ] -+ } - } diff --git a/www/chromium/files/patch-build_linux_strip__binary.gni b/www/chromium/files/patch-build_linux_strip__binary.gni deleted file mode 100644 index 7a6a20f0bfa8..000000000000 --- a/www/chromium/files/patch-build_linux_strip__binary.gni +++ /dev/null @@ -1,15 +0,0 @@ ---- build/linux/strip_binary.gni.orig 2021-08-17 16:31:26 UTC -+++ build/linux/strip_binary.gni -@@ -20,7 +20,11 @@ template("strip_binary") { - "testonly", - ]) - action("${target_name}") { -- eu_strip_binary = "//buildtools/third_party/eu-strip/bin/eu-strip" -+ if (is_bsd) { -+ eu_strip_binary = "//buildtools/freebsd/strip" -+ } else { -+ eu_strip_binary = "//buildtools/third_party/eu-strip/bin/eu-strip" -+ } - script = "//build/linux/strip_binary.py" - inputs = [ - invoker.binary_input, diff --git a/www/chromium/files/patch-build_linux_strip__binary.py b/www/chromium/files/patch-build_linux_strip__binary.py index cf3ba059ea85..9dd3c051630b 100644 --- a/www/chromium/files/patch-build_linux_strip__binary.py +++ b/www/chromium/files/patch-build_linux_strip__binary.py @@ -1,12 +1,10 @@ ---- build/linux/strip_binary.py.orig 2021-08-17 16:45:54 UTC +--- build/linux/strip_binary.py.orig 2022-02-07 13:39:41 UTC +++ build/linux/strip_binary.py -@@ -19,8 +19,7 @@ def main(): - args = argparser.parse_args() +@@ -10,6 +10,7 @@ import sys - cmd_line = [ -- args.eu_strip_binary_path, '-o', args.stripped_binary_output, '-f', -- args.symbol_output, args.binary_input -+ args.eu_strip_binary_path, '-o', args.stripped_binary_output, args.binary_input - ] - process = subprocess.Popen(cmd_line) + def main(): ++ return 0 + argparser = argparse.ArgumentParser(description='eu-strip binary.') + + argparser.add_argument('--eu-strip-binary-path', help='eu-strip path.') diff --git a/www/chromium/files/patch-build_toolchain_freebsd_BUILD.gn b/www/chromium/files/patch-build_toolchain_freebsd_BUILD.gn new file mode 100644 index 000000000000..7857149615a0 --- /dev/null +++ b/www/chromium/files/patch-build_toolchain_freebsd_BUILD.gn @@ -0,0 +1,69 @@ +--- build/toolchain/freebsd/BUILD.gn.orig 2022-02-07 13:39:41 UTC ++++ build/toolchain/freebsd/BUILD.gn +@@ -0,0 +1,66 @@ ++# 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. ++ ++import("//build/config/sysroot.gni") ++import("//build/toolchain/gcc_toolchain.gni") ++ ++clang_toolchain("clang_x86") { ++ toolchain_args = { ++ current_cpu = "x86" ++ current_os = "freebsd" ++ } ++} ++ ++gcc_toolchain("x86") { ++ cc = "gcc" ++ cxx = "g++" ++ ++ readelf = "readelf" ++ nm = "nm" ++ ar = "ar" ++ ld = cxx ++ ++ toolchain_args = { ++ current_cpu = "x86" ++ current_os = "freebsd" ++ is_clang = false ++ } ++} ++ ++clang_toolchain("clang_x64") { ++ toolchain_args = { ++ current_cpu = "x64" ++ current_os = "freebsd" ++ } ++} ++ ++gcc_toolchain("x64") { ++ cc = "gcc" ++ cxx = "g++" ++ ++ readelf = "readelf" ++ nm = "nm" ++ ar = "ar" ++ ld = cxx ++ ++ toolchain_args = { ++ current_cpu = "x64" ++ current_os = "freebsd" ++ is_clang = false ++ } ++} ++ ++clang_toolchain("clang_arm") { ++ toolchain_args = { ++ current_cpu = "arm64" ++ current_os = "freebsd" ++ } ++} ++ ++clang_toolchain("clang_arm64") { ++ toolchain_args = { ++ current_cpu = "arm64" ++ current_os = "freebsd" ++ } ++} diff --git a/www/chromium/files/patch-build_toolchain_gcc__solink__wrapper.py b/www/chromium/files/patch-build_toolchain_gcc__solink__wrapper.py new file mode 100644 index 000000000000..34debf134bea --- /dev/null +++ b/www/chromium/files/patch-build_toolchain_gcc__solink__wrapper.py @@ -0,0 +1,11 @@ +--- build/toolchain/gcc_solink_wrapper.py.orig 2022-02-07 13:39:41 UTC ++++ build/toolchain/gcc_solink_wrapper.py +@@ -39,7 +39,7 @@ def CollectDynSym(args): + """Replaces: nm --format=posix -g -D -p $sofile | cut -f1-2 -d' '""" + toc = '' + nm = subprocess.Popen(wrapper_utils.CommandToRun( +- [args.nm, '--format=posix', '-g', '-D', '-p', args.sofile]), ++ [args.nm, '-g', '-D', '-p', args.sofile]), + stdout=subprocess.PIPE, + bufsize=-1, + universal_newlines=True) diff --git a/www/chromium/files/patch-build_toolchain_gcc__toolchain.gni b/www/chromium/files/patch-build_toolchain_gcc__toolchain.gni index 02a487657479..b440c70df873 100644 --- a/www/chromium/files/patch-build_toolchain_gcc__toolchain.gni +++ b/www/chromium/files/patch-build_toolchain_gcc__toolchain.gni @@ -1,45 +1,39 @@ ---- build/toolchain/gcc_toolchain.gni.orig 2022-01-20 10:35:46 UTC +--- build/toolchain/gcc_toolchain.gni.orig 2022-02-07 13:39:41 UTC +++ build/toolchain/gcc_toolchain.gni -@@ -49,6 +49,11 @@ if (enable_resource_allowlist_generation) { +@@ -49,6 +49,12 @@ if (enable_resource_allowlist_generation) { "enable_resource_allowlist_generation=true does not work for target_os=$target_os") } +declare_args() { ++ extra_cppflags = "" + extra_cxxflags = "" + extra_ldflags = "" +} + # This template defines a toolchain for something that works like gcc # (including clang). # -@@ -731,13 +736,23 @@ template("gcc_toolchain") { +@@ -737,13 +743,17 @@ template("gcc_toolchain") { # use_gold too. 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 = "${prefix}/llvm-readelf" -- ar = "${prefix}/llvm-ar" -- nm = "${prefix}/llvm-nm" -+ if (is_bsd) { ++ if (is_freebsd) { + prefix = "/usr/local/bin" -+ cc = "cc" -+ cxx = "c++" -+ ld = cxx -+ readelf = "readelf" -+ ar = "${prefix}/ar" -+ nm = "${prefix}/nm" + } else { -+ prefix = rebase_path("$clang_base_path/bin", root_build_dir) -+ cc = "${prefix}/clang" -+ cxx = "${prefix}/clang++" -+ ld = cxx -+ readelf = "${prefix}/llvm-readelf" -+ ar = "${prefix}/llvm-ar" -+ nm = "${prefix}/llvm-nm" ++ prefix = "/usr/bin" + } ++ cc = "cc" ++ cxx = "c++" + ld = cxx +- readelf = "${prefix}/llvm-readelf" +- ar = "${prefix}/llvm-ar" +- nm = "${prefix}/llvm-nm" ++ readelf = "${prefix}/readelf" ++ ar = "${prefix}/ar" ++ nm = "${prefix}/nm" forward_variables_from(invoker, [ diff --git a/www/chromium/files/patch-build_toolchain_get__concurrent__links.py b/www/chromium/files/patch-build_toolchain_get__concurrent__links.py deleted file mode 100644 index 5cf16130a4db..000000000000 --- a/www/chromium/files/patch-build_toolchain_get__concurrent__links.py +++ /dev/null @@ -1,14 +0,0 @@ ---- build/toolchain/get_concurrent_links.py.orig 2021-08-17 00:15:54 UTC -+++ build/toolchain/get_concurrent_links.py -@@ -53,6 +53,11 @@ def _GetTotalMemoryInBytes(): - return int(subprocess.check_output(['sysctl', '-n', 'hw.memsize'])) - except Exception: - return 0 -+ elif sys.platform.startswith('freebsd'): -+ try: -+ return int(subprocess.check_output(['sysctl', '-n', 'hw.physmem'])) -+ except Exception: -+ return 1 - # TODO(scottmg): Implement this for other platforms. - return 0 - diff --git a/www/chromium/files/patch-build_toolchain_openbsd_BUILD.gn b/www/chromium/files/patch-build_toolchain_openbsd_BUILD.gn new file mode 100644 index 000000000000..04e6f6b416e2 --- /dev/null +++ b/www/chromium/files/patch-build_toolchain_openbsd_BUILD.gn @@ -0,0 +1,69 @@ +--- build/toolchain/openbsd/BUILD.gn.orig 2022-02-07 13:39:41 UTC ++++ build/toolchain/openbsd/BUILD.gn +@@ -0,0 +1,66 @@ ++# 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. ++ ++import("//build/config/sysroot.gni") ++import("//build/toolchain/gcc_toolchain.gni") ++ ++clang_toolchain("clang_x86") { ++ toolchain_args = { ++ current_cpu = "x86" ++ current_os = "openbsd" ++ } ++} ++ ++gcc_toolchain("x86") { ++ cc = "gcc" ++ cxx = "g++" ++ ++ readelf = "readelf" ++ nm = "nm" ++ ar = "ar" ++ ld = cxx ++ ++ toolchain_args = { ++ current_cpu = "x86" ++ current_os = "openbsd" ++ is_clang = false ++ } ++} ++ ++clang_toolchain("clang_x64") { ++ toolchain_args = { ++ current_cpu = "x64" ++ current_os = "openbsd" ++ } ++} ++ ++gcc_toolchain("x64") { ++ cc = "gcc" ++ cxx = "g++" ++ ++ readelf = "readelf" ++ nm = "nm" ++ ar = "ar" ++ ld = cxx ++ ++ toolchain_args = { ++ current_cpu = "x64" ++ current_os = "openbsd" ++ is_clang = false ++ } ++} ++ ++clang_toolchain("clang_arm") { ++ toolchain_args = { ++ current_cpu = "arm64" ++ current_os = "openbsd" ++ } ++} ++ ++clang_toolchain("clang_arm64") { ++ toolchain_args = { ++ current_cpu = "arm64" ++ current_os = "openbsd" ++ } ++} diff --git a/www/chromium/files/patch-cc_BUILD.gn b/www/chromium/files/patch-cc_BUILD.gn index 880917f66c4e..80e9e0adb0a0 100644 --- a/www/chromium/files/patch-cc_BUILD.gn +++ b/www/chromium/files/patch-cc_BUILD.gn @@ -1,19 +1,19 @@ ---- cc/BUILD.gn.orig 2021-12-31 00:57:18 UTC +--- cc/BUILD.gn.orig 2022-02-07 13:39:41 UTC +++ cc/BUILD.gn -@@ -655,7 +655,7 @@ cc_test_static_library("test_support") { +@@ -659,7 +659,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" ] } } -@@ -879,7 +879,6 @@ cc_test("cc_unittests") { +@@ -884,7 +884,6 @@ cc_test("cc_unittests") { ] data_deps = [ "//testing/buildbot/filters:cc_unittests_filters", - "//third_party/mesa_headers", ] if (is_fuchsia) { diff --git a/www/chromium/files/patch-cc_layers_scrollbar__layer__impl__base.cc b/www/chromium/files/patch-cc_layers_scrollbar__layer__impl__base.cc deleted file mode 100644 index e77f9cd02006..000000000000 --- a/www/chromium/files/patch-cc_layers_scrollbar__layer__impl__base.cc +++ /dev/null @@ -1,13 +0,0 @@ ---- cc/layers/scrollbar_layer_impl_base.cc.orig 2021-12-14 11:44:55 UTC -+++ cc/layers/scrollbar_layer_impl_base.cc -@@ -223,8 +223,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(ratio * max_offset); -+ float _max_offset = track_length - thumb_length; -+ thumb_offset += static_cast(ratio * _max_offset); - } - - float thumb_thickness_adjustment = diff --git a/www/chromium/files/patch-cc_test_layer__tree__test.cc b/www/chromium/files/patch-cc_test_layer__tree__test.cc deleted file mode 100644 index 67cf283f9328..000000000000 --- a/www/chromium/files/patch-cc_test_layer__tree__test.cc +++ /dev/null @@ -1,11 +0,0 @@ ---- cc/test/layer_tree_test.cc.orig 2021-12-31 00:57:18 UTC -+++ cc/test/layer_tree_test.cc -@@ -681,7 +681,7 @@ LayerTreeTest::LayerTreeTest(viz::RendererType rendere - init_vulkan = true; - } else if (renderer_type_ == viz::RendererType::kSkiaDawn) { - scoped_feature_list_.InitAndEnableFeature(features::kSkiaDawn); --#if defined(OS_LINUX) || defined(OS_CHROMEOS) -+#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD) - init_vulkan = true; - #elif defined(OS_WIN) - // TODO(rivr): Initialize D3D12 for Windows. diff --git a/www/chromium/files/patch-cc_test_pixel__test.cc b/www/chromium/files/patch-cc_test_pixel__test.cc deleted file mode 100644 index bfcb67dd94d9..000000000000 --- a/www/chromium/files/patch-cc_test_pixel__test.cc +++ /dev/null @@ -1,11 +0,0 @@ ---- cc/test/pixel_test.cc.orig 2021-07-19 18:45:05 UTC -+++ cc/test/pixel_test.cc -@@ -71,7 +71,7 @@ PixelTest::PixelTest(GraphicsBackend backend) - init_vulkan = true; - } else if (backend == kSkiaDawn) { - scoped_feature_list_.InitAndEnableFeature(features::kSkiaDawn); --#if defined(OS_LINUX) || defined(OS_CHROMEOS) -+#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD) - init_vulkan = true; - #elif defined(OS_WIN) - // TODO(rivr): Initialize D3D12 for Windows. diff --git a/www/chromium/files/patch-cc_trees_property__tree.cc b/www/chromium/files/patch-cc_trees_property__tree.cc deleted file mode 100644 index 78ee286a558a..000000000000 --- a/www/chromium/files/patch-cc_trees_property__tree.cc +++ /dev/null @@ -1,20 +0,0 @@ ---- cc/trees/property_tree.cc.orig 2021-12-14 11:44:55 UTC -+++ cc/trees/property_tree.cc -@@ -1299,13 +1299,13 @@ gfx::Vector2dF ScrollTree::MaxScrollOffset(int scroll_ - - gfx::Size clip_layer_bounds = container_bounds(scroll_node->id); - -- gfx::Vector2dF max_offset( -+ gfx::Vector2dF _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::Vector2dF()); -- return max_offset; -+ _max_offset.Scale(1 / scale_factor); -+ _max_offset.SetToMax(gfx::Vector2dF()); -+ return _max_offset; - } - - gfx::SizeF ScrollTree::scroll_bounds(int scroll_node_id) const { diff --git a/www/chromium/files/patch-chrome_BUILD.gn b/www/chromium/files/patch-chrome_BUILD.gn deleted file mode 100644 index cb38a1cd1657..000000000000 --- a/www/chromium/files/patch-chrome_BUILD.gn +++ /dev/null @@ -1,31 +0,0 @@ ---- chrome/BUILD.gn.orig 2021-12-31 00:57:18 UTC -+++ chrome/BUILD.gn -@@ -283,7 +283,9 @@ if (!is_android && !is_mac) { - ":xdg_mime", # Needs to be public for installer to consume files. - ] - -- data_deps += [ "//components/crash/core/app:chrome_crashpad_handler" ] -+ if (!is_bsd) { -+ data_deps += [ "//components/crash/core/app:chrome_crashpad_handler" ] -+ } - } - - ldflags = [] -@@ -1392,7 +1394,7 @@ group("browser_dependencies") { - ] - } - -- if (!is_fuchsia) { -+ if (!is_fuchsia && !is_bsd) { - public_deps += [ "//components/crash/core/app" ] - } - -@@ -1715,7 +1717,7 @@ if (is_win && enable_resource_allowlist_generation) { - } - - if (is_linux || is_chromeos) { -- if (is_official_build) { -+ if (is_official_build && !is_bsd) { - group("linux_symbols") { - deps = [ - ":angle_egl_symbols", diff --git a/www/chromium/files/patch-chrome_app_BUILD.gn b/www/chromium/files/patch-chrome_app_BUILD.gn deleted file mode 100644 index dea4f40726e7..000000000000 --- a/www/chromium/files/patch-chrome_app_BUILD.gn +++ /dev/null @@ -1,11 +0,0 @@ ---- chrome/app/BUILD.gn.orig 2021-12-31 00:57:19 UTC -+++ chrome/app/BUILD.gn -@@ -184,7 +184,7 @@ static_library("test_support") { - ] - public_deps = [] - -- if (!is_fuchsia) { -+ if (!is_fuchsia && !is_bsd) { - # TODO(crbug.com/1226159): Complete crash reporting integration on Fuchsia. - deps += [ - "//components/crash/core/app", diff --git a/www/chromium/files/patch-chrome_app_chrome__main.cc b/www/chromium/files/patch-chrome_app_chrome__main.cc index ecce2391064c..25aa85dc6643 100644 --- a/www/chromium/files/patch-chrome_app_chrome__main.cc +++ b/www/chromium/files/patch-chrome_app_chrome__main.cc @@ -1,25 +1,20 @@ ---- chrome/app/chrome_main.cc.orig 2021-09-24 04:25:56 UTC +--- chrome/app/chrome_main.cc.orig 2022-02-07 13:39:41 UTC +++ chrome/app/chrome_main.cc -@@ -25,7 +25,7 @@ +@@ -26,7 +26,7 @@ #include "chrome/app/notification_metrics.h" #endif -#if defined(OS_WIN) || defined(OS_LINUX) +#if defined(OS_WIN) || defined(OS_LINUX) || defined(OS_BSD) #include "base/base_switches.h" #endif -@@ -145,11 +145,11 @@ int ChromeMain(int argc, const char** argv) { - if (headless::IsChromeNativeHeadless()) { +@@ -147,7 +147,7 @@ int ChromeMain(int argc, const char** argv) { headless::SetUpCommandLine(command_line); } else { --#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_MAC) || \ -+#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_MAC) || defined(OS_BSD) || \ - defined(OS_WIN) - if (command_line->HasSwitch(switches::kHeadless)) - return headless::HeadlessShellMain(params); --#endif // defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_MAC) || -+#endif // defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_MAC) || defined(OS_BSD) || - // defined(OS_WIN) - } - + #if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_MAC) || \ +- defined(OS_WIN) ++ defined(OS_WIN) || defined(OS_BSD) + if (command_line->HasSwitch(switches::kHeadless)) { + #if BUILDFLAG(GOOGLE_CHROME_BRANDING) + command_line->AppendSwitch(::headless::switches::kEnableCrashReporter); diff --git a/www/chromium/files/patch-chrome_app_chrome__main__delegate.cc b/www/chromium/files/patch-chrome_app_chrome__main__delegate.cc index 41fbdee1f6d1..97abda5f5a89 100644 --- a/www/chromium/files/patch-chrome_app_chrome__main__delegate.cc +++ b/www/chromium/files/patch-chrome_app_chrome__main__delegate.cc @@ -1,184 +1,107 @@ ---- chrome/app/chrome_main_delegate.cc.orig 2021-12-31 00:57:19 UTC +--- chrome/app/chrome_main_delegate.cc.orig 2022-02-07 13:39:41 UTC +++ chrome/app/chrome_main_delegate.cc -@@ -155,15 +155,17 @@ +@@ -112,7 +112,7 @@ + #include "chrome/app/chrome_crash_reporter_client.h" + #endif + +-#if BUILDFLAG(ENABLE_NACL) && (defined(OS_LINUX) || defined(OS_CHROMEOS)) ++#if BUILDFLAG(ENABLE_NACL) && (defined(OS_LINUX) || defined(OS_CHROMEOS)) && !defined(OS_BSD) + #include "components/nacl/common/nacl_paths.h" + #include "components/nacl/zygote/nacl_fork_delegate_linux.h" + #endif +@@ -156,12 +156,12 @@ #include "v8/include/v8.h" #endif -#if defined(OS_LINUX) || defined(OS_CHROMEOS) +#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD) #include "base/environment.h" #endif #if defined(OS_MAC) || defined(OS_WIN) || defined(OS_ANDROID) || \ - defined(OS_LINUX) || defined(OS_CHROMEOS) + defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD) #include "chrome/browser/policy/policy_path_parser.h" -+#if !defined(OS_BSD) #include "components/crash/core/app/crashpad.h" #endif -+#endif - - #if BUILDFLAG(ENABLE_NACL) - #include "components/nacl/common/nacl_switches.h" -@@ -267,7 +269,7 @@ void SetUpExtendedCrashReporting(bool is_browser_proce - - #endif // defined(OS_WIN) - --#if defined(OS_LINUX) || defined(OS_CHROMEOS) -+#if (defined(OS_LINUX) || defined(OS_CHROMEOS)) - void AdjustLinuxOOMScore(const std::string& process_type) { - int score = -1; - -@@ -302,7 +304,7 @@ void AdjustLinuxOOMScore(const std::string& process_ty - if (score > -1) - base::AdjustOOMScore(base::GetCurrentProcId(), score); - } --#endif // defined(OS_LINUX) || defined(OS_CHROMEOS) -+#endif // (defined(OS_LINUX) || defined(OS_CHROMEOS)) - - // Returns true if this subprocess type needs the ResourceBundle initialized +@@ -309,7 +309,7 @@ void AdjustLinuxOOMScore(const std::string& process_ty // and resources loaded. -@@ -348,7 +350,7 @@ bool HandleVersionSwitches(const base::CommandLine& co + bool SubprocessNeedsResourceBundle(const std::string& process_type) { + return +-#if defined(OS_LINUX) || defined(OS_CHROMEOS) ++#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD) + // The zygote process opens the resources for the renderers. + process_type == switches::kZygoteProcess || + #endif +@@ -349,7 +349,7 @@ bool HandleVersionSwitches(const base::CommandLine& co // TODO(crbug.com/1052397): Revisit the macro expression once build flag switch // of lacros-chrome is complete. -#if defined(OS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS) +#if defined(OS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS) || 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) || -@@ -358,7 +360,7 @@ void HandleHelpSwitches(const base::CommandLine& comma - PLOG(FATAL) << "execlp failed"; - } - } --#endif // defined(OS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS) -+#endif // defined(OS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS) || defined(OS_BSD) - - #if !defined(OS_MAC) && !defined(OS_ANDROID) - void SIGTERMProfilingShutdown(int signal) { -@@ -412,7 +414,7 @@ void InitializeUserDataDir(base::CommandLine* command_ +@@ -413,7 +413,7 @@ void InitializeUserDataDir(base::CommandLine* command_ std::string process_type = command_line->GetSwitchValueASCII(switches::kProcessType); -#if defined(OS_LINUX) || defined(OS_CHROMEOS) +#if defined(OS_LINUX) || defined(OS_CHROMEOS) || 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. -@@ -424,7 +426,7 @@ void InitializeUserDataDir(base::CommandLine* command_ - user_data_dir = base::FilePath::FromUTF8Unsafe(user_data_dir_string); - } - } --#endif // defined(OS_LINUX) || defined(OS_CHROMEOS) -+#endif // defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD) - #if defined(OS_MAC) - policy::path_parser::CheckUserDataDirPolicy(&user_data_dir); - #endif // OS_MAC -@@ -495,7 +497,7 @@ void RecordMainStartupMetrics(base::TimeTicks applicat - startup_metric_utils::RecordApplicationStartTime(now); +@@ -497,7 +497,7 @@ void RecordMainStartupMetrics(base::TimeTicks applicat #endif --#if defined(OS_MAC) || defined(OS_WIN) || defined(OS_LINUX) || \ -+#if defined(OS_MAC) || defined(OS_WIN) || defined(OS_LINUX) || defined(OS_BSD) || \ - defined(OS_CHROMEOS) + #if defined(OS_MAC) || defined(OS_WIN) || defined(OS_LINUX) || \ +- defined(OS_CHROMEOS) ++ defined(OS_CHROMEOS) || defined(OS_BSD) // Record the startup process creation time on supported platforms. On Android // this is recorded in ChromeMainDelegateAndroid. -@@ -679,6 +681,8 @@ void ChromeMainDelegate::PostFieldTrialInitialization( + startup_metric_utils::RecordStartupProcessCreationTime( +@@ -685,6 +685,8 @@ void ChromeMainDelegate::PostFieldTrialInitialization( // not always enabled on Linux/ChromeOS. #if defined(OS_LINUX) || defined(OS_CHROMEOS) bool enable_gwp_asan = crash_reporter::IsCrashpadEnabled(); +#elif defined(OS_BSD) + bool enable_gwp_asan = false; #else bool enable_gwp_asan = true; #endif -@@ -790,7 +794,7 @@ bool ChromeMainDelegate::BasicStartupComplete(int* exi - v8_crashpad_support::SetUp(); - #endif - --#if defined(OS_LINUX) || defined(OS_CHROMEOS) -+#if (defined(OS_LINUX) || defined(OS_CHROMEOS)) - if (!crash_reporter::IsCrashpadEnabled()) { - breakpad::SetFirstChanceExceptionHandler(v8::TryHandleWebAssemblyTrapPosix); - } -@@ -803,7 +807,7 @@ bool ChromeMainDelegate::BasicStartupComplete(int* exi +@@ -809,7 +811,7 @@ bool ChromeMainDelegate::BasicStartupComplete(int* exi } // TODO(crbug.com/1052397): Revisit the macro expression once build flag switch // of lacros-chrome is complete. -#if defined(OS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS) +#if defined(OS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS) || defined(OS_BSD) // This will directly exit if the user asked for help. HandleHelpSwitches(command_line); #endif -@@ -1014,7 +1018,7 @@ void ChromeMainDelegate::PreSandboxStartup() { - - crash_reporter::InitializeCrashKeys(); - --#if defined(OS_POSIX) -+#if defined(OS_POSIX) && !defined(OS_BSD) - ChromeCrashReporterClient::Create(); +@@ -840,7 +842,7 @@ bool ChromeMainDelegate::BasicStartupComplete(int* exi + #if BUILDFLAG(IS_CHROMEOS_ASH) || BUILDFLAG(IS_CHROMEOS_LACROS) + chromeos::dbus_paths::RegisterPathProvider(); #endif - -@@ -1027,7 +1031,7 @@ void ChromeMainDelegate::PreSandboxStartup() { - child_process_logging::Init(); +-#if BUILDFLAG(ENABLE_NACL) && (defined(OS_LINUX) || defined(OS_CHROMEOS)) ++#if BUILDFLAG(ENABLE_NACL) && (defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD)) + nacl::RegisterPathProvider(); #endif - #if defined(ARCH_CPU_ARM_FAMILY) && \ -- (defined(OS_ANDROID) || defined(OS_LINUX) || defined(OS_CHROMEOS)) -+ (defined(OS_ANDROID) || defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD)) - // Create an instance of the CPU class to parse /proc/cpuinfo and cache - // cpu_brand info. - base::CPU cpu_info; -@@ -1148,7 +1152,7 @@ void ChromeMainDelegate::PreSandboxStartup() { + +@@ -1154,7 +1156,7 @@ void ChromeMainDelegate::PreSandboxStartup() { locale; } -#if defined(OS_POSIX) && !defined(OS_MAC) +#if defined(OS_POSIX) && !defined(OS_MAC) && !defined(OS_BSD) // Zygote needs to call InitCrashReporter() in RunZygote(). if (process_type != switches::kZygoteProcess) { #if defined(OS_ANDROID) -@@ -1169,7 +1173,7 @@ void ChromeMainDelegate::PreSandboxStartup() { - } - #endif // defined(OS_ANDROID) - } --#endif // defined(OS_POSIX) && !defined(OS_MAC) -+#endif // defined(OS_POSIX) && !defined(OS_MAC) && !defined(OS_BSD) - - #if defined(OS_ANDROID) - CHECK_EQ(base::android::GetLibraryProcessType(), -@@ -1189,7 +1193,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) || defined(OS_CHROMEOS) -+#if (defined(OS_LINUX) || defined(OS_CHROMEOS)) - AdjustLinuxOOMScore(process_type); - #endif - #if defined(OS_WIN) -@@ -1231,7 +1235,7 @@ int ChromeMainDelegate::RunProcess( +@@ -1237,7 +1239,7 @@ absl::variant Chrome // This entry is not needed on Linux, where the NaCl loader // process is launched via nacl_helper instead. -#if BUILDFLAG(ENABLE_NACL) && !defined(OS_LINUX) && !defined(OS_CHROMEOS) +#if BUILDFLAG(ENABLE_NACL) && !defined(OS_LINUX) && !defined(OS_CHROMEOS) && !defined(OS_BSD) {switches::kNaClLoaderProcess, NaClMain}, #else {"", nullptr}, // To avoid constant array of size 0 -@@ -1259,7 +1263,7 @@ void ChromeMainDelegate::ProcessExiting(const std::str - #endif // !defined(OS_ANDROID) - } - --#if defined(OS_LINUX) || defined(OS_CHROMEOS) -+#if (defined(OS_LINUX) || defined(OS_CHROMEOS)) - void ChromeMainDelegate::ZygoteStarting( - std::vector>* delegates) { - #if BUILDFLAG(IS_CHROMEOS_ASH) -@@ -1296,7 +1300,7 @@ void ChromeMainDelegate::ZygoteForked() { - crash_keys::SetCrashKeysFromCommandLine(*command_line); - } - --#endif // defined(OS_LINUX) || defined(OS_CHROMEOS) -+#endif // (defined(OS_LINUX) || defined(OS_CHROMEOS)) - - content::ContentClient* ChromeMainDelegate::CreateContentClient() { - return &chrome_content_client_; diff --git a/www/chromium/files/patch-chrome_app_chromium__strings.grd b/www/chromium/files/patch-chrome_app_chromium__strings.grd index c5e07629feed..7db2405e0ab4 100644 --- a/www/chromium/files/patch-chrome_app_chromium__strings.grd +++ b/www/chromium/files/patch-chrome_app_chromium__strings.grd @@ -1,20 +1,29 @@ ---- chrome/app/chromium_strings.grd.orig 2021-12-31 00:57:19 UTC +--- chrome/app/chromium_strings.grd.orig 2022-02-07 13:39:41 UTC +++ chrome/app/chromium_strings.grd -@@ -802,7 +802,7 @@ Chromium is unable to recover your settings. +@@ -296,7 +296,7 @@ If you update this file, be sure also to update google + Welcome to Chromium; new browser window opened + + +- ++ + + Welcome to Chromium + +@@ -808,7 +808,7 @@ Chromium is unable to recover your settings. - -+ ++ Your system administrator has configured Chromium to open an alternative browser to access $1example.com. -@@ -926,7 +926,7 @@ Chromium is unable to recover your settings. +@@ -934,7 +934,7 @@ Chromium is unable to recover your settings. - -+ ++ The profile appears to be in use by another Chromium process ($112345) on another computer ($2example.com). Chromium 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 Chromium. diff --git a/www/chromium/files/patch-chrome_app_generated__resources.grd b/www/chromium/files/patch-chrome_app_generated__resources.grd index ac8ca571afb5..1603c775fd26 100644 --- a/www/chromium/files/patch-chrome_app_generated__resources.grd +++ b/www/chromium/files/patch-chrome_app_generated__resources.grd @@ -1,38 +1,56 @@ ---- chrome/app/generated_resources.grd.orig 2021-12-31 00:57:19 UTC +--- chrome/app/generated_resources.grd.orig 2022-02-07 13:39:41 UTC +++ chrome/app/generated_resources.grd -@@ -293,7 +293,7 @@ are declared in tools/grit/grit_rule.gni. +@@ -2,7 +2,7 @@ + + +@@ -296,7 +296,7 @@ are declared in tools/grit/grit_rule.gni. - -+ ++ -@@ -5524,7 +5524,7 @@ Keep your key file in a safe place. You will need it t +@@ -2811,7 +2811,7 @@ are declared in tools/grit/grit_rule.gni. + + + +- ++ + + Device Credentials + +@@ -5557,7 +5557,7 @@ Keep your key file in a safe place. You will need it t - -+ ++ Legacy Browser Support -@@ -7921,7 +7921,7 @@ Keep your key file in a safe place. You will need it t +@@ -8016,7 +8016,7 @@ Keep your key file in a safe place. You will need it t Google Pay - + Use system title bar and borders -@@ -8995,7 +8995,7 @@ Please help our engineers fix this problem. Tell us wh +@@ -9104,7 +9104,7 @@ Please help our engineers fix this problem. Tell us wh Set as default - + Minimize diff --git a/www/chromium/files/patch-chrome_app_google__chrome__strings.grd b/www/chromium/files/patch-chrome_app_google__chrome__strings.grd index 4386e5d9abb7..f30963321403 100644 --- a/www/chromium/files/patch-chrome_app_google__chrome__strings.grd +++ b/www/chromium/files/patch-chrome_app_google__chrome__strings.grd @@ -1,20 +1,29 @@ ---- chrome/app/google_chrome_strings.grd.orig 2021-12-31 00:57:19 UTC +--- chrome/app/google_chrome_strings.grd.orig 2022-02-07 13:39:41 UTC +++ chrome/app/google_chrome_strings.grd -@@ -810,7 +810,7 @@ Google Chrome is unable to recover your settings. +@@ -301,7 +301,7 @@ chromium_strings.grd. --> + Welcome to Chrome; new browser window opened + + +- ++ + + Welcome to Google Chrome + +@@ -816,7 +816,7 @@ Google Chrome is unable to recover your settings. - -+ ++ Your system administrator has configured Google Chrome to open an alternative browser to access $1example.com. -@@ -934,7 +934,7 @@ Google Chrome is unable to recover your settings. +@@ -942,7 +942,7 @@ Google Chrome is unable to recover your settings. - -+ ++ The profile appears to be in use by another Google Chrome process ($112345) on another computer ($2example.com). 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. diff --git a/www/chromium/files/patch-chrome_app_profiles__strings.grdp b/www/chromium/files/patch-chrome_app_profiles__strings.grdp index 55fff4ccbc26..cf95a34a489e 100644 --- a/www/chromium/files/patch-chrome_app_profiles__strings.grdp +++ b/www/chromium/files/patch-chrome_app_profiles__strings.grdp @@ -1,11 +1,11 @@ ---- chrome/app/profiles_strings.grdp.orig 2021-09-14 01:51:48 UTC +--- chrome/app/profiles_strings.grdp.orig 2022-02-07 13:39:41 UTC +++ chrome/app/profiles_strings.grdp -@@ -69,7 +69,7 @@ +@@ -66,7 +66,7 @@ Add Profile... - + Add profile... diff --git a/www/chromium/files/patch-chrome_browser_BUILD.gn b/www/chromium/files/patch-chrome_browser_BUILD.gn deleted file mode 100644 index e7ff81b2f74d..000000000000 --- a/www/chromium/files/patch-chrome_browser_BUILD.gn +++ /dev/null @@ -1,58 +0,0 @@ ---- chrome/browser/BUILD.gn.orig 2021-12-31 00:57:21 UTC -+++ chrome/browser/BUILD.gn -@@ -2520,9 +2520,18 @@ static_library("browser") { - "policy/messaging_layer/util/heartbeat_event_factory.h", - ] - } -- if (is_linux || is_chromeos) { -+ if ((is_linux || is_chromeos) && !is_bsd) { - deps += [ "//chrome/browser/error_reporting" ] - } -+ if (is_bsd) { -+ sources -= [ -+ "crash_upload_list/crash_upload_list.cc", -+ "crash_upload_list/crash_upload_list.h", -+ ] -+ deps -= [ -+ "//components/crash/core/browser", -+ ] -+ } - if (use_ozone) { - deps += [ - "//ui/events/ozone", -@@ -5702,7 +5711,7 @@ static_library("browser") { - } - } - -- if (is_linux && use_dbus) { -+ if ((is_linux && !is_bsd) && use_dbus) { - sources += [ - "dbus_memory_pressure_evaluator_linux.cc", - "dbus_memory_pressure_evaluator_linux.h", -@@ -5801,6 +5810,17 @@ static_library("browser") { - ] - } - -+ if (is_bsd) { -+ sources -= [ -+ "enterprise/signals/device_info_fetcher_linux.cc", -+ "enterprise/signals/device_info_fetcher_linux.h", -+ ] -+ sources += [ -+ "enterprise/signals/device_info_fetcher_freebsd.cc", -+ "enterprise/signals/device_info_fetcher_freebsd.h", -+ ] -+ } -+ - if (is_posix) { - sources += [ - "shutdown_signal_handlers_posix.cc", -@@ -5966,7 +5986,7 @@ static_library("browser") { - deps += [ "//chromeos/ui/base" ] - } - -- if (is_posix && !is_mac) { -+ if (is_posix && !is_mac && !is_bsd) { - # TODO(crbug.com/1226159): Complete crash reporting integration on Fuchsia. - sources += [ - "//chrome/app/chrome_crash_reporter_client.cc", diff --git a/www/chromium/files/patch-chrome_browser_about__flags.cc b/www/chromium/files/patch-chrome_browser_about__flags.cc index 9ab37bae1638..5cc17e7ac79f 100644 --- a/www/chromium/files/patch-chrome_browser_about__flags.cc +++ b/www/chromium/files/patch-chrome_browser_about__flags.cc @@ -1,209 +1,155 @@ ---- chrome/browser/about_flags.cc.orig 2021-12-31 00:57:21 UTC +--- chrome/browser/about_flags.cc.orig 2022-02-07 13:39:41 UTC +++ chrome/browser/about_flags.cc -@@ -204,7 +204,7 @@ +@@ -203,7 +203,7 @@ #include "ui/native_theme/native_theme_features.h" #include "ui/ui_features.h" -#if defined(OS_LINUX) || defined(OS_CHROMEOS) +#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD) #include "base/allocator/buildflags.h" #endif -@@ -272,10 +272,10 @@ +@@ -271,7 +271,7 @@ #include "chrome/browser/supervised_user/supervised_user_features/supervised_user_features.h" #endif // ENABLE_SUPERVISED_USERS -#if defined(OS_LINUX) || BUILDFLAG(IS_CHROMEOS_ASH) +#if defined(OS_LINUX) || BUILDFLAG(IS_CHROMEOS_ASH) || defined(OS_BSD) #include "ui/ozone/buildflags.h" #include "ui/ozone/public/ozone_switches.h" --#endif // OS_LINUX || BUILDFLAG(IS_CHROMEOS_ASH) -+#endif // OS_LINUX || BUILDFLAG(IS_CHROMEOS_ASH) || defined(OS_BSD) - - #if defined(OS_WIN) - #include "base/win/windows_version.h" -@@ -385,7 +385,7 @@ const FeatureEntry::Choice kUseAngleChoicesMac[] = { + #endif // OS_LINUX || BUILDFLAG(IS_CHROMEOS_ASH) +@@ -358,7 +358,7 @@ const FeatureEntry::Choice kUseAngleChoicesMac[] = { gl::kANGLEImplementationMetalName}}; #endif -#if defined(OS_LINUX) +#if defined(OS_LINUX) || defined(OS_BSD) const FeatureEntry::Choice kOzonePlatformHintRuntimeChoices[] = { {flag_descriptions::kOzonePlatformHintChoiceDefault, "", ""}, {flag_descriptions::kOzonePlatformHintChoiceAuto, -@@ -985,7 +985,7 @@ const FeatureEntry::FeatureVariation kPageContentAnnot - base::size(kPageContentAnnotationsTitleParams), nullptr}, +@@ -941,7 +941,7 @@ const FeatureEntry::FeatureVariation kPageContentAnnot }; --#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_MAC) || \ -+#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_MAC) || defined(OS_BSD) || \ - defined(OS_WIN) + #if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_MAC) || \ +- defined(OS_WIN) || defined(OS_FUCHSIA) ++ defined(OS_WIN) || defined(OS_FUCHSIA) || defined(OS_BSD) const FeatureEntry::FeatureParam kOmniboxDocumentProviderServerScoring[] = { {"DocumentUseServerScore", "true"}, -@@ -1193,7 +1193,7 @@ const FeatureEntry::FeatureVariation kOmniboxBookmarkP - {"Dynamic Replace URL (Title - Path|URL)", - kOmniboxBookmarkPathsDynamicReplaceUrl, - base::size(kOmniboxBookmarkPathsDynamicReplaceUrl), nullptr}}; --#endif // defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_MAC) || -+#endif // defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_MAC) || defined(OS_BSD) || - // defined(OS_WIN) - - const FeatureEntry::FeatureVariation -@@ -3296,7 +3296,7 @@ const FeatureEntry kFeatureEntries[] = { + {"DocumentUseClientScore", "false"}, +@@ -2344,7 +2344,7 @@ const FeatureEntry::FeatureVariation kPasswordChangeFe + nullptr}}; + #endif // defined(OS_ANDROID) + +-#if defined(OS_LINUX) || defined(OS_CHROMEOS) ++#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD) + const FeatureEntry::FeatureParam + kSendWebUIJavaScriptErrorReportsVariationSendToStaging[] = { + {features::kSendWebUIJavaScriptErrorReportsSendToProductionVariation, +@@ -2699,7 +2699,7 @@ const FeatureEntry kFeatureEntries[] = { + flag_descriptions::kWebKioskEnableLacrosDescription, kOsCrOS, + FEATURE_VALUE_TYPE(features::kWebKioskEnableLacros)}, + #endif // BUILDFLAG(IS_CHROMEOS_ASH) +-#if defined(OS_LINUX) || defined(OS_CHROMEOS) ++#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD) + {"send-webui-javascript-error-reports", + flag_descriptions::kSendWebUIJavaScriptErrorReportsName, + flag_descriptions::kSendWebUIJavaScriptErrorReportsDescription, +@@ -3208,7 +3208,7 @@ const FeatureEntry kFeatureEntries[] = { FEATURE_VALUE_TYPE(chromeos::kLacrosTtsSupport)}, #endif // defined(OS_CHROMEOS) -#if defined(OS_LINUX) +#if defined(OS_LINUX) || defined(OS_BSD) { "enable-accelerated-video-decode", flag_descriptions::kAcceleratedVideoDecodeName, -@@ -3314,7 +3314,7 @@ const FeatureEntry kFeatureEntries[] = { - kOsMac | kOsWin | kOsCrOS | kOsAndroid | kOsLinux, - SINGLE_DISABLE_VALUE_TYPE(switches::kDisableAcceleratedVideoDecode), - }, --#endif // defined(OS_LINUX) -+#endif // defined(OS_LINUX) || defined(OS_BSD) - { - "disable-accelerated-video-encode", - flag_descriptions::kAcceleratedVideoEncodeName, -@@ -3685,7 +3685,7 @@ const FeatureEntry kFeatureEntries[] = { +@@ -3620,7 +3620,7 @@ const FeatureEntry kFeatureEntries[] = { {"enable-login-detection", flag_descriptions::kEnableLoginDetectionName, flag_descriptions::kEnableLoginDetectionDescription, kOsAll, FEATURE_VALUE_TYPE(login_detection::kLoginDetection)}, -#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 | kOsLinux, SINGLE_VALUE_TYPE( -@@ -3695,7 +3695,7 @@ const FeatureEntry kFeatureEntries[] = { - flag_descriptions::kEnableNavigationPredictorDescription, - kOsCrOS | kOsLinux, - FEATURE_VALUE_TYPE(blink::features::kNavigationPredictor)}, --#endif // BUILDFLAG(IS_CHROMEOS) || OS_LINUX -+#endif // BUILDFLAG(IS_CHROMEOS) || OS_LINUX || OS_BSD - {"enable-preconnect-to-search", - flag_descriptions::kEnablePreconnectToSearchName, - flag_descriptions::kEnablePreconnectToSearchDescription, kOsAll, -@@ -3873,7 +3873,7 @@ const FeatureEntry kFeatureEntries[] = { +@@ -3808,7 +3808,7 @@ const FeatureEntry kFeatureEntries[] = { FEATURE_VALUE_TYPE(features::kWebShare)}, #endif // BUILDFLAG(IS_CHROMEOS_ASH) || OS_WIN || OS_MAC -#if defined(OS_LINUX) +#if defined(OS_LINUX) || defined(OS_BSD) {"ozone-platform-hint", flag_descriptions::kOzonePlatformHintName, flag_descriptions::kOzonePlatformHintDescription, kOsLinux, MULTI_VALUE_TYPE(kOzonePlatformHintRuntimeChoices)}, -@@ -4567,7 +4567,7 @@ const FeatureEntry kFeatureEntries[] = { - kOsAll, - FEATURE_VALUE_TYPE(omnibox::kOmniboxTrendingZeroPrefixSuggestionsOnNTP)}, +@@ -4493,7 +4493,7 @@ const FeatureEntry kFeatureEntries[] = { + "OmniboxBundledExperimentV1")}, --#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_MAC) || \ -+#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_MAC) || defined(OS_BSD) || \ - defined(OS_WIN) + #if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_MAC) || \ +- defined(OS_WIN) || defined(OS_FUCHSIA) ++ defined(OS_WIN) || defined(OS_FUCHSIA) || defined(OS_BSD) {"omnibox-experimental-keyword-mode", flag_descriptions::kOmniboxExperimentalKeywordModeName, -@@ -4676,7 +4676,7 @@ const FeatureEntry kFeatureEntries[] = { - flag_descriptions::kOmniboxPreserveLongerShortcutsTextName, - flag_descriptions::kOmniboxPreserveLongerShortcutsTextDescription, - kOsDesktop, FEATURE_VALUE_TYPE(omnibox::kPreserveLongerShortcutsText)}, --#endif // defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_MAC) || -+#endif // defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_MAC) || defined(OS_BSD) || - // defined(OS_WIN) - - #if BUILDFLAG(IS_CHROMEOS_ASH) -@@ -4952,12 +4952,12 @@ const FeatureEntry kFeatureEntries[] = { - FEATURE_VALUE_TYPE(chrome::android::kReaderModeInCCT)}, + flag_descriptions::kOmniboxExperimentalKeywordModeDescription, kOsDesktop, +@@ -4870,7 +4870,7 @@ const FeatureEntry kFeatureEntries[] = { #endif // !defined(OS_ANDROID) --#if defined(OS_WIN) || defined(OS_MAC) || defined(OS_LINUX) || \ -+#if defined(OS_WIN) || defined(OS_MAC) || defined(OS_LINUX) || defined(OS_BSD) || \ - defined(OS_CHROMEOS) + #if defined(OS_WIN) || defined(OS_MAC) || defined(OS_LINUX) || \ +- defined(OS_CHROMEOS) || defined(OS_FUCHSIA) ++ defined(OS_CHROMEOS) || defined(OS_FUCHSIA) || defined(OS_BSD) {"webui-feedback", flag_descriptions::kWebuiFeedbackName, flag_descriptions::kWebuiFeedbackDescription, kOsDesktop, FEATURE_VALUE_TYPE(features::kWebUIFeedback)}, --#endif // defined(OS_WIN) || defined(OS_MAC) || defined(OS_LINUX) || -+#endif // defined(OS_WIN) || defined(OS_MAC) || defined(OS_LINUX) || defined(OS_BSD) || - // defined(OS_CHROMEOS) - - #if !defined(OS_ANDROID) -@@ -5577,7 +5577,7 @@ const FeatureEntry kFeatureEntries[] = { - flag_descriptions::kSharingSendViaSyncDescription, kOsAll, +@@ -5492,7 +5492,7 @@ const FeatureEntry kFeatureEntries[] = { FEATURE_VALUE_TYPE(kSharingSendViaSync)}, --#if defined(OS_WIN) || defined(OS_MAC) || defined(OS_LINUX) -+#if defined(OS_WIN) || defined(OS_MAC) || defined(OS_LINUX) || defined(OS_BSD) + #if defined(OS_WIN) || defined(OS_MAC) || defined(OS_LINUX) || \ +- defined(OS_FUCHSIA) ++ defined(OS_FUCHSIA) || defined(OS_BSD) {"sharing-hub-desktop-app-menu", flag_descriptions::kSharingHubDesktopAppMenuName, flag_descriptions::kSharingHubDesktopAppMenuDescription, kOsDesktop, -@@ -5586,7 +5586,7 @@ const FeatureEntry kFeatureEntries[] = { - flag_descriptions::kSharingHubDesktopOmniboxName, - flag_descriptions::kSharingHubDesktopOmniboxDescription, kOsDesktop, - FEATURE_VALUE_TYPE(sharing_hub::kSharingHubDesktopOmnibox)}, --#endif // defined(OS_WIN) || defined(OS_MAC) || defined(OS_LINUX) -+#endif // defined(OS_WIN) || defined(OS_MAC) || defined(OS_LINUX) || defined(OS_BSD) - - #if BUILDFLAG(IS_CHROMEOS_ASH) - {"ash-enable-pip-rounded-corners", -@@ -6011,14 +6011,14 @@ const FeatureEntry kFeatureEntries[] = { - flag_descriptions::kMouseSubframeNoImplicitCaptureDescription, kOsAll, +@@ -5917,7 +5917,7 @@ const FeatureEntry kFeatureEntries[] = { FEATURE_VALUE_TYPE(features::kMouseSubframeNoImplicitCapture)}, --#if defined(OS_WIN) || defined(OS_MAC) || defined(OS_LINUX) || \ -+#if defined(OS_WIN) || defined(OS_MAC) || defined(OS_LINUX) || defined(OS_BSD) || \ - defined(OS_CHROMEOS) + #if defined(OS_WIN) || defined(OS_MAC) || defined(OS_LINUX) || \ +- defined(OS_CHROMEOS) || defined(OS_FUCHSIA) ++ defined(OS_CHROMEOS) || defined(OS_FUCHSIA) || defined(OS_BSD) {"global-media-controls-modern-ui", flag_descriptions::kGlobalMediaControlsModernUIName, flag_descriptions::kGlobalMediaControlsModernUIDescription, - kOsWin | kOsMac | kOsLinux | kOsCrOS, - FEATURE_VALUE_TYPE(media::kGlobalMediaControlsModernUI)}, --#endif // defined(OS_WIN) || defined(OS_MAC) || defined(OS_LINUX) || -+#endif // defined(OS_WIN) || defined(OS_MAC) || defined(OS_LINUX) || defined(OS_BSD) || - // defined(OS_CHROMEOS) - - {"safety-tips", flag_descriptions::kSafetyTipName, -@@ -6734,7 +6734,7 @@ const FeatureEntry kFeatureEntries[] = { - FEATURE_VALUE_TYPE(chrome::android::kIncognitoReauthenticationForAndroid)}, +@@ -6606,7 +6606,7 @@ const FeatureEntry kFeatureEntries[] = { #endif --#if defined(OS_MAC) || defined(OS_WIN) || defined(OS_LINUX) || \ -+#if defined(OS_MAC) || defined(OS_WIN) || defined(OS_LINUX) || defined(OS_BSD) || \ - defined(OS_CHROMEOS) || defined(OS_FUCHSIA) + #if defined(OS_MAC) || defined(OS_WIN) || defined(OS_LINUX) || \ +- defined(OS_CHROMEOS) || defined(OS_FUCHSIA) ++ defined(OS_CHROMEOS) || defined(OS_FUCHSIA) || defined(OS_BSD) {"incognito-brand-consistency-for-desktop", flag_descriptions::kIncognitoBrandConsistencyForDesktopName, -@@ -6753,7 +6753,7 @@ const FeatureEntry kFeatureEntries[] = { - flag_descriptions::kInheritNativeThemeFromParentWidgetDescription, - kOsDesktop, - FEATURE_VALUE_TYPE(views::features::kInheritNativeThemeFromParentWidget)}, --#endif // defined(OS_MAC) || defined(OS_WIN) || defined(OS_LINUX) || -+#endif // defined(OS_MAC) || defined(OS_WIN) || defined(OS_LINUX) || defined(OS_BSD) || - // defined(OS_CHROMEOS) || defined(OS_FUCHSIA) - - {"consolidated-site-storage-controls", -@@ -6867,7 +6867,7 @@ const FeatureEntry kFeatureEntries[] = { - FEATURE_VALUE_TYPE(language::kForceAppLanguagePrompt)}, + flag_descriptions::kIncognitoBrandConsistencyForDesktopDescription, +@@ -6739,7 +6739,7 @@ const FeatureEntry kFeatureEntries[] = { #endif --#if defined(OS_WIN) || defined(OS_MAC) || defined(OS_LINUX) -+#if defined(OS_WIN) || defined(OS_MAC) || defined(OS_LINUX) || defined(OS_BSD) + #if defined(OS_WIN) || defined(OS_MAC) || defined(OS_LINUX) || \ +- defined(OS_FUCHSIA) ++ defined(OS_FUCHSIA) || defined(OS_BSD) {"commander", flag_descriptions::kCommanderName, flag_descriptions::kCommanderDescription, kOsDesktop, FEATURE_VALUE_TYPE(features::kCommander)}, -@@ -7121,7 +7121,7 @@ const FeatureEntry kFeatureEntries[] = { - flag_descriptions::kVp9kSVCHWDecodingDescription, kOsAll, +@@ -6982,7 +6982,7 @@ const FeatureEntry kFeatureEntries[] = { FEATURE_VALUE_TYPE(media::kVp9kSVCHWDecoding)}, --#if defined(OS_WIN) || (defined(OS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS)) || \ -+#if defined(OS_WIN) || (defined(OS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS)) || defined(OS_BSD) || \ - defined(OS_MAC) + #if defined(OS_WIN) || (defined(OS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS)) || \ +- defined(OS_MAC) || defined(OS_FUCHSIA) ++ defined(OS_MAC) || defined(OS_FUCHSIA) || defined(OS_BSD) { "ui-debug-tools", -@@ -7259,7 +7259,7 @@ const FeatureEntry kFeatureEntries[] = { - FEATURE_VALUE_TYPE(chromeos::features::kLauncherAppSort)}, + flag_descriptions::kUIDebugToolsName, +@@ -7124,7 +7124,7 @@ const FeatureEntry kFeatureEntries[] = { #endif --#if BUILDFLAG(IS_CHROMEOS_ASH) || defined(OS_MAC) || defined(OS_LINUX) -+#if BUILDFLAG(IS_CHROMEOS_ASH) || defined(OS_MAC) || defined(OS_LINUX) || defined(OS_BSD) + #if BUILDFLAG(IS_CHROMEOS_ASH) || defined(OS_MAC) || defined(OS_LINUX) || \ +- defined(OS_FUCHSIA) ++ defined(OS_FUCHSIA) || defined(OS_BSD) {"enable-desktop-pwas-app-icon-shortcuts-menu-ui", flag_descriptions::kDesktopPWAsAppIconShortcutsMenuUIName, flag_descriptions::kDesktopPWAsAppIconShortcutsMenuUIDescription, diff --git a/www/chromium/files/patch-chrome_browser_after__startup__task__utils.cc b/www/chromium/files/patch-chrome_browser_after__startup__task__utils.cc index aa6b0eb0a710..43dc49863e1b 100644 --- a/www/chromium/files/patch-chrome_browser_after__startup__task__utils.cc +++ b/www/chromium/files/patch-chrome_browser_after__startup__task__utils.cc @@ -1,38 +1,29 @@ ---- chrome/browser/after_startup_task_utils.cc.orig 2021-12-31 00:57:21 UTC +--- chrome/browser/after_startup_task_utils.cc.orig 2022-02-07 13:39:41 UTC +++ chrome/browser/after_startup_task_utils.cc -@@ -22,7 +22,7 @@ +@@ -25,7 +25,7 @@ // TODO(crbug.com/1052397): Revisit the macro expression once build flag switch // of lacros-chrome is complete. -#if defined(OS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS) +#if defined(OS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS) || defined(OS_BSD) #include "ui/views/linux_ui/linux_ui.h" #endif -@@ -107,7 +107,7 @@ void SetBrowserStartupIsComplete() { - return; +@@ -111,7 +111,7 @@ void SetBrowserStartupIsComplete() { g_startup_complete_flag.Get().Set(); --#if defined(OS_MAC) || defined(OS_WIN) || defined(OS_LINUX) || \ -+#if defined(OS_MAC) || defined(OS_WIN) || defined(OS_LINUX) || defined(OS_BSD) || \ - defined(OS_CHROMEOS) + #if defined(OS_MAC) || defined(OS_WIN) || defined(OS_LINUX) || \ +- defined(OS_CHROMEOS) ++ defined(OS_CHROMEOS) || defined(OS_BSD) // Process::Current().CreationTime() is not available on all platforms. const base::Time process_creation_time = -@@ -116,7 +116,7 @@ void SetBrowserStartupIsComplete() { - UMA_HISTOGRAM_LONG_TIMES("Startup.AfterStartupTaskDelayedUntilTime", - base::Time::Now() - process_creation_time); - } --#endif // defined(OS_MAC) || defined(OS_WIN) || defined(OS_LINUX) || -+#endif // defined(OS_MAC) || defined(OS_WIN) || defined(OS_LINUX) || defined(OS_BSD) || - // defined(OS_CHROMEOS) - UMA_HISTOGRAM_COUNTS_10000("Startup.AfterStartupTaskCount", - g_after_startup_tasks.Get().size()); -@@ -127,7 +127,7 @@ void SetBrowserStartupIsComplete() { + base::Process::Current().CreationTime(); +@@ -130,7 +130,7 @@ void SetBrowserStartupIsComplete() { // TODO(crbug.com/1052397): Revisit the macro expression once build flag switch // of lacros-chrome is complete. -#if defined(OS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS) +#if defined(OS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS) || 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/chromium/files/patch-chrome_browser_apps_platform__apps_api_media__galleries_media__galleries__apitest.cc b/www/chromium/files/patch-chrome_browser_apps_platform__apps_api_media__galleries_media__galleries__apitest.cc deleted file mode 100644 index 2d7ab149c160..000000000000 --- a/www/chromium/files/patch-chrome_browser_apps_platform__apps_api_media__galleries_media__galleries__apitest.cc +++ /dev/null @@ -1,20 +0,0 @@ ---- chrome/browser/apps/platform_apps/api/media_galleries/media_galleries_apitest.cc.orig 2021-12-31 00:57:21 UTC -+++ chrome/browser/apps/platform_apps/api/media_galleries/media_galleries_apitest.cc -@@ -298,7 +298,7 @@ IN_PROC_BROWSER_TEST_F(MediaGalleriesPlatformAppPpapiT - - // Test is flaky, it fails on certain bots, namely WinXP Tests(1) and Linux - // (dbg)(1)(32). See crbug.com/354425. --#if defined(OS_WIN) || defined(OS_LINUX) || defined(OS_CHROMEOS) -+#if defined(OS_WIN) || defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD) - #define MAYBE_MediaGalleriesNoAccess DISABLED_MediaGalleriesNoAccess - #else - #define MAYBE_MediaGalleriesNoAccess MediaGalleriesNoAccess -@@ -336,7 +336,7 @@ IN_PROC_BROWSER_TEST_F(MediaGalleriesPlatformAppBrowse - - // Test is flaky, it fails on certain bots, namely WinXP Tests(1) and Linux - // (dbg)(1)(32). See crbug.com/354425. --#if defined(OS_WIN) || defined(OS_LINUX) || defined(OS_CHROMEOS) -+#if defined(OS_WIN) || defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD) - #define MAYBE_MediaGalleriesCopyTo DISABLED_MediaGalleriesCopyTo - #else - #define MAYBE_MediaGalleriesCopyTo MediaGalleriesCopyTo diff --git a/www/chromium/files/patch-chrome_browser_apps_platform__apps_api_media__galleries_media__galleries__watch__apitest.cc b/www/chromium/files/patch-chrome_browser_apps_platform__apps_api_media__galleries_media__galleries__watch__apitest.cc deleted file mode 100644 index 75677148cd36..000000000000 --- a/www/chromium/files/patch-chrome_browser_apps_platform__apps_api_media__galleries_media__galleries__watch__apitest.cc +++ /dev/null @@ -1,11 +0,0 @@ ---- chrome/browser/apps/platform_apps/api/media_galleries/media_galleries_watch_apitest.cc.orig 2021-09-14 01:51:49 UTC -+++ chrome/browser/apps/platform_apps/api/media_galleries/media_galleries_watch_apitest.cc -@@ -242,7 +242,7 @@ IN_PROC_BROWSER_TEST_F(MediaGalleriesGalleryWatchApiTe - // Test is flaky on windows and linux: crbug.com/1150017. - // TODO(crbug.com/1052397): Revisit once build flag switch of lacros-chrome is - // complete. --#if defined(OS_WIN) || (defined(OS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS)) -+#if defined(OS_WIN) || (defined(OS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS)) || defined(OS_BSD) - #define MAYBE_RemoveListenerAndModifyGallery \ - DISABLED_RemoveListenerAndModifyGallery - #else diff --git a/www/chromium/files/patch-chrome_browser_apps_platform__apps_api_music__manager__private_device__id__linux.cc b/www/chromium/files/patch-chrome_browser_apps_platform__apps_api_music__manager__private_device__id__linux.cc index 922f5898b3ba..dad818ce9cf0 100644 --- a/www/chromium/files/patch-chrome_browser_apps_platform__apps_api_music__manager__private_device__id__linux.cc +++ b/www/chromium/files/patch-chrome_browser_apps_platform__apps_api_music__manager__private_device__id__linux.cc @@ -1,70 +1,71 @@ ---- chrome/browser/apps/platform_apps/api/music_manager_private/device_id_linux.cc.orig 2021-04-14 18:40:52 UTC +--- chrome/browser/apps/platform_apps/api/music_manager_private/device_id_linux.cc.orig 2022-02-07 13:39:41 UTC +++ chrome/browser/apps/platform_apps/api/music_manager_private/device_id_linux.cc -@@ -4,6 +4,11 @@ +@@ -4,6 +4,15 @@ #include "chrome/browser/apps/platform_apps/api/music_manager_private/device_id.h" -+#if defined(OS_FREEBSD) ++#include "build/build_config.h" ++ ++#if defined(OS_BSD) +#include +#include ++#include ++#include +#endif + #include #include #include -@@ -105,9 +110,36 @@ class MacAddressProcessor { +@@ -105,11 +114,33 @@ class MacAddressProcessor { const char* const prefixes[], size_t prefixes_count) { const int MAC_LENGTH = 6; -+#if defined(OS_FREEBSD) ++#if defined(OS_BSD) + struct ifaddrs *ifap, *ifinfo; +#else struct ifreq ifinfo; +#endif memset(&ifinfo, 0, sizeof(ifinfo)); -+ -+#if defined(OS_FREEBSD) +- strncpy(ifinfo.ifr_name, ifaddr->ifa_name, sizeof(ifinfo.ifr_name) - 1); + ++#if defined(OS_BSD) + 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); - ++ strncpy(ifinfo.ifr_name, ifaddr->ifa_name, sizeof(ifinfo.ifr_name) - 1); int sd = socket(AF_INET, SOCK_DGRAM, 0); -@@ -119,11 +151,18 @@ class MacAddressProcessor { + int result = ioctl(sd, SIOCGIFHWADDR, &ifinfo); + close(sd); +@@ -119,11 +150,17 @@ class MacAddressProcessor { const char* mac_address = static_cast(ifinfo.ifr_hwaddr.sa_data); +#endif -+ if (!is_valid_mac_address_.Run(mac_address, MAC_LENGTH)) return true; -+#if defined(OS_FREEBSD) ++#if defined(OS_BSD) + 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/chromium/files/patch-chrome_browser_apps_platform__apps_platform__app__launch.cc b/www/chromium/files/patch-chrome_browser_apps_platform__apps_platform__app__launch.cc index 3c22db0ec515..8567bb517f11 100644 --- a/www/chromium/files/patch-chrome_browser_apps_platform__apps_platform__app__launch.cc +++ b/www/chromium/files/patch-chrome_browser_apps_platform__apps_platform__app__launch.cc @@ -1,36 +1,20 @@ ---- chrome/browser/apps/platform_apps/platform_app_launch.cc.orig 2021-09-24 18:17:35 UTC +--- chrome/browser/apps/platform_apps/platform_app_launch.cc.orig 2022-02-07 13:39:41 UTC +++ chrome/browser/apps/platform_apps/platform_app_launch.cc -@@ -17,13 +17,13 @@ +@@ -17,7 +17,7 @@ #include "extensions/common/constants.h" #include "extensions/common/extension.h" -#if defined(OS_WIN) || defined(OS_MAC) || defined(OS_LINUX) +#if defined(OS_WIN) || defined(OS_MAC) || defined(OS_LINUX) || defined(OS_BSD) #include "chrome/browser/ui/browser.h" #include "chrome/browser/ui/browser_navigator.h" #include "chrome/browser/ui/browser_window.h" - #include "chrome/browser/web_applications/extension_status_utils.h" - #include "chrome/common/webui_url_constants.h" --#endif // defined(OS_WIN) || defined(OS_MAC) || defined(OS_LINUX) -+#endif // defined(OS_WIN) || defined(OS_MAC) || defined(OS_LINUX) || defined(OS_BSD) - - namespace apps { - @@ -122,7 +122,7 @@ bool OpenExtensionApplicationTab(Profile* profile, con return app_tab != nullptr; } -#if defined(OS_WIN) || defined(OS_MAC) || defined(OS_LINUX) +#if defined(OS_WIN) || defined(OS_MAC) || defined(OS_LINUX) || defined(OS_BSD) bool OpenDeprecatedApplicationPrompt(Profile* profile, const std::string& app_id) { if (!extensions::IsExtensionUnsupportedDeprecatedApp(profile, app_id)) -@@ -142,7 +142,7 @@ bool OpenDeprecatedApplicationPrompt(Profile* profile, - // TODO(crbug.com/1225779): Show the deprecated apps dialog. - return true; - } --#endif // defined(OS_WIN) || defined(OS_MAC) || defined(OS_LINUX) -+#endif // defined(OS_WIN) || defined(OS_MAC) || defined(OS_LINUX) || defined(OS_BSD) - - bool OpenExtensionApplicationWithReenablePrompt( - Profile* profile, diff --git a/www/chromium/files/patch-chrome_browser_autocomplete_chrome__autocomplete__scheme__classifier.cc b/www/chromium/files/patch-chrome_browser_autocomplete_chrome__autocomplete__scheme__classifier.cc index 5e0738a0586d..d6aa299207f8 100644 --- a/www/chromium/files/patch-chrome_browser_autocomplete_chrome__autocomplete__scheme__classifier.cc +++ b/www/chromium/files/patch-chrome_browser_autocomplete_chrome__autocomplete__scheme__classifier.cc @@ -1,20 +1,11 @@ ---- chrome/browser/autocomplete/chrome_autocomplete_scheme_classifier.cc.orig 2021-04-14 18:40:52 UTC +--- chrome/browser/autocomplete/chrome_autocomplete_scheme_classifier.cc.orig 2022-02-07 13:39:41 UTC +++ chrome/browser/autocomplete/chrome_autocomplete_scheme_classifier.cc -@@ -87,7 +87,7 @@ ChromeAutocompleteSchemeClassifier::GetInputTypeForSch +@@ -89,7 +89,7 @@ ChromeAutocompleteSchemeClassifier::GetInputTypeForSch return metrics::OmniboxInputType::QUERY; case ExternalProtocolHandler::UNKNOWN: { -#if defined(OS_LINUX) || defined(OS_CHROMEOS) +#if defined(OS_LINUX) || defined(OS_CHROMEOS) || 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. -@@ -100,7 +100,7 @@ ChromeAutocompleteSchemeClassifier::GetInputTypeForSch - shell_integration::GetApplicationNameForProtocol(url); - return application_name.empty() ? metrics::OmniboxInputType::EMPTY - : metrics::OmniboxInputType::URL; --#endif // defined(OS_LINUX) || defined(OS_CHROMEOS) -+#endif // defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD) - } - } - NOTREACHED(); diff --git a/www/chromium/files/patch-chrome_browser_background_background__mode__optimizer.cc b/www/chromium/files/patch-chrome_browser_background_background__mode__optimizer.cc index fbb447ec1a82..28a83f9c9559 100644 --- a/www/chromium/files/patch-chrome_browser_background_background__mode__optimizer.cc +++ b/www/chromium/files/patch-chrome_browser_background_background__mode__optimizer.cc @@ -1,15 +1,11 @@ ---- chrome/browser/background/background_mode_optimizer.cc.orig 2021-04-14 18:40:52 UTC +--- chrome/browser/background/background_mode_optimizer.cc.orig 2022-02-07 13:39:41 UTC +++ chrome/browser/background/background_mode_optimizer.cc -@@ -30,10 +30,10 @@ std::unique_ptr BackgroundMod +@@ -31,7 +31,7 @@ std::unique_ptr BackgroundMod switches::kKeepAliveForTest)) return nullptr; -#if defined(OS_WIN) || defined(OS_LINUX) || defined(OS_CHROMEOS) +#if defined(OS_WIN) || defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD) if (base::FeatureList::IsEnabled(features::kBackgroundModeAllowRestart)) return base::WrapUnique(new BackgroundModeOptimizer()); --#endif // defined(OS_WIN) || defined(OS_LINUX) || defined(OS_CHROMEOS) -+#endif // defined(OS_WIN) || defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD) - - return nullptr; - } + #endif // defined(OS_WIN) || defined(OS_LINUX) || defined(OS_CHROMEOS) diff --git a/www/chromium/files/patch-chrome_browser_browser__process__impl.cc b/www/chromium/files/patch-chrome_browser_browser__process__impl.cc new file mode 100644 index 000000000000..512a65dad887 --- /dev/null +++ b/www/chromium/files/patch-chrome_browser_browser__process__impl.cc @@ -0,0 +1,29 @@ +--- chrome/browser/browser_process_impl.cc.orig 2022-02-07 13:39:41 UTC ++++ chrome/browser/browser_process_impl.cc +@@ -208,7 +208,7 @@ + #include "components/enterprise/browser/controller/chrome_browser_cloud_management_controller.h" + #endif + +-#if defined(OS_LINUX) || defined(OS_CHROMEOS) ++#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD) + #include "chrome/browser/error_reporting/chrome_js_error_report_processor.h" // nogncheck + #endif + +@@ -1160,7 +1160,7 @@ void BrowserProcessImpl::PreMainMessageLoopRun() { + ApplyMetricsReportingPolicy(); + #endif + +-#if defined(OS_LINUX) || defined(OS_CHROMEOS) ++#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD) + ChromeJsErrorReportProcessor::Create(); + #endif + +@@ -1420,7 +1420,7 @@ void BrowserProcessImpl::Unpin() { + // Mac is currently not supported. + // TODO(crbug.com/1052397): Revisit once build flag switch of lacros-chrome is + // complete. +-#if defined(OS_WIN) || (defined(OS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS)) ++#if defined(OS_WIN) || (defined(OS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS)) || defined(OS_BSD) + + bool BrowserProcessImpl::IsRunningInBackground() const { + // Check if browser is in the background. diff --git a/www/chromium/files/patch-chrome_browser_browser__process__impl.h b/www/chromium/files/patch-chrome_browser_browser__process__impl.h new file mode 100644 index 000000000000..9ede1407b876 --- /dev/null +++ b/www/chromium/files/patch-chrome_browser_browser__process__impl.h @@ -0,0 +1,11 @@ +--- chrome/browser/browser_process_impl.h.orig 2022-02-07 13:39:41 UTC ++++ chrome/browser/browser_process_impl.h +@@ -373,7 +373,7 @@ class BrowserProcessImpl : public BrowserProcess, + + // TODO(crbug.com/1052397): Revisit the macro expression once build flag switch + // of lacros-chrome is complete. +-#if defined(OS_WIN) || (defined(OS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS)) ++#if defined(OS_WIN) || (defined(OS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS)) || defined(OS_BSD) + base::RepeatingTimer autoupdate_timer_; + + // Gets called by autoupdate timer to see if browser needs restart and can be diff --git a/www/chromium/files/patch-chrome_browser_browsing__data_chrome__browsing__data__remover__delegate.cc b/www/chromium/files/patch-chrome_browser_browsing__data_chrome__browsing__data__remover__delegate.cc deleted file mode 100644 index f6252798c469..000000000000 --- a/www/chromium/files/patch-chrome_browser_browsing__data_chrome__browsing__data__remover__delegate.cc +++ /dev/null @@ -1,12 +0,0 @@ ---- chrome/browser/browsing_data/chrome_browsing_data_remover_delegate.cc.orig 2021-12-14 11:44:57 UTC -+++ chrome/browser/browsing_data/chrome_browsing_data_remover_delegate.cc -@@ -608,7 +608,9 @@ void ChromeBrowsingDataRemoverDelegate::RemoveEmbedder - } - #endif - -+#if !defined(OS_BSD) - CreateCrashUploadList()->Clear(delete_begin_, delete_end_); -+#endif - - FindBarStateFactory::GetForBrowserContext(profile_)->SetLastSearchText( - std::u16string()); diff --git a/www/chromium/files/patch-chrome_browser_chrome__browser__interface__binders.cc b/www/chromium/files/patch-chrome_browser_chrome__browser__interface__binders.cc index 16af14dc97bb..ed429a3889e5 100644 --- a/www/chromium/files/patch-chrome_browser_chrome__browser__interface__binders.cc +++ b/www/chromium/files/patch-chrome_browser_chrome__browser__interface__binders.cc @@ -1,56 +1,56 @@ ---- chrome/browser/chrome_browser_interface_binders.cc.orig 2021-12-31 00:57:22 UTC +--- chrome/browser/chrome_browser_interface_binders.cc.orig 2022-02-07 13:39:41 UTC +++ chrome/browser/chrome_browser_interface_binders.cc -@@ -94,7 +94,7 @@ - #include "chrome/browser/ui/webui/reset_password/reset_password_ui.h" +@@ -97,7 +97,7 @@ #endif // BUILDFLAG(FULL_SAFE_BROWSING) --#if defined(OS_WIN) || defined(OS_MAC) || defined(OS_LINUX) || \ -+#if defined(OS_WIN) || defined(OS_MAC) || defined(OS_LINUX) || defined(OS_BSD) || \ - BUILDFLAG(IS_CHROMEOS_ASH) + #if defined(OS_WIN) || defined(OS_MAC) || defined(OS_LINUX) || \ +- BUILDFLAG(IS_CHROMEOS_ASH) ++ BUILDFLAG(IS_CHROMEOS_ASH) || defined(OS_BSD) #include "chrome/browser/ui/webui/connectors_internals/connectors_internals.mojom.h" #include "chrome/browser/ui/webui/connectors_internals/connectors_internals_ui.h" -@@ -159,7 +159,7 @@ - #include "ui/webui/resources/js/browser_command/browser_command.mojom.h" + #endif +@@ -165,7 +165,7 @@ #endif // defined(OS_ANDROID) --#if defined(OS_WIN) || defined(OS_MAC) || defined(OS_LINUX) || \ -+#if defined(OS_WIN) || defined(OS_MAC) || defined(OS_LINUX) || defined(OS_BSD) || \ - defined(OS_CHROMEOS) + #if defined(OS_WIN) || defined(OS_MAC) || defined(OS_LINUX) || \ +- defined(OS_CHROMEOS) ++ defined(OS_CHROMEOS) || defined(OS_BSD) #include "chrome/browser/ui/webui/discards/discards.mojom.h" #include "chrome/browser/ui/webui/discards/discards_ui.h" -@@ -648,7 +648,7 @@ void PopulateChromeFrameBinders( - base::BindRepeating(&BindSpeechRecognitionRecognizerClientHandler)); + #include "chrome/browser/ui/webui/discards/site_data.mojom.h" +@@ -654,7 +654,7 @@ void PopulateChromeFrameBinders( #endif --#if defined(OS_WIN) || defined(OS_MAC) || defined(OS_LINUX) || \ -+#if defined(OS_WIN) || defined(OS_MAC) || defined(OS_LINUX) || defined(OS_BSD) || \ - defined(OS_CHROMEOS) + #if defined(OS_WIN) || defined(OS_MAC) || defined(OS_LINUX) || \ +- defined(OS_CHROMEOS) ++ defined(OS_CHROMEOS) || defined(OS_BSD) if (!render_frame_host->GetParent()) { map->Add( -@@ -656,7 +656,7 @@ void PopulateChromeFrameBinders( - } + base::BindRepeating(&DraggableRegionsHostImpl::CreateIfAllowed)); +@@ -662,7 +662,7 @@ void PopulateChromeFrameBinders( #endif --#if defined(OS_CHROMEOS) || defined(OS_LINUX) || defined(OS_MAC) || \ -+#if defined(OS_CHROMEOS) || defined(OS_LINUX) || defined(OS_MAC) || defined(OS_BSD) || \ - defined(OS_WIN) + #if defined(OS_CHROMEOS) || defined(OS_LINUX) || defined(OS_MAC) || \ +- defined(OS_WIN) ++ defined(OS_WIN) || defined(OS_BSD) if (base::FeatureList::IsEnabled(blink::features::kDesktopPWAsSubApps) && !render_frame_host->GetParent()) { -@@ -691,7 +691,7 @@ void PopulateChromeWebUIFrameBinders( - RegisterWebUIControllerInterfaceBinder(map); + map->Add( +@@ -702,7 +702,7 @@ void PopulateChromeWebUIFrameBinders( + SegmentationInternalsUI>(map); --#if defined(OS_WIN) || defined(OS_MAC) || defined(OS_LINUX) || \ -+#if defined(OS_WIN) || defined(OS_MAC) || defined(OS_LINUX) || defined(OS_BSD) || \ - BUILDFLAG(IS_CHROMEOS_ASH) + #if defined(OS_WIN) || defined(OS_MAC) || defined(OS_LINUX) || \ +- BUILDFLAG(IS_CHROMEOS_ASH) ++ BUILDFLAG(IS_CHROMEOS_ASH) || defined(OS_BSD) RegisterWebUIControllerInterfaceBinder< connectors_internals::mojom::PageHandler, -@@ -981,7 +981,7 @@ void PopulateChromeWebUIFrameBinders( - } + enterprise_connectors::ConnectorsInternalsUI>(map); +@@ -1003,7 +1003,7 @@ void PopulateChromeWebUIFrameBinders( #endif --#if defined(OS_WIN) || defined(OS_MAC) || defined(OS_LINUX) || \ -+#if defined(OS_WIN) || defined(OS_MAC) || defined(OS_LINUX) || defined(OS_BSD) || \ - defined(OS_CHROMEOS) + #if defined(OS_WIN) || defined(OS_MAC) || defined(OS_LINUX) || \ +- defined(OS_CHROMEOS) ++ defined(OS_CHROMEOS) || defined(OS_BSD) RegisterWebUIControllerInterfaceBinder(map); + diff --git a/www/chromium/files/patch-chrome_browser_chrome__browser__main.cc b/www/chromium/files/patch-chrome_browser_chrome__browser__main.cc index 1a6abd9da1e9..995770294b88 100644 --- a/www/chromium/files/patch-chrome_browser_chrome__browser__main.cc +++ b/www/chromium/files/patch-chrome_browser_chrome__browser__main.cc @@ -1,54 +1,52 @@ ---- chrome/browser/chrome_browser_main.cc.orig 2021-12-14 11:44:57 UTC +--- chrome/browser/chrome_browser_main.cc.orig 2022-02-07 13:39:41 UTC +++ chrome/browser/chrome_browser_main.cc -@@ -261,7 +261,7 @@ +@@ -224,11 +224,11 @@ + + // TODO(crbug.com/1052397): Revisit the macro expression once build flag switch + // of lacros-chrome is complete. +-#if defined(OS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS) ++#if defined(OS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS) || defined(OS_BSD) + #include "chrome/browser/first_run/upgrade_util_linux.h" + #endif // defined(OS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS) + +-#if defined(OS_LINUX) || defined(OS_CHROMEOS) ++#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD) + #include "components/crash/core/app/breakpad_linux.h" + #include "components/crash/core/app/crashpad.h" + #endif +@@ -263,7 +263,7 @@ + // TODO(crbug.com/1052397): Revisit the macro expression once build flag switch // of lacros-chrome is complete. - #if defined(OS_WIN) || defined(OS_MAC) || \ -- (defined(OS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS)) -+ (defined(OS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS)) || defined(OS_BSD) +-#if defined(OS_WIN) || defined(OS_MAC) || \ ++#if defined(OS_WIN) || defined(OS_MAC) || defined(OS_BSD) || \ + (defined(OS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS)) #include "chrome/browser/metrics/desktop_session_duration/desktop_session_duration_tracker.h" #include "chrome/browser/metrics/desktop_session_duration/touch_mode_stats_tracker.h" - #include "chrome/browser/profiles/profile_activity_metrics_recorder.h" -@@ -951,7 +951,7 @@ int ChromeBrowserMainParts::PreCreateThreadsImpl() { +@@ -949,7 +949,7 @@ int ChromeBrowserMainParts::PreCreateThreadsImpl() { AddFirstRunNewTabs(browser_creator_.get(), master_prefs_->new_tabs); } -#if defined(OS_MAC) || defined(OS_LINUX) || defined(OS_CHROMEOS) +#if defined(OS_MAC) || defined(OS_LINUX) || defined(OS_CHROMEOS) || 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 . -@@ -960,7 +960,7 @@ int ChromeBrowserMainParts::PreCreateThreadsImpl() { - &user_native_messaging_dir)); - if (!base::PathExists(user_native_messaging_dir)) - base::CreateDirectory(user_native_messaging_dir); --#endif // defined(OS_MAC) || defined(OS_LINUX) || defined(OS_CHROMEOS) -+#endif // defined(OS_MAC) || defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD) +@@ -962,7 +962,7 @@ int ChromeBrowserMainParts::PreCreateThreadsImpl() { } #endif // !defined(OS_ANDROID) && !BUILDFLAG(IS_CHROMEOS_ASH) -@@ -985,7 +985,7 @@ int ChromeBrowserMainParts::PreCreateThreadsImpl() { +-#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_OPENBSD) ++#if defined(OS_LINUX) || defined(OS_CHROMEOS) + // Set the product channel for crash reports. + if (!crash_reporter::IsCrashpadEnabled()) { + breakpad::SetChannelCrashKey( +@@ -982,7 +982,7 @@ int ChromeBrowserMainParts::PreCreateThreadsImpl() { + // TODO(crbug.com/1052397): Revisit the macro expression once build flag switch // of lacros-chrome is complete. - #if defined(OS_WIN) || defined(OS_MAC) || \ -- (defined(OS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS)) -+ (defined(OS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS)) || defined(OS_BSD) +-#if defined(OS_WIN) || defined(OS_MAC) || \ ++#if defined(OS_WIN) || defined(OS_MAC) || defined(OS_BSD) || \ + (defined(OS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS)) metrics::DesktopSessionDurationTracker::Initialize(); ProfileActivityMetricsRecorder::Initialize(); - TouchModeStatsTracker::Initialize( -@@ -1177,6 +1177,7 @@ void ChromeBrowserMainParts::PostBrowserStart() { - base::Minutes(1)); - - #if !defined(OS_ANDROID) -+#if !defined(OS_BSD) - if (base::FeatureList::IsEnabled(features::kWebUsb)) { - web_usb_detector_ = std::make_unique(); - content::GetUIThreadTaskRunner({base::TaskPriority::BEST_EFFORT}) -@@ -1184,6 +1185,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/chromium/files/patch-chrome_browser_chrome__browser__main__extra__parts__linux.cc b/www/chromium/files/patch-chrome_browser_chrome__browser__main__extra__parts__linux.cc index c32fc3dbf5dd..bfe5cf2b7ccc 100644 --- a/www/chromium/files/patch-chrome_browser_chrome__browser__main__extra__parts__linux.cc +++ b/www/chromium/files/patch-chrome_browser_chrome__browser__main__extra__parts__linux.cc @@ -1,20 +1,11 @@ ---- chrome/browser/chrome_browser_main_extra_parts_linux.cc.orig 2022-01-21 13:07:37 UTC +--- chrome/browser/chrome_browser_main_extra_parts_linux.cc.orig 2022-02-07 13:39:41 UTC +++ chrome/browser/chrome_browser_main_extra_parts_linux.cc @@ -120,7 +120,7 @@ ChromeBrowserMainExtraPartsLinux::ChromeBrowserMainExt ChromeBrowserMainExtraPartsLinux::~ChromeBrowserMainExtraPartsLinux() = default; void ChromeBrowserMainExtraPartsLinux::PreEarlyInitialization() { -#if defined(OS_LINUX) +#if defined(OS_LINUX) || defined(OS_BSD) // On the desktop, we fix the platform name if necessary. // See https://crbug.com/1246928. auto* const command_line = base::CommandLine::ForCurrentProcess(); -@@ -132,7 +132,7 @@ void ChromeBrowserMainExtraPartsLinux::PreEarlyInitial - switches::kOzonePlatform, MaybeFixPlatformName(ozone_platform_hint)); - } - } --#endif // defined(OS_LINUX) -+#endif // defined(OS_LINUX) || defined(OS_BSD) - - ChromeBrowserMainExtraPartsOzone::PreEarlyInitialization(); - } diff --git a/www/chromium/files/patch-chrome_browser_chrome__browser__main__linux.cc b/www/chromium/files/patch-chrome_browser_chrome__browser__main__linux.cc index 45816bbd09d5..fa6f25a6beab 100644 --- a/www/chromium/files/patch-chrome_browser_chrome__browser__main__linux.cc +++ b/www/chromium/files/patch-chrome_browser_chrome__browser__main__linux.cc @@ -1,52 +1,20 @@ ---- chrome/browser/chrome_browser_main_linux.cc.orig 2022-01-20 10:35:49 UTC +--- chrome/browser/chrome_browser_main_linux.cc.orig 2022-02-07 13:39:41 UTC +++ chrome/browser/chrome_browser_main_linux.cc -@@ -30,7 +30,7 @@ - #include "chrome/installer/util/google_update_settings.h" - #endif - --#if defined(USE_DBUS) && !defined(OS_CHROMEOS) -+#if defined(USE_DBUS) && !defined(OS_CHROMEOS) && !defined(OS_BSD) - #include "chrome/browser/dbus_memory_pressure_evaluator_linux.h" - #endif - -@@ -54,12 +54,14 @@ ChromeBrowserMainPartsLinux::~ChromeBrowserMainPartsLi - - void ChromeBrowserMainPartsLinux::PreProfileInit() { - #if !BUILDFLAG(IS_CHROMEOS_ASH) -+#if !defined(OS_BSD) - // Needs to be called after we have chrome::DIR_USER_DATA and - // g_browser_process. This happens in PreCreateThreads. - // base::GetLinuxDistro() will initialize its value if needed. - base::ThreadPool::PostTask( - FROM_HERE, {base::MayBlock(), base::TaskPriority::BEST_EFFORT}, - base::BindOnce(base::IgnoreResult(&base::GetLinuxDistro))); -+#endif - - // Set up crypt config. This should be kept in sync with the OSCrypt parts of - // SystemNetworkContextManager::OnNetworkServiceCreated. -@@ -82,14 +84,14 @@ void ChromeBrowserMainPartsLinux::PreProfileInit() { +@@ -86,7 +86,7 @@ void ChromeBrowserMainPartsLinux::PreProfileInit() { } void ChromeBrowserMainPartsLinux::PostCreateMainMessageLoop() { --#if !BUILDFLAG(IS_CHROMEOS_ASH) -+#if !BUILDFLAG(IS_CHROMEOS_ASH) && !defined(OS_BSD) - bluez::BluezDBusManager::Initialize(nullptr /* system_bus */); - #endif - - ChromeBrowserMainPartsPosix::PostCreateMainMessageLoop(); - } - --#if defined(USE_DBUS) && !defined(OS_CHROMEOS) -+#if defined(USE_DBUS) && !defined(OS_CHROMEOS) && !defined(OS_BSD) - void ChromeBrowserMainPartsLinux::PostBrowserStart() { - // static_cast is safe because this is the only implementation of - // MemoryPressureMonitor. -@@ -108,7 +110,7 @@ void ChromeBrowserMainPartsLinux::PostBrowserStart() { - #endif +-#if BUILDFLAG(IS_CHROMEOS_ASH) || BUILDFLAG(IS_CHROMEOS_LACROS) ++#if BUILDFLAG(IS_CHROMEOS_ASH) || BUILDFLAG(IS_CHROMEOS_LACROS) || defined(OS_BSD) + // No-op: Ash and Lacros Bluetooth DBusManager initialization depend on + // FeatureList, and is done elsewhere. + #else +@@ -115,7 +115,7 @@ void ChromeBrowserMainPartsLinux::PostBrowserStart() { + #endif // defined(USE_DBUS) && !defined(OS_CHROMEOS) void ChromeBrowserMainPartsLinux::PostDestroyThreads() { --#if !BUILDFLAG(IS_CHROMEOS_ASH) -+#if !BUILDFLAG(IS_CHROMEOS_ASH) && !defined(OS_BSD) +-#if BUILDFLAG(IS_CHROMEOS_ASH) || BUILDFLAG(IS_CHROMEOS_LACROS) ++#if BUILDFLAG(IS_CHROMEOS_ASH) || BUILDFLAG(IS_CHROMEOS_LACROS) || defined(OS_BSD) + // No-op; per PostBrowserStart() comment, this is done elsewhere. + #else bluez::BluezDBusManager::Shutdown(); - bluez::BluezDBusThreadManager::Shutdown(); - #endif diff --git a/www/chromium/files/patch-chrome_browser_chrome__browser__main__linux.h b/www/chromium/files/patch-chrome_browser_chrome__browser__main__linux.h deleted file mode 100644 index 54db44854aa0..000000000000 --- a/www/chromium/files/patch-chrome_browser_chrome__browser__main__linux.h +++ /dev/null @@ -1,11 +0,0 @@ ---- chrome/browser/chrome_browser_main_linux.h.orig 2022-01-04 12:26:19 UTC -+++ chrome/browser/chrome_browser_main_linux.h -@@ -25,7 +25,7 @@ class ChromeBrowserMainPartsLinux : public ChromeBrows - // ChromeBrowserMainParts overrides. - void PreProfileInit() override; - void PostCreateMainMessageLoop() override; --#if defined(USE_DBUS) && !defined(OS_CHROMEOS) -+#if defined(USE_DBUS) && !defined(OS_CHROMEOS) && !defined(OS_BSD) - // Only needed for native Linux, to set up the low-memory-monitor-based memory - // monitoring (which depends on D-Bus). - void PostBrowserStart() override; diff --git a/www/chromium/files/patch-chrome_browser_chrome__browser__main__posix.cc b/www/chromium/files/patch-chrome_browser_chrome__browser__main__posix.cc index 2120e9f3b806..f1af0f25cc94 100644 --- a/www/chromium/files/patch-chrome_browser_chrome__browser__main__posix.cc +++ b/www/chromium/files/patch-chrome_browser_chrome__browser__main__posix.cc @@ -1,11 +1,11 @@ ---- chrome/browser/chrome_browser_main_posix.cc.orig 2021-12-14 11:44:57 UTC +--- chrome/browser/chrome_browser_main_posix.cc.orig 2022-02-07 13:39:41 UTC +++ chrome/browser/chrome_browser_main_posix.cc -@@ -73,7 +73,7 @@ void ExitHandler::ExitWhenPossibleOnUIThread(int signa +@@ -72,7 +72,7 @@ void ExitHandler::ExitWhenPossibleOnUIThread(int signa } else { // TODO(crbug.com/1052397): Revisit the macro expression once build flag switch // of lacros-chrome is complete. -#if defined(OS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS) +#if defined(OS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS) || defined(OS_BSD) switch (signal) { case SIGINT: case SIGHUP: diff --git a/www/chromium/files/patch-chrome_browser_chrome__content__browser__client.cc b/www/chromium/files/patch-chrome_browser_chrome__content__browser__client.cc index 96b5f8e3768a..20ddbcd0d54d 100644 --- a/www/chromium/files/patch-chrome_browser_chrome__content__browser__client.cc +++ b/www/chromium/files/patch-chrome_browser_chrome__content__browser__client.cc @@ -1,139 +1,136 @@ ---- chrome/browser/chrome_content_browser_client.cc.orig 2022-01-20 10:35:49 UTC +--- chrome/browser/chrome_content_browser_client.cc.orig 2022-02-07 13:39:41 UTC +++ chrome/browser/chrome_content_browser_client.cc -@@ -368,7 +368,7 @@ +@@ -373,7 +373,7 @@ #include "components/user_manager/user_manager.h" #include "services/service_manager/public/mojom/interface_provider_spec.mojom.h" #include "storage/browser/file_system/external_mount_points.h" -#elif defined(OS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS) +#elif defined(OS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS) || defined(OS_BSD) #include "chrome/browser/chrome_browser_main_linux.h" #elif defined(OS_ANDROID) #include "base/android/application_status_listener.h" -@@ -432,7 +432,7 @@ +@@ -437,17 +437,17 @@ + // TODO(crbug.com/1052397): Revisit the macro expression once build flag switch // of lacros-chrome is complete. - #if defined(OS_WIN) || defined(OS_MAC) || \ -- (defined(OS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS)) -+ (defined(OS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS)) || defined(OS_BSD) +-#if defined(OS_WIN) || defined(OS_MAC) || \ ++#if defined(OS_WIN) || defined(OS_MAC) || defined(OS_BSD) || \ + (defined(OS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS)) #include "chrome/browser/browser_switcher/browser_switcher_navigation_throttle.h" #endif -@@ -449,10 +449,10 @@ - #include "components/crash/content/browser/crash_handler_host_linux.h" +-#if defined(OS_LINUX) || defined(OS_CHROMEOS) ++#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD) + #include "components/crash/core/app/crash_switches.h" + #include "components/crash/core/app/crashpad.h" + #endif + +-#if defined(OS_POSIX) && !defined(OS_MAC) ++#if defined(OS_POSIX) && !defined(OS_MAC) && !defined(OS_BSD) + #if !defined(OS_ANDROID) + #include "base/debug/leak_annotations.h" + #include "components/crash/core/app/breakpad_linux.h" +@@ -456,7 +456,7 @@ #endif --#if defined(OS_LINUX) || defined(OS_MAC) || defined(OS_WIN) || \ -+#if defined(OS_LINUX) || defined(OS_MAC) || defined(OS_WIN) || defined(OS_BSD) || \ - BUILDFLAG(IS_CHROMEOS_ASH) + #if defined(OS_LINUX) || defined(OS_MAC) || defined(OS_WIN) || \ +- BUILDFLAG(IS_CHROMEOS_ASH) ++ BUILDFLAG(IS_CHROMEOS_ASH) || defined(OS_BSD) #include "chrome/browser/enterprise/connectors/device_trust/navigation_throttle.h" --#endif // defined(OS_LINUX) || defined(OS_MAC) || defined(OS_WIN) || -+#endif // defined(OS_LINUX) || defined(OS_MAC) || defined(OS_WIN) || defined(OS_BSD) || + #endif // defined(OS_LINUX) || defined(OS_MAC) || defined(OS_WIN) || // BUILDFLAG(IS_CHROMEOS_ASH) - - // TODO(crbug.com/939205): Once the upcoming App Service is available, use a -@@ -471,11 +471,11 @@ +@@ -478,11 +478,11 @@ // TODO(crbug.com/1052397): Revisit the macro expression once build flag switch // of lacros-chrome is complete. -#if defined(OS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS) +#if defined(OS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS) || defined(OS_BSD) #include "chrome/browser/ui/views/chrome_browser_main_extra_parts_views_linux.h" #endif -#if defined(OS_LINUX) +#if defined(OS_LINUX) || defined(OS_BSD) #include "chrome/browser/chrome_browser_main_extra_parts_linux.h" #elif defined(USE_OZONE) #include "chrome/browser/chrome_browser_main_extra_parts_ozone.h" -@@ -875,11 +875,13 @@ breakpad::CrashHandlerHostLinux* CreateCrashHandlerHos - } - +@@ -866,7 +866,7 @@ blink::mojom::AutoplayPolicy GetAutoplayPolicyForWebCo 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)) { -@@ -1349,7 +1351,7 @@ ChromeContentBrowserClient::CreateBrowserMainParts( + return crashpad::CrashHandlerHost::Get()->GetDeathSignalSocket(); + } +-#elif defined(OS_POSIX) && !defined(OS_MAC) ++#elif defined(OS_POSIX) && !defined(OS_MAC) && !defined(OS_BSD) + breakpad::CrashHandlerHostLinux* CreateCrashHandlerHost( + const std::string& process_type) { + base::FilePath dumps_path; +@@ -1361,7 +1361,7 @@ ChromeContentBrowserClient::CreateBrowserMainParts( #elif BUILDFLAG(IS_CHROMEOS_LACROS) - main_parts = std::make_unique(parameters, - &startup_data_); + main_parts = std::make_unique( + std::move(parameters), &startup_data_); -#elif defined(OS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS) +#elif defined(OS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS) || defined(OS_BSD) - main_parts = - std::make_unique(parameters, &startup_data_); + main_parts = std::make_unique( + std::move(parameters), &startup_data_); #elif defined(OS_ANDROID) -@@ -1383,7 +1385,7 @@ ChromeContentBrowserClient::CreateBrowserMainParts( +@@ -1395,7 +1395,7 @@ ChromeContentBrowserClient::CreateBrowserMainParts( std::make_unique()); // TODO(crbug.com/1052397): Revisit the macro expression once build flag switch // of lacros-chrome is complete. -#elif defined(OS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS) +#elif defined(OS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS) || defined(OS_BSD) main_parts->AddParts( std::make_unique()); #else -@@ -1400,7 +1402,7 @@ ChromeContentBrowserClient::CreateBrowserMainParts( +@@ -1412,7 +1412,7 @@ ChromeContentBrowserClient::CreateBrowserMainParts( main_parts->AddParts(std::make_unique()); #endif -#if defined(OS_LINUX) +#if defined(OS_LINUX) || defined(OS_BSD) main_parts->AddParts(std::make_unique()); #elif defined(USE_OZONE) main_parts->AddParts(std::make_unique()); -@@ -2176,7 +2178,7 @@ void ChromeContentBrowserClient::AppendExtraCommandLin - command_line->AppendSwitchASCII(switches::kMetricsClientID, - client_info->client_id); - } --#elif defined(OS_POSIX) -+#elif defined(OS_POSIX) && !defined(OS_BSD) +@@ -2184,6 +2184,8 @@ void ChromeContentBrowserClient::AppendExtraCommandLin + #elif defined(OS_POSIX) #if defined(OS_ANDROID) bool enable_crash_reporter = true; ++#elif defined(OS_BSD) ++ bool enable_crash_reporter = false; #else -@@ -3834,7 +3836,7 @@ void ChromeContentBrowserClient::GetAdditionalFileSyst + bool enable_crash_reporter = false; + if (crash_reporter::IsCrashpadEnabled()) { +@@ -2497,7 +2499,7 @@ void ChromeContentBrowserClient::AppendExtraCommandLin + ThreadProfilerConfiguration::Get()->AppendCommandLineSwitchForChildProcess( + command_line); + +-#if defined(OS_LINUX) || defined(OS_CHROMEOS) ++#if defined(OS_LINUX) || defined(OS_CHROMEOS) || 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(sandbox::policy::switches::kNoSandbox)) { +@@ -3858,7 +3860,7 @@ void ChromeContentBrowserClient::GetAdditionalFileSyst } } -#if defined(OS_POSIX) && !defined(OS_MAC) +#if defined(OS_POSIX) && !defined(OS_MAC) && !defined(OS_BSD) void ChromeContentBrowserClient::GetAdditionalMappedFilesForChildProcess( const base::CommandLine& command_line, int child_process_id, -@@ -3869,7 +3871,7 @@ void ChromeContentBrowserClient::GetAdditionalMappedFi - mappings->Share(kCrashDumpSignal, crash_signal_fd); +@@ -4266,7 +4268,7 @@ ChromeContentBrowserClient::CreateThrottlesForNavigati } - } --#endif // defined(OS_POSIX) && !defined(OS_MAC) -+#endif // defined(OS_POSIX) && !defined(OS_MAC) && !defined(OS_BSD) - #if defined(OS_WIN) - std::wstring ChromeContentBrowserClient::GetAppContainerSidForSandboxType( -@@ -4242,12 +4244,12 @@ ChromeContentBrowserClient::CreateThrottlesForNavigati - &throttles); - } - --#if defined(OS_LINUX) || defined(OS_MAC) || defined(OS_WIN) || \ -+#if defined(OS_LINUX) || defined(OS_MAC) || defined(OS_WIN) || defined(OS_BSD) || \ - BUILDFLAG(IS_CHROMEOS_ASH) + #if defined(OS_LINUX) || defined(OS_MAC) || defined(OS_WIN) || \ +- BUILDFLAG(IS_CHROMEOS_ASH) ++ BUILDFLAG(IS_CHROMEOS_ASH) || defined(OS_BSD) MaybeAddThrottle(enterprise_connectors::DeviceTrustNavigationThrottle:: MaybeCreateThrottleFor(handle), &throttles); --#endif // defined(OS_LINUX) || defined(OS_MAC) || defined(OS_WIN) || -+#endif // defined(OS_LINUX) || defined(OS_MAC) || defined(OS_WIN) || defined(OS_BSD) || - // BUILDFLAG(IS_CHROMEOS_ASH) +@@ -4299,7 +4301,7 @@ ChromeContentBrowserClient::CreateThrottlesForNavigati - #if !defined(OS_ANDROID) -@@ -4277,7 +4279,7 @@ ChromeContentBrowserClient::CreateThrottlesForNavigati // TODO(crbug.com/1052397): Revisit the macro expression once build flag switch // of lacros-chrome is complete. - #if defined(OS_WIN) || defined(OS_MAC) || \ -- (defined(OS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS)) -+ (defined(OS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS)) || defined(OS_BSD) +-#if defined(OS_WIN) || defined(OS_MAC) || \ ++#if defined(OS_WIN) || defined(OS_MAC) || defined(OS_BSD) || \ + (defined(OS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS)) MaybeAddThrottle(browser_switcher::BrowserSwitcherNavigationThrottle:: MaybeCreateThrottleFor(handle), - &throttles); diff --git a/www/chromium/files/patch-chrome_browser_chrome__content__browser__client.h b/www/chromium/files/patch-chrome_browser_chrome__content__browser__client.h index 45dad5690887..4c3aff5fb455 100644 --- a/www/chromium/files/patch-chrome_browser_chrome__content__browser__client.h +++ b/www/chromium/files/patch-chrome_browser_chrome__content__browser__client.h @@ -1,17 +1,11 @@ ---- chrome/browser/chrome_content_browser_client.h.orig 2021-12-31 00:57:22 UTC +--- chrome/browser/chrome_content_browser_client.h.orig 2022-02-07 13:39:41 UTC +++ chrome/browser/chrome_content_browser_client.h -@@ -405,12 +405,12 @@ class ChromeContentBrowserClient : public content::Con +@@ -412,7 +412,7 @@ class ChromeContentBrowserClient : public content::Con void OverridePageVisibilityState( content::RenderFrameHost* render_frame_host, content::PageVisibilityState* visibility_state) override; -#if defined(OS_POSIX) && !defined(OS_MAC) +#if defined(OS_POSIX) && !defined(OS_MAC) && !defined(OS_BSD) void GetAdditionalMappedFilesForChildProcess( const base::CommandLine& command_line, int child_process_id, - content::PosixFileDescriptorInfo* mappings) override; --#endif // defined(OS_POSIX) && !defined(OS_MAC) -+#endif // defined(OS_POSIX) && !defined(OS_MAC) && !defined(OS_BSD) - #if defined(OS_WIN) - bool PreSpawnChild(sandbox::TargetPolicy* policy, - sandbox::mojom::Sandbox sandbox_type, diff --git a/www/chromium/files/patch-chrome_browser_custom__handlers_protocol__handler__registry.cc b/www/chromium/files/patch-chrome_browser_custom__handlers_chrome__protocol__handler__registry__delegate.cc similarity index 56% rename from www/chromium/files/patch-chrome_browser_custom__handlers_protocol__handler__registry.cc rename to www/chromium/files/patch-chrome_browser_custom__handlers_chrome__protocol__handler__registry__delegate.cc index c3057e9a82c1..89bbf2da0605 100644 --- a/www/chromium/files/patch-chrome_browser_custom__handlers_protocol__handler__registry.cc +++ b/www/chromium/files/patch-chrome_browser_custom__handlers_chrome__protocol__handler__registry__delegate.cc @@ -1,11 +1,11 @@ ---- chrome/browser/custom_handlers/protocol_handler_registry.cc.orig 2021-07-19 18:45:08 UTC -+++ chrome/browser/custom_handlers/protocol_handler_registry.cc -@@ -45,7 +45,7 @@ const ProtocolHandler& LookupHandler( +--- chrome/browser/custom_handlers/chrome_protocol_handler_registry_delegate.cc.orig 2022-02-07 13:39:41 UTC ++++ chrome/browser/custom_handlers/chrome_protocol_handler_registry_delegate.cc +@@ -69,7 +69,7 @@ void ChromeProtocolHandlerRegistryDelegate::CheckDefau // If true default protocol handlers will be removed if the OS level // registration for a protocol is no longer Chrome. - bool ShouldRemoveHandlersNotInOS() { + bool ChromeProtocolHandlerRegistryDelegate::ShouldRemoveHandlersNotInOS() { -#if defined(OS_LINUX) || defined(OS_CHROMEOS) +#if defined(OS_LINUX) || defined(OS_CHROMEOS) || 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/chromium/files/patch-chrome_browser_device__identity_device__oauth2__token__service__factory.cc b/www/chromium/files/patch-chrome_browser_device__identity_device__oauth2__token__service__factory.cc index 760429d26258..e3a763d30322 100644 --- a/www/chromium/files/patch-chrome_browser_device__identity_device__oauth2__token__service__factory.cc +++ b/www/chromium/files/patch-chrome_browser_device__identity_device__oauth2__token__service__factory.cc @@ -1,11 +1,11 @@ ---- chrome/browser/device_identity/device_oauth2_token_service_factory.cc.orig 2021-12-31 00:57:22 UTC +--- chrome/browser/device_identity/device_oauth2_token_service_factory.cc.orig 2022-02-07 13:39:41 UTC +++ chrome/browser/device_identity/device_oauth2_token_service_factory.cc @@ -28,7 +28,7 @@ std::unique_ptr CreatePlatform return std::make_unique( local_state); - #elif defined(OS_WIN) || defined(OS_MAC) || \ + #elif defined(OS_WIN) || defined(OS_MAC) || defined(OS_FUCHSIA) || \ - (defined(OS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS)) + (defined(OS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS)) || defined(OS_BSD) return std::make_unique(local_state); #else NOTREACHED(); diff --git a/www/chromium/files/patch-chrome_browser_devtools_devtools__eye__dropper.cc b/www/chromium/files/patch-chrome_browser_devtools_devtools__eye__dropper.cc index 74f4a680a644..a4fdabda91cb 100644 --- a/www/chromium/files/patch-chrome_browser_devtools_devtools__eye__dropper.cc +++ b/www/chromium/files/patch-chrome_browser_devtools_devtools__eye__dropper.cc @@ -1,11 +1,11 @@ ---- chrome/browser/devtools/devtools_eye_dropper.cc.orig 2021-12-14 11:44:58 UTC +--- chrome/browser/devtools/devtools_eye_dropper.cc.orig 2022-02-07 13:39:41 UTC +++ chrome/browser/devtools/devtools_eye_dropper.cc -@@ -187,7 +187,7 @@ void DevToolsEyeDropper::UpdateCursor() { +@@ -186,7 +186,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) || defined(OS_CHROMEOS) +#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD) const float kCursorSize = 63; const float kDiameter = 63; const float kHotspotOffset = 32; diff --git a/www/chromium/files/patch-chrome_browser_diagnostics_diagnostics__writer.h b/www/chromium/files/patch-chrome_browser_diagnostics_diagnostics__writer.h index 0940068eb221..43c1038a8248 100644 --- a/www/chromium/files/patch-chrome_browser_diagnostics_diagnostics__writer.h +++ b/www/chromium/files/patch-chrome_browser_diagnostics_diagnostics__writer.h @@ -1,11 +1,11 @@ ---- chrome/browser/diagnostics/diagnostics_writer.h.orig 2021-04-14 18:40:53 UTC +--- chrome/browser/diagnostics/diagnostics_writer.h.orig 2022-02-07 13:39:41 UTC +++ chrome/browser/diagnostics/diagnostics_writer.h -@@ -15,6 +15,8 @@ namespace diagnostics { +@@ -14,6 +14,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/chromium/files/patch-chrome_browser_download_chrome__download__manager__delegate.cc b/www/chromium/files/patch-chrome_browser_download_chrome__download__manager__delegate.cc index 6a9fdc99e09c..2fe459b66614 100644 --- a/www/chromium/files/patch-chrome_browser_download_chrome__download__manager__delegate.cc +++ b/www/chromium/files/patch-chrome_browser_download_chrome__download__manager__delegate.cc @@ -1,47 +1,47 @@ ---- chrome/browser/download/chrome_download_manager_delegate.cc.orig 2021-12-31 00:57:22 UTC +--- chrome/browser/download/chrome_download_manager_delegate.cc.orig 2022-02-07 13:39:41 UTC +++ chrome/browser/download/chrome_download_manager_delegate.cc -@@ -1540,7 +1540,7 @@ void ChromeDownloadManagerDelegate::OnDownloadTargetDe +@@ -1539,7 +1539,7 @@ void ChromeDownloadManagerDelegate::OnDownloadTargetDe target_info->is_filetype_handled_safely) DownloadItemModel(item).SetShouldPreferOpeningInBrowser(true); -#if defined(OS_LINUX) || defined(OS_CHROMEOS) +#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD) if (item->GetOriginalMimeType() == "application/x-x509-user-cert") DownloadItemModel(item).SetShouldPreferOpeningInBrowser(true); #endif @@ -1608,7 +1608,7 @@ void ChromeDownloadManagerDelegate::OnDownloadTargetDe - bool ChromeDownloadManagerDelegate::IsOpenInBrowserPreferreredForFile( const base::FilePath& path) { --#if defined(OS_WIN) || defined(OS_LINUX) || defined(OS_CHROMEOS) || \ -+#if defined(OS_WIN) || defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD) || \ - defined(OS_MAC) + #if defined(OS_WIN) || defined(OS_LINUX) || defined(OS_CHROMEOS) || \ +- defined(OS_MAC) ++ defined(OS_MAC) || defined(OS_BSD) if (path.MatchesExtension(FILE_PATH_LITERAL(".pdf"))) { return !download_prefs_->ShouldOpenPdfInSystemReader(); + } @@ -1716,7 +1716,7 @@ void ChromeDownloadManagerDelegate::CheckDownloadAllow - bool content_initiated, content::CheckDownloadAllowedCallback check_download_allowed_cb) { DCHECK_CURRENTLY_ON(BrowserThread::UI); --#if defined(OS_WIN) || defined(OS_LINUX) || defined(OS_CHROMEOS) || \ -+#if defined(OS_WIN) || defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD) || \ - defined(OS_MAC) + #if defined(OS_WIN) || defined(OS_LINUX) || defined(OS_CHROMEOS) || \ +- defined(OS_MAC) ++ defined(OS_MAC) || defined(OS_BSD) // Don't download pdf if it is a file URL, as that might cause an infinite // download loop if Chrome is not the system pdf viewer. -@@ -1758,7 +1758,7 @@ ChromeDownloadManagerDelegate::GetQuarantineConnection - std::unique_ptr + if (url.SchemeIsFile() && download_prefs_->ShouldOpenPdfInSystemReader()) { +@@ -1758,7 +1758,7 @@ std::unique_ptr ChromeDownloadManagerDelegate::GetRenameHandlerForDownload( download::DownloadItem* download_item) { --#if defined(OS_WIN) || defined(OS_LINUX) || defined(OS_CHROMEOS) || \ -+#if defined(OS_WIN) || defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD) || \ - defined(OS_MAC) + #if defined(OS_WIN) || defined(OS_LINUX) || defined(OS_CHROMEOS) || \ +- defined(OS_MAC) ++ defined(OS_MAC) || defined(OS_BSD) return enterprise_connectors::FileSystemRenameHandler::CreateIfNeeded( download_item); + #else @@ -1774,7 +1774,7 @@ void ChromeDownloadManagerDelegate::CheckSavePackageAl - DCHECK(download_item); DCHECK(download_item->IsSavePackageDownload()); --#if defined(OS_WIN) || defined(OS_LINUX) || defined(OS_CHROMEOS) || \ -+#if defined(OS_WIN) || defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD) || \ - defined(OS_MAC) + #if defined(OS_WIN) || defined(OS_LINUX) || defined(OS_CHROMEOS) || \ +- defined(OS_MAC) ++ defined(OS_MAC) || defined(OS_BSD) if (!base::FeatureList::IsEnabled( download::features::kAllowSavePackageScanning)) { + std::move(callback).Run(true); diff --git a/www/chromium/files/patch-chrome_browser_download_download__commands.cc b/www/chromium/files/patch-chrome_browser_download_download__commands.cc index 2302b7710b16..450356c57c46 100644 --- a/www/chromium/files/patch-chrome_browser_download_download__commands.cc +++ b/www/chromium/files/patch-chrome_browser_download_download__commands.cc @@ -1,29 +1,20 @@ ---- chrome/browser/download/download_commands.cc.orig 2021-12-14 11:44:58 UTC +--- chrome/browser/download/download_commands.cc.orig 2022-02-07 13:39:41 UTC +++ chrome/browser/download/download_commands.cc @@ -27,7 +27,7 @@ - #include "net/base/url_util.h" #include "ui/base/clipboard/scoped_clipboard_writer.h" --#if defined(OS_WIN) || defined(OS_LINUX) || defined(OS_CHROMEOS) || \ -+#if defined(OS_WIN) || defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD) || \ - defined(OS_MAC) || defined(OS_FUCHSIA) + #if defined(OS_WIN) || defined(OS_LINUX) || defined(OS_CHROMEOS) || \ +- defined(OS_MAC) || defined(OS_FUCHSIA) ++ defined(OS_MAC) || defined(OS_FUCHSIA) || 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" @@ -168,7 +168,7 @@ void DownloadCommands::ExecuteCommand(Command command) - model_->ExecuteCommand(this, command); } --#if defined(OS_WIN) || defined(OS_MAC) || defined(OS_LINUX) || \ -+#if defined(OS_WIN) || defined(OS_MAC) || defined(OS_LINUX) || defined(OS_BSD) || \ - defined(OS_CHROMEOS) || defined(OS_FUCHSIA) + #if defined(OS_WIN) || defined(OS_MAC) || defined(OS_LINUX) || \ +- defined(OS_CHROMEOS) || defined(OS_FUCHSIA) ++ defined(OS_CHROMEOS) || defined(OS_FUCHSIA) || defined(OS_BSD) Browser* DownloadCommands::GetBrowser() const { -@@ -203,7 +203,7 @@ bool DownloadCommands::CanOpenPdfInSystemViewer() cons - #endif - } - --#endif // defined(OS_WIN) || defined(OS_MAC) || defined(OS_LINUX) || -+#endif // defined(OS_WIN) || defined(OS_MAC) || defined(OS_LINUX) || defined(OS_BSD) || - // defined(OS_CHROMEOS) || defined(OS_FUCHSIA) - - void DownloadCommands::CopyFileAsImageToClipboard() { + if (!model_) diff --git a/www/chromium/files/patch-chrome_browser_download_download__commands.h b/www/chromium/files/patch-chrome_browser_download_download__commands.h index 93ddcbb5d39d..de608693e66a 100644 --- a/www/chromium/files/patch-chrome_browser_download_download__commands.h +++ b/www/chromium/files/patch-chrome_browser_download_download__commands.h @@ -1,11 +1,11 @@ ---- chrome/browser/download/download_commands.h.orig 2021-12-14 11:44:58 UTC +--- chrome/browser/download/download_commands.h.orig 2022-02-07 13:39:41 UTC +++ chrome/browser/download/download_commands.h -@@ -53,7 +53,7 @@ class DownloadCommands { - bool IsCommandVisible(Command command) const; +@@ -54,7 +54,7 @@ class DownloadCommands { void ExecuteCommand(Command command); --#if defined(OS_WIN) || defined(OS_LINUX) || defined(OS_CHROMEOS) || \ -+#if defined(OS_WIN) || defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD) || \ - defined(OS_MAC) || defined(OS_FUCHSIA) + #if defined(OS_WIN) || defined(OS_LINUX) || defined(OS_CHROMEOS) || \ +- defined(OS_MAC) || defined(OS_FUCHSIA) ++ defined(OS_MAC) || defined(OS_FUCHSIA) || defined(OS_BSD) bool IsDownloadPdf() const; bool CanOpenPdfInSystemViewer() const; + Browser* GetBrowser() const; diff --git a/www/chromium/files/patch-chrome_browser_download_download__item__model.cc b/www/chromium/files/patch-chrome_browser_download_download__item__model.cc index 7bacadd02603..a3f2e3a5db43 100644 --- a/www/chromium/files/patch-chrome_browser_download_download__item__model.cc +++ b/www/chromium/files/patch-chrome_browser_download_download__item__model.cc @@ -1,20 +1,20 @@ ---- chrome/browser/download/download_item_model.cc.orig 2021-12-14 11:44:58 UTC +--- chrome/browser/download/download_item_model.cc.orig 2022-02-07 13:39:41 UTC +++ chrome/browser/download/download_item_model.cc -@@ -634,7 +634,7 @@ bool DownloadItemModel::IsCommandChecked( - return download_->GetOpenWhenComplete() || +@@ -635,7 +635,7 @@ bool DownloadItemModel::IsCommandChecked( download_crx_util::IsExtensionDownload(*download_); case DownloadCommands::ALWAYS_OPEN_TYPE: --#if defined(OS_WIN) || defined(OS_LINUX) || defined(OS_CHROMEOS) || \ -+#if defined(OS_WIN) || defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD) || \ - defined(OS_MAC) + #if defined(OS_WIN) || defined(OS_LINUX) || defined(OS_CHROMEOS) || \ +- defined(OS_MAC) ++ defined(OS_MAC) || defined(OS_BSD) if (download_commands->CanOpenPdfInSystemViewer()) { DownloadPrefs* prefs = DownloadPrefs::FromBrowserContext(profile()); -@@ -675,7 +675,7 @@ void DownloadItemModel::ExecuteCommand(DownloadCommand - bool is_checked = IsCommandChecked(download_commands, + return prefs->ShouldOpenPdfInSystemReader(); +@@ -676,7 +676,7 @@ void DownloadItemModel::ExecuteCommand(DownloadCommand DownloadCommands::ALWAYS_OPEN_TYPE); DownloadPrefs* prefs = DownloadPrefs::FromBrowserContext(profile()); --#if defined(OS_WIN) || defined(OS_LINUX) || defined(OS_CHROMEOS) || \ -+#if defined(OS_WIN) || defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD) || \ - defined(OS_MAC) + #if defined(OS_WIN) || defined(OS_LINUX) || defined(OS_CHROMEOS) || \ +- defined(OS_MAC) ++ defined(OS_MAC) || defined(OS_BSD) if (download_commands->CanOpenPdfInSystemViewer()) { prefs->SetShouldOpenPdfInSystemReader(!is_checked); + SetShouldPreferOpeningInBrowser(is_checked); diff --git a/www/chromium/files/patch-chrome_browser_download_download__prefs.cc b/www/chromium/files/patch-chrome_browser_download_download__prefs.cc index 2cef52697eaf..09000d57351d 100644 --- a/www/chromium/files/patch-chrome_browser_download_download__prefs.cc +++ b/www/chromium/files/patch-chrome_browser_download_download__prefs.cc @@ -1,65 +1,97 @@ ---- chrome/browser/download/download_prefs.cc.orig 2021-12-31 00:57:22 UTC +--- chrome/browser/download/download_prefs.cc.orig 2022-02-07 13:39:41 UTC +++ chrome/browser/download/download_prefs.cc -@@ -70,7 +70,7 @@ namespace { +@@ -13,6 +13,7 @@ + #include "base/callback_helpers.h" + #include "base/check.h" + #include "base/cxx17_backports.h" ++#include "base/command_line.h" + #include "base/feature_list.h" + #include "base/files/file_util.h" + #include "base/no_destructor.h" +@@ -60,6 +61,8 @@ + #include "chrome/browser/ui/pdf/adobe_reader_info_win.h" + #endif + ++#include "sandbox/policy/switches.h" ++ + using content::BrowserContext; + using content::BrowserThread; + using content::DownloadManager; +@@ -70,7 +73,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) || defined(OS_CHROMEOS) +#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD) base::FilePath home_dir = base::GetHomeDir(); if (download_path == home_dir) { return true; -@@ -167,7 +167,7 @@ DownloadPrefs::DownloadPrefs(Profile* profile) : profi - GetDefaultDownloadDirectoryForProfile())); +@@ -168,7 +171,7 @@ DownloadPrefs::DownloadPrefs(Profile* profile) : profi #endif // BUILDFLAG(IS_CHROMEOS_ASH) --#if defined(OS_WIN) || defined(OS_LINUX) || defined(OS_CHROMEOS) || \ -+#if defined(OS_WIN) || defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD) || \ - defined(OS_MAC) + #if defined(OS_WIN) || defined(OS_LINUX) || defined(OS_CHROMEOS) || \ +- defined(OS_MAC) ++ defined(OS_MAC) || defined(OS_BSD) should_open_pdf_in_system_reader_ = prefs->GetBoolean(prefs::kOpenPdfDownloadInSystemReader); -@@ -286,7 +286,7 @@ void DownloadPrefs::RegisterProfilePrefs( - default_download_path); + #endif +@@ -287,7 +290,7 @@ void DownloadPrefs::RegisterProfilePrefs( registry->RegisterFilePathPref(prefs::kSaveFileDefaultDirectory, default_download_path); --#if defined(OS_WIN) || defined(OS_LINUX) || defined(OS_CHROMEOS) || \ -+#if defined(OS_WIN) || defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD) || \ - defined(OS_MAC) + #if defined(OS_WIN) || defined(OS_LINUX) || defined(OS_CHROMEOS) || \ +- defined(OS_MAC) ++ defined(OS_MAC) || defined(OS_BSD) registry->RegisterBooleanPref(prefs::kOpenPdfDownloadInSystemReader, false); #endif -@@ -420,7 +420,7 @@ bool DownloadPrefs::IsDownloadPathManaged() const { - } + #if defined(OS_ANDROID) +@@ -421,7 +424,7 @@ bool DownloadPrefs::IsDownloadPathManaged() const { bool DownloadPrefs::IsAutoOpenByUserUsed() const { --#if defined(OS_WIN) || defined(OS_LINUX) || defined(OS_CHROMEOS) || \ -+#if defined(OS_WIN) || defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD) || \ - defined(OS_MAC) + #if defined(OS_WIN) || defined(OS_LINUX) || defined(OS_CHROMEOS) || \ +- defined(OS_MAC) ++ defined(OS_MAC) || defined(OS_BSD) if (ShouldOpenPdfInSystemReader()) return true; -@@ -435,7 +435,7 @@ bool DownloadPrefs::IsAutoOpenEnabled(const GURL& url, - return false; + #endif +@@ -436,7 +439,7 @@ bool DownloadPrefs::IsAutoOpenEnabled(const GURL& url, DCHECK(extension[0] == base::FilePath::kExtensionSeparator); extension.erase(0, 1); --#if defined(OS_WIN) || defined(OS_LINUX) || defined(OS_CHROMEOS) || \ -+#if defined(OS_WIN) || defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD) || \ - defined(OS_MAC) + #if defined(OS_WIN) || defined(OS_LINUX) || defined(OS_CHROMEOS) || \ +- defined(OS_MAC) ++ defined(OS_MAC) || defined(OS_BSD) if (base::FilePath::CompareEqualIgnoreCase(extension, FILE_PATH_LITERAL("pdf")) && -@@ -490,7 +490,7 @@ void DownloadPrefs::DisableAutoOpenByUserBasedOnExtens - SaveAutoOpenState(); + ShouldOpenPdfInSystemReader()) +@@ -491,7 +494,7 @@ void DownloadPrefs::DisableAutoOpenByUserBasedOnExtens } --#if defined(OS_WIN) || defined(OS_LINUX) || defined(OS_CHROMEOS) || \ -+#if defined(OS_WIN) || defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD) || \ - defined(OS_MAC) + #if defined(OS_WIN) || defined(OS_LINUX) || defined(OS_CHROMEOS) || \ +- defined(OS_MAC) ++ defined(OS_MAC) || defined(OS_BSD) void DownloadPrefs::SetShouldOpenPdfInSystemReader(bool should_open) { if (should_open_pdf_in_system_reader_ == should_open) -@@ -512,7 +512,7 @@ bool DownloadPrefs::ShouldOpenPdfInSystemReader() cons - #endif + return; +@@ -513,7 +516,7 @@ bool DownloadPrefs::ShouldOpenPdfInSystemReader() cons void DownloadPrefs::ResetAutoOpenByUser() { --#if defined(OS_WIN) || defined(OS_LINUX) || defined(OS_CHROMEOS) || \ -+#if defined(OS_WIN) || defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD) || \ - defined(OS_MAC) + #if defined(OS_WIN) || defined(OS_LINUX) || defined(OS_CHROMEOS) || \ +- defined(OS_MAC) ++ defined(OS_MAC) || defined(OS_BSD) SetShouldOpenPdfInSystemReader(false); #endif + auto_open_by_user_.clear(); +@@ -630,9 +633,13 @@ base::FilePath DownloadPrefs::SanitizeDownloadTargetPa + // Fall back to the default download directory for all other paths. + return GetDefaultDownloadDirectoryForProfile(); + #else ++ // If unveil(2) is used, force the file dialog directory to something we ++ // know is available. ++ base::CommandLine* command_line = base::CommandLine::ForCurrentProcess(); ++ + // If the stored download directory is an absolute path, we presume it's + // correct; there's not really much more validation we can do here. +- if (path.IsAbsolute()) ++ if (command_line->HasSwitch(sandbox::policy::switches::kDisableUnveil) && path.IsAbsolute()) + return path; + + // When the default download directory is *not* an absolute path, we use the diff --git a/www/chromium/files/patch-chrome_browser_download_download__prefs.h b/www/chromium/files/patch-chrome_browser_download_download__prefs.h index faa6eac8d943..9dfc3dcb070d 100644 --- a/www/chromium/files/patch-chrome_browser_download_download__prefs.h +++ b/www/chromium/files/patch-chrome_browser_download_download__prefs.h @@ -1,20 +1,20 @@ ---- chrome/browser/download/download_prefs.h.orig 2021-12-14 11:44:58 UTC +--- chrome/browser/download/download_prefs.h.orig 2022-02-07 13:39:41 UTC +++ chrome/browser/download/download_prefs.h -@@ -121,7 +121,7 @@ class DownloadPrefs { - // Disables auto-open based on file extension. +@@ -122,7 +122,7 @@ class DownloadPrefs { void DisableAutoOpenByUserBasedOnExtension(const base::FilePath& file_name); --#if defined(OS_WIN) || defined(OS_LINUX) || defined(OS_CHROMEOS) || \ -+#if defined(OS_WIN) || defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD) || \ - defined(OS_MAC) + #if defined(OS_WIN) || defined(OS_LINUX) || defined(OS_CHROMEOS) || \ +- defined(OS_MAC) ++ defined(OS_MAC) || 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. -@@ -180,7 +180,7 @@ class DownloadPrefs { - + void SetShouldOpenPdfInSystemReader(bool should_open); +@@ -181,7 +181,7 @@ class DownloadPrefs { std::unique_ptr auto_open_allowed_by_urls_; --#if defined(OS_WIN) || defined(OS_LINUX) || defined(OS_CHROMEOS) || \ -+#if defined(OS_WIN) || defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD) || \ - defined(OS_MAC) + #if defined(OS_WIN) || defined(OS_LINUX) || defined(OS_CHROMEOS) || \ +- defined(OS_MAC) ++ defined(OS_MAC) || defined(OS_BSD) bool should_open_pdf_in_system_reader_; #endif + diff --git a/www/chromium/files/patch-chrome_browser_download_download__query.cc b/www/chromium/files/patch-chrome_browser_download_download__query.cc deleted file mode 100644 index 2c676690db0d..000000000000 --- a/www/chromium/files/patch-chrome_browser_download_download__query.cc +++ /dev/null @@ -1,14 +0,0 @@ ---- chrome/browser/download/download_query.cc.orig 2021-05-12 22:05:43 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 -+#else - #include "third_party/re2/src/re2/re2.h" -+#endif - #include "url/gurl.h" - - using download::DownloadDangerType; diff --git a/www/chromium/files/patch-chrome_browser_enterprise_connectors_device__trust_device__trust__connector__service__factory.cc b/www/chromium/files/patch-chrome_browser_enterprise_connectors_device__trust_device__trust__connector__service__factory.cc new file mode 100644 index 000000000000..d9ebefbbd7f4 --- /dev/null +++ b/www/chromium/files/patch-chrome_browser_enterprise_connectors_device__trust_device__trust__connector__service__factory.cc @@ -0,0 +1,29 @@ +--- chrome/browser/enterprise/connectors/device_trust/device_trust_connector_service_factory.cc.orig 2022-02-07 13:39:41 UTC ++++ chrome/browser/enterprise/connectors/device_trust/device_trust_connector_service_factory.cc +@@ -12,7 +12,7 @@ + #include "components/keyed_service/content/browser_context_dependency_manager.h" + #include "components/keyed_service/core/keyed_service.h" + +-#if defined(OS_LINUX) || defined(OS_WIN) || defined(OS_MAC) ++#if defined(OS_LINUX) || defined(OS_WIN) || defined(OS_MAC) || defined(OS_BSD) + #include "chrome/browser/browser_process.h" + #include "chrome/browser/enterprise/connectors/device_trust/browser/browser_device_trust_connector_service.h" + #include "chrome/browser/policy/chrome_browser_policy_connector.h" +@@ -37,7 +37,7 @@ DeviceTrustConnectorService* DeviceTrustConnectorServi + + bool DeviceTrustConnectorServiceFactory::ServiceIsCreatedWithBrowserContext() + const { +-#if defined(OS_LINUX) || defined(OS_WIN) || defined(OS_MAC) ++#if defined(OS_LINUX) || defined(OS_WIN) || defined(OS_MAC) || defined(OS_BSD) + return IsDeviceTrustConnectorFeatureEnabled(); + #else + return false; +@@ -58,7 +58,7 @@ KeyedService* DeviceTrustConnectorServiceFactory::Buil + + DeviceTrustConnectorService* service = nullptr; + +-#if defined(OS_LINUX) || defined(OS_WIN) || defined(OS_MAC) ++#if defined(OS_LINUX) || defined(OS_WIN) || defined(OS_MAC) || defined(OS_BSD) + if (IsDeviceTrustConnectorFeatureEnabled()) { + auto* key_manager = g_browser_process->browser_policy_connector() + ->chrome_browser_cloud_management_controller() diff --git a/www/chromium/files/patch-chrome_browser_enterprise_connectors_device__trust_device__trust__service__factory.cc b/www/chromium/files/patch-chrome_browser_enterprise_connectors_device__trust_device__trust__service__factory.cc index 4bf0cdd60ffa..c8de763196d0 100644 --- a/www/chromium/files/patch-chrome_browser_enterprise_connectors_device__trust_device__trust__service__factory.cc +++ b/www/chromium/files/patch-chrome_browser_enterprise_connectors_device__trust_device__trust__service__factory.cc @@ -1,14 +1,11 @@ ---- chrome/browser/enterprise/connectors/device_trust/device_trust_service_factory.cc.orig 2021-12-31 00:57:22 UTC +--- chrome/browser/enterprise/connectors/device_trust/device_trust_service_factory.cc.orig 2022-02-07 13:39:41 UTC +++ chrome/browser/enterprise/connectors/device_trust/device_trust_service_factory.cc -@@ -19,9 +19,9 @@ +@@ -21,7 +21,7 @@ #include "components/policy/content/policy_blocklist_service.h" #include "content/public/browser/browser_context.h" -#if defined(OS_LINUX) || defined(OS_WIN) || defined(OS_MAC) +#if defined(OS_LINUX) || defined(OS_WIN) || defined(OS_MAC) || defined(OS_BSD) + #include "chrome/browser/browser_process.h" #include "chrome/browser/enterprise/connectors/device_trust/attestation/desktop/desktop_attestation_service.h" --#endif // defined(OS_LINUX) || defined(OS_WIN) || defined(OS_MAC) -+#endif // defined(OS_LINUX) || defined(OS_WIN) || defined(OS_MAC) || defined(OS_BSD) - - #if BUILDFLAG(IS_CHROMEOS_ASH) - #include "chrome/browser/enterprise/connectors/device_trust/attestation/ash/ash_attestation_service.h" + #include "chrome/browser/policy/chrome_browser_policy_connector.h" diff --git a/www/chromium/files/patch-chrome_browser_enterprise_connectors_device__trust_signals_signals__service__factory.cc b/www/chromium/files/patch-chrome_browser_enterprise_connectors_device__trust_signals_signals__service__factory.cc index 471209b13549..8c2c05f45f9a 100644 --- a/www/chromium/files/patch-chrome_browser_enterprise_connectors_device__trust_signals_signals__service__factory.cc +++ b/www/chromium/files/patch-chrome_browser_enterprise_connectors_device__trust_signals_signals__service__factory.cc @@ -1,38 +1,20 @@ ---- chrome/browser/enterprise/connectors/device_trust/signals/signals_service_factory.cc.orig 2021-12-31 00:57:22 UTC +--- chrome/browser/enterprise/connectors/device_trust/signals/signals_service_factory.cc.orig 2022-02-07 13:39:41 UTC +++ chrome/browser/enterprise/connectors/device_trust/signals/signals_service_factory.cc @@ -14,7 +14,7 @@ #include "chrome/browser/enterprise/connectors/device_trust/signals/signals_service_impl.h" #include "chrome/browser/profiles/profile.h" -#if defined(OS_LINUX) || defined(OS_WIN) || defined(OS_MAC) +#if defined(OS_LINUX) || defined(OS_WIN) || defined(OS_MAC) || defined(OS_BSD) #include "base/check.h" #include "chrome/browser/enterprise/connectors/device_trust/signals/decorators/browser/browser_signals_decorator.h" - #include "chrome/browser/enterprise/signals/device_info_fetcher.h" -@@ -22,7 +22,7 @@ - #include "components/enterprise/browser/controller/browser_dm_token_storage.h" - #include "components/policy/core/common/cloud/machine_level_user_cloud_policy_manager.h" - #include "components/policy/core/common/cloud/machine_level_user_cloud_policy_store.h" --#endif // defined(OS_LINUX) || defined(OS_WIN) || defined(OS_MAC) -+#endif // defined(OS_LINUX) || defined(OS_WIN) || defined(OS_MAC) || defined(OS_BSD) - - #if BUILDFLAG(IS_CHROMEOS_ASH) - #include "chrome/browser/browser_process_platform_part.h" -@@ -45,7 +45,7 @@ std::unique_ptr CreateSignalsService( + #include "chrome/browser/policy/chrome_browser_policy_connector.h" +@@ -44,7 +44,7 @@ std::unique_ptr CreateSignalsService( decorators.push_back( std::make_unique(policy_blocklist_service)); -#if defined(OS_LINUX) || defined(OS_WIN) || defined(OS_MAC) +#if defined(OS_LINUX) || defined(OS_WIN) || defined(OS_MAC) || defined(OS_BSD) policy::ChromeBrowserPolicyConnector* browser_policy_connector = g_browser_process->browser_policy_connector(); DCHECK(browser_policy_connector); -@@ -55,7 +55,7 @@ std::unique_ptr CreateSignalsService( - browser_policy_connector->machine_level_user_cloud_policy_manager() - ->store(), - enterprise_signals::DeviceInfoFetcher::CreateInstance())); --#endif // defined(OS_LINUX) || defined(OS_WIN) || defined(OS_MAC) -+#endif // defined(OS_LINUX) || defined(OS_WIN) || defined(OS_MAC) || defined(OS_BSD) - - #if BUILDFLAG(IS_CHROMEOS_ASH) - decorators.push_back(std::make_unique( diff --git a/www/chromium/files/patch-chrome_browser_enterprise_signals_device__info__fetcher.cc b/www/chromium/files/patch-chrome_browser_enterprise_signals_device__info__fetcher.cc index 6052197aa254..f47f4f273fd5 100644 --- a/www/chromium/files/patch-chrome_browser_enterprise_signals_device__info__fetcher.cc +++ b/www/chromium/files/patch-chrome_browser_enterprise_signals_device__info__fetcher.cc @@ -1,20 +1,20 @@ ---- chrome/browser/enterprise/signals/device_info_fetcher.cc.orig 2021-12-14 11:44:58 UTC +--- chrome/browser/enterprise/signals/device_info_fetcher.cc.orig 2022-02-07 13:39:41 UTC +++ chrome/browser/enterprise/signals/device_info_fetcher.cc -@@ -12,6 +12,8 @@ +@@ -10,7 +10,7 @@ + #include "chrome/browser/enterprise/signals/device_info_fetcher_mac.h" + #elif defined(OS_WIN) #include "chrome/browser/enterprise/signals/device_info_fetcher_win.h" - #elif defined(OS_LINUX) || defined(OS_CHROMEOS) +-#elif defined(OS_LINUX) || defined(OS_CHROMEOS) ++#elif defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD) #include "chrome/browser/enterprise/signals/device_info_fetcher_linux.h" -+#elif defined(OS_FREEBSD) -+#include "chrome/browser/enterprise/signals/device_info_fetcher_freebsd.h" #endif - namespace enterprise_signals { -@@ -71,6 +73,8 @@ std::unique_ptr DeviceInfoFetcher:: +@@ -70,7 +70,7 @@ std::unique_ptr DeviceInfoFetcher:: + return std::make_unique(); + #elif defined(OS_WIN) return std::make_unique(); - #elif defined(OS_LINUX) || defined(OS_CHROMEOS) +-#elif defined(OS_LINUX) || defined(OS_CHROMEOS) ++#elif defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD) return std::make_unique(); -+#elif defined(OS_FREEBSD) -+ return std::make_unique(); #else return std::make_unique(); - #endif diff --git a/www/chromium/files/patch-chrome_browser_enterprise_signals_device__info__fetcher__linux.cc b/www/chromium/files/patch-chrome_browser_enterprise_signals_device__info__fetcher__linux.cc new file mode 100644 index 000000000000..63eec68ffcfc --- /dev/null +++ b/www/chromium/files/patch-chrome_browser_enterprise_signals_device__info__fetcher__linux.cc @@ -0,0 +1,78 @@ +--- chrome/browser/enterprise/signals/device_info_fetcher_linux.cc.orig 2022-02-07 13:39:41 UTC ++++ chrome/browser/enterprise/signals/device_info_fetcher_linux.cc +@@ -4,12 +4,23 @@ + + #include "chrome/browser/enterprise/signals/device_info_fetcher_linux.h" + ++#include "build/build_config.h" ++ + #if defined(USE_GIO) + #include + #endif // defined(USE_GIO) + #include ++#if !defined(OS_BSD) + #include ++#endif + ++#if defined(OS_BSD) ++#include ++#include ++#include ++#include ++#endif ++ + #include + + #include "base/environment.h" +@@ -118,6 +129,7 @@ SettingValue GetScreenlockSecured() { + // Implements the logic from the native host installation script. First find the + // root device identifier, then locate its parent and get its type. + SettingValue GetDiskEncrypted() { ++#if !defined(OS_BSD) + struct stat info; + // First figure out the device identifier. Fail fast if this fails. + if (stat("/", &info) != 0) +@@ -139,11 +151,35 @@ SettingValue GetDiskEncrypted() { + } + return SettingValue::UNKNOWN; + } ++#endif + return SettingValue::DISABLED; + } + + std::vector GetMacAddresses() { + std::vector result; ++#if defined(OS_BSD) ++ struct ifaddrs* ifa = nullptr; ++ ++ if (getifaddrs(&ifa) != 0) ++ return result; ++ ++ struct ifaddrs* interface = ifa; ++ for (; interface != nullptr; interface = interface->ifa_next) { ++ if (interface->ifa_addr == nullptr || ++ interface->ifa_addr->sa_family != AF_LINK) { ++ continue; ++ } ++ struct sockaddr_dl* sdl = ++ reinterpret_cast(interface->ifa_addr); ++ if (!sdl || sdl->sdl_alen != 6) ++ continue; ++ char* link_address = static_cast(LLADDR(sdl)); ++ result.push_back(base::StringPrintf( ++ "%02x:%02x:%02x:%02x:%02x:%02x", link_address[0] & 0xff, ++ link_address[1] & 0xff, link_address[2] & 0xff, link_address[3] & 0xff, ++ link_address[4] & 0xff, link_address[5] & 0xff)); ++ } ++#else + base::DirReaderPosix reader("/sys/class/net"); + if (!reader.IsValid()) + return result; +@@ -166,6 +202,7 @@ std::vector GetMacAddresses() { + &address); + result.push_back(address); + } ++#endif + return result; + } + diff --git a/www/chromium/files/patch-chrome_browser_extensions_BUILD.gn b/www/chromium/files/patch-chrome_browser_extensions_BUILD.gn index bc2d5ef27b84..d76569f1c6aa 100644 --- a/www/chromium/files/patch-chrome_browser_extensions_BUILD.gn +++ b/www/chromium/files/patch-chrome_browser_extensions_BUILD.gn @@ -1,15 +1,13 @@ ---- chrome/browser/extensions/BUILD.gn.orig 2021-12-31 00:57:22 UTC +--- chrome/browser/extensions/BUILD.gn.orig 2022-02-07 13:39:41 UTC +++ chrome/browser/extensions/BUILD.gn -@@ -1301,6 +1301,12 @@ static_library("extensions") { +@@ -1303,6 +1303,10 @@ static_library("extensions") { deps += [ "//chrome/services/printing/public/mojom" ] } + if (is_bsd) { -+ sources -= [ -+ "api/image_writer_private/removable_storage_provider_linux.cc", -+ ] ++ sources -= [ "api/image_writer_private/removable_storage_provider_linux.cc" ] + } + if (enable_service_discovery) { sources += [ "api/mdns/mdns_api.cc", diff --git a/www/chromium/files/patch-chrome_browser_extensions_activity__log_activity__log.cc b/www/chromium/files/patch-chrome_browser_extensions_activity__log_activity__log.cc deleted file mode 100644 index d45b06b9174e..000000000000 --- a/www/chromium/files/patch-chrome_browser_extensions_activity__log_activity__log.cc +++ /dev/null @@ -1,14 +0,0 @@ ---- chrome/browser/extensions/activity_log/activity_log.cc.orig 2021-12-14 11:44:58 UTC -+++ chrome/browser/extensions/activity_log/activity_log.cc -@@ -51,7 +51,11 @@ - #include "extensions/common/features/feature_provider.h" - #include "extensions/common/hashed_extension_id.h" - #include "extensions/common/mojom/renderer.mojom.h" -+#if defined(OS_BSD) -+#include -+#else - #include "third_party/re2/src/re2/re2.h" -+#endif - #include "url/gurl.h" - - namespace constants = activity_log_constants; diff --git a/www/chromium/files/patch-chrome_browser_extensions_api_erp_chrome_desktop_report_request_helper.cc b/www/chromium/files/patch-chrome_browser_extensions_api_enterprise__reporting__private_chrome__desktop__report__request__helper.cc similarity index 85% rename from www/chromium/files/patch-chrome_browser_extensions_api_erp_chrome_desktop_report_request_helper.cc rename to www/chromium/files/patch-chrome_browser_extensions_api_enterprise__reporting__private_chrome__desktop__report__request__helper.cc index 0926c13c01eb..184921c28f0b 100644 --- a/www/chromium/files/patch-chrome_browser_extensions_api_erp_chrome_desktop_report_request_helper.cc +++ b/www/chromium/files/patch-chrome_browser_extensions_api_enterprise__reporting__private_chrome__desktop__report__request__helper.cc @@ -1,29 +1,29 @@ ---- chrome/browser/extensions/api/enterprise_reporting_private/chrome_desktop_report_request_helper.cc.orig 2022-01-20 10:35:49 UTC +--- chrome/browser/extensions/api/enterprise_reporting_private/chrome_desktop_report_request_helper.cc.orig 2022-02-07 13:39:41 UTC +++ chrome/browser/extensions/api/enterprise_reporting_private/chrome_desktop_report_request_helper.cc @@ -23,7 +23,7 @@ #include "base/win/registry.h" #endif -#if defined(OS_LINUX) || defined(OS_CHROMEOS) +#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD) #include "base/environment.h" #include "base/nix/xdg_util.h" #endif -@@ -241,7 +241,7 @@ base::FilePath GetEndpointVerificationDir() { +@@ -228,7 +228,7 @@ base::FilePath GetEndpointVerificationDir() { bool got_path = false; #if defined(OS_WIN) got_path = base::PathService::Get(base::DIR_LOCAL_APP_DATA, &path); -#elif defined(OS_LINUX) || defined(OS_CHROMEOS) +#elif defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD) std::unique_ptr env(base::Environment::Create()); path = base::nix::GetXDGDirectory(env.get(), base::nix::kXdgConfigHomeEnvVar, base::nix::kDotConfigDir); -@@ -252,7 +252,7 @@ base::FilePath GetEndpointVerificationDir() { +@@ -239,7 +239,7 @@ base::FilePath GetEndpointVerificationDir() { if (!got_path) return path; -#if defined(OS_LINUX) || defined(OS_CHROMEOS) +#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD) path = path.AppendASCII("google"); #else path = path.AppendASCII("Google"); diff --git a/www/chromium/files/patch-chrome_browser_extensions_api_enterprise__reporting__private_enterprise__reporting__private__api.cc b/www/chromium/files/patch-chrome_browser_extensions_api_enterprise__reporting__private_enterprise__reporting__private__api.cc index f7b9fd392a90..318ce33580c5 100644 --- a/www/chromium/files/patch-chrome_browser_extensions_api_enterprise__reporting__private_enterprise__reporting__private__api.cc +++ b/www/chromium/files/patch-chrome_browser_extensions_api_enterprise__reporting__private_enterprise__reporting__private__api.cc @@ -1,20 +1,11 @@ ---- chrome/browser/extensions/api/enterprise_reporting_private/enterprise_reporting_private_api.cc.orig 2021-12-14 11:44:58 UTC +--- chrome/browser/extensions/api/enterprise_reporting_private/enterprise_reporting_private_api.cc.orig 2022-02-07 13:39:41 UTC +++ chrome/browser/extensions/api/enterprise_reporting_private/enterprise_reporting_private_api.cc @@ -155,7 +155,7 @@ EnterpriseReportingPrivateGetDeviceIdFunction:: // getPersistentSecret -#if !defined(OS_LINUX) +#if !defined(OS_LINUX) && !defined(OS_BSD) EnterpriseReportingPrivateGetPersistentSecretFunction:: EnterpriseReportingPrivateGetPersistentSecretFunction() = default; -@@ -207,7 +207,7 @@ void EnterpriseReportingPrivateGetPersistentSecretFunc - } - } - --#endif // !defined(OS_LINUX) -+#endif // !defined(OS_LINUX) && !defined(OS_BSD) - - // getDeviceData - diff --git a/www/chromium/files/patch-chrome_browser_extensions_api_enterprise__reporting__private_enterprise__reporting__private__api.h b/www/chromium/files/patch-chrome_browser_extensions_api_enterprise__reporting__private_enterprise__reporting__private__api.h index c394f956615e..6428727febf6 100644 --- a/www/chromium/files/patch-chrome_browser_extensions_api_enterprise__reporting__private_enterprise__reporting__private__api.h +++ b/www/chromium/files/patch-chrome_browser_extensions_api_enterprise__reporting__private_enterprise__reporting__private__api.h @@ -1,20 +1,11 @@ ---- chrome/browser/extensions/api/enterprise_reporting_private/enterprise_reporting_private_api.h.orig 2021-12-14 11:44:58 UTC +--- chrome/browser/extensions/api/enterprise_reporting_private/enterprise_reporting_private_api.h.orig 2022-02-07 13:39:41 UTC +++ chrome/browser/extensions/api/enterprise_reporting_private/enterprise_reporting_private_api.h @@ -45,7 +45,7 @@ class EnterpriseReportingPrivateGetDeviceIdFunction : ~EnterpriseReportingPrivateGetDeviceIdFunction() override; }; -#if !defined(OS_LINUX) +#if !defined(OS_LINUX) && !defined(OS_BSD) class EnterpriseReportingPrivateGetPersistentSecretFunction : public ExtensionFunction { -@@ -73,7 +73,7 @@ class EnterpriseReportingPrivateGetPersistentSecretFun - void SendResponse(const std::string& data, long int status); - }; - --#endif // !defined(OS_LINUX) -+#endif // !defined(OS_LINUX) && !defined(OS_BSD) - - class EnterpriseReportingPrivateGetDeviceDataFunction - : public ExtensionFunction { diff --git a/www/chromium/files/patch-chrome_browser_extensions_api_extension__action_browser__action__interactive__test.cc b/www/chromium/files/patch-chrome_browser_extensions_api_extension__action_browser__action__interactive__test.cc deleted file mode 100644 index e5177c543202..000000000000 --- a/www/chromium/files/patch-chrome_browser_extensions_api_extension__action_browser__action__interactive__test.cc +++ /dev/null @@ -1,11 +0,0 @@ ---- chrome/browser/extensions/api/extension_action/browser_action_interactive_test.cc.orig 2021-12-14 11:44:58 UTC -+++ chrome/browser/extensions/api/extension_action/browser_action_interactive_test.cc -@@ -305,7 +305,7 @@ IN_PROC_BROWSER_TEST_F(BrowserActionInteractiveTest, T - frame_observer.Wait(); - // Non-Aura Linux uses a singleton for the popup, so it looks like all windows - // have popups if there is any popup open. --#if !((defined(OS_LINUX) || defined(OS_CHROMEOS)) && !defined(USE_AURA)) -+#if !((defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD)) && !defined(USE_AURA)) - // Starting window does not have a popup. - EXPECT_FALSE(ExtensionActionTestHelper::Create(browser())->HasPopup()); - #endif diff --git a/www/chromium/files/patch-chrome_browser_extensions_api_messaging_native__process__launcher__posix.cc b/www/chromium/files/patch-chrome_browser_extensions_api_messaging_native__process__launcher__posix.cc new file mode 100644 index 000000000000..e760b5589021 --- /dev/null +++ b/www/chromium/files/patch-chrome_browser_extensions_api_messaging_native__process__launcher__posix.cc @@ -0,0 +1,11 @@ +--- chrome/browser/extensions/api/messaging/native_process_launcher_posix.cc.orig 2022-02-07 13:39:41 UTC ++++ chrome/browser/extensions/api/messaging/native_process_launcher_posix.cc +@@ -82,7 +82,7 @@ bool NativeProcessLauncher::LaunchNativeProcess( + + // TODO(crbug.com/1052397): Revisit the macro expression once build flag switch + // of lacros-chrome is complete. +-#if defined(OS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS) ++#if defined(OS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS) || defined(OS_BSD) + // Don't use no_new_privs mode, e.g. in case the host needs to use sudo. + options.allow_new_privs = true; + #endif diff --git a/www/chromium/files/patch-chrome_browser_extensions_api_runtime_chrome__runtime__api__delegate.cc b/www/chromium/files/patch-chrome_browser_extensions_api_runtime_chrome__runtime__api__delegate.cc deleted file mode 100644 index 34647711948b..000000000000 --- a/www/chromium/files/patch-chrome_browser_extensions_api_runtime_chrome__runtime__api__delegate.cc +++ /dev/null @@ -1,11 +0,0 @@ ---- chrome/browser/extensions/api/runtime/chrome_runtime_api_delegate.cc.orig 2021-09-14 01:51:50 UTC -+++ chrome/browser/extensions/api/runtime/chrome_runtime_api_delegate.cc -@@ -285,6 +285,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/chromium/files/patch-chrome_browser_extensions_api_webrtc__logging__private_webrtc__logging__private__api.cc b/www/chromium/files/patch-chrome_browser_extensions_api_webrtc__logging__private_webrtc__logging__private__api.cc index d844066914d5..1150bf672f0d 100644 --- a/www/chromium/files/patch-chrome_browser_extensions_api_webrtc__logging__private_webrtc__logging__private__api.cc +++ b/www/chromium/files/patch-chrome_browser_extensions_api_webrtc__logging__private_webrtc__logging__private__api.cc @@ -1,41 +1,29 @@ ---- chrome/browser/extensions/api/webrtc_logging_private/webrtc_logging_private_api.cc.orig 2021-12-31 00:57:22 UTC +--- chrome/browser/extensions/api/webrtc_logging_private/webrtc_logging_private_api.cc.orig 2022-02-07 13:39:41 UTC +++ chrome/browser/extensions/api/webrtc_logging_private/webrtc_logging_private_api.cc @@ -30,7 +30,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 @@ -39,7 +39,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( @@ -580,7 +580,7 @@ void WebrtcLoggingPrivateStartEventLoggingFunction::Fi ExtensionFunction::ResponseAction WebrtcLoggingPrivateGetLogsDirectoryFunction::Run() { -#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 -@@ -603,9 +603,9 @@ WebrtcLoggingPrivateGetLogsDirectoryFunction::Run() { - &WebrtcLoggingPrivateGetLogsDirectoryFunction::FireErrorCallback, - this)); - return RespondLater(); --#else // defined(OS_LINUX) || defined(OS_CHROMEOS) -+#else // defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD) - return RespondNow(Error("Not supported on the current OS")); --#endif // defined(OS_LINUX) || defined(OS_CHROMEOS) -+#endif // defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD) - } - - void WebrtcLoggingPrivateGetLogsDirectoryFunction::FireCallback( diff --git a/www/chromium/files/patch-chrome_browser_extensions_browser__context__keyed__service__factories.cc b/www/chromium/files/patch-chrome_browser_extensions_browser__context__keyed__service__factories.cc index b585f5523df0..132a4b35a2ba 100644 --- a/www/chromium/files/patch-chrome_browser_extensions_browser__context__keyed__service__factories.cc +++ b/www/chromium/files/patch-chrome_browser_extensions_browser__context__keyed__service__factories.cc @@ -1,25 +1,20 @@ ---- chrome/browser/extensions/browser_context_keyed_service_factories.cc.orig 2022-01-20 10:35:49 UTC +--- chrome/browser/extensions/browser_context_keyed_service_factories.cc.orig 2022-02-07 13:39:41 UTC +++ chrome/browser/extensions/browser_context_keyed_service_factories.cc -@@ -53,11 +53,11 @@ +@@ -53,7 +53,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 - -#if defined(OS_LINUX) || defined(OS_MAC) || defined(OS_WIN) +#if defined(OS_LINUX) || defined(OS_MAC) || defined(OS_WIN) || defined(OS_BSD) #include "chrome/browser/extensions/api/system_indicator/system_indicator_manager_factory.h" #endif -@@ -129,7 +129,7 @@ void EnsureBrowserContextKeyedServiceFactoriesBuilt() +@@ -126,7 +126,7 @@ void EnsureBrowserContextKeyedServiceFactoriesBuilt() extensions::SettingsPrivateEventRouterFactory::GetInstance(); extensions::SettingsOverridesAPI::GetFactoryInstance(); extensions::SignedInDevicesManager::GetFactoryInstance(); -#if defined(OS_LINUX) || defined(OS_MAC) || defined(OS_WIN) +#if defined(OS_LINUX) || defined(OS_MAC) || defined(OS_WIN) || defined(OS_BSD) extensions::SystemIndicatorManagerFactory::GetInstance(); #endif extensions::TabGroupsEventRouterFactory::GetInstance(); diff --git a/www/chromium/files/patch-chrome_browser_extensions_external__provider__impl.cc b/www/chromium/files/patch-chrome_browser_extensions_external__provider__impl.cc index 86b053abf380..20346cba311a 100644 --- a/www/chromium/files/patch-chrome_browser_extensions_external__provider__impl.cc +++ b/www/chromium/files/patch-chrome_browser_extensions_external__provider__impl.cc @@ -1,20 +1,20 @@ ---- chrome/browser/extensions/external_provider_impl.cc.orig 2021-12-31 00:57:22 UTC +--- chrome/browser/extensions/external_provider_impl.cc.orig 2022-02-07 13:39:41 UTC +++ chrome/browser/extensions/external_provider_impl.cc -@@ -814,7 +814,7 @@ void ExternalProviderImpl::CreateExternalProviders( +@@ -815,7 +815,7 @@ void ExternalProviderImpl::CreateExternalProviders( if (!profile->GetPrefs()->GetBoolean(pref_names::kBlockExternalExtensions)) { // TODO(crbug.com/1052397): Revisit the macro expression once build flag switch // of lacros-chrome is complete. -#if defined(OS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS) +#if defined(OS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS) || defined(OS_BSD) provider_list->push_back(std::make_unique( service, base::MakeRefCounted( -@@ -842,7 +842,7 @@ void ExternalProviderImpl::CreateExternalProviders( +@@ -843,7 +843,7 @@ void ExternalProviderImpl::CreateExternalProviders( bundled_extension_creation_flags)); // Define a per-user source of external extensions. -#if defined(OS_MAC) || ((defined(OS_LINUX) || defined(OS_CHROMEOS)) && \ -+#if defined(OS_MAC) || defined(OS_BSD) || ((defined(OS_LINUX) || defined(OS_CHROMEOS)) && \ ++#if defined(OS_MAC) || ((defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD)) && \ BUILDFLAG(CHROMIUM_BRANDING)) provider_list->push_back(std::make_unique( service, diff --git a/www/chromium/files/patch-chrome_browser_feedback_system__logs_log__sources_crash__ids__source.cc b/www/chromium/files/patch-chrome_browser_feedback_system__logs_log__sources_crash__ids__source.cc deleted file mode 100644 index cddf94d69da2..000000000000 --- a/www/chromium/files/patch-chrome_browser_feedback_system__logs_log__sources_crash__ids__source.cc +++ /dev/null @@ -1,12 +0,0 @@ ---- chrome/browser/feedback/system_logs/log_sources/crash_ids_source.cc.orig 2021-04-23 20:22:19 UTC -+++ chrome/browser/feedback/system_logs/log_sources/crash_ids_source.cc -@@ -42,7 +42,9 @@ constexpr base::TimeDelta k120DaysTimeDelta = base::Ti - - CrashIdsSource::CrashIdsSource() - : SystemLogsSource("CrashId"), -+#if !defined(OS_BSD) - crash_upload_list_(CreateCrashUploadList()), -+#endif - pending_crash_list_loading_(false) {} - - CrashIdsSource::~CrashIdsSource() {} diff --git a/www/chromium/files/patch-chrome_browser_file__system__access_chrome__file__system__access__permission__context.cc b/www/chromium/files/patch-chrome_browser_file__system__access_chrome__file__system__access__permission__context.cc index 10d7ff849c99..b03f80a4a3b9 100644 --- a/www/chromium/files/patch-chrome_browser_file__system__access_chrome__file__system__access__permission__context.cc +++ b/www/chromium/files/patch-chrome_browser_file__system__access_chrome__file__system__access__permission__context.cc @@ -1,11 +1,11 @@ ---- chrome/browser/file_system_access/chrome_file_system_access_permission_context.cc.orig 2021-12-31 00:57:23 UTC +--- chrome/browser/file_system_access/chrome_file_system_access_permission_context.cc.orig 2022-02-07 13:39:41 UTC +++ chrome/browser/file_system_access/chrome_file_system_access_permission_context.cc -@@ -213,7 +213,7 @@ const struct { +@@ -216,7 +216,7 @@ const struct { {base::DIR_HOME, FILE_PATH_LITERAL("Library/Mobile Documents"), kDontBlockChildren}, #endif -#if defined(OS_LINUX) || defined(OS_CHROMEOS) +#if defined(OS_LINUX) || defined(OS_CHROMEOS) || 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"), kBlockAllChildren}, diff --git a/www/chromium/files/patch-chrome_browser_first__run_first__run__internal.h b/www/chromium/files/patch-chrome_browser_first__run_first__run__internal.h index d14ceeaa5903..14310d4cb9ac 100644 --- a/www/chromium/files/patch-chrome_browser_first__run_first__run__internal.h +++ b/www/chromium/files/patch-chrome_browser_first__run_first__run__internal.h @@ -1,19 +1,11 @@ ---- chrome/browser/first_run/first_run_internal.h.orig 2021-04-14 18:40:53 UTC +--- chrome/browser/first_run/first_run_internal.h.orig 2022-02-07 13:39:41 UTC +++ chrome/browser/first_run/first_run_internal.h -@@ -58,14 +58,13 @@ FirstRunState DetermineFirstRunState(bool has_sentinel +@@ -58,7 +58,7 @@ FirstRunState DetermineFirstRunState(bool has_sentinel // TODO(crbug.com/1052397): Revisit the macro expression once build flag switch // of lacros-chrome is complete. -#if defined(OS_MAC) || (defined(OS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS)) +#if defined(OS_MAC) || (defined(OS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS)) || 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_MAC) || (defined(OS_LINUX) || -- // BUILDFLAG(IS_CHROMEOS_LACROS)) -+#endif // defined(OS_MAC) || (defined(OS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS)) || defined(OS_BSD) - - } // namespace internal - } // namespace first_run diff --git a/www/chromium/files/patch-chrome_browser_first__run_first__run__internal__posix.cc b/www/chromium/files/patch-chrome_browser_first__run_first__run__internal__posix.cc deleted file mode 100644 index e202ed32fae2..000000000000 --- a/www/chromium/files/patch-chrome_browser_first__run_first__run__internal__posix.cc +++ /dev/null @@ -1,20 +0,0 @@ ---- chrome/browser/first_run/first_run_internal_posix.cc.orig 2021-12-14 11:44:58 UTC -+++ chrome/browser/first_run/first_run_internal_posix.cc -@@ -36,7 +36,7 @@ enum class ForcedShowDialogState { - ForcedShowDialogState g_forced_show_dialog_state = - ForcedShowDialogState::kNotForced; - --#if !BUILDFLAG(IS_CHROMEOS_ASH) -+#if !BUILDFLAG(IS_CHROMEOS_ASH) && !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 -@@ -81,7 +81,7 @@ void ForceFirstRunDialogShownForTesting(bool shown) { - } - - void DoPostImportPlatformSpecificTasks(Profile* profile) { --#if !BUILDFLAG(IS_CHROMEOS_ASH) -+#if !BUILDFLAG(IS_CHROMEOS_ASH) && !defined(OS_BSD) - if (!ShouldShowFirstRunDialog()) - return; - diff --git a/www/chromium/files/patch-chrome_browser_flag__descriptions.cc b/www/chromium/files/patch-chrome_browser_flag__descriptions.cc index c1a0861a4091..161dfa92d8e6 100644 --- a/www/chromium/files/patch-chrome_browser_flag__descriptions.cc +++ b/www/chromium/files/patch-chrome_browser_flag__descriptions.cc @@ -1,69 +1,47 @@ ---- chrome/browser/flag_descriptions.cc.orig 2022-01-20 10:35:49 UTC +--- chrome/browser/flag_descriptions.cc.orig 2022-02-07 13:39:41 UTC +++ chrome/browser/flag_descriptions.cc -@@ -5258,7 +5258,7 @@ const char kDownloadShelfWebUIDescription[] = - +@@ -5314,7 +5314,7 @@ const char kDownloadShelfWebUIDescription[] = // Random platform combinations ----------------------------------------------- --#if defined(OS_WIN) || defined(OS_MAC) || defined(OS_LINUX) || \ -+#if defined(OS_WIN) || defined(OS_MAC) || defined(OS_LINUX) || defined(OS_BSD) || \ - defined(OS_CHROMEOS) || defined(OS_FUCHSIA) + #if defined(OS_WIN) || defined(OS_MAC) || defined(OS_LINUX) || \ +- defined(OS_CHROMEOS) || defined(OS_FUCHSIA) ++ defined(OS_CHROMEOS) || defined(OS_FUCHSIA) || defined(OS_BSD) const char kWebUIBrandingUpdateName[] = "WebUI Branding Update"; -@@ -5276,10 +5276,10 @@ const char kSettingsLandingPageRedesignDescription[] = - "Changes the layout of the chrome://settings page to only show one section " - "at a time."; - --#endif // defined(OS_WIN) || defined(OS_MAC) || defined(OS_LINUX) || -+#endif // defined(OS_WIN) || defined(OS_MAC) || defined(OS_LINUX) || defined(OS_BSD) || + const char kWebUIBrandingUpdateDescription[] = +@@ -5329,7 +5329,7 @@ const char kWebuiFeedbackDescription[] = // defined(OS_CHROMEOS) || defined(OS_FUCHSIA) --#if defined(OS_WIN) || defined(OS_MAC) || defined(OS_LINUX) -+#if defined(OS_WIN) || defined(OS_MAC) || defined(OS_LINUX) || defined(OS_BSD) + #if defined(OS_WIN) || defined(OS_MAC) || defined(OS_LINUX) || \ +- defined(OS_FUCHSIA) ++ defined(OS_FUCHSIA) || defined(OS_BSD) const char kCommanderName[] = "Commander"; const char kCommanderDescription[] = -@@ -5295,7 +5295,7 @@ const char kDesktopDetailedLanguageSettingsName[] = - const char kDesktopDetailedLanguageSettingsDescription[] = - "Enable the new detailed language settings page"; +@@ -5348,7 +5348,7 @@ const char kDesktopDetailedLanguageSettingsDescription + #endif // defined(OS_WIN) || defined(OS_MAC) || defined(OS_LINUX) || + // defined(OS_FUCHSIA) --#endif // defined(OS_WIN) || defined(OS_MAC) || defined(OS_LINUX) -+#endif // defined(OS_WIN) || defined(OS_MAC) || defined(OS_LINUX) || defined(OS_BSD) - - #if defined(OS_CHROMEOS) || defined(OS_LINUX) +-#if defined(OS_CHROMEOS) || defined(OS_LINUX) ++#if defined(OS_CHROMEOS) || defined(OS_LINUX) || defined(OS_BSD) #if BUILDFLAG(USE_TCMALLOC) -@@ -5320,7 +5320,7 @@ const char kWebShareDescription[] = + const char kDynamicTcmallocName[] = "Dynamic Tcmalloc Tuning"; + const char kDynamicTcmallocDescription[] = +@@ -5364,7 +5364,7 @@ const char kWebShareDescription[] = "platforms."; #endif // defined(OS_WIN) || defined(OS_CHROMEOS) || defined(OS_MAC) -#if defined(OS_LINUX) && !defined(OS_CHROMEOS) +#if (defined(OS_LINUX) && !defined(OS_CHROMEOS)) || defined(OS_BSD) const char kOzonePlatformHintChoiceDefault[] = "Default"; const char kOzonePlatformHintChoiceAuto[] = "Auto"; const char kOzonePlatformHintChoiceX11[] = "X11"; -@@ -5330,7 +5330,7 @@ const char kOzonePlatformHintName[] = "Preferred Ozone - const char kOzonePlatformHintDescription[] = - "Selects the preferred platform backend used on Linux. The default one is " - "\"X11\". \"Auto\" selects Wayland if possible, X11 otherwise. "; --#endif // defined(OS_LINUX) && !defined(OS_CHROMEOS) -+#endif // (defined(OS_LINUX) && !defined(OS_CHROMEOS)) || defined(OS_BSD) - - // Feature flags -------------------------------------------------------------- - -@@ -5422,7 +5422,7 @@ const char kAutofillCreditCardUploadDescription[] = - - #endif // defined(TOOLKIT_VIEWS) || defined(OS_ANDROID) - --#if !defined(OS_WIN) && !defined(OS_FUCHSIA) -+#if !defined(OS_WIN) && !defined(OS_FUCHSIA) && !defined(OS_BSD) - const char kSendWebUIJavaScriptErrorReportsName[] = - "Send WebUI JavaScript Error Reports"; - const char kSendWebUIJavaScriptErrorReportsDescription[] = -@@ -5437,7 +5437,7 @@ const char kElasticOverscrollDescription[] = - "Enables Elastic Overscrolling on touchscreens and precision touchpads."; +@@ -5482,7 +5482,7 @@ const char kElasticOverscrollDescription[] = #endif // defined(OS_WIN) || defined(OS_ANDROID) --#if defined(OS_WIN) || (defined(OS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS)) || \ -+#if defined(OS_WIN) || (defined(OS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS)) || defined(OS_BSD) || \ - defined(OS_MAC) + #if defined(OS_WIN) || (defined(OS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS)) || \ +- defined(OS_MAC) || defined(OS_FUCHSIA) ++ defined(OS_MAC) || defined(OS_FUCHSIA) || defined(OS_BSD) const char kUIDebugToolsName[] = "Debugging tools for UI"; const char kUIDebugToolsDescription[] = + "Enables additional keyboard shortcuts to help debugging."; diff --git a/www/chromium/files/patch-chrome_browser_flag__descriptions.h b/www/chromium/files/patch-chrome_browser_flag__descriptions.h index dcd7f258f7f1..b7b8292e6415 100644 --- a/www/chromium/files/patch-chrome_browser_flag__descriptions.h +++ b/www/chromium/files/patch-chrome_browser_flag__descriptions.h @@ -1,63 +1,56 @@ ---- chrome/browser/flag_descriptions.h.orig 2022-01-20 10:35:49 UTC +--- chrome/browser/flag_descriptions.h.orig 2022-02-07 13:39:41 UTC +++ chrome/browser/flag_descriptions.h -@@ -22,9 +22,9 @@ +@@ -22,7 +22,7 @@ #include "printing/buildflags/buildflags.h" #include "third_party/blink/public/common/buildflags.h" -#if defined(OS_LINUX) || defined(OS_CHROMEOS) +#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD) #include "base/allocator/buildflags.h" --#endif // defined(OS_LINUX) || defined(OS_CHROMEOS) -+#endif // defined(OS_LINUX) || defined(OS_CHROMEOS) || 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 -@@ -3045,7 +3045,7 @@ extern const char kDownloadShelfWebUIDescription[]; + #endif // defined(OS_LINUX) || defined(OS_CHROMEOS) +@@ -3081,7 +3081,7 @@ extern const char kDownloadShelfWebUIDescription[]; // Random platform combinations ----------------------------------------------- --#if defined(OS_WIN) || defined(OS_MAC) || defined(OS_LINUX) || \ -+#if defined(OS_WIN) || defined(OS_MAC) || defined(OS_LINUX) || defined(OS_BSD) || \ - defined(OS_CHROMEOS) || defined(OS_FUCHSIA) + #if defined(OS_WIN) || defined(OS_MAC) || defined(OS_LINUX) || \ +- defined(OS_CHROMEOS) || defined(OS_FUCHSIA) ++ defined(OS_CHROMEOS) || defined(OS_FUCHSIA) || defined(OS_BSD) extern const char kWebUIBrandingUpdateName[]; -@@ -3057,10 +3057,10 @@ extern const char kWebuiFeedbackDescription[]; - extern const char kSettingsLandingPageRedesignName[]; - extern const char kSettingsLandingPageRedesignDescription[]; - --#endif // defined(OS_WIN) || defined(OS_MAC) || defined(OS_LINUX) || -+#endif // defined(OS_WIN) || defined(OS_MAC) || defined(OS_LINUX) || defined(OS_BSD) || + extern const char kWebUIBrandingUpdateDescription[]; +@@ -3093,7 +3093,7 @@ extern const char kWebuiFeedbackDescription[]; // defined(OS_CHROMEOS) || defined(OS_FUCHSIA) --#if defined(OS_WIN) || defined(OS_MAC) || defined(OS_LINUX) -+#if defined(OS_WIN) || defined(OS_MAC) || defined(OS_LINUX) || defined(OS_BSD) + #if defined(OS_WIN) || defined(OS_MAC) || defined(OS_LINUX) || \ +- defined(OS_FUCHSIA) ++ defined(OS_FUCHSIA) || defined(OS_BSD) extern const char kCommanderName[]; extern const char kCommanderDescription[]; -@@ -3071,7 +3071,7 @@ extern const char kDesktopRestructuredLanguageSettings - extern const char kDesktopDetailedLanguageSettingsName[]; - extern const char kDesktopDetailedLanguageSettingsDescription[]; - --#endif // defined(OS_WIN) || defined(OS_MAC) || defined(OS_LINUX) -+#endif // defined(OS_WIN) || defined(OS_MAC) || defined(OS_LINUX) || defined(OS_BSD) +@@ -3107,7 +3107,7 @@ extern const char kDesktopDetailedLanguageSettingsDesc + #endif // defined(OS_WIN) || defined(OS_MAC) || defined(OS_LINUX) || defined + // (OS_FUCHSIA) - #if defined(OS_CHROMEOS) || defined(OS_LINUX) +-#if defined(OS_CHROMEOS) || defined(OS_LINUX) ++#if defined(OS_CHROMEOS) || defined(OS_LINUX) || defined(OS_BSD) #if BUILDFLAG(USE_TCMALLOC) -@@ -3090,7 +3090,7 @@ extern const char kWebShareName[]; + extern const char kDynamicTcmallocName[]; + extern const char kDynamicTcmallocDescription[]; +@@ -3119,7 +3119,7 @@ extern const char kWebShareName[]; extern const char kWebShareDescription[]; #endif // defined(OS_WIN) || defined(OS_CHROMEOS) || defined(OS_MAC) -#if defined(OS_LINUX) +#if defined(OS_LINUX) || defined(OS_BSD) extern const char kOzonePlatformHintChoiceDefault[]; extern const char kOzonePlatformHintChoiceAuto[]; extern const char kOzonePlatformHintChoiceX11[]; -@@ -3171,7 +3171,7 @@ extern const char kElasticOverscrollName[]; - extern const char kElasticOverscrollDescription[]; +@@ -3201,7 +3201,7 @@ extern const char kElasticOverscrollDescription[]; #endif // defined(OS_WIN) || defined(OS_ANDROID) --#if defined(OS_WIN) || (defined(OS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS)) || \ -+#if defined(OS_WIN) || (defined(OS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS)) || defined(OS_BSD) || \ - defined(OS_MAC) + #if defined(OS_WIN) || (defined(OS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS)) || \ +- defined(OS_MAC) || defined(OS_FUCHSIA) ++ defined(OS_MAC) || defined(OS_FUCHSIA) || defined(OS_BSD) extern const char kUIDebugToolsName[]; extern const char kUIDebugToolsDescription[]; + #endif diff --git a/www/chromium/files/patch-chrome_browser_headless_headless__mode__util.cc b/www/chromium/files/patch-chrome_browser_headless_headless__mode__util.cc index a24df5e3ff18..212403f82033 100644 --- a/www/chromium/files/patch-chrome_browser_headless_headless__mode__util.cc +++ b/www/chromium/files/patch-chrome_browser_headless_headless__mode__util.cc @@ -1,26 +1,29 @@ ---- chrome/browser/headless/headless_mode_util.cc.orig 2021-12-14 11:44:58 UTC +--- chrome/browser/headless/headless_mode_util.cc.orig 2022-02-07 13:39:41 UTC +++ chrome/browser/headless/headless_mode_util.cc @@ -9,7 +9,7 @@ - // Native headless is currently available only on Linux platform. More - // platforms will be added soon, so avoid function level clutter by providing - // stub implementations at the end of the file. --#if defined(OS_LINUX) -+#if defined(OS_LINUX) || defined(OS_BSD) + // Native headless is currently available only on Linux and Windows platforms. + // More platforms will be added later, so avoid function level clutter by + // providing stub implementations at the end of the file. +-#if defined(OS_LINUX) || defined(OS_WIN) ++#if defined(OS_LINUX) || defined(OS_WIN) || defined(OS_BSD) #include #include -@@ -59,7 +59,7 @@ void SetUpCommandLine(const base::CommandLine* command - - } // namespace headless - --#else // defined(OS_LINUX) -+#else // defined(OS_LINUX) || defined(OS_BSD) - - namespace headless { +@@ -17,7 +17,7 @@ + #include "base/base_switches.h" + #include "ui/gfx/switches.h" -@@ -71,4 +71,4 @@ void SetUpCommandLine(const base::CommandLine* command - - } // namespace headless +-#if defined(OS_LINUX) ++#if defined(OS_LINUX) || defined(OS_BSD) + #include "ui/ozone/public/ozone_switches.h" + #endif // defined(OS_LINUX) --#endif // defined(OS_LINUX) -+#endif // defined(OS_LINUX) || defined(OS_BSD) +@@ -51,7 +51,7 @@ void SetUpCommandLine(const base::CommandLine* command + base::CommandLine::ForCurrentProcess()->AppendSwitch( + ::switches::kNoErrorDialogs); + } +-#if defined(OS_LINUX) ++#if defined(OS_LINUX) || defined(OS_BSD) + // Native headless chrome on Linux relies on ozone/headless platform. + base::CommandLine::ForCurrentProcess()->AppendSwitchASCII( + ::switches::kOzonePlatform, switches::kHeadless); diff --git a/www/chromium/files/patch-chrome_browser_intranet__redirect__detector.h b/www/chromium/files/patch-chrome_browser_intranet__redirect__detector.h index 3ad163336f6c..3e6bbefc0095 100644 --- a/www/chromium/files/patch-chrome_browser_intranet__redirect__detector.h +++ b/www/chromium/files/patch-chrome_browser_intranet__redirect__detector.h @@ -1,11 +1,11 @@ ---- chrome/browser/intranet_redirect_detector.h.orig 2021-09-24 04:25:58 UTC +--- chrome/browser/intranet_redirect_detector.h.orig 2022-02-07 13:39:41 UTC +++ chrome/browser/intranet_redirect_detector.h @@ -27,7 +27,7 @@ class SimpleURLLoader; - class PrefRegistrySimple; --#if !(defined(OS_MAC) || defined(OS_WIN) || defined(OS_LINUX) || \ -+#if !(defined(OS_MAC) || defined(OS_WIN) || defined(OS_LINUX) || defined(OS_BSD) || \ - defined(OS_CHROMEOS) || defined(OS_FUCHSIA)) + #if !(defined(OS_MAC) || defined(OS_WIN) || defined(OS_LINUX) || \ +- defined(OS_CHROMEOS) || defined(OS_FUCHSIA)) ++ defined(OS_CHROMEOS) || defined(OS_FUCHSIA) || defined(OS_BSD)) #error "IntranetRedirectDetector should only be built on Desktop platforms." #endif + diff --git a/www/chromium/files/patch-chrome_browser_media__galleries_fileapi_mtp__device__map__service.cc b/www/chromium/files/patch-chrome_browser_media__galleries_fileapi_mtp__device__map__service.cc index 009e6ccaea2e..1359e252c0eb 100644 --- a/www/chromium/files/patch-chrome_browser_media__galleries_fileapi_mtp__device__map__service.cc +++ b/www/chromium/files/patch-chrome_browser_media__galleries_fileapi_mtp__device__map__service.cc @@ -1,15 +1,15 @@ ---- chrome/browser/media_galleries/fileapi/mtp_device_map_service.cc.orig 2021-04-14 18:40:53 UTC +--- chrome/browser/media_galleries/fileapi/mtp_device_map_service.cc.orig 2022-02-07 13:39:41 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) ++#if !defined(OS_BSD) CreateMTPDeviceAsyncDelegate( device_location, read_only, base::BindOnce(&MTPDeviceMapService::AddAsyncDelegate, base::Unretained(this), device_location, read_only)); +#endif mtp_device_usage_map_[key] = 0; } diff --git a/www/chromium/files/patch-chrome_browser_media__galleries_media__file__system__registry.cc b/www/chromium/files/patch-chrome_browser_media__galleries_media__file__system__registry.cc index 4f59f0a7b1f8..1ba9df1cf86a 100644 --- a/www/chromium/files/patch-chrome_browser_media__galleries_media__file__system__registry.cc +++ b/www/chromium/files/patch-chrome_browser_media__galleries_media__file__system__registry.cc @@ -1,14 +1,16 @@ ---- chrome/browser/media_galleries/media_file_system_registry.cc.orig 2021-12-14 11:44:58 UTC +--- chrome/browser/media_galleries/media_file_system_registry.cc.orig 2022-02-07 13:39:41 UTC +++ chrome/browser/media_galleries/media_file_system_registry.cc -@@ -743,7 +743,10 @@ class MediaFileSystemRegistry::MediaFileSystemContextI +@@ -743,7 +743,12 @@ 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. ++ /* ++ * 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/chromium/files/patch-chrome_browser_media_audio__service__util.cc b/www/chromium/files/patch-chrome_browser_media_audio__service__util.cc index 91e6d17ca98d..3810e1791dac 100644 --- a/www/chromium/files/patch-chrome_browser_media_audio__service__util.cc +++ b/www/chromium/files/patch-chrome_browser_media_audio__service__util.cc @@ -1,20 +1,20 @@ ---- chrome/browser/media/audio_service_util.cc.orig 2021-07-19 18:45:08 UTC +--- chrome/browser/media/audio_service_util.cc.orig 2022-02-07 13:39:41 UTC +++ chrome/browser/media/audio_service_util.cc -@@ -21,7 +21,7 @@ +@@ -20,7 +20,7 @@ + namespace { - #if defined(OS_WIN) || defined(OS_MAC) || \ -- (defined(OS_LINUX) && !BUILDFLAG(IS_CHROMEOS_LACROS)) -+ (defined(OS_LINUX) && !BUILDFLAG(IS_CHROMEOS_LACROS)) || defined(OS_BSD) +-#if defined(OS_WIN) || defined(OS_MAC) || \ ++#if defined(OS_WIN) || defined(OS_MAC) || defined(OS_BSD) || \ + (defined(OS_LINUX) && !BUILDFLAG(IS_CHROMEOS_LACROS)) bool GetPolicyOrFeature(const char* policy_name, const base::Feature& feature) { const policy::PolicyMap& policies = - g_browser_process->browser_policy_connector() -@@ -41,7 +41,7 @@ bool IsAudioServiceSandboxEnabled() { +@@ -40,7 +40,7 @@ bool GetPolicyOrFeature(const char* policy_name, const + bool IsAudioServiceSandboxEnabled() { // TODO(crbug.com/1052397): Remove !IS_CHROMEOS_LACROS once lacros starts being // built with OS_CHROMEOS instead of OS_LINUX. - #if defined(OS_WIN) || defined(OS_MAC) || \ -- (defined(OS_LINUX) && !BUILDFLAG(IS_CHROMEOS_LACROS)) -+ (defined(OS_LINUX) && !BUILDFLAG(IS_CHROMEOS_LACROS)) || defined(OS_BSD) +-#if defined(OS_WIN) || defined(OS_MAC) || \ ++#if defined(OS_WIN) || defined(OS_MAC) || defined(OS_BSD) || \ + (defined(OS_LINUX) && !BUILDFLAG(IS_CHROMEOS_LACROS)) return GetPolicyOrFeature(policy::key::kAudioSandboxEnabled, features::kAudioServiceSandbox); - #else diff --git a/www/chromium/files/patch-chrome_browser_media_router_discovery_discovery__network__list__posix.cc b/www/chromium/files/patch-chrome_browser_media_router_discovery_discovery__network__list__posix.cc index 9ddef768a051..de533cff8cd7 100644 --- a/www/chromium/files/patch-chrome_browser_media_router_discovery_discovery__network__list__posix.cc +++ b/www/chromium/files/patch-chrome_browser_media_router_discovery_discovery__network__list__posix.cc @@ -1,34 +1,35 @@ ---- chrome/browser/media/router/discovery/discovery_network_list_posix.cc.orig 2021-04-14 18:40:53 UTC +--- chrome/browser/media/router/discovery/discovery_network_list_posix.cc.orig 2022-02-07 13:39:41 UTC +++ chrome/browser/media/router/discovery/discovery_network_list_posix.cc -@@ -10,6 +10,7 @@ - #include - #include - #include +@@ -5,11 +5,12 @@ + #include "chrome/browser/media/router/discovery/discovery_network_list.h" + + #include ++#include ++#include +#include + #include + #include + #include +-#include +-#include #include @@ -18,7 +19,7 @@ #include "chrome/browser/media/router/discovery/discovery_network_list_wifi.h" #include "net/base/net_errors.h" -#if !defined(OS_MAC) +#if !defined(OS_MAC) && !defined(OS_BSD) #include #else #include -@@ -27,12 +28,12 @@ +@@ -27,7 +28,7 @@ namespace media_router { namespace { -#if !defined(OS_MAC) +#if !defined(OS_MAC) && !defined(OS_BSD) using sll = struct sockaddr_ll; #define SOCKET_ARP_TYPE(s) ((s)->sll_hatype) #define SOCKET_ADDRESS_LEN(s) ((s)->sll_halen) - #define SOCKET_ADDRESS(s) ((s)->sll_addr) --#else // defined(OS_MAC) -+#else // defined(OS_MAC) || defined(OS_BSD) - #define AF_PACKET AF_LINK - using sll = struct sockaddr_dl; - #define SOCKET_ARP_TYPE(s) ((s)->sdl_type) diff --git a/www/chromium/files/patch-chrome_browser_media_webrtc_webrtc__event__log__uploader.cc b/www/chromium/files/patch-chrome_browser_media_webrtc_webrtc__event__log__uploader.cc index 8c2236c5f76c..23421173ffa6 100644 --- a/www/chromium/files/patch-chrome_browser_media_webrtc_webrtc__event__log__uploader.cc +++ b/www/chromium/files/patch-chrome_browser_media_webrtc_webrtc__event__log__uploader.cc @@ -1,11 +1,11 @@ ---- chrome/browser/media/webrtc/webrtc_event_log_uploader.cc.orig 2021-09-24 04:25:58 UTC +--- chrome/browser/media/webrtc/webrtc_event_log_uploader.cc.orig 2022-02-07 13:39:41 UTC +++ chrome/browser/media/webrtc/webrtc_event_log_uploader.cc -@@ -42,6 +42,8 @@ const char kProduct[] = "Chrome_Mac"; +@@ -40,7 +40,7 @@ const char kProduct[] = "Chrome"; + const char kProduct[] = "Chrome_Mac"; + #elif BUILDFLAG(IS_CHROMEOS_ASH) const char kProduct[] = "Chrome_ChromeOS"; - #elif defined(OS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS) +-#elif defined(OS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS) ++#elif defined(OS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS) || defined(OS_BSD) const char kProduct[] = "Chrome_Linux"; -+#elif defined(OS_FREEBSD) -+const char kProduct[] = "Chrome_FreeBSD"; #elif defined(OS_ANDROID) const char kProduct[] = "Chrome_Android"; - #elif defined(OS_FUCHSIA) diff --git a/www/chromium/files/patch-chrome_browser_media_webrtc_webrtc__log__uploader.cc b/www/chromium/files/patch-chrome_browser_media_webrtc_webrtc__log__uploader.cc index 598de0b22423..3955e908aa1c 100644 --- a/www/chromium/files/patch-chrome_browser_media_webrtc_webrtc__log__uploader.cc +++ b/www/chromium/files/patch-chrome_browser_media_webrtc_webrtc__log__uploader.cc @@ -1,11 +1,13 @@ ---- chrome/browser/media/webrtc/webrtc_log_uploader.cc.orig 2021-09-24 04:25:58 UTC +--- chrome/browser/media/webrtc/webrtc_log_uploader.cc.orig 2022-02-07 13:39:41 UTC +++ chrome/browser/media/webrtc/webrtc_log_uploader.cc -@@ -363,6 +363,8 @@ void WebRtcLogUploader::SetupMultipart( +@@ -363,6 +363,10 @@ void WebRtcLogUploader::SetupMultipart( const char product[] = "Chrome_ChromeOS"; #elif defined(OS_FUCHSIA) const char product[] = "Chrome_Fuchsia"; ++#elif defined(OS_OPENBSD) ++ const char product[] = "Chrome_OpenBSD"; +#elif defined(OS_FREEBSD) + const char product[] = "Chrome_FreeBSD"; #else #error Platform not supported. #endif diff --git a/www/chromium/files/patch-chrome_browser_media_webrtc_webrtc__logging__controller.h b/www/chromium/files/patch-chrome_browser_media_webrtc_webrtc__logging__controller.h index 8c81500fc7d9..13788e46d8a8 100644 --- a/www/chromium/files/patch-chrome_browser_media_webrtc_webrtc__logging__controller.h +++ b/www/chromium/files/patch-chrome_browser_media_webrtc_webrtc__logging__controller.h @@ -1,36 +1,20 @@ ---- chrome/browser/media/webrtc/webrtc_logging_controller.h.orig 2021-12-14 11:44:58 UTC +--- chrome/browser/media/webrtc/webrtc_logging_controller.h.orig 2022-02-07 13:39:41 UTC +++ chrome/browser/media/webrtc/webrtc_logging_controller.h -@@ -132,13 +132,13 @@ class WebRtcLoggingController +@@ -132,7 +132,7 @@ 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(LogsDirectoryCallback callback, - 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( @@ -191,7 +191,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| -@@ -199,7 +199,7 @@ class WebRtcLoggingController - void GrantLogsDirectoryAccess(LogsDirectoryCallback callback, - 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/chromium/files/patch-chrome_browser_memory__details__linux.cc b/www/chromium/files/patch-chrome_browser_memory__details__linux.cc index d6ac4e08b257..e174124e6c99 100644 --- a/www/chromium/files/patch-chrome_browser_memory__details__linux.cc +++ b/www/chromium/files/patch-chrome_browser_memory__details__linux.cc @@ -1,13 +1,37 @@ ---- chrome/browser/memory_details_linux.cc.orig 2021-04-14 18:40:53 UTC +--- chrome/browser/memory_details_linux.cc.orig 2022-02-07 13:39:41 UTC +++ chrome/browser/memory_details_linux.cc -@@ -70,8 +70,10 @@ ProcessData GetProcessDataMemoryInformation( +@@ -13,6 +13,7 @@ + #include + + #include "base/bind.h" ++#include "base/command_line.h" + #include "base/files/file_util.h" + #include "base/process/process_iterator.h" + #include "base/process/process_metrics.h" +@@ -27,6 +28,7 @@ + #include "content/public/browser/browser_task_traits.h" + #include "content/public/browser/browser_thread.h" + #include "content/public/common/process_type.h" ++#include "sandbox/policy/switches.h" + #include "ui/base/l10n/l10n_util.h" + + using base::ProcessEntry; +@@ -70,9 +72,18 @@ ProcessData GetProcessDataMemoryInformation( std::unique_ptr metrics( base::ProcessMetrics::CreateProcessMetrics(pid)); -+#if !defined(OS_BSD) ++ ++ base::CommandLine* command_line = base::CommandLine::ForCurrentProcess(); ++ if (!command_line->HasSwitch(sandbox::policy::switches::kNoSandbox)) { ++ pmi.num_open_fds = 0; ++ pmi.open_fds_soft_limit = 0; ++ goto out; ++ } ++ pmi.num_open_fds = metrics->GetOpenFdCount(); pmi.open_fds_soft_limit = metrics->GetOpenFdSoftLimit(); -+#endif ++out: process_data.processes.push_back(pmi); } + return process_data; diff --git a/www/chromium/files/patch-chrome_browser_metrics_chrome__browser__main__extra__parts__metrics.cc b/www/chromium/files/patch-chrome_browser_metrics_chrome__browser__main__extra__parts__metrics.cc index c1cac5c12b4d..74704b2e05ee 100644 --- a/www/chromium/files/patch-chrome_browser_metrics_chrome__browser__main__extra__parts__metrics.cc +++ b/www/chromium/files/patch-chrome_browser_metrics_chrome__browser__main__extra__parts__metrics.cc @@ -1,32 +1,33 @@ ---- chrome/browser/metrics/chrome_browser_main_extra_parts_metrics.cc.orig 2021-12-31 00:57:23 UTC +--- chrome/browser/metrics/chrome_browser_main_extra_parts_metrics.cc.orig 2022-02-07 13:39:41 UTC +++ chrome/browser/metrics/chrome_browser_main_extra_parts_metrics.cc -@@ -63,12 +63,14 @@ +@@ -61,8 +61,10 @@ + + // TODO(crbug.com/1052397): Revisit the macro expression once build flag switch // of lacros-chrome is complete. - #if defined(OS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS) +-#if defined(OS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS) ++#if defined(OS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS) || defined(OS_BSD) ++#if !defined(OS_BSD) #include +#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" - #include "base/version.h" --#endif // defined(OS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS) -+#endif // defined(OS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS) || defined(OS_BSD) - - #if defined(USE_OZONE) - #include "ui/events/devices/device_data_manager.h" -@@ -223,11 +225,13 @@ void RecordStartupMetrics() { +@@ -223,15 +225,18 @@ void RecordStartupMetrics() { base::UmaHistogramBoolean("Windows.ApplockerRunning", IsApplockerRunning()); #endif // defined(OS_WIN) +#if !defined(OS_BSD) // TODO(crbug.com/1216328) Remove logging. LOG(ERROR) << "START: ReportBluetoothAvailability(). " "If you don't see the END: message, this is crbug.com/1216328."; bluetooth_utility::ReportBluetoothAvailability(); LOG(ERROR) << "END: ReportBluetoothAvailability()"; +#endif // Record whether Chrome is the default browser or not. // Disabled on Linux due to hanging browser tests, see crbug.com/1216328. + #if !BUILDFLAG(IS_LINUX) ++#error out + LOG(ERROR) << "START: GetDefaultBrowser(). " + "If you don't see the END: message, this is crbug.com/1216328."; + shell_integration::DefaultWebClientState default_state = diff --git a/www/chromium/files/patch-chrome_browser_metrics_chrome__metrics__service__client.cc b/www/chromium/files/patch-chrome_browser_metrics_chrome__metrics__service__client.cc index 77d90093041d..45aa8736a957 100644 --- a/www/chromium/files/patch-chrome_browser_metrics_chrome__metrics__service__client.cc +++ b/www/chromium/files/patch-chrome_browser_metrics_chrome__metrics__service__client.cc @@ -1,37 +1,29 @@ ---- chrome/browser/metrics/chrome_metrics_service_client.cc.orig 2021-12-31 00:57:23 UTC +--- chrome/browser/metrics/chrome_metrics_service_client.cc.orig 2022-02-07 13:39:41 UTC +++ chrome/browser/metrics/chrome_metrics_service_client.cc -@@ -742,10 +742,10 @@ void ChromeMetricsServiceClient::RegisterMetricsServic +@@ -742,7 +742,7 @@ void ChromeMetricsServiceClient::RegisterMetricsServic + // TODO(crbug.com/1052397): Revisit the macro expression once build flag switch // of lacros-chrome is complete. - #if defined(OS_WIN) || defined(OS_MAC) || \ -- (defined(OS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS)) -+ (defined(OS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS)) || defined(OS_BSD) +-#if defined(OS_WIN) || defined(OS_MAC) || \ ++#if defined(OS_WIN) || defined(OS_MAC) || defined(OS_BSD) || \ + (defined(OS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS)) metrics_service_->RegisterMetricsProvider( std::make_unique()); --#endif // defined(OS_WIN) || defined(OS_MAC) || (defined(OS_LINUX) || -+#endif // defined(OS_WIN) || defined(OS_MAC) || (defined(OS_LINUX) || defined(OS_BSD) || - // BUILDFLAG(IS_CHROMEOS_LACROS)) - - #if BUILDFLAG(ENABLE_PLUGINS) -@@ -837,10 +837,10 @@ void ChromeMetricsServiceClient::RegisterMetricsServic +@@ -838,7 +838,7 @@ void ChromeMetricsServiceClient::RegisterMetricsServic std::make_unique()); #endif -#if defined(OS_WIN) || defined(OS_MAC) || defined(OS_LINUX) +#if defined(OS_WIN) || defined(OS_MAC) || defined(OS_LINUX) || defined(OS_BSD) metrics_service_->RegisterMetricsProvider( metrics::CreateDesktopSessionMetricsProvider()); --#endif // defined(OS_WIN) || defined(OS_MAC) || (defined(OS_LINUX) -+#endif // defined(OS_WIN) || defined(OS_MAC) || (defined(OS_LINUX) || defined(OS_BSD) - } - - void ChromeMetricsServiceClient::RegisterUKMProviders() { + #endif // defined(OS_WIN) || defined(OS_MAC) || (defined(OS_LINUX) @@ -1014,7 +1014,7 @@ bool ChromeMetricsServiceClient::RegisterForProfileEve + #endif // TODO(crbug.com/1052397): Revisit the macro expression once build flag switch // of lacros-chrome is complete. - #if defined(OS_WIN) || defined(OS_MAC) || \ -- (defined(OS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS)) -+ (defined(OS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS)) || defined(OS_BSD) +-#if defined(OS_WIN) || defined(OS_MAC) || \ ++#if defined(OS_WIN) || defined(OS_MAC) || defined(OS_BSD) || \ + (defined(OS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS)) // This creates the DesktopProfileSessionDurationsServices if it didn't exist // already. - metrics::DesktopProfileSessionDurationsServiceFactory::GetForBrowserContext( diff --git a/www/chromium/files/patch-chrome_browser_metrics_process__memory__metrics__emitter.cc b/www/chromium/files/patch-chrome_browser_metrics_process__memory__metrics__emitter.cc deleted file mode 100644 index 98a6affb51d0..000000000000 --- a/www/chromium/files/patch-chrome_browser_metrics_process__memory__metrics__emitter.cc +++ /dev/null @@ -1,20 +0,0 @@ ---- chrome/browser/metrics/process_memory_metrics_emitter.cc.orig 2021-12-14 11:44:58 UTC -+++ chrome/browser/metrics/process_memory_metrics_emitter.cc -@@ -550,7 +550,7 @@ void EmitProcessUmaAndUkm(const GlobalMemoryDump::Proc - - builder->SetPrivateMemoryFootprint(pmd.os_dump().private_footprint_kb / kKiB); - builder->SetSharedMemoryFootprint(pmd.os_dump().shared_footprint_kb / kKiB); --#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_ANDROID) -+#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_ANDROID) || defined(OS_BSD) - builder->SetPrivateSwapFootprint(pmd.os_dump().private_footprint_swap_kb / - kKiB); - #endif -@@ -573,7 +573,7 @@ void EmitProcessUmaAndUkm(const GlobalMemoryDump::Proc - MEMORY_METRICS_HISTOGRAM_MB(std::string(kMemoryHistogramPrefix) + - process_name + ".SharedMemoryFootprint", - pmd.os_dump().shared_footprint_kb / kKiB); --#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_ANDROID) -+#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_ANDROID) || defined(OS_BSD) - MEMORY_METRICS_HISTOGRAM_MB(std::string(kMemoryHistogramPrefix) + - process_name + ".PrivateSwapFootprint", - pmd.os_dump().private_footprint_swap_kb / kKiB); diff --git a/www/chromium/files/patch-chrome_browser_net_system__network__context__manager.cc b/www/chromium/files/patch-chrome_browser_net_system__network__context__manager.cc index 5bcb8e554eb6..5f63460fb5ac 100644 --- a/www/chromium/files/patch-chrome_browser_net_system__network__context__manager.cc +++ b/www/chromium/files/patch-chrome_browser_net_system__network__context__manager.cc @@ -1,64 +1,47 @@ ---- chrome/browser/net/system_network_context_manager.cc.orig 2021-12-31 00:57:23 UTC +--- chrome/browser/net/system_network_context_manager.cc.orig 2022-02-07 13:39:41 UTC +++ chrome/browser/net/system_network_context_manager.cc -@@ -83,11 +83,11 @@ +@@ -84,7 +84,7 @@ // TODO(crbug.com/1052397): Revisit the macro expression once build flag switch // of lacros-chrome is complete. -#if defined(OS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS) +#if defined(OS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS) || 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) || BUILDFLAG(IS_CHROMEOS_LACROS) -+#endif // defined(OS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS) || defined(OS_BSD) - - #if BUILDFLAG(ENABLE_EXTENSIONS) - #include "extensions/common/constants.h" -@@ -134,10 +134,10 @@ network::mojom::HttpAuthDynamicParamsPtr CreateHttpAut +@@ -139,7 +139,7 @@ network::mojom::HttpAuthDynamicParamsPtr CreateHttpAut auth_dynamic_params->basic_over_http_enabled = local_state->GetBoolean(prefs::kBasicAuthOverHttpEnabled); -#if defined(OS_LINUX) || defined(OS_MAC) || defined(OS_CHROMEOS) +#if defined(OS_LINUX) || defined(OS_MAC) || defined(OS_CHROMEOS) || defined(OS_BSD) auth_dynamic_params->delegate_by_kdc_policy = local_state->GetBoolean(prefs::kAuthNegotiateDelegateByKdcPolicy); --#endif // defined(OS_LINUX) || defined(OS_MAC) || defined(OS_CHROMEOS) -+#endif // defined(OS_LINUX) || defined(OS_MAC) || defined(OS_CHROMEOS) || defined(OS_BSD) - - #if defined(OS_POSIX) - auth_dynamic_params->ntlm_v2_enabled = -@@ -365,10 +365,10 @@ SystemNetworkContextManager::SystemNetworkContextManag + #endif // defined(OS_LINUX) || defined(OS_MAC) || defined(OS_CHROMEOS) +@@ -370,7 +370,7 @@ SystemNetworkContextManager::SystemNetworkContextManag pref_change_registrar_.Add(prefs::kBasicAuthOverHttpEnabled, auth_pref_callback); -#if defined(OS_LINUX) || defined(OS_MAC) || defined(OS_CHROMEOS) +#if defined(OS_LINUX) || defined(OS_MAC) || defined(OS_CHROMEOS) || defined(OS_BSD) pref_change_registrar_.Add(prefs::kAuthNegotiateDelegateByKdcPolicy, auth_pref_callback); --#endif // defined(OS_LINUX) || defined(OS_MAC) || defined(OS_CHROMEOS) -+#endif // defined(OS_LINUX) || defined(OS_MAC) || defined(OS_CHROMEOS) || defined(OS_BSD) - - #if defined(OS_POSIX) - pref_change_registrar_.Add(prefs::kNtlmV2Enabled, auth_pref_callback); -@@ -423,10 +423,10 @@ void SystemNetworkContextManager::RegisterPrefs(PrefRe + #endif // defined(OS_LINUX) || defined(OS_MAC) || defined(OS_CHROMEOS) +@@ -428,7 +428,7 @@ void SystemNetworkContextManager::RegisterPrefs(PrefRe registry->RegisterStringPref(prefs::kAuthServerAllowlist, std::string()); registry->RegisterStringPref(prefs::kAuthNegotiateDelegateAllowlist, std::string()); -#if defined(OS_LINUX) || defined(OS_MAC) || defined(OS_CHROMEOS) +#if defined(OS_LINUX) || defined(OS_MAC) || defined(OS_CHROMEOS) || defined(OS_BSD) registry->RegisterBooleanPref(prefs::kAuthNegotiateDelegateByKdcPolicy, false); --#endif // defined(OS_LINUX) || defined(OS_MAC) || defined(OS_CHROMEOS) -+#endif // defined(OS_LINUX) || defined(OS_MAC) || defined(OS_CHROMEOS) || defined(OS_BSD) - - #if defined(OS_POSIX) - registry->RegisterBooleanPref( -@@ -559,7 +559,7 @@ void SystemNetworkContextManager::OnNetworkServiceCrea + #endif // defined(OS_LINUX) || defined(OS_MAC) || defined(OS_CHROMEOS) +@@ -575,7 +575,7 @@ void SystemNetworkContextManager::OnNetworkServiceCrea // TODO(crbug.com/1052397): Revisit the macro expression once build flag switch // of lacros-chrome is complete. -#if defined(OS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS) +#if defined(OS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS) || defined(OS_BSD) const base::CommandLine& command_line = *base::CommandLine::ForCurrentProcess(); diff --git a/www/chromium/files/patch-chrome_browser_new__tab__page_modules_drive_drive__service.cc b/www/chromium/files/patch-chrome_browser_new__tab__page_modules_drive_drive__service.cc index 3690b39521f7..a45f061b45f9 100644 --- a/www/chromium/files/patch-chrome_browser_new__tab__page_modules_drive_drive__service.cc +++ b/www/chromium/files/patch-chrome_browser_new__tab__page_modules_drive_drive__service.cc @@ -1,11 +1,11 @@ ---- chrome/browser/new_tab_page/modules/drive/drive_service.cc.orig 2021-09-24 18:25:14 UTC +--- chrome/browser/new_tab_page/modules/drive/drive_service.cc.orig 2022-02-07 13:39:41 UTC +++ chrome/browser/new_tab_page/modules/drive/drive_service.cc -@@ -36,6 +36,8 @@ constexpr char kPlatform[] = "WINDOWS"; - constexpr char kPlatform[] = "MAC_OS"; - #elif OS_CHROMEOS - constexpr char kPlatform[] = "CHROME_OS"; -+#elif OS_FREEBSD -+constexpr char kPlatform[] = "FREEBSD"; - #else - constexpr char kPlatform[] = "UNSPECIFIED_PLATFORM"; - #endif +@@ -28,7 +28,7 @@ + #include "services/network/public/cpp/resource_request.h" + + namespace { +-#if OS_LINUX ++#if defined(OS_LINUX) || defined(OS_BSD) + constexpr char kPlatform[] = "LINUX"; + #elif OS_WIN + constexpr char kPlatform[] = "WINDOWS"; diff --git a/www/chromium/files/patch-chrome_browser_notifications_notification__display__service__impl.cc b/www/chromium/files/patch-chrome_browser_notifications_notification__display__service__impl.cc index 3536b8419316..8c5b62eaca96 100644 --- a/www/chromium/files/patch-chrome_browser_notifications_notification__display__service__impl.cc +++ b/www/chromium/files/patch-chrome_browser_notifications_notification__display__service__impl.cc @@ -1,29 +1,38 @@ ---- chrome/browser/notifications/notification_display_service_impl.cc.orig 2021-09-24 04:25:58 UTC +--- chrome/browser/notifications/notification_display_service_impl.cc.orig 2022-02-07 13:39:41 UTC +++ chrome/browser/notifications/notification_display_service_impl.cc -@@ -29,7 +29,7 @@ - #include "chrome/browser/extensions/api/notifications/extension_notification_handler.h" +@@ -31,7 +31,7 @@ #endif --#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_MAC) || \ -+#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_MAC) || defined(OS_BSD) || \ - defined(OS_WIN) || defined(OS_FUCHSIA) + #if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_MAC) || \ +- defined(OS_WIN) || defined(OS_FUCHSIA) ++ defined(OS_WIN) || defined(OS_FUCHSIA) || defined(OS_BSD) #include "chrome/browser/send_tab_to_self/desktop_notification_handler.h" #include "chrome/browser/sharing/sharing_notification_handler.h" -@@ -63,7 +63,7 @@ NotificationDisplayServiceImpl* NotificationDisplaySer + #endif +@@ -64,7 +64,7 @@ NotificationDisplayServiceImpl* NotificationDisplaySer // static void NotificationDisplayServiceImpl::RegisterProfilePrefs( user_prefs::PrefRegistrySyncable* registry) { -#if defined(OS_LINUX) +#if defined(OS_LINUX) || defined(OS_BSD) registry->RegisterBooleanPref(prefs::kAllowNativeNotifications, true); registry->RegisterBooleanPref(prefs::kAllowSystemNotifications, true); #endif -@@ -79,7 +79,7 @@ NotificationDisplayServiceImpl::NotificationDisplaySer - AddNotificationHandler(NotificationHandler::Type::WEB_PERSISTENT, +@@ -81,7 +81,7 @@ NotificationDisplayServiceImpl::NotificationDisplaySer std::make_unique()); --#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_MAC) || \ -+#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_MAC) || defined(OS_BSD) || \ - defined(OS_WIN) + #if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_MAC) || \ +- defined(OS_WIN) ++ defined(OS_WIN) || defined(OS_BSD) AddNotificationHandler( NotificationHandler::Type::SEND_TAB_TO_SELF, + std::make_unique( +@@ -89,7 +89,7 @@ NotificationDisplayServiceImpl::NotificationDisplaySer + #endif + + #if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_MAC) || \ +- defined(OS_WIN) ++ defined(OS_WIN) || defined(OS_BSD) + AddNotificationHandler( + NotificationHandler::Type::TAILORED_SECURITY, + std::make_unique()); diff --git a/www/chromium/files/patch-chrome_browser_notifications_notification__platform__bridge__delegator.cc b/www/chromium/files/patch-chrome_browser_notifications_notification__platform__bridge__delegator.cc index e1c0996b03a2..9826c93c7a70 100644 --- a/www/chromium/files/patch-chrome_browser_notifications_notification__platform__bridge__delegator.cc +++ b/www/chromium/files/patch-chrome_browser_notifications_notification__platform__bridge__delegator.cc @@ -1,20 +1,11 @@ ---- chrome/browser/notifications/notification_platform_bridge_delegator.cc.orig 2021-09-14 01:51:50 UTC +--- chrome/browser/notifications/notification_platform_bridge_delegator.cc.orig 2022-02-07 13:39:41 UTC +++ chrome/browser/notifications/notification_platform_bridge_delegator.cc @@ -57,7 +57,7 @@ bool SystemNotificationsEnabled(Profile* profile) { #elif defined(OS_WIN) return NotificationPlatformBridgeWin::SystemNotificationEnabled(); #else -#if defined(OS_LINUX) +#if defined(OS_LINUX) || defined(OS_BSD) if (profile) { // Prefs take precedence over flags. PrefService* prefs = profile->GetPrefs(); -@@ -66,7 +66,7 @@ bool SystemNotificationsEnabled(Profile* profile) { - return false; - } - } --#endif // defined(OS_LINUX) -+#endif // defined(OS_LINUX) || defined(OS_BSD) - return base::FeatureList::IsEnabled(features::kNativeNotifications) && - base::FeatureList::IsEnabled(features::kSystemNotifications); - #endif // defined(OS_CHROMEOS) || defined(OS_ANDROID) diff --git a/www/chromium/files/patch-chrome_browser_password__manager_chrome__password__manager__client.cc b/www/chromium/files/patch-chrome_browser_password__manager_chrome__password__manager__client.cc deleted file mode 100644 index 3993957f3fea..000000000000 --- a/www/chromium/files/patch-chrome_browser_password__manager_chrome__password__manager__client.cc +++ /dev/null @@ -1,26 +0,0 @@ ---- chrome/browser/password_manager/chrome_password_manager_client.cc.orig 2021-12-14 11:44:58 UTC -+++ chrome/browser/password_manager/chrome_password_manager_client.cc -@@ -9,6 +9,10 @@ - #include - #include - -+#if defined(OS_BSD) -+#include -+#endif -+ - #include "base/bind.h" - #include "base/callback_helpers.h" - #include "base/command_line.h" -@@ -104,8 +108,11 @@ - #include "net/cert/cert_status_flags.h" - #include "services/metrics/public/cpp/ukm_recorder.h" - #include "services/network/public/cpp/is_potentially_trustworthy.h" --#include "third_party/re2/src/re2/re2.h" - #include "url/url_constants.h" -+ -+#if !defined(OS_BSD) -+#include "third_party/re2/src/re2/re2.h" -+#endif - - #if BUILDFLAG(FULL_SAFE_BROWSING) - #include "chrome/browser/safe_browsing/advanced_protection_status_manager.h" diff --git a/www/chromium/files/patch-chrome_browser_password__manager_password__reuse__manager__factory.cc b/www/chromium/files/patch-chrome_browser_password__manager_password__reuse__manager__factory.cc index 04db9b54dfa1..dcccaeaa5380 100644 --- a/www/chromium/files/patch-chrome_browser_password__manager_password__reuse__manager__factory.cc +++ b/www/chromium/files/patch-chrome_browser_password__manager_password__reuse__manager__factory.cc @@ -1,11 +1,11 @@ ---- chrome/browser/password_manager/password_reuse_manager_factory.cc.orig 2021-12-14 11:44:58 UTC +--- chrome/browser/password_manager/password_reuse_manager_factory.cc.orig 2022-02-07 13:39:41 UTC +++ chrome/browser/password_manager/password_reuse_manager_factory.cc -@@ -93,7 +93,7 @@ KeyedService* PasswordReuseManagerFactory::BuildServic - +@@ -94,7 +94,7 @@ KeyedService* PasswordReuseManagerFactory::BuildServic // TODO(crbug.com/1052397): Revisit the macro expression once build flag switch // of lacros-chrome is complete. --#if defined(OS_WIN) || defined(OS_MAC) || defined(OS_LINUX) || \ -+#if defined(OS_WIN) || defined(OS_MAC) || defined(OS_LINUX) || defined(OS_BSD) || \ - BUILDFLAG(IS_CHROMEOS_LACROS) + #if defined(OS_WIN) || defined(OS_MAC) || defined(OS_LINUX) || \ +- BUILDFLAG(IS_CHROMEOS_LACROS) ++ BUILDFLAG(IS_CHROMEOS_LACROS) || defined(OS_BSD) std::unique_ptr notifier = std::make_unique( + IdentityManagerFactory::GetForProfile(profile)); diff --git a/www/chromium/files/patch-chrome_browser_pdf_pdf__extension__test.cc b/www/chromium/files/patch-chrome_browser_pdf_pdf__extension__test.cc deleted file mode 100644 index b0bfa7676da5..000000000000 --- a/www/chromium/files/patch-chrome_browser_pdf_pdf__extension__test.cc +++ /dev/null @@ -1,25 +0,0 @@ ---- chrome/browser/pdf/pdf_extension_test.cc.orig 2021-12-31 00:57:23 UTC -+++ chrome/browser/pdf/pdf_extension_test.cc -@@ -920,11 +920,11 @@ IN_PROC_BROWSER_TEST_P(PDFPluginDisabledTest, DirectNa - } - - // TODO(crbug.com/1201401): fix flakiness and reenable --#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_MAC) -+#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_MAC) || defined(OS_BSD) - #define MAYBE_EmbedPdfPlaceholderWithCSP DISABLED_EmbedPdfPlaceholderWithCSP - #else - #define MAYBE_EmbedPdfPlaceholderWithCSP EmbedPdfPlaceholderWithCSP --#endif // defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_MAC) -+#endif // defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_MAC) || defined(OS_BSD) - IN_PROC_BROWSER_TEST_P(PDFPluginDisabledTest, - MAYBE_EmbedPdfPlaceholderWithCSP) { - // Navigate to a page with CSP that uses to embed a PDF as a plugin. -@@ -3004,7 +3004,7 @@ IN_PROC_BROWSER_TEST_P(PDFExtensionClipboardTest, - } - - // Flaky on Linux (https://crbug.com/1121446) --#if defined(OS_LINUX) -+#if defined(OS_LINUX) || defined(OS_BSD) - #define MAYBE_CombinedShiftArrowPresses DISABLED_CombinedShiftArrowPresses - #else - #define MAYBE_CombinedShiftArrowPresses CombinedShiftArrowPresses diff --git a/www/chromium/files/patch-chrome_browser_performance__monitor_process__metrics__history.cc b/www/chromium/files/patch-chrome_browser_performance__monitor_process__metrics__history.cc deleted file mode 100644 index ae857749f61e..000000000000 --- a/www/chromium/files/patch-chrome_browser_performance__monitor_process__metrics__history.cc +++ /dev/null @@ -1,11 +0,0 @@ ---- chrome/browser/performance_monitor/process_metrics_history.cc.orig 2021-05-12 22:05:44 UTC -+++ chrome/browser/performance_monitor/process_metrics_history.cc -@@ -39,7 +39,7 @@ ProcessMonitor::Metrics ProcessMetricsHistory::SampleM - ProcessMonitor::Metrics metrics; - - metrics.cpu_usage = process_metrics_->GetPlatformIndependentCPUUsage(); --#if defined(OS_MAC) || defined(OS_LINUX) || defined(OS_CHROMEOS) || \ -+#if defined(OS_MAC) || defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD) || \ - defined(OS_AIX) - metrics.idle_wakeups = process_metrics_->GetIdleWakeupsPerSecond(); - #endif diff --git a/www/chromium/files/patch-chrome_browser_performance__monitor_process__metrics__recorder__util.cc b/www/chromium/files/patch-chrome_browser_performance__monitor_process__metrics__recorder__util.cc new file mode 100644 index 000000000000..1772808f5a58 --- /dev/null +++ b/www/chromium/files/patch-chrome_browser_performance__monitor_process__metrics__recorder__util.cc @@ -0,0 +1,11 @@ +--- chrome/browser/performance_monitor/process_metrics_recorder_util.cc.orig 2022-02-07 13:39:41 UTC ++++ chrome/browser/performance_monitor/process_metrics_recorder_util.cc +@@ -42,7 +42,7 @@ void RecordProcessHistograms(const char* histogram_suf + metrics.cpu_usage * kCPUUsageFactor, kCPUUsageHistogramMin, + kCPUUsageHistogramMax, kCPUUsageHistogramBucketCount); + #if defined(OS_MAC) || defined(OS_LINUX) || defined(OS_CHROMEOS) || \ +- defined(OS_AIX) ++ defined(OS_AIX) || defined(OS_BSD) + base::UmaHistogramCounts10000( + base::JoinString({"PerformanceMonitor.IdleWakeups.", histogram_suffix}, + ""), diff --git a/www/chromium/files/patch-chrome_browser_performance__monitor_process__monitor.cc b/www/chromium/files/patch-chrome_browser_performance__monitor_process__monitor.cc index 66375e3e21b2..0849e8e1662f 100644 --- a/www/chromium/files/patch-chrome_browser_performance__monitor_process__monitor.cc +++ b/www/chromium/files/patch-chrome_browser_performance__monitor_process__monitor.cc @@ -1,11 +1,11 @@ ---- chrome/browser/performance_monitor/process_monitor.cc.orig 2021-12-14 11:44:58 UTC +--- chrome/browser/performance_monitor/process_monitor.cc.orig 2022-02-07 13:39:41 UTC +++ chrome/browser/performance_monitor/process_monitor.cc -@@ -75,7 +75,7 @@ ProcessMonitor::Metrics& operator+=(ProcessMonitor::Me - const ProcessMonitor::Metrics& rhs) { +@@ -80,7 +80,7 @@ ProcessMonitor::Metrics& operator+=(ProcessMonitor::Me lhs.cpu_usage += rhs.cpu_usage; --#if defined(OS_MAC) || defined(OS_LINUX) || defined(OS_CHROMEOS) || \ -+#if defined(OS_MAC) || defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD) || \ - defined(OS_AIX) + #if defined(OS_MAC) || defined(OS_LINUX) || defined(OS_CHROMEOS) || \ +- defined(OS_AIX) ++ defined(OS_AIX) || defined(OS_BSD) lhs.idle_wakeups += rhs.idle_wakeups; #endif + diff --git a/www/chromium/files/patch-chrome_browser_performance__monitor_process__monitor.h b/www/chromium/files/patch-chrome_browser_performance__monitor_process__monitor.h index 72d43ea7de65..7420e47f1360 100644 --- a/www/chromium/files/patch-chrome_browser_performance__monitor_process__monitor.h +++ b/www/chromium/files/patch-chrome_browser_performance__monitor_process__monitor.h @@ -1,11 +1,11 @@ ---- chrome/browser/performance_monitor/process_monitor.h.orig 2021-12-14 11:44:58 UTC +--- chrome/browser/performance_monitor/process_monitor.h.orig 2022-02-07 13:39:41 UTC +++ chrome/browser/performance_monitor/process_monitor.h @@ -56,7 +56,7 @@ class ProcessMonitor { - // can exceed 100% in multi-thread processes running on multi-core systems. double cpu_usage = 0.0; --#if defined(OS_MAC) || defined(OS_LINUX) || defined(OS_CHROMEOS) || \ -+#if defined(OS_MAC) || defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD) || \ - defined(OS_AIX) + #if defined(OS_MAC) || defined(OS_LINUX) || defined(OS_CHROMEOS) || \ +- defined(OS_AIX) ++ defined(OS_AIX) || defined(OS_BSD) // Returns the number of average idle cpu wakeups per second since the last // time the metric was sampled. + int idle_wakeups = 0; diff --git a/www/chromium/files/patch-chrome_browser_policy_chrome__browser__cloud__management__controller__desktop.cc b/www/chromium/files/patch-chrome_browser_policy_chrome__browser__cloud__management__controller__desktop.cc index 69471e9770ac..01e01264b438 100644 --- a/www/chromium/files/patch-chrome_browser_policy_chrome__browser__cloud__management__controller__desktop.cc +++ b/www/chromium/files/patch-chrome_browser_policy_chrome__browser__cloud__management__controller__desktop.cc @@ -1,23 +1,38 @@ ---- chrome/browser/policy/chrome_browser_cloud_management_controller_desktop.cc.orig 2021-12-31 00:57:23 UTC +--- chrome/browser/policy/chrome_browser_cloud_management_controller_desktop.cc.orig 2022-02-07 13:39:41 UTC +++ chrome/browser/policy/chrome_browser_cloud_management_controller_desktop.cc -@@ -46,9 +46,9 @@ +@@ -46,7 +46,7 @@ #include "chrome/browser/policy/browser_dm_token_storage_mac.h" #endif // defined(OS_MAC) -#if defined(OS_LINUX) || defined(OS_CHROMEOS) +#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD) #include "chrome/browser/policy/browser_dm_token_storage_linux.h" --#endif // defined(OS_LINUX) || defined(OS_CHROMEOS) -+#endif // defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD) + #endif // defined(OS_LINUX) || defined(OS_CHROMEOS) - #if defined(OS_WIN) - #include "chrome/browser/policy/browser_dm_token_storage_win.h" -@@ -82,7 +82,7 @@ void ChromeBrowserCloudManagementControllerDesktop:: +@@ -55,7 +55,7 @@ + #include "chrome/install_static/install_util.h" + #endif // defined(OS_WIN) + +-#if defined(OS_WIN) || defined(OS_LINUX) || defined(OS_MAC) ++#if defined(OS_WIN) || defined(OS_LINUX) || defined(OS_MAC) || defined(OS_BSD) + #include "chrome/browser/enterprise/connectors/device_trust/device_trust_features.h" + #include "chrome/browser/enterprise/connectors/device_trust/key_management/browser/device_trust_key_manager_impl.h" + #include "chrome/browser/enterprise/connectors/device_trust/key_management/browser/key_rotation_launcher.h" +@@ -88,7 +88,7 @@ void ChromeBrowserCloudManagementControllerDesktop:: #if defined(OS_MAC) storage_delegate = std::make_unique(); -#elif defined(OS_LINUX) || defined(OS_CHROMEOS) +#elif defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD) storage_delegate = std::make_unique(); #elif defined(OS_WIN) storage_delegate = std::make_unique(); +@@ -243,7 +243,7 @@ ChromeBrowserCloudManagementControllerDesktop::CreateC + + std::unique_ptr + ChromeBrowserCloudManagementControllerDesktop::CreateDeviceTrustKeyManager() { +-#if defined(OS_WIN) || defined(OS_LINUX) || defined(OS_MAC) ++#if defined(OS_WIN) || defined(OS_LINUX) || defined(OS_MAC) || defined(OS_BSD) + if (enterprise_connectors::IsDeviceTrustConnectorFeatureEnabled()) { + auto key_rotation_launcher = + enterprise_connectors::KeyRotationLauncher::Create( diff --git a/www/chromium/files/patch-chrome_browser_policy_configuration__policy__handler__list__factory.cc b/www/chromium/files/patch-chrome_browser_policy_configuration__policy__handler__list__factory.cc index e406d9f92fbe..c77867ed9e8e 100644 --- a/www/chromium/files/patch-chrome_browser_policy_configuration__policy__handler__list__factory.cc +++ b/www/chromium/files/patch-chrome_browser_policy_configuration__policy__handler__list__factory.cc @@ -1,78 +1,47 @@ ---- chrome/browser/policy/configuration_policy_handler_list_factory.cc.orig 2021-12-31 00:57:23 UTC +--- chrome/browser/policy/configuration_policy_handler_list_factory.cc.orig 2022-02-07 13:39:41 UTC +++ chrome/browser/policy/configuration_policy_handler_list_factory.cc -@@ -1416,11 +1416,11 @@ const PolicyToPreferenceMapEntry kSimplePolicyMap[] = +@@ -1432,7 +1432,7 @@ const PolicyToPreferenceMapEntry kSimplePolicyMap[] = base::Value::Type::BOOLEAN }, #endif // !defined(OS_MAC) && !defined(OS_CHROMEOS) -#if defined(OS_LINUX) || defined(OS_MAC) || defined(OS_CHROMEOS) +#if defined(OS_LINUX) || defined(OS_MAC) || defined(OS_CHROMEOS) || defined(OS_BSD) { key::kAuthNegotiateDelegateByKdcPolicy, prefs::kAuthNegotiateDelegateByKdcPolicy, base::Value::Type::BOOLEAN }, --#endif // defined(OS_LINUX) || defined(OS_MAC) || defined(OS_CHROMEOS) -+#endif // defined(OS_LINUX) || defined(OS_MAC) || defined(OS_CHROMEOS) || defined(OS_BSD) - - #if !defined(OS_MAC) - { key::kFullscreenAllowed, -@@ -1531,7 +1531,7 @@ const PolicyToPreferenceMapEntry kSimplePolicyMap[] = - base::Value::Type::INTEGER }, - #endif +@@ -1541,7 +1541,7 @@ const PolicyToPreferenceMapEntry kSimplePolicyMap[] = + base::Value::Type::BOOLEAN }, + #endif // BUILDFLAG(IS_CHROMEOS_ASH) -#if BUILDFLAG(ENABLE_EXTENSIONS) && (defined(OS_WIN) || defined(OS_MAC) || defined(OS_LINUX)) +#if BUILDFLAG(ENABLE_EXTENSIONS) && (defined(OS_WIN) || defined(OS_MAC) || defined(OS_LINUX) || defined(OS_BSD)) { key::kChromeAppsEnabled, extensions::pref_names::kChromeAppsEnabled, base::Value::Type::BOOLEAN }, -@@ -1801,7 +1801,7 @@ std::unique_ptr BuildH - SimpleSchemaValidatingPolicyHandler::MANDATORY_ALLOWED)); +@@ -1828,7 +1828,7 @@ std::unique_ptr BuildH #endif // defined(OS_ANDROID) --#if defined(OS_LINUX) || defined(OS_MAC) || defined(OS_WIN) || \ -+#if defined(OS_LINUX) || defined(OS_MAC) || defined(OS_WIN) || defined(OS_BSD) || \ - defined(OS_CHROMEOS) || defined(OS_FUCHSIA) + #if defined(OS_LINUX) || defined(OS_MAC) || defined(OS_WIN) || \ +- defined(OS_CHROMEOS) || defined(OS_FUCHSIA) ++ defined(OS_CHROMEOS) || defined(OS_FUCHSIA) || defined(OS_BSD) handlers->AddHandler( std::make_unique< -@@ -1809,7 +1809,7 @@ std::unique_ptr BuildH - key::kContextAwareAccessSignalsAllowlist, - enterprise_connectors::kContextAwareAccessSignalsAllowlistPref, - chrome_schema)); --#endif // defined(OS_LINUX) || defined(OS_MAC) || defined(OS_WIN) || -+#endif // defined(OS_LINUX) || defined(OS_MAC) || defined(OS_WIN) || defined(OS_BSD) || - // defined(OS_CHROMEOS) || defined(OS_FUCHSIA) - - #if defined(OS_CHROMEOS) -@@ -2166,14 +2166,14 @@ std::unique_ptr BuildH - SimpleSchemaValidatingPolicyHandler::RECOMMENDED_PROHIBITED, + enterprise_connectors::EnterpriseConnectorsPolicyHandler>( +@@ -2193,7 +2193,7 @@ std::unique_ptr BuildH SimpleSchemaValidatingPolicyHandler::MANDATORY_ALLOWED)); --#if defined(OS_WIN) || defined(OS_MAC) || defined(OS_LINUX) || \ -+#if defined(OS_WIN) || defined(OS_MAC) || defined(OS_LINUX) || defined(OS_BSD) || \ - defined(OS_FUCHSIA) + #if defined(OS_WIN) || defined(OS_MAC) || defined(OS_LINUX) || \ +- defined(OS_FUCHSIA) ++ defined(OS_FUCHSIA) || defined(OS_BSD) handlers->AddHandler(std::make_unique( key::kWebAppSettings, prefs::kWebAppSettings, chrome_schema, SCHEMA_ALLOW_UNKNOWN, - SimpleSchemaValidatingPolicyHandler::RECOMMENDED_PROHIBITED, - SimpleSchemaValidatingPolicyHandler::MANDATORY_ALLOWED)); --#endif // defined(OS_WIN) || defined(OS_MAC) || defined(OS_LINUX) || -+#endif // defined(OS_WIN) || defined(OS_MAC) || defined(OS_LINUX) || defined(OS_BSD) || - // defined(OS_FUCHSIA) - - #endif // BUILDFLAG(ENABLE_EXTENSIONS) -@@ -2198,7 +2198,7 @@ std::unique_ptr BuildH +@@ -2224,7 +2224,7 @@ std::unique_ptr BuildH policy::key::kSpellcheckLanguageBlocklist)); #endif // BUILDFLAG(ENABLE_SPELLCHECK) -#if defined(OS_LINUX) +#if defined(OS_LINUX) || defined(OS_BSD) handlers->AddHandler(std::make_unique( std::make_unique(key::kAllowNativeNotifications, prefs::kAllowNativeNotifications, -@@ -2206,7 +2206,7 @@ std::unique_ptr BuildH - std::make_unique(key::kAllowSystemNotifications, - prefs::kAllowSystemNotifications, - base::Value::Type::BOOLEAN))); --#endif // defined(OS_LINUX) -+#endif // defined(OS_LINUX) || defined(OS_BSD) - - return handlers; - } diff --git a/www/chromium/files/patch-chrome_browser_policy_device__management__service__configuration.cc b/www/chromium/files/patch-chrome_browser_policy_device__management__service__configuration.cc index 4134e07d655d..ecc41e4e4b39 100644 --- a/www/chromium/files/patch-chrome_browser_policy_device__management__service__configuration.cc +++ b/www/chromium/files/patch-chrome_browser_policy_device__management__service__configuration.cc @@ -1,20 +1,20 @@ ---- chrome/browser/policy/device_management_service_configuration.cc.orig 2021-09-14 01:51:50 UTC +--- chrome/browser/policy/device_management_service_configuration.cc.orig 2022-02-07 13:39:41 UTC +++ chrome/browser/policy/device_management_service_configuration.cc -@@ -20,7 +20,7 @@ +@@ -19,7 +19,7 @@ + #include "chromeos/system/statistics_provider.h" #endif - #if defined(OS_WIN) || defined(OS_MAC) || \ -- ((defined(OS_LINUX) || defined(OS_CHROMEOS)) && !defined(OS_ANDROID)) -+ ((defined(OS_LINUX) || defined(OS_CHROMEOS)) && !defined(OS_ANDROID)) || defined(OS_BSD) +-#if defined(OS_WIN) || defined(OS_MAC) || \ ++#if defined(OS_WIN) || defined(OS_MAC) || defined(OS_BSD) || \ + ((defined(OS_LINUX) || defined(OS_CHROMEOS)) && !defined(OS_ANDROID)) #include "chrome/browser/enterprise/connectors/common.h" #include "chrome/browser/enterprise/connectors/connectors_service.h" - #endif -@@ -98,7 +98,7 @@ std::string +@@ -97,7 +97,7 @@ DeviceManagementServiceConfiguration::GetEncryptedRepo + std::string DeviceManagementServiceConfiguration::GetReportingConnectorServerUrl( content::BrowserContext* context) const { - #if defined(OS_WIN) || defined(OS_MAC) || \ -- ((defined(OS_LINUX) || defined(OS_CHROMEOS)) && !defined(OS_ANDROID)) -+ ((defined(OS_LINUX) || defined(OS_CHROMEOS)) && !defined(OS_ANDROID)) || defined(OS_BSD) +-#if defined(OS_WIN) || defined(OS_MAC) || \ ++#if defined(OS_WIN) || defined(OS_MAC) || defined(OS_BSD) || \ + ((defined(OS_LINUX) || defined(OS_CHROMEOS)) && !defined(OS_ANDROID)) auto* service = enterprise_connectors::ConnectorsServiceFactory::GetForBrowserContext( - context); diff --git a/www/chromium/files/patch-chrome_browser_prefs_browser__prefs.cc b/www/chromium/files/patch-chrome_browser_prefs_browser__prefs.cc index 957158812095..5090d1971a8d 100644 --- a/www/chromium/files/patch-chrome_browser_prefs_browser__prefs.cc +++ b/www/chromium/files/patch-chrome_browser_prefs_browser__prefs.cc @@ -1,77 +1,46 @@ ---- chrome/browser/prefs/browser_prefs.cc.orig 2021-12-31 00:57:23 UTC +--- chrome/browser/prefs/browser_prefs.cc.orig 2022-02-07 13:39:41 UTC +++ chrome/browser/prefs/browser_prefs.cc -@@ -412,14 +412,14 @@ +@@ -415,14 +415,14 @@ + #include "components/os_crypt/os_crypt.h" #endif - #if defined(OS_WIN) || defined(OS_MAC) || \ -- (defined(OS_LINUX) && !BUILDFLAG(IS_CHROMEOS_LACROS)) -+ (defined(OS_LINUX) && !BUILDFLAG(IS_CHROMEOS_LACROS)) || defined(OS_BSD) +-#if defined(OS_WIN) || defined(OS_MAC) || \ ++#if defined(OS_WIN) || defined(OS_MAC) || defined(OS_BSD) || \ + (defined(OS_LINUX) && !BUILDFLAG(IS_CHROMEOS_LACROS)) #include "chrome/browser/web_applications/url_handler_prefs.h" #endif // TODO(crbug.com/1052397): Revisit the macro expression once build flag switch // of lacros-chrome is complete. - #if defined(OS_WIN) || defined(OS_MAC) || \ -- (defined(OS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS)) -+ (defined(OS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS)) || defined(OS_BSD) +-#if defined(OS_WIN) || defined(OS_MAC) || \ ++#if defined(OS_WIN) || defined(OS_MAC) || defined(OS_BSD) || \ + (defined(OS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS)) #include "chrome/browser/browser_switcher/browser_switcher_prefs.h" #endif - -@@ -493,7 +493,7 @@ const char kLocalDiscoveryNotificationsEnabled[] = - #endif - - // Deprecated 11/2020 --#if defined(OS_LINUX) && !BUILDFLAG(IS_CHROMECAST) -+#if (defined(OS_LINUX) && !BUILDFLAG(IS_CHROMECAST)) || defined(OS_BSD) - const char kMigrationToLoginDBStep[] = "profile.migration_to_logindb_step"; - #endif - -@@ -755,7 +755,7 @@ void RegisterProfilePrefsForMigration( - - registry->RegisterBooleanPref(prefs::kWebAppsUserDisplayModeCleanedUp, false); - --#if defined(OS_LINUX) && !BUILDFLAG(IS_CHROMECAST) -+#if (defined(OS_LINUX) && !BUILDFLAG(IS_CHROMECAST)) || defined(OS_BSD) - registry->RegisterIntegerPref(kMigrationToLoginDBStep, 0); - #endif - -@@ -1079,10 +1079,10 @@ void RegisterLocalState(PrefRegistrySimple* registry) - +@@ -1069,7 +1069,7 @@ void RegisterLocalState(PrefRegistrySimple* registry) // TODO(crbug/1169547) Remove `BUILDFLAG(IS_CHROMEOS_LACROS)` once the // migration is complete. --#if defined(OS_LINUX) || defined(OS_MAC) || defined(OS_WIN) || \ -+#if defined(OS_LINUX) || defined(OS_MAC) || defined(OS_WIN) || defined(OS_BSD) || \ - BUILDFLAG(IS_CHROMEOS_LACROS) + #if defined(OS_LINUX) || defined(OS_MAC) || defined(OS_WIN) || \ +- BUILDFLAG(IS_CHROMEOS_LACROS) ++ BUILDFLAG(IS_CHROMEOS_LACROS) || defined(OS_BSD) enterprise_connectors::RegisterLocalPrefs(registry); --#endif // defined(OS_LINUX) || defined(OS_MAC) || defined(OS_WIN) -+#endif // defined(OS_LINUX) || defined(OS_MAC) || defined(OS_WIN) || defined(OS_BSD) + #endif // defined(OS_LINUX) || defined(OS_MAC) || defined(OS_WIN) - #if defined(OS_MAC) - confirm_quit::RegisterLocalState(registry); -@@ -1112,7 +1112,7 @@ void RegisterLocalState(PrefRegistrySimple* registry) +@@ -1101,7 +1101,7 @@ void RegisterLocalState(PrefRegistrySimple* registry) + #endif // BUILDFLAG(GOOGLE_CHROME_BRANDING) #endif // defined(OS_WIN) - #if defined(OS_WIN) || defined(OS_MAC) || \ -- (defined(OS_LINUX) && !BUILDFLAG(IS_CHROMEOS_LACROS)) -+ (defined(OS_LINUX) && !BUILDFLAG(IS_CHROMEOS_LACROS)) || defined(OS_BSD) +-#if defined(OS_WIN) || defined(OS_MAC) || \ ++#if defined(OS_WIN) || defined(OS_MAC) || defined(OS_BSD) || \ + (defined(OS_LINUX) && !BUILDFLAG(IS_CHROMEOS_LACROS)) web_app::url_handler_prefs::RegisterLocalStatePrefs(registry); #endif +@@ -1396,7 +1396,7 @@ void RegisterProfilePrefs(user_prefs::PrefRegistrySync -@@ -1405,7 +1405,7 @@ void RegisterProfilePrefs(user_prefs::PrefRegistrySync // TODO(crbug.com/1052397): Revisit the macro expression once build flag switch // of lacros-chrome is complete. - #if defined(OS_WIN) || defined(OS_MAC) || \ -- (defined(OS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS)) -+ (defined(OS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS)) || defined(OS_BSD) +-#if defined(OS_WIN) || defined(OS_MAC) || \ ++#if defined(OS_WIN) || defined(OS_MAC) || defined(OS_BSD) || \ + (defined(OS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS)) browser_switcher::BrowserSwitcherPrefs::RegisterProfilePrefs(registry); #endif - -@@ -1554,7 +1554,7 @@ void MigrateObsoleteProfilePrefs(Profile* profile) { - profile_prefs); - - // Added 11/2020 --#if defined(OS_LINUX) && !BUILDFLAG(IS_CHROMECAST) -+#if (defined(OS_LINUX) && !BUILDFLAG(IS_CHROMECAST)) || defined(OS_BSD) - profile_prefs->ClearPref(kMigrationToLoginDBStep); - #endif - diff --git a/www/chromium/files/patch-chrome_browser_printing_print__job__worker.cc b/www/chromium/files/patch-chrome_browser_printing_print__job__worker.cc index fd8af4d6fbc3..c6418795ec69 100644 --- a/www/chromium/files/patch-chrome_browser_printing_print__job__worker.cc +++ b/www/chromium/files/patch-chrome_browser_printing_print__job__worker.cc @@ -1,20 +1,11 @@ ---- chrome/browser/printing/print_job_worker.cc.orig 2021-12-14 11:44:58 UTC +--- chrome/browser/printing/print_job_worker.cc.orig 2022-02-07 13:39:41 UTC +++ chrome/browser/printing/print_job_worker.cc -@@ -287,7 +287,7 @@ void PrintJobWorker::UpdatePrintSettings(base::Value n +@@ -231,7 +231,7 @@ void PrintJobWorker::UpdatePrintSettings(base::Value n crash_key = std::make_unique( print_backend->GetPrinterDriverInfo(printer_name)); -#if defined(OS_LINUX) && defined(USE_CUPS) +#if (defined(OS_LINUX) || defined(OS_BSD)) && defined(USE_CUPS) PrinterBasicInfo basic_info; if (print_backend->GetPrinterBasicInfo(printer_name, &basic_info) == mojom::ResultCode::kSuccess) { -@@ -298,7 +298,7 @@ void PrintJobWorker::UpdatePrintSettings(base::Value n - new_settings.SetKey(kSettingAdvancedSettings, - std::move(advanced_settings)); - } --#endif // defined(OS_LINUX) && defined(USE_CUPS) -+#endif // (defined(OS_LINUX) || defined(OS_BSD)) && defined(USE_CUPS) - } - - mojom::ResultCode result; diff --git a/www/chromium/files/patch-chrome_browser_profiles_chrome__browser__main__extra__parts__profiles.cc b/www/chromium/files/patch-chrome_browser_profiles_chrome__browser__main__extra__parts__profiles.cc index 5a77b6f4c787..56f01d1a7bbc 100644 --- a/www/chromium/files/patch-chrome_browser_profiles_chrome__browser__main__extra__parts__profiles.cc +++ b/www/chromium/files/patch-chrome_browser_profiles_chrome__browser__main__extra__parts__profiles.cc @@ -1,11 +1,11 @@ ---- chrome/browser/profiles/chrome_browser_main_extra_parts_profiles.cc.orig 2021-12-31 00:57:23 UTC +--- chrome/browser/profiles/chrome_browser_main_extra_parts_profiles.cc.orig 2022-02-07 13:39:41 UTC +++ chrome/browser/profiles/chrome_browser_main_extra_parts_profiles.cc -@@ -376,7 +376,7 @@ void ChromeBrowserMainExtraPartsProfiles:: +@@ -384,7 +384,7 @@ void ChromeBrowserMainExtraPartsProfiles:: + #endif // TODO(crbug.com/1052397): Revisit the macro expression once build flag switch // of lacros-chrome is complete. - #if defined(OS_WIN) || defined(OS_MAC) || \ -- (defined(OS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS)) -+ (defined(OS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS)) || defined(OS_BSD) +-#if defined(OS_WIN) || defined(OS_MAC) || \ ++#if defined(OS_WIN) || defined(OS_MAC) || defined(OS_BSD) || \ + (defined(OS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS)) metrics::DesktopProfileSessionDurationsServiceFactory::GetInstance(); #endif - ModelTypeStoreServiceFactory::GetInstance(); diff --git a/www/chromium/files/patch-chrome_browser_profiles_profile__impl.cc b/www/chromium/files/patch-chrome_browser_profiles_profile__impl.cc new file mode 100644 index 000000000000..ba2d9b1e4223 --- /dev/null +++ b/www/chromium/files/patch-chrome_browser_profiles_profile__impl.cc @@ -0,0 +1,25 @@ +--- chrome/browser/profiles/profile_impl.cc.orig 2022-02-07 13:39:41 UTC ++++ chrome/browser/profiles/profile_impl.cc +@@ -181,6 +181,7 @@ + #include "services/preferences/public/mojom/preferences.mojom.h" + #include "services/preferences/public/mojom/tracked_preference_validation_delegate.mojom.h" + #include "services/service_manager/public/cpp/service.h" ++#include "sandbox/policy/switches.h" + #include "ui/base/l10n/l10n_util.h" + + #if BUILDFLAG(IS_CHROMEOS_ASH) +@@ -846,7 +847,13 @@ void ProfileImpl::DoFinalInit(CreateMode create_mode) + } + + base::FilePath ProfileImpl::last_selected_directory() { +- return GetPrefs()->GetFilePath(prefs::kSelectFileLastDirectory); ++ // If unveil(2) is used, force the file dialog directory to something we ++ // know is available. ++ base::CommandLine* command_line = base::CommandLine::ForCurrentProcess(); ++ if (!command_line->HasSwitch(sandbox::policy::switches::kDisableUnveil)) ++ return GetPrefs()->GetFilePath(prefs::kDownloadDefaultDirectory); ++ else ++ return GetPrefs()->GetFilePath(prefs::kSelectFileLastDirectory); + } + + void ProfileImpl::set_last_selected_directory(const base::FilePath& path) { diff --git a/www/chromium/files/patch-chrome_browser_profiles_profiles__state.cc b/www/chromium/files/patch-chrome_browser_profiles_profiles__state.cc index 9f3c21b1f39e..a413ea0d2112 100644 --- a/www/chromium/files/patch-chrome_browser_profiles_profiles__state.cc +++ b/www/chromium/files/patch-chrome_browser_profiles_profiles__state.cc @@ -1,11 +1,11 @@ ---- chrome/browser/profiles/profiles_state.cc.orig 2021-12-14 11:44:58 UTC +--- chrome/browser/profiles/profiles_state.cc.orig 2022-02-07 13:39:41 UTC +++ chrome/browser/profiles/profiles_state.cc -@@ -181,7 +181,7 @@ bool IsRegularOrGuestSession(Browser* browser) { - bool IsGuestModeRequested(const base::CommandLine& command_line, +@@ -176,7 +176,7 @@ bool IsGuestModeRequested(const base::CommandLine& com PrefService* local_state, bool show_warning) { --#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_WIN) || \ -+#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_WIN) || defined(OS_BSD) || \ - defined(OS_MAC) + #if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_WIN) || \ +- defined(OS_MAC) ++ defined(OS_MAC) || defined(OS_BSD) DCHECK(local_state); + // Check if guest mode enforcement commandline switch or policy are provided. diff --git a/www/chromium/files/patch-chrome_browser_renderer__context__menu_render__view__context__menu.cc b/www/chromium/files/patch-chrome_browser_renderer__context__menu_render__view__context__menu.cc deleted file mode 100644 index 589edb86073b..000000000000 --- a/www/chromium/files/patch-chrome_browser_renderer__context__menu_render__view__context__menu.cc +++ /dev/null @@ -1,11 +0,0 @@ ---- chrome/browser/renderer_context_menu/render_view_context_menu.cc.orig 2021-12-31 00:57:23 UTC -+++ chrome/browser/renderer_context_menu/render_view_context_menu.cc -@@ -2399,7 +2399,7 @@ bool RenderViewContextMenu::IsCommandIdEnabled(int id) - case IDC_CHECK_SPELLING_WHILE_TYPING: - return prefs->GetBoolean(spellcheck::prefs::kSpellCheckEnable); - --#if !defined(OS_MAC) && defined(OS_POSIX) -+#if !defined(OS_MAC) && !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/chromium/files/patch-chrome_browser_renderer__preferences__util.cc b/www/chromium/files/patch-chrome_browser_renderer__preferences__util.cc index dc1a762d4609..d676169653ed 100644 --- a/www/chromium/files/patch-chrome_browser_renderer__preferences__util.cc +++ b/www/chromium/files/patch-chrome_browser_renderer__preferences__util.cc @@ -1,29 +1,29 @@ ---- chrome/browser/renderer_preferences_util.cc.orig 2021-07-19 18:45:09 UTC +--- chrome/browser/renderer_preferences_util.cc.orig 2022-02-07 13:39:41 UTC +++ chrome/browser/renderer_preferences_util.cc -@@ -42,7 +42,7 @@ +@@ -41,7 +41,7 @@ #include "ui/base/cocoa/defaults_utils.h" #endif -#if defined(USE_AURA) && (defined(OS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS)) +#if defined(USE_AURA) && (defined(OS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS) || defined(OS_BSD)) #include "chrome/browser/themes/theme_service.h" #include "chrome/browser/themes/theme_service_factory.h" #include "ui/views/linux_ui/linux_ui.h" -@@ -170,7 +170,7 @@ void UpdateFromSystemSettings(blink::RendererPreferenc +@@ -169,7 +169,7 @@ void UpdateFromSystemSettings(blink::RendererPreferenc prefs->caret_blink_interval = interval; #endif -#if defined(USE_AURA) && (defined(OS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS)) +#if defined(USE_AURA) && (defined(OS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS) || defined(OS_BSD)) views::LinuxUI* linux_ui = views::LinuxUI::instance(); if (linux_ui) { if (ThemeServiceFactory::GetForProfile(profile)->UsingSystemTheme()) { @@ -189,7 +189,7 @@ void UpdateFromSystemSettings(blink::RendererPreferenc - } #endif --#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_ANDROID) || \ -+#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_ANDROID) || defined(OS_BSD) || \ - defined(OS_WIN) + #if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_ANDROID) || \ +- defined(OS_WIN) ++ defined(OS_WIN) || defined(OS_BSD) content::UpdateFontRendererPreferencesFromSystemSettings(prefs); #endif + diff --git a/www/chromium/files/patch-chrome_browser_resources_new__tab__page_new__tab__page.js b/www/chromium/files/patch-chrome_browser_resources_new__tab__page_new__tab__page.js new file mode 100644 index 000000000000..4808ad2f96b9 --- /dev/null +++ b/www/chromium/files/patch-chrome_browser_resources_new__tab__page_new__tab__page.js @@ -0,0 +1,13 @@ +--- chrome/browser/resources/new_tab_page/new_tab_page.js.orig 2022-02-07 13:39:41 UTC ++++ chrome/browser/resources/new_tab_page/new_tab_page.js +@@ -21,10 +21,6 @@ export {chromeCartDescriptor as chromeCartV2Descriptor + export {DriveProxy} from './modules/drive/drive_module_proxy.js'; + export {driveDescriptor} from './modules/drive/module.js'; + export {driveDescriptor as driveV2Descriptor} from './modules/drive_v2/module.js'; +-// +-export {FooProxy} from './modules/dummy/foo_proxy.js'; +-export {dummyDescriptor} from './modules/dummy/module.js'; +-// + export {InfoDialogElement} from './modules/info_dialog.js'; + export {InitializeModuleCallback, Module, ModuleDescriptor} from './modules/module_descriptor.js'; + export {ModuleHeaderElement} from './modules/module_header.js'; diff --git a/www/chromium/files/patch-chrome_browser_resources_plugin__metadata_plugins__linux.json b/www/chromium/files/patch-chrome_browser_resources_plugin__metadata_plugins__linux.json new file mode 100644 index 000000000000..205bf0a491ba --- /dev/null +++ b/www/chromium/files/patch-chrome_browser_resources_plugin__metadata_plugins__linux.json @@ -0,0 +1,31 @@ +--- chrome/browser/resources/plugin_metadata/plugins_linux.json.orig 2022-02-07 13:39:41 UTC ++++ chrome/browser/resources/plugin_metadata/plugins_linux.json +@@ -1,28 +1,5 @@ + { + "x-version": 46, +- "adobe-flash-player": { +- "mime_types": [ +- "application/futuresplash", +- "application/x-shockwave-flash" +- ], +- "matching_mime_types": [ +- "application/futuresplash" +- ], +- "versions": [ +- { +- "version": "32.0.0.445", +- "status": "up_to_date", +- "reference": "https://helpx.adobe.com/security/products/flash-player/apsb20-58.html" +- } +- ], +- "lang": "en-US", +- "name": "Adobe Flash Player", +- "help_url": "https://support.google.com/chrome/?p=plugin_flash", +- "url": "https://support.google.com/chrome/answer/6258784", +- "displayurl": true, +- "group_name_matcher": "*Shockwave Flash*", +- "plugin_is_deprecated": true +- }, + "google-chrome-pdf": { + "mime_types": [ + ], diff --git a/www/chromium/files/patch-chrome_browser_resources_settings_appearance__page_appearance__browser__proxy.ts b/www/chromium/files/patch-chrome_browser_resources_settings_appearance__page_appearance__browser__proxy.ts index 891fb8b8e59c..6a9f629650d7 100644 --- a/www/chromium/files/patch-chrome_browser_resources_settings_appearance__page_appearance__browser__proxy.ts +++ b/www/chromium/files/patch-chrome_browser_resources_settings_appearance__page_appearance__browser__proxy.ts @@ -1,20 +1,20 @@ ---- chrome/browser/resources/settings/appearance_page/appearance_browser_proxy.ts.orig 2021-09-24 17:29:52 UTC +--- chrome/browser/resources/settings/appearance_page/appearance_browser_proxy.ts.orig 2022-02-07 13:39:41 UTC +++ chrome/browser/resources/settings/appearance_page/appearance_browser_proxy.ts @@ -16,7 +16,7 @@ export interface AppearanceBrowserProxy { useDefaultTheme(): void; - // -+ // ++ // useSystemTheme(): void; // @@ -44,7 +44,7 @@ export class AppearanceBrowserProxyImpl implements App chrome.send('useDefaultTheme'); } - // -+ // ++ // useSystemTheme() { chrome.send('useSystemTheme'); } diff --git a/www/chromium/files/patch-chrome_browser_resources_settings_appearance__page_appearance__page.ts b/www/chromium/files/patch-chrome_browser_resources_settings_appearance__page_appearance__page.ts index 24bc27fff067..f3d9de0b7d11 100644 --- a/www/chromium/files/patch-chrome_browser_resources_settings_appearance__page_appearance__page.ts +++ b/www/chromium/files/patch-chrome_browser_resources_settings_appearance__page_appearance__page.ts @@ -1,51 +1,51 @@ ---- chrome/browser/resources/settings/appearance_page/appearance_page.ts.orig 2021-12-14 11:44:59 UTC +--- chrome/browser/resources/settings/appearance_page/appearance_page.ts.orig 2022-02-07 13:39:41 UTC +++ chrome/browser/resources/settings/appearance_page/appearance_page.ts -@@ -144,7 +144,7 @@ class SettingsAppearancePageElement extends SettingsAp +@@ -145,7 +145,7 @@ export class SettingsAppearancePageElement extends 'prefs.autogenerated.theme.policy.color.controlledBy)', }, - // -+ // ++ // /** * Whether to show the "Custom Chrome Frame" setting. */ -@@ -166,7 +166,7 @@ class SettingsAppearancePageElement extends SettingsAp +@@ -167,7 +167,7 @@ export class SettingsAppearancePageElement extends 'themeChanged_(' + 'prefs.extensions.theme.id.value, useSystemTheme_, isForcedTheme_)', - // -+ // ++ // // NOTE: this pref only exists on Linux. 'useSystemThemePrefChanged_(prefs.extensions.theme.use_system.value)', // -@@ -185,7 +185,7 @@ class SettingsAppearancePageElement extends SettingsAp +@@ -186,7 +186,7 @@ export class SettingsAppearancePageElement extends private showReaderModeOption_: boolean; private isForcedTheme_: boolean; - // -+ // ++ // private showCustomChromeFrame_: boolean; // -@@ -263,7 +263,7 @@ class SettingsAppearancePageElement extends SettingsAp +@@ -264,7 +264,7 @@ export class SettingsAppearancePageElement extends this.appearanceBrowserProxy_.useDefaultTheme(); } - // -+ // ++ // private useSystemThemePrefChanged_(useSystemTheme: boolean) { this.useSystemTheme_ = useSystemTheme; } -@@ -324,10 +324,10 @@ class SettingsAppearancePageElement extends SettingsAp +@@ -325,10 +325,10 @@ export class SettingsAppearancePageElement extends } let i18nId; - // -+ // ++ // i18nId = useSystemTheme ? 'systemTheme' : 'classicTheme'; // - // -+ // ++ // i18nId = 'chooseFromWebStore'; // this.themeSublabel_ = this.i18n(i18nId); diff --git a/www/chromium/files/patch-chrome_browser_resources_settings_autofill__page_passwords__shared__css.html b/www/chromium/files/patch-chrome_browser_resources_settings_autofill__page_passwords__shared__css.html index 63b198564393..93eb51ca53d2 100644 --- a/www/chromium/files/patch-chrome_browser_resources_settings_autofill__page_passwords__shared__css.html +++ b/www/chromium/files/patch-chrome_browser_resources_settings_autofill__page_passwords__shared__css.html @@ -1,11 +1,11 @@ ---- chrome/browser/resources/settings/autofill_page/passwords_shared_css.html.orig 2021-12-31 00:57:24 UTC +--- chrome/browser/resources/settings/autofill_page/passwords_shared_css.html.orig 2022-02-07 13:39:41 UTC +++ chrome/browser/resources/settings/autofill_page/passwords_shared_css.html @@ -64,7 +64,7 @@ * necessary to prevent Chrome from using the operating system's font * instead of the Material Design font. * TODO(dbeam): why not font: inherit? */ - -+ ++ font-family: 'DejaVu Sans Mono', monospace; diff --git a/www/chromium/files/patch-chrome_browser_resources_settings_route.ts b/www/chromium/files/patch-chrome_browser_resources_settings_route.ts new file mode 100644 index 000000000000..9b5c0cbb5dac --- /dev/null +++ b/www/chromium/files/patch-chrome_browser_resources_settings_route.ts @@ -0,0 +1,11 @@ +--- chrome/browser/resources/settings/route.ts.orig 2022-02-07 13:39:41 UTC ++++ chrome/browser/resources/settings/route.ts +@@ -177,7 +177,7 @@ function createBrowserSettingsRoutes(): SettingsRoutes + + r.ACCESSIBILITY = r.ADVANCED.createSection('/accessibility', 'a11y'); + +- // ++ // + r.CAPTIONS = r.ACCESSIBILITY.createChild('/captions'); + // + diff --git a/www/chromium/files/patch-chrome_browser_safe__browsing_BUILD.gn b/www/chromium/files/patch-chrome_browser_safe__browsing_BUILD.gn deleted file mode 100644 index c6e4a9f79b11..000000000000 --- a/www/chromium/files/patch-chrome_browser_safe__browsing_BUILD.gn +++ /dev/null @@ -1,20 +0,0 @@ ---- chrome/browser/safe_browsing/BUILD.gn.orig 2021-12-31 00:57:24 UTC -+++ chrome/browser/safe_browsing/BUILD.gn -@@ -299,7 +299,7 @@ static_library("safe_browsing") { - ] - } - -- if (is_linux || is_win) { -+ if ((is_linux || is_win) && !is_bsd) { - sources += [ - "download_protection/document_analysis_service.cc", - "download_protection/document_analysis_service.h", -@@ -345,7 +345,7 @@ static_library("safe_browsing") { - "//chrome/common:version_header", - ] - } -- if (is_linux || is_win) { -+ if ((is_linux || is_win) && !is_bsd) { - deps += [ - "//chrome/common/safe_browsing:document_analyzer_results", - "//chrome/services/file_util/public/mojom", diff --git a/www/chromium/files/patch-chrome_browser_safe__browsing_download__protection_file__analyzer.cc b/www/chromium/files/patch-chrome_browser_safe__browsing_download__protection_file__analyzer.cc new file mode 100644 index 000000000000..f0ae727beba1 --- /dev/null +++ b/www/chromium/files/patch-chrome_browser_safe__browsing_download__protection_file__analyzer.cc @@ -0,0 +1,29 @@ +--- chrome/browser/safe_browsing/download_protection/file_analyzer.cc.orig 2022-02-07 13:39:41 UTC ++++ chrome/browser/safe_browsing/download_protection/file_analyzer.cc +@@ -19,7 +19,7 @@ + #include "components/safe_browsing/core/common/features.h" + #include "content/public/browser/browser_thread.h" + +-#if defined(OS_LINUX) || defined(OS_WIN) ++#if defined(OS_LINUX) || defined(OS_WIN) | defined(OS_BSD) + #include "chrome/browser/safe_browsing/download_protection/document_analysis_service.h" + #endif + +@@ -100,7 +100,7 @@ void FileAnalyzer::Start(const base::FilePath& target_ + } else if (inspection_type == DownloadFileType::DMG) { + StartExtractDmgFeatures(); + #endif +-#if defined(OS_LINUX) || defined(OS_WIN) ++#if defined(OS_LINUX) || defined(OS_WIN) || defined(OS_BSD) + } else if (base::FeatureList::IsEnabled( + safe_browsing::kClientSideDetectionDocumentScanning) && + inspection_type == DownloadFileType::OFFICE_DOCUMENT) { +@@ -284,7 +284,7 @@ void FileAnalyzer::OnDmgAnalysisFinished( + } + #endif // defined(OS_MAC) + +-#if defined(OS_LINUX) || defined(OS_WIN) ++#if defined(OS_LINUX) || defined(OS_WIN) || defined(OS_BSD) + void FileAnalyzer::StartExtractDocumentFeatures() { + DCHECK_CURRENTLY_ON(BrowserThread::UI); + diff --git a/www/chromium/files/patch-chrome_browser_safe__browsing_download__protection_file__analyzer.h b/www/chromium/files/patch-chrome_browser_safe__browsing_download__protection_file__analyzer.h new file mode 100644 index 000000000000..493f4618ae0e --- /dev/null +++ b/www/chromium/files/patch-chrome_browser_safe__browsing_download__protection_file__analyzer.h @@ -0,0 +1,29 @@ +--- chrome/browser/safe_browsing/download_protection/file_analyzer.h.orig 2022-02-07 13:39:41 UTC ++++ chrome/browser/safe_browsing/download_protection/file_analyzer.h +@@ -16,7 +16,7 @@ + #include "components/safe_browsing/core/common/proto/csd.pb.h" + #include "third_party/protobuf/src/google/protobuf/repeated_field.h" + +-#if defined(OS_LINUX) || defined(OS_WIN) ++#if defined(OS_LINUX) || defined(OS_WIN) || defined(OS_BSD) + #include "chrome/services/file_util/public/cpp/sandboxed_document_analyzer.h" + #endif + +@@ -111,7 +111,7 @@ class FileAnalyzer { + const safe_browsing::ArchiveAnalyzerResults& archive_results); + #endif + +-#if defined(OS_LINUX) || defined(OS_WIN) ++#if defined(OS_LINUX) || defined(OS_WIN) || defined(OS_BSD) + void StartExtractDocumentFeatures(); + void OnDocumentAnalysisFinished( + const DocumentAnalyzerResults& document_results); +@@ -131,7 +131,7 @@ class FileAnalyzer { + scoped_refptr dmg_analyzer_; + #endif + +-#if defined(OS_LINUX) || defined(OS_WIN) ++#if defined(OS_LINUX) || defined(OS_WIN) || defined(OS_BSD) + scoped_refptr document_analyzer_; + base::TimeTicks document_analysis_start_time_; + #endif diff --git a/www/chromium/files/patch-chrome_browser_safe__browsing_incident__reporting_incident__handler__util.cc b/www/chromium/files/patch-chrome_browser_safe__browsing_incident__reporting_incident__handler__util.cc deleted file mode 100644 index 6427d82b8732..000000000000 --- a/www/chromium/files/patch-chrome_browser_safe__browsing_incident__reporting_incident__handler__util.cc +++ /dev/null @@ -1,14 +0,0 @@ ---- chrome/browser/safe_browsing/incident_reporting/incident_handler_util.cc.orig 2021-04-14 18:40:54 UTC -+++ chrome/browser/safe_browsing/incident_reporting/incident_handler_util.cc -@@ -8,7 +8,11 @@ - - #include "base/hash/hash.h" - #include "base/notreached.h" -+#if defined(USE_SYSTEM_PROTOBUF) -+#include -+#else - #include "third_party/protobuf/src/google/protobuf/message_lite.h" -+#endif - - namespace safe_browsing { - diff --git a/www/chromium/files/patch-chrome_browser_safe__browsing_incident__reporting_incident__reporting__service.cc b/www/chromium/files/patch-chrome_browser_safe__browsing_incident__reporting_incident__reporting__service.cc index 952901aa7e70..758731442ab7 100644 --- a/www/chromium/files/patch-chrome_browser_safe__browsing_incident__reporting_incident__reporting__service.cc +++ b/www/chromium/files/patch-chrome_browser_safe__browsing_incident__reporting_incident__reporting__service.cc @@ -1,11 +1,11 @@ ---- chrome/browser/safe_browsing/incident_reporting/incident_reporting_service.cc.orig 2021-12-31 00:57:24 UTC +--- chrome/browser/safe_browsing/incident_reporting/incident_reporting_service.cc.orig 2022-02-07 13:39:41 UTC +++ chrome/browser/safe_browsing/incident_reporting/incident_reporting_service.cc -@@ -708,7 +708,7 @@ void IncidentReportingService::OnEnvironmentDataCollec - environment_collection_pending_ = false; +@@ -709,7 +709,7 @@ void IncidentReportingService::OnEnvironmentDataCollec // Process::Current().CreationTime() is missing on some platforms. --#if defined(OS_MAC) || defined(OS_WIN) || defined(OS_LINUX) || \ -+#if defined(OS_MAC) || defined(OS_WIN) || defined(OS_LINUX) || defined(OS_BSD) || \ - defined(OS_CHROMEOS) + #if defined(OS_MAC) || defined(OS_WIN) || defined(OS_LINUX) || \ +- defined(OS_CHROMEOS) ++ defined(OS_CHROMEOS) || 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/chromium/files/patch-chrome_browser_send__tab__to__self_receiving__ui__handler__registry.cc b/www/chromium/files/patch-chrome_browser_send__tab__to__self_receiving__ui__handler__registry.cc index 3fd5b3ec55c5..2c5912c7d673 100644 --- a/www/chromium/files/patch-chrome_browser_send__tab__to__self_receiving__ui__handler__registry.cc +++ b/www/chromium/files/patch-chrome_browser_send__tab__to__self_receiving__ui__handler__registry.cc @@ -1,29 +1,29 @@ ---- chrome/browser/send_tab_to_self/receiving_ui_handler_registry.cc.orig 2021-12-14 11:44:59 UTC +--- chrome/browser/send_tab_to_self/receiving_ui_handler_registry.cc.orig 2022-02-07 13:39:41 UTC +++ chrome/browser/send_tab_to_self/receiving_ui_handler_registry.cc -@@ -15,7 +15,7 @@ - #include "chrome/browser/share/share_features.h" +@@ -16,7 +16,7 @@ #include "components/send_tab_to_self/features.h" --#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_MAC) || \ -+#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_MAC) || defined(OS_BSD) || \ - defined(OS_WIN) + #if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_MAC) || \ +- defined(OS_WIN) || defined(OS_FUCHSIA) ++ defined(OS_WIN) || defined(OS_FUCHSIA) || defined(OS_BSD) #include "chrome/browser/send_tab_to_self/desktop_notification_handler.h" #include "chrome/browser/ui/send_tab_to_self/send_tab_to_self_toolbar_icon_controller.h" -@@ -38,7 +38,7 @@ ReceivingUiHandlerRegistry* ReceivingUiHandlerRegistry - // Instantiates all the handlers relevant to this platform. + #endif +@@ -39,7 +39,7 @@ ReceivingUiHandlerRegistry* ReceivingUiHandlerRegistry void ReceivingUiHandlerRegistry::InstantiatePlatformSpecificHandlers( Profile* profile) { --#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_MAC) || \ -+#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_MAC) || defined(OS_BSD) || \ - defined(OS_WIN) + #if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_MAC) || \ +- defined(OS_WIN) || defined(OS_FUCHSIA) ++ defined(OS_WIN) || defined(OS_FUCHSIA) || defined(OS_BSD) // If STTS 2.0 is enabled the handler will be created when the toolbar -@@ -58,7 +58,7 @@ void ReceivingUiHandlerRegistry::InstantiatePlatformSp - SendTabToSelfToolbarIconController* + // button registers itself as the delegate. +@@ -59,7 +59,7 @@ SendTabToSelfToolbarIconController* ReceivingUiHandlerRegistry::GetToolbarButtonControllerForProfile( Profile* profile) { --#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_MAC) || \ -+#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_MAC) || defined(OS_BSD) || \ - defined(OS_WIN) + #if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_MAC) || \ +- defined(OS_WIN) || defined(OS_FUCHSIA) ++ defined(OS_WIN) || defined(OS_FUCHSIA) || defined(OS_BSD) for (const std::unique_ptr& handler : applicable_handlers_) { + auto* button_controller = diff --git a/www/chromium/files/patch-chrome_browser_send__tab__to__self_send__tab__to__self__client__service.cc b/www/chromium/files/patch-chrome_browser_send__tab__to__self_send__tab__to__self__client__service.cc index 78c1b30fc474..c0db6c411453 100644 --- a/www/chromium/files/patch-chrome_browser_send__tab__to__self_send__tab__to__self__client__service.cc +++ b/www/chromium/files/patch-chrome_browser_send__tab__to__self_send__tab__to__self__client__service.cc @@ -1,20 +1,20 @@ ---- chrome/browser/send_tab_to_self/send_tab_to_self_client_service.cc.orig 2021-12-14 11:44:59 UTC +--- chrome/browser/send_tab_to_self/send_tab_to_self_client_service.cc.orig 2022-02-07 13:39:41 UTC +++ chrome/browser/send_tab_to_self/send_tab_to_self_client_service.cc -@@ -16,7 +16,7 @@ - #include "components/send_tab_to_self/features.h" +@@ -17,7 +17,7 @@ #include "components/send_tab_to_self/send_tab_to_self_model.h" --#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_MAC) || \ -+#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_MAC) || defined(OS_BSD) || \ - defined(OS_WIN) + #if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_MAC) || \ +- defined(OS_WIN) ++ defined(OS_WIN) || defined(OS_BSD) #include "chrome/browser/ui/send_tab_to_self/send_tab_to_self_toolbar_icon_controller.h" #endif -@@ -50,7 +50,7 @@ void SendTabToSelfClientService::SendTabToSelfModelLoa - void SendTabToSelfClientService::EntriesAddedRemotely( + +@@ -51,7 +51,7 @@ void SendTabToSelfClientService::EntriesAddedRemotely( const std::vector& new_entries) { for (const std::unique_ptr& handler : GetHandlers()) { --#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_MAC) || \ -+#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_MAC) || defined(OS_BSD) || \ - defined(OS_WIN) + #if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_MAC) || \ +- defined(OS_WIN) ++ 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/chromium/files/patch-chrome_browser_sharing_sharing__device__registration.cc b/www/chromium/files/patch-chrome_browser_sharing_sharing__device__registration.cc index 2379988c552f..bbe47111dd05 100644 --- a/www/chromium/files/patch-chrome_browser_sharing_sharing__device__registration.cc +++ b/www/chromium/files/patch-chrome_browser_sharing_sharing__device__registration.cc @@ -1,11 +1,11 @@ ---- chrome/browser/sharing/sharing_device_registration.cc.orig 2021-12-14 11:44:59 UTC +--- chrome/browser/sharing/sharing_device_registration.cc.orig 2022-02-07 13:39:41 UTC +++ chrome/browser/sharing/sharing_device_registration.cc -@@ -326,7 +326,7 @@ bool SharingDeviceRegistration::IsSmsFetcherSupported( - } +@@ -327,7 +327,7 @@ bool SharingDeviceRegistration::IsSmsFetcherSupported( bool SharingDeviceRegistration::IsRemoteCopySupported() const { --#if defined(OS_WIN) || defined(OS_MAC) || defined(OS_LINUX) || \ -+#if defined(OS_WIN) || defined(OS_MAC) || defined(OS_LINUX) || defined(OS_BSD) || \ - defined(OS_CHROMEOS) + #if defined(OS_WIN) || defined(OS_MAC) || defined(OS_LINUX) || \ +- defined(OS_CHROMEOS) ++ defined(OS_CHROMEOS) || defined(OS_BSD) return true; #else + return false; diff --git a/www/chromium/files/patch-chrome_browser_sharing_sharing__handler__registry__impl.cc b/www/chromium/files/patch-chrome_browser_sharing_sharing__handler__registry__impl.cc index 9792faddf570..c0258fd9f5a5 100644 --- a/www/chromium/files/patch-chrome_browser_sharing_sharing__handler__registry__impl.cc +++ b/www/chromium/files/patch-chrome_browser_sharing_sharing__handler__registry__impl.cc @@ -1,32 +1,20 @@ ---- chrome/browser/sharing/sharing_handler_registry_impl.cc.orig 2021-12-14 11:44:59 UTC +--- chrome/browser/sharing/sharing_handler_registry_impl.cc.orig 2022-02-07 13:39:41 UTC +++ chrome/browser/sharing/sharing_handler_registry_impl.cc -@@ -23,10 +23,10 @@ - #include "chrome/browser/sharing/shared_clipboard/shared_clipboard_message_handler_desktop.h" +@@ -24,7 +24,7 @@ #endif // defined(OS_ANDROID) --#if defined(OS_WIN) || defined(OS_MAC) || defined(OS_LINUX) || \ -+#if defined(OS_WIN) || defined(OS_MAC) || defined(OS_LINUX) || defined(OS_BSD) || \ - defined(OS_CHROMEOS) + #if defined(OS_WIN) || defined(OS_MAC) || defined(OS_LINUX) || \ +- defined(OS_CHROMEOS) ++ defined(OS_CHROMEOS) || defined(OS_BSD) #include "chrome/browser/sharing/shared_clipboard/remote_copy_message_handler.h" --#endif // defined(OS_WIN) || defined(OS_MAC) || (defined(OS_LINUX) || -+#endif // defined(OS_WIN) || defined(OS_MAC) || (defined(OS_LINUX) || defined(OS_BSD) || + #endif // defined(OS_WIN) || defined(OS_MAC) || (defined(OS_LINUX) || // BUILDFLAG(IS_CHROMEOS_LACROS)) defined(OS_CHROMEOS) - - SharingHandlerRegistryImpl::SharingHandlerRegistryImpl( -@@ -76,14 +76,14 @@ SharingHandlerRegistryImpl::SharingHandlerRegistryImpl - {chrome_browser_sharing::SharingMessage::kSharedClipboardMessage}); +@@ -77,7 +77,7 @@ SharingHandlerRegistryImpl::SharingHandlerRegistryImpl } --#if defined(OS_WIN) || defined(OS_MAC) || defined(OS_LINUX) || \ -+#if defined(OS_WIN) || defined(OS_MAC) || defined(OS_LINUX) || defined(OS_BSD) || \ - defined(OS_CHROMEOS) + #if defined(OS_WIN) || defined(OS_MAC) || defined(OS_LINUX) || \ +- defined(OS_CHROMEOS) ++ defined(OS_CHROMEOS) || defined(OS_BSD) if (sharing_device_registration->IsRemoteCopySupported()) { AddSharingHandler( std::make_unique(profile), - {chrome_browser_sharing::SharingMessage::kRemoteCopyMessage}); - } --#endif // defined(OS_WIN) || defined(OS_MAC) || defined(OS_LINUX) || -+#endif // defined(OS_WIN) || defined(OS_MAC) || defined(OS_LINUX) || defined(OS_BSD) || - // defined(OS_CHROMEOS) - } - diff --git a/www/chromium/files/patch-chrome_browser_shutdown__signal__handlers__posix.cc b/www/chromium/files/patch-chrome_browser_shutdown__signal__handlers__posix.cc index 093cc0ca8661..b0450e07a72e 100644 --- a/www/chromium/files/patch-chrome_browser_shutdown__signal__handlers__posix.cc +++ b/www/chromium/files/patch-chrome_browser_shutdown__signal__handlers__posix.cc @@ -1,15 +1,21 @@ ---- chrome/browser/shutdown_signal_handlers_posix.cc.orig 2021-12-14 11:44:59 UTC +--- chrome/browser/shutdown_signal_handlers_posix.cc.orig 2022-02-07 13:39:41 UTC +++ chrome/browser/shutdown_signal_handlers_posix.cc -@@ -188,7 +188,11 @@ void InstallShutdownSignalHandlers( +@@ -187,12 +187,18 @@ void InstallShutdownSignalHandlers( g_pipe_pid = getpid(); g_shutdown_pipe_read_fd = pipefd[0]; g_shutdown_pipe_write_fd = pipefd[1]; --#if !defined(ADDRESS_SANITIZER) +#if defined(OS_BSD) -+ // PTHREAD_STACK_MIN causes Chromium to crash under FreeBSD, ++ // PTHREAD_STACK_MIN causes chromium to crash under *BSD, + // we request the default pthread stack size by specifying 0 here. + const size_t kShutdownDetectorThreadStackSize = 0; -+#elif !defined(ADDRESS_SANITIZER) ++#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/chromium/files/patch-chrome_browser_signin_signin__util.cc b/www/chromium/files/patch-chrome_browser_signin_signin__util.cc index f2c634f2b024..1248d5d3f5e9 100644 --- a/www/chromium/files/patch-chrome_browser_signin_signin__util.cc +++ b/www/chromium/files/patch-chrome_browser_signin_signin__util.cc @@ -1,11 +1,11 @@ ---- chrome/browser/signin/signin_util.cc.orig 2021-12-31 00:57:24 UTC +--- chrome/browser/signin/signin_util.cc.orig 2022-02-07 13:39:41 UTC +++ chrome/browser/signin/signin_util.cc -@@ -38,7 +38,7 @@ - #include "google_apis/gaia/gaia_auth_util.h" +@@ -40,7 +40,7 @@ #include "ui/base/l10n/l10n_util.h" --#if defined(OS_WIN) || defined(OS_LINUX) || defined(OS_CHROMEOS) || \ -+#if defined(OS_WIN) || defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD) || \ - defined(OS_MAC) + #if defined(OS_WIN) || defined(OS_LINUX) || defined(OS_CHROMEOS) || \ +- defined(OS_MAC) ++ defined(OS_MAC) || 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/chromium/files/patch-chrome_browser_sync_chrome__sync__client.cc b/www/chromium/files/patch-chrome_browser_sync_chrome__sync__client.cc index aa5834d1c526..b71d1abb2a1d 100644 --- a/www/chromium/files/patch-chrome_browser_sync_chrome__sync__client.cc +++ b/www/chromium/files/patch-chrome_browser_sync_chrome__sync__client.cc @@ -1,20 +1,11 @@ ---- chrome/browser/sync/chrome_sync_client.cc.orig 2021-12-14 11:44:59 UTC +--- chrome/browser/sync/chrome_sync_client.cc.orig 2022-02-07 13:39:41 UTC +++ chrome/browser/sync/chrome_sync_client.cc -@@ -461,7 +461,7 @@ ChromeSyncClient::CreateDataTypeControllers(syncer::Sy +@@ -462,7 +462,7 @@ ChromeSyncClient::CreateDataTypeControllers(syncer::Sy // Chrome prefers OS provided spell checkers where they exist. So only sync the // custom dictionary on platforms that typically don't provide one. -#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_WIN) +#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_WIN) || defined(OS_BSD) // Dictionary sync is enabled by default. if (!disabled_types.Has(syncer::DICTIONARY) && GetPrefService()->GetBoolean(spellcheck::prefs::kSpellCheckEnable)) { -@@ -470,7 +470,7 @@ ChromeSyncClient::CreateDataTypeControllers(syncer::Sy - syncer::DICTIONARY, model_type_store_factory, - GetSyncableServiceForType(syncer::DICTIONARY), dump_stack)); - } --#endif // defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_WIN) -+#endif // defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_WIN) || defined(OS_BSD) - - #if BUILDFLAG(IS_CHROMEOS_ASH) - if (arc::IsArcAllowedForProfile(profile_) && diff --git a/www/chromium/files/patch-chrome_browser_sync_device__info__sync__client__impl.cc b/www/chromium/files/patch-chrome_browser_sync_device__info__sync__client__impl.cc index e7129c08dc6b..cecf948ecc81 100644 --- a/www/chromium/files/patch-chrome_browser_sync_device__info__sync__client__impl.cc +++ b/www/chromium/files/patch-chrome_browser_sync_device__info__sync__client__impl.cc @@ -1,11 +1,11 @@ ---- chrome/browser/sync/device_info_sync_client_impl.cc.orig 2021-06-11 09:31:26 UTC +--- chrome/browser/sync/device_info_sync_client_impl.cc.orig 2022-02-07 13:39:41 UTC +++ chrome/browser/sync/device_info_sync_client_impl.cc @@ -38,7 +38,7 @@ std::string DeviceInfoSyncClientImpl::GetSigninScopedD // in lacros-chrome once build flag switch of lacros-chrome is // complete. #if defined(OS_WIN) || defined(OS_MAC) || \ - (defined(OS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS)) -+ (defined(OS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS)) || defined(OS_BSD) ++ (defined(OS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS) || defined(OS_BSD)) syncer::SyncPrefs prefs(profile_->GetPrefs()); if (prefs.IsLocalSyncEnabled()) { return "local_device"; diff --git a/www/chromium/files/patch-chrome_browser_sync_sync__service__factory.cc b/www/chromium/files/patch-chrome_browser_sync_sync__service__factory.cc deleted file mode 100644 index 3d7cf945d9a5..000000000000 --- a/www/chromium/files/patch-chrome_browser_sync_sync__service__factory.cc +++ /dev/null @@ -1,20 +0,0 @@ ---- chrome/browser/sync/sync_service_factory.cc.orig 2021-12-14 11:44:59 UTC -+++ chrome/browser/sync/sync_service_factory.cc -@@ -106,7 +106,7 @@ std::unique_ptr BuildSyncService( - // in lacros-chrome once build flag switch of lacros-chrome is - // complete. - #if defined(OS_WIN) || defined(OS_MAC) || \ -- (defined(OS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS)) -+ (defined(OS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS) || defined(OS_BSD)) - syncer::SyncPrefs prefs(profile->GetPrefs()); - local_sync_backend_enabled = prefs.IsLocalSyncEnabled(); - UMA_HISTOGRAM_BOOLEAN("Sync.Local.Enabled", local_sync_backend_enabled); -@@ -124,7 +124,7 @@ std::unique_ptr BuildSyncService( - - init_params.start_behavior = syncer::SyncServiceImpl::AUTO_START; - } --#endif // defined(OS_WIN) || defined(OS_MAC) || (defined(OS_LINUX) || -+#endif // defined(OS_WIN) || defined(OS_MAC) || (defined(OS_LINUX) || defined(OS_BSD) || - // BUILDFLAG(IS_CHROMEOS_LACROS)) - - if (!local_sync_backend_enabled) { diff --git a/www/chromium/files/patch-chrome_browser_task__manager_sampling_task__group.cc b/www/chromium/files/patch-chrome_browser_task__manager_sampling_task__group.cc index 59c335039718..154ce10da646 100644 --- a/www/chromium/files/patch-chrome_browser_task__manager_sampling_task__group.cc +++ b/www/chromium/files/patch-chrome_browser_task__manager_sampling_task__group.cc @@ -1,56 +1,38 @@ ---- chrome/browser/task_manager/sampling/task_group.cc.orig 2021-12-14 11:44:59 UTC +--- chrome/browser/task_manager/sampling/task_group.cc.orig 2022-02-07 13:39:41 UTC +++ chrome/browser/task_manager/sampling/task_group.cc -@@ -37,9 +37,9 @@ const int kBackgroundRefreshTypesMask = +@@ -37,7 +37,7 @@ 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_CHROMEOS) || defined(OS_MAC) +#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_MAC) || defined(OS_BSD) REFRESH_TYPE_FD_COUNT | --#endif // defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_MAC) -+#endif // defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_MAC) || defined(OS_BSD) + #endif // defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_MAC) #if BUILDFLAG(ENABLE_NACL) - REFRESH_TYPE_NACL | - #endif // BUILDFLAG(ENABLE_NACL) -@@ -122,9 +122,9 @@ TaskGroup::TaskGroup( +@@ -122,7 +122,7 @@ TaskGroup::TaskGroup( #if BUILDFLAG(ENABLE_NACL) nacl_debug_stub_port_(nacl::kGdbDebugStubPortUnknown), #endif // BUILDFLAG(ENABLE_NACL) -#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_MAC) +#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_MAC) || defined(OS_BSD) open_fd_count_(-1), --#endif // defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_MAC) -+#endif // defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_MAC) || defined(OS_BSD) + #endif // defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_MAC) idle_wakeups_per_second_(-1), - gpu_memory_has_duplicates_(false), - is_backgrounded_(false) { -@@ -141,10 +141,10 @@ TaskGroup::TaskGroup( +@@ -141,7 +141,7 @@ TaskGroup::TaskGroup( weak_ptr_factory_.GetWeakPtr()), base::BindRepeating(&TaskGroup::OnIdleWakeupsRefreshDone, weak_ptr_factory_.GetWeakPtr()), -#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_MAC) +#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_MAC) || defined(OS_BSD) base::BindRepeating(&TaskGroup::OnOpenFdCountRefreshDone, weak_ptr_factory_.GetWeakPtr()), --#endif // defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_MAC) -+#endif // defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_MAC) || defined(OS_BSD) - base::BindRepeating(&TaskGroup::OnProcessPriorityDone, - weak_ptr_factory_.GetWeakPtr())); - -@@ -321,14 +321,14 @@ void TaskGroup::OnRefreshNaClDebugStubPortDone(int nac + #endif // defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_MAC) +@@ -321,7 +321,7 @@ void TaskGroup::OnRefreshNaClDebugStubPortDone(int nac } #endif // BUILDFLAG(ENABLE_NACL) -#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_MAC) +#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_MAC) || 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_CHROMEOS) || defined(OS_MAC) -+#endif // defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_MAC) || defined(OS_BSD) - - void TaskGroup::OnCpuRefreshDone(double cpu_usage) { - DCHECK_CURRENTLY_ON(content::BrowserThread::UI); diff --git a/www/chromium/files/patch-chrome_browser_task__manager_sampling_task__group.h b/www/chromium/files/patch-chrome_browser_task__manager_sampling_task__group.h index 250cbbc09938..0a9b5ee942cf 100644 --- a/www/chromium/files/patch-chrome_browser_task__manager_sampling_task__group.h +++ b/www/chromium/files/patch-chrome_browser_task__manager_sampling_task__group.h @@ -1,49 +1,38 @@ ---- chrome/browser/task_manager/sampling/task_group.h.orig 2021-09-14 01:51:51 UTC +--- chrome/browser/task_manager/sampling/task_group.h.orig 2022-02-07 13:39:41 UTC +++ chrome/browser/task_manager/sampling/task_group.h @@ -42,7 +42,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_CHROMEOS) || defined(OS_MAC) +#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_MAC) || defined(OS_BSD) REFRESH_TYPE_FD_COUNT | #endif REFRESH_TYPE_HARD_FAULTS; -@@ -148,10 +148,10 @@ class TaskGroup { +@@ -148,7 +148,7 @@ class TaskGroup { } #endif // BUILDFLAG(ENABLE_NACL) -#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_MAC) +#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_MAC) || defined(OS_BSD) int open_fd_count() const { return open_fd_count_; } void set_open_fd_count(int open_fd_count) { open_fd_count_ = open_fd_count; } --#endif // defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_MAC) -+#endif // defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_MAC) || defined(OS_BSD) - - int idle_wakeups_per_second() const { return idle_wakeups_per_second_; } - void set_idle_wakeups_per_second(int idle_wakeups) { -@@ -168,9 +168,9 @@ class TaskGroup { + #endif // defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_MAC) +@@ -168,7 +168,7 @@ class TaskGroup { void RefreshNaClDebugStubPort(int child_process_unique_id); void OnRefreshNaClDebugStubPortDone(int port); #endif -#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_MAC) +#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_MAC) || defined(OS_BSD) void OnOpenFdCountRefreshDone(int open_fd_count); --#endif // defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_MAC) -+#endif // defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_MAC) || defined(OS_BSD) + #endif // defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_MAC) - void OnCpuRefreshDone(double cpu_usage); - void OnSwappedMemRefreshDone(int64_t swapped_mem_bytes); -@@ -240,10 +240,10 @@ class TaskGroup { +@@ -240,7 +240,7 @@ class TaskGroup { #if BUILDFLAG(ENABLE_NACL) int nacl_debug_stub_port_; #endif // BUILDFLAG(ENABLE_NACL) -#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_MAC) +#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_MAC) || defined(OS_BSD) // The number of file descriptors currently open by the process. int open_fd_count_; --#endif // defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_MAC) -+#endif // defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_MAC) || defined(OS_BSD) - int idle_wakeups_per_second_; - bool gpu_memory_has_duplicates_; - bool is_backgrounded_; + #endif // defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_MAC) diff --git a/www/chromium/files/patch-chrome_browser_task__manager_sampling_task__group__sampler.cc b/www/chromium/files/patch-chrome_browser_task__manager_sampling_task__group__sampler.cc index ddbf0fa20bc4..9b8b00b548d9 100644 --- a/www/chromium/files/patch-chrome_browser_task__manager_sampling_task__group__sampler.cc +++ b/www/chromium/files/patch-chrome_browser_task__manager_sampling_task__group__sampler.cc @@ -1,80 +1,47 @@ ---- chrome/browser/task_manager/sampling/task_group_sampler.cc.orig 2021-04-20 18:58:27 UTC +--- chrome/browser/task_manager/sampling/task_group_sampler.cc.orig 2022-02-07 13:39:41 UTC +++ chrome/browser/task_manager/sampling/task_group_sampler.cc -@@ -44,9 +44,9 @@ TaskGroupSampler::TaskGroupSampler( +@@ -44,7 +44,7 @@ TaskGroupSampler::TaskGroupSampler( const OnCpuRefreshCallback& on_cpu_refresh, const OnSwappedMemRefreshCallback& on_swapped_mem_refresh, const OnIdleWakeupsCallback& on_idle_wakeups, -#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_MAC) +#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_MAC) || defined(OS_BSD) const OnOpenFdCountCallback& on_open_fd_count, --#endif // defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_MAC) -+#endif // defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_MAC) || defined(OS_BSD) + #endif // defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_MAC) const OnProcessPriorityCallback& on_process_priority) - : process_(std::move(process)), - process_metrics_(CreateProcessMetrics(process_.Handle())), -@@ -54,9 +54,9 @@ TaskGroupSampler::TaskGroupSampler( +@@ -54,7 +54,7 @@ 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_CHROMEOS) || defined(OS_MAC) +#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_MAC) || defined(OS_BSD) on_open_fd_count_callback_(on_open_fd_count), --#endif // defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_MAC) -+#endif // defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_MAC) || defined(OS_BSD) + #endif // defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_MAC) on_process_priority_callback_(on_process_priority) { - DCHECK(blocking_pool_runner.get()); - @@ -86,7 +86,7 @@ void TaskGroupSampler::Refresh(int64_t refresh_flags) base::BindOnce(on_swapped_mem_refresh_callback_)); } -#if defined(OS_MAC) || defined(OS_LINUX) || defined(OS_CHROMEOS) +#if defined(OS_MAC) || defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD) if (TaskManagerObserver::IsResourceRefreshEnabled(REFRESH_TYPE_IDLE_WAKEUPS, refresh_flags)) { base::PostTaskAndReplyWithResult( -@@ -94,9 +94,9 @@ void TaskGroupSampler::Refresh(int64_t refresh_flags) - base::BindOnce(&TaskGroupSampler::RefreshIdleWakeupsPerSecond, this), - base::BindOnce(on_idle_wakeups_callback_)); +@@ -96,7 +96,7 @@ void TaskGroupSampler::Refresh(int64_t refresh_flags) } --#endif // defined(OS_MAC) || defined(OS_LINUX) || defined(OS_CHROMEOS) -+#endif // defined(OS_MAC) || defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD) + #endif // defined(OS_MAC) || defined(OS_LINUX) || defined(OS_CHROMEOS) -#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_MAC) +#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_MAC) || defined(OS_BSD) if (TaskManagerObserver::IsResourceRefreshEnabled(REFRESH_TYPE_FD_COUNT, refresh_flags)) { base::PostTaskAndReplyWithResult( -@@ -104,7 +104,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_CHROMEOS) || defined(OS_MAC) -+#endif // defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_MAC) || defined(OS_BSD) - - if (TaskManagerObserver::IsResourceRefreshEnabled(REFRESH_TYPE_PRIORITY, - refresh_flags)) { -@@ -146,19 +146,21 @@ int TaskGroupSampler::RefreshIdleWakeupsPerSecond() { +@@ -146,7 +146,7 @@ int TaskGroupSampler::RefreshIdleWakeupsPerSecond() { return process_metrics_->GetIdleWakeupsPerSecond(); } -#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_MAC) +#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_MAC) || defined(OS_BSD) int TaskGroupSampler::RefreshOpenFdCount() { DCHECK(worker_pool_sequenced_checker_.CalledOnValidSequence()); - return process_metrics_->GetOpenFdCount(); - } --#endif // defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_MAC) -+#endif // defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_MAC) || defined(OS_BSD) - - bool TaskGroupSampler::RefreshProcessPriority() { - DCHECK(worker_pool_sequenced_checker_.CalledOnValidSequence()); - #if defined(OS_MAC) - return process_.IsProcessBackgrounded( - content::BrowserChildProcessHost::GetPortProvider()); -+#elif defined(OS_BSD) -+ return false; - #else - return process_.IsProcessBackgrounded(); - #endif // defined(OS_MAC) diff --git a/www/chromium/files/patch-chrome_browser_task__manager_sampling_task__group__sampler.h b/www/chromium/files/patch-chrome_browser_task__manager_sampling_task__group__sampler.h index 69ed2530f60f..52c1318c6878 100644 --- a/www/chromium/files/patch-chrome_browser_task__manager_sampling_task__group__sampler.h +++ b/www/chromium/files/patch-chrome_browser_task__manager_sampling_task__group__sampler.h @@ -1,50 +1,38 @@ ---- chrome/browser/task_manager/sampling/task_group_sampler.h.orig 2021-07-19 18:45:09 UTC +--- chrome/browser/task_manager/sampling/task_group_sampler.h.orig 2022-02-07 13:39:41 UTC +++ chrome/browser/task_manager/sampling/task_group_sampler.h -@@ -31,9 +31,9 @@ class TaskGroupSampler : public base::RefCountedThread +@@ -31,7 +31,7 @@ class TaskGroupSampler : public base::RefCountedThread using OnCpuRefreshCallback = base::RepeatingCallback; using OnSwappedMemRefreshCallback = base::RepeatingCallback; using OnIdleWakeupsCallback = base::RepeatingCallback; -#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_MAC) +#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_MAC) || defined(OS_BSD) using OnOpenFdCountCallback = base::RepeatingCallback; --#endif // defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_MAC) -+#endif // defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_MAC) || defined(OS_BSD) + #endif // defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_MAC) using OnProcessPriorityCallback = base::RepeatingCallback; - - TaskGroupSampler( -@@ -42,9 +42,9 @@ class TaskGroupSampler : public base::RefCountedThread +@@ -42,7 +42,7 @@ 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_CHROMEOS) || defined(OS_MAC) +#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_MAC) || defined(OS_BSD) const OnOpenFdCountCallback& on_open_fd_count, --#endif // defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_MAC) -+#endif // defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_MAC) || defined(OS_BSD) + #endif // defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_MAC) const OnProcessPriorityCallback& on_process_priority); - - TaskGroupSampler(const TaskGroupSampler&) = delete; -@@ -62,9 +62,9 @@ class TaskGroupSampler : public base::RefCountedThread +@@ -62,7 +62,7 @@ class TaskGroupSampler : public base::RefCountedThread double RefreshCpuUsage(); int64_t RefreshSwappedMem(); int RefreshIdleWakeupsPerSecond(); -#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_MAC) +#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_MAC) || defined(OS_BSD) int RefreshOpenFdCount(); --#endif // defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_MAC) -+#endif // defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_MAC) || defined(OS_BSD) + #endif // defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_MAC) bool RefreshProcessPriority(); - - // The process that holds the handle that we own so that we can use it for -@@ -86,9 +86,9 @@ class TaskGroupSampler : public base::RefCountedThread +@@ -86,7 +86,7 @@ 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_CHROMEOS) || defined(OS_MAC) +#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_MAC) || defined(OS_BSD) const OnOpenFdCountCallback on_open_fd_count_callback_; --#endif // defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_MAC) -+#endif // defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_MAC) || defined(OS_BSD) + #endif // defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_MAC) const OnProcessPriorityCallback on_process_priority_callback_; - - // To assert we're running on the correct thread. diff --git a/www/chromium/files/patch-chrome_browser_task__manager_sampling_task__manager__impl.cc b/www/chromium/files/patch-chrome_browser_task__manager_sampling_task__manager__impl.cc index 3eca0ac2d0ad..f3ff05f393d8 100644 --- a/www/chromium/files/patch-chrome_browser_task__manager_sampling_task__manager__impl.cc +++ b/www/chromium/files/patch-chrome_browser_task__manager_sampling_task__manager__impl.cc @@ -1,16 +1,11 @@ ---- chrome/browser/task_manager/sampling/task_manager_impl.cc.orig 2021-07-19 18:45:09 UTC +--- chrome/browser/task_manager/sampling/task_manager_impl.cc.orig 2022-02-07 13:39:41 UTC +++ chrome/browser/task_manager/sampling/task_manager_impl.cc -@@ -217,11 +217,11 @@ void TaskManagerImpl::GetUSERHandles(TaskId task_id, +@@ -217,7 +217,7 @@ void TaskManagerImpl::GetUSERHandles(TaskId task_id, } int TaskManagerImpl::GetOpenFdCount(TaskId task_id) const { -#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_MAC) +#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_MAC) || defined(OS_BSD) return GetTaskGroupByTaskId(task_id)->open_fd_count(); #else return -1; --#endif // defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_MAC) -+#endif // defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_MAC) || defined(OS_BSD) - } - - bool TaskManagerImpl::IsTaskOnBackgroundedProcess(TaskId task_id) const { diff --git a/www/chromium/files/patch-chrome_browser_task__manager_task__manager__observer.h b/www/chromium/files/patch-chrome_browser_task__manager_task__manager__observer.h index 3489fa191a1c..78d46e3bc6e2 100644 --- a/www/chromium/files/patch-chrome_browser_task__manager_task__manager__observer.h +++ b/www/chromium/files/patch-chrome_browser_task__manager_task__manager__observer.h @@ -1,16 +1,11 @@ ---- chrome/browser/task_manager/task_manager_observer.h.orig 2021-07-19 18:45:09 UTC +--- chrome/browser/task_manager/task_manager_observer.h.orig 2022-02-07 13:39:41 UTC +++ chrome/browser/task_manager/task_manager_observer.h -@@ -46,11 +46,11 @@ enum RefreshType { +@@ -47,7 +47,7 @@ enum RefreshType { // or backgrounded. REFRESH_TYPE_PRIORITY = 1 << 13, -#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_MAC) +#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_MAC) || 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_CHROMEOS) || defined(OS_MAC) -+#endif // defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_MAC) || defined(OS_BSD) - - REFRESH_TYPE_KEEPALIVE_COUNT = 1 << 15, - REFRESH_TYPE_MEMORY_FOOTPRINT = 1 << 16, diff --git a/www/chromium/files/patch-chrome_browser_themes_theme__helper.cc b/www/chromium/files/patch-chrome_browser_themes_theme__helper.cc index 94747ad7907d..dd9309404c97 100644 --- a/www/chromium/files/patch-chrome_browser_themes_theme__helper.cc +++ b/www/chromium/files/patch-chrome_browser_themes_theme__helper.cc @@ -1,11 +1,11 @@ ---- chrome/browser/themes/theme_helper.cc.orig 2021-12-14 11:44:59 UTC +--- chrome/browser/themes/theme_helper.cc.orig 2022-02-07 13:39:41 UTC +++ chrome/browser/themes/theme_helper.cc -@@ -341,7 +341,7 @@ bool ThemeHelper::ShouldUseIncreasedContrastThemeSuppl +@@ -334,7 +334,7 @@ bool ThemeHelper::ShouldUseIncreasedContrastThemeSuppl ui::NativeTheme* native_theme) const { // TODO(crbug.com/1052397): Revisit once build flag switch of lacros-chrome is // complete. -#if defined(OS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS) +#if defined(OS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS) || defined(OS_BSD) // On Linux the GTK system theme provides the high contrast colors, // so don't use the IncreasedContrastThemeSupplier. return false; diff --git a/www/chromium/files/patch-chrome_browser_ui_BUILD.gn b/www/chromium/files/patch-chrome_browser_ui_BUILD.gn deleted file mode 100644 index 4462868751dd..000000000000 --- a/www/chromium/files/patch-chrome_browser_ui_BUILD.gn +++ /dev/null @@ -1,55 +0,0 @@ ---- chrome/browser/ui/BUILD.gn.orig 2021-12-31 00:57:24 UTC -+++ chrome/browser/ui/BUILD.gn -@@ -682,10 +682,20 @@ static_library("ui") { - ] - } - -- if (!is_fuchsia) { -+ if (!is_fuchsia && !is_bsd) { - deps += [ "//components/crash/core/app" ] - } - -+ if (is_bsd) { -+ sources -= [ -+ "webui/crashes_ui.cc", -+ "webui/crashes_ui.h", -+ ] -+ deps -= [ -+ "//components/crash/core/browser", -+ ] -+ } -+ - if (is_android) { - sources += [ - "android/android_about_app_info.cc", -@@ -3617,7 +3627,7 @@ static_library("ui") { - } - } - -- if (is_linux || is_chromeos_lacros || is_mac) { -+ if ((is_linux || is_chromeos_lacros || is_mac) && !is_bsd) { - # The first run dialog shows only on Linux and macOS. - sources += [ - "views/first_run_dialog.cc", -@@ -3723,6 +3733,12 @@ static_library("ui") { - deps += [ "//third_party/fontconfig" ] - } - } -+ if (is_bsd) { -+ sources -= [ -+ "webui/webui_js_error/webui_js_error_ui.cc", -+ "webui/webui_js_error/webui_js_error_ui.h", -+ ] -+ } - - if (toolkit_views) { - sources += [ -@@ -4739,7 +4755,7 @@ static_library("ui") { - ] - } - -- if (is_win || is_linux) { -+ if ((is_win || is_linux) && !is_bsd) { - sources += [ - "views/bluetooth_device_credentials_view.cc", - "views/bluetooth_device_credentials_view.h", diff --git a/www/chromium/files/patch-chrome_browser_ui_browser__command__controller.cc b/www/chromium/files/patch-chrome_browser_ui_browser__command__controller.cc index fe54480a0185..e9a74790cccf 100644 --- a/www/chromium/files/patch-chrome_browser_ui_browser__command__controller.cc +++ b/www/chromium/files/patch-chrome_browser_ui_browser__command__controller.cc @@ -1,38 +1,38 @@ ---- chrome/browser/ui/browser_command_controller.cc.orig 2021-12-31 00:57:25 UTC +--- chrome/browser/ui/browser_command_controller.cc.orig 2022-02-07 13:39:41 UTC +++ chrome/browser/ui/browser_command_controller.cc -@@ -89,7 +89,7 @@ +@@ -88,7 +88,7 @@ // TODO(crbug.com/1052397): Revisit the macro expression once build flag switch // of lacros-chrome is complete. -#if defined(OS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS) +#if defined(OS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS) || defined(OS_BSD) #include "ui/base/ime/linux/text_edit_key_bindings_delegate_auralinux.h" #endif -@@ -275,7 +275,7 @@ bool BrowserCommandController::IsReservedCommandOrKey( +@@ -274,7 +274,7 @@ bool BrowserCommandController::IsReservedCommandOrKey( // TODO(crbug.com/1052397): Revisit the macro expression once build flag switch // of lacros-chrome is complete. -#if defined(OS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS) +#if defined(OS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS) || defined(OS_BSD) // If this key was registered by the user as a content editing hotkey, then // it is not reserved. ui::TextEditKeyBindingsDelegateAuraLinux* delegate = -@@ -511,7 +511,7 @@ bool BrowserCommandController::ExecuteCommandWithDispo +@@ -510,7 +510,7 @@ bool BrowserCommandController::ExecuteCommandWithDispo // TODO(crbug.com/1052397): Revisit the macro expression once build flag switch // of lacros-chrome is complete. -#if defined(OS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS) +#if defined(OS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS) || defined(OS_BSD) case IDC_MINIMIZE_WINDOW: browser_->window()->Minimize(); break; -@@ -1027,7 +1027,7 @@ void BrowserCommandController::InitCommandState() { +@@ -1026,7 +1026,7 @@ void BrowserCommandController::InitCommandState() { #endif // TODO(crbug.com/1052397): Revisit the macro expression once build flag switch // of lacros-chrome is complete. -#if defined(OS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS) +#if defined(OS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS) || defined(OS_BSD) 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/chromium/files/patch-chrome_browser_ui_browser__dialogs.h b/www/chromium/files/patch-chrome_browser_ui_browser__dialogs.h index 1125dee4ec76..06c2732ddbd7 100644 --- a/www/chromium/files/patch-chrome_browser_ui_browser__dialogs.h +++ b/www/chromium/files/patch-chrome_browser_ui_browser__dialogs.h @@ -1,29 +1,29 @@ ---- chrome/browser/ui/browser_dialogs.h.orig 2021-12-31 00:57:25 UTC +--- chrome/browser/ui/browser_dialogs.h.orig 2022-02-07 13:39:41 UTC +++ chrome/browser/ui/browser_dialogs.h -@@ -27,7 +27,7 @@ +@@ -26,7 +26,7 @@ + #include "ui/base/models/dialog_model.h" #include "ui/gfx/native_widget_types.h" - #if defined(OS_WIN) || defined(OS_MAC) || \ -- (defined(OS_LINUX) && !BUILDFLAG(IS_CHROMEOS_LACROS)) -+ (defined(OS_LINUX) && !BUILDFLAG(IS_CHROMEOS_LACROS)) || defined(OS_BSD) +-#if defined(OS_WIN) || defined(OS_MAC) || \ ++#if defined(OS_WIN) || defined(OS_MAC) || defined(OS_BSD) || \ + (defined(OS_LINUX) && !BUILDFLAG(IS_CHROMEOS_LACROS)) #include "chrome/browser/web_applications/web_app_id.h" #endif - -@@ -81,7 +81,7 @@ struct SelectedFileInfo; +@@ -80,7 +80,7 @@ class WebDialogDelegate; + struct SelectedFileInfo; } // namespace ui - #if defined(OS_WIN) || defined(OS_MAC) || \ -- (defined(OS_LINUX) && !BUILDFLAG(IS_CHROMEOS_LACROS)) -+ (defined(OS_LINUX) && !BUILDFLAG(IS_CHROMEOS_LACROS)) || defined(OS_BSD) +-#if defined(OS_WIN) || defined(OS_MAC) || \ ++#if defined(OS_WIN) || defined(OS_MAC) || defined(OS_BSD) || \ + (defined(OS_LINUX) && !BUILDFLAG(IS_CHROMEOS_LACROS)) namespace web_app { struct UrlHandlerLaunchParams; - } -@@ -208,7 +208,7 @@ void ShowWebAppFileLaunchDialog(const std::vectorRegisterBooleanPref(prefs::kUseCustomChromeFrame, GetCustomFramePrefDefault()); --#endif // (defined(OS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS)) && -+#endif // (defined(OS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS) || defined(OS_BSD)) && - // defined(!OS_CHROMEOS) - } + #endif // (defined(OS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS)) && diff --git a/www/chromium/files/patch-chrome_browser_ui_sad__tab.cc b/www/chromium/files/patch-chrome_browser_ui_sad__tab.cc index f0f4db286b19..ad34cd323688 100644 --- a/www/chromium/files/patch-chrome_browser_ui_sad__tab.cc +++ b/www/chromium/files/patch-chrome_browser_ui_sad__tab.cc @@ -1,11 +1,11 @@ ---- chrome/browser/ui/sad_tab.cc.orig 2021-04-14 18:40:55 UTC +--- chrome/browser/ui/sad_tab.cc.orig 2022-02-07 13:39:41 UTC +++ chrome/browser/ui/sad_tab.cc -@@ -189,7 +189,7 @@ std::vector SadTab::GetSubMessages() { +@@ -188,7 +188,7 @@ std::vector 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_MAC) || defined(OS_LINUX) || defined(OS_CHROMEOS) +#if defined(OS_MAC) || defined(OS_LINUX) || defined(OS_CHROMEOS) || 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/chromium/files/patch-chrome_browser_ui_signin__view__controller.cc b/www/chromium/files/patch-chrome_browser_ui_signin__view__controller.cc index b18a0d311dfa..ab2b61434e96 100644 --- a/www/chromium/files/patch-chrome_browser_ui_signin__view__controller.cc +++ b/www/chromium/files/patch-chrome_browser_ui_signin__view__controller.cc @@ -1,11 +1,11 @@ ---- chrome/browser/ui/signin_view_controller.cc.orig 2021-12-14 11:44:59 UTC +--- chrome/browser/ui/signin_view_controller.cc.orig 2022-02-07 13:39:41 UTC +++ chrome/browser/ui/signin_view_controller.cc -@@ -241,7 +241,7 @@ void SigninViewController::ShowModalEnterpriseConfirma - const AccountInfo& account_info, +@@ -242,7 +242,7 @@ void SigninViewController::ShowModalEnterpriseConfirma SkColor profile_color, base::OnceCallback callback) { --#if defined(OS_WIN) || defined(OS_MAC) || defined(OS_LINUX) || \ -+#if defined(OS_WIN) || defined(OS_MAC) || defined(OS_LINUX) || defined(OS_BSD) || \ - BUILDFLAG(IS_CHROMEOS_LACROS) + #if defined(OS_WIN) || defined(OS_MAC) || defined(OS_LINUX) || \ +- BUILDFLAG(IS_CHROMEOS_LACROS) ++ BUILDFLAG(IS_CHROMEOS_LACROS) || defined(OS_BSD) CloseModalSignin(); // The delegate will delete itself on request of the UI code when the widget + // is closed. diff --git a/www/chromium/files/patch-chrome_browser_ui_signin__view__controller__delegate.h b/www/chromium/files/patch-chrome_browser_ui_signin__view__controller__delegate.h index 533c5be1ea9f..0a9d2af20c45 100644 --- a/www/chromium/files/patch-chrome_browser_ui_signin__view__controller__delegate.h +++ b/www/chromium/files/patch-chrome_browser_ui_signin__view__controller__delegate.h @@ -1,11 +1,11 @@ ---- chrome/browser/ui/signin_view_controller_delegate.h.orig 2021-09-24 18:29:25 UTC +--- chrome/browser/ui/signin_view_controller_delegate.h.orig 2022-02-07 13:39:41 UTC +++ chrome/browser/ui/signin_view_controller_delegate.h -@@ -63,7 +63,7 @@ class SigninViewControllerDelegate { - const CoreAccountId& account_id, +@@ -64,7 +64,7 @@ class SigninViewControllerDelegate { signin_metrics::ReauthAccessPoint access_point); --#if defined(OS_WIN) || defined(OS_MAC) || defined(OS_LINUX) || \ -+#if defined(OS_WIN) || defined(OS_MAC) || defined(OS_LINUX) || defined(OS_BSD) || \ - BUILDFLAG(IS_CHROMEOS_LACROS) + #if defined(OS_WIN) || defined(OS_MAC) || defined(OS_LINUX) || \ +- BUILDFLAG(IS_CHROMEOS_LACROS) ++ BUILDFLAG(IS_CHROMEOS_LACROS) || defined(OS_BSD) // Returns a platform-specific SigninViewContolllerDelegate instance that // displays the enterprise confirmation modal dialog. The returned object + // should delete itself when the window it's managing is closed. diff --git a/www/chromium/files/patch-chrome_browser_ui_signin_dice__web__signin__interceptor__delegate.cc b/www/chromium/files/patch-chrome_browser_ui_signin_dice__web__signin__interceptor__delegate.cc index b532595cbe05..c893c28b27e7 100644 --- a/www/chromium/files/patch-chrome_browser_ui_signin_dice__web__signin__interceptor__delegate.cc +++ b/www/chromium/files/patch-chrome_browser_ui_signin_dice__web__signin__interceptor__delegate.cc @@ -1,11 +1,11 @@ ---- chrome/browser/ui/signin/dice_web_signin_interceptor_delegate.cc.orig 2021-12-14 11:44:59 UTC +--- chrome/browser/ui/signin/dice_web_signin_interceptor_delegate.cc.orig 2022-02-07 13:39:41 UTC +++ chrome/browser/ui/signin/dice_web_signin_interceptor_delegate.cc -@@ -57,7 +57,7 @@ class ForcedEnterpriseSigninInterceptionHandle - private: +@@ -59,7 +59,7 @@ class ForcedEnterpriseSigninInterceptionHandle void ShowEnterpriseProfileInterceptionDialog(const AccountInfo& account_info, SkColor profile_color) { --#if defined(OS_WIN) || defined(OS_MAC) || defined(OS_LINUX) || \ -+#if defined(OS_WIN) || defined(OS_MAC) || defined(OS_LINUX) || defined(OS_BSD) || \ - BUILDFLAG(IS_CHROMEOS_LACROS) + #if defined(OS_WIN) || defined(OS_MAC) || defined(OS_LINUX) || \ +- BUILDFLAG(IS_CHROMEOS_LACROS) ++ BUILDFLAG(IS_CHROMEOS_LACROS) || defined(OS_BSD) if (base::FeatureList::IsEnabled(kAccountPoliciesLoadedWithoutSync)) { browser_->signin_view_controller()->ShowModalEnterpriseConfirmationDialog( + account_info, profile_color, diff --git a/www/chromium/files/patch-chrome_browser_ui_startup_startup__browser__creator.cc b/www/chromium/files/patch-chrome_browser_ui_startup_startup__browser__creator.cc index 9eff51aaf55b..7e5f7f79e3ad 100644 --- a/www/chromium/files/patch-chrome_browser_ui_startup_startup__browser__creator.cc +++ b/www/chromium/files/patch-chrome_browser_ui_startup_startup__browser__creator.cc @@ -1,38 +1,38 @@ ---- chrome/browser/ui/startup/startup_browser_creator.cc.orig 2021-12-31 00:57:25 UTC +--- chrome/browser/ui/startup/startup_browser_creator.cc.orig 2022-02-07 13:39:41 UTC +++ chrome/browser/ui/startup/startup_browser_creator.cc -@@ -125,7 +125,7 @@ +@@ -124,7 +124,7 @@ + #endif // BUILDFLAG(ENABLE_PRINT_PREVIEW) #endif // defined(OS_WIN) - #if defined(OS_WIN) || defined(OS_MAC) || \ -- (defined(OS_LINUX) && !BUILDFLAG(IS_CHROMEOS_LACROS)) -+ (defined(OS_LINUX) && !BUILDFLAG(IS_CHROMEOS_LACROS)) || defined(OS_BSD) +-#if defined(OS_WIN) || defined(OS_MAC) || \ ++#if defined(OS_WIN) || defined(OS_MAC) || defined(OS_BSD) || \ + (defined(OS_LINUX) && !BUILDFLAG(IS_CHROMEOS_LACROS)) #include "chrome/browser/ui/startup/web_app_url_handling_startup_utils.h" #endif - -@@ -402,7 +402,7 @@ bool MaybeLaunchAppShortcutWindow(const base::CommandL +@@ -403,7 +403,7 @@ bool MaybeLaunchAppShortcutWindow(const base::CommandL return false; } -#if defined(OS_WIN) || (defined(OS_LINUX) && !BUILDFLAG(IS_CHROMEOS_LACROS)) +#if defined(OS_WIN) || (defined(OS_LINUX) && !BUILDFLAG(IS_CHROMEOS_LACROS)) || defined(OS_BSD) bool MaybeLaunchUrlHandlerWebAppFromCmd( const base::CommandLine& command_line, const base::FilePath& cur_dir, -@@ -1025,7 +1025,7 @@ bool StartupBrowserCreator::ProcessCmdLineImpl( +@@ -1038,7 +1038,7 @@ bool StartupBrowserCreator::ProcessCmdLineImpl( if (command_line.HasSwitch(switches::kAppId)) { std::string app_id = command_line.GetSwitchValueASCII(switches::kAppId); -#if defined(OS_WIN) || defined(OS_MAC) || defined(OS_LINUX) +#if defined(OS_WIN) || defined(OS_MAC) || defined(OS_LINUX) || defined(OS_BSD) // If Chrome Apps are deprecated and |app_id| is a Chrome App, display the // deprecation UI instead of launching the app. if (apps::OpenDeprecatedApplicationPrompt(privacy_safe_profile, app_id)) -@@ -1061,7 +1061,7 @@ bool StartupBrowserCreator::ProcessCmdLineImpl( - web_app::startup::MaybeHandleWebAppLaunch(command_line, cur_dir, - privacy_safe_profile); +@@ -1074,7 +1074,7 @@ bool StartupBrowserCreator::ProcessCmdLineImpl( + web_app::startup::MaybeHandleWebAppLaunch( + command_line, cur_dir, privacy_safe_profile, is_first_run); -#if defined(OS_WIN) || (defined(OS_LINUX) && !BUILDFLAG(IS_CHROMEOS_LACROS)) +#if defined(OS_WIN) || (defined(OS_LINUX) && !BUILDFLAG(IS_CHROMEOS_LACROS)) || defined(OS_BSD) handled_as_app = handled_as_app || // Give web apps a chance to handle a URL. MaybeLaunchUrlHandlerWebAppFromCmd( diff --git a/www/chromium/files/patch-chrome_browser_ui_tab__helpers.cc b/www/chromium/files/patch-chrome_browser_ui_tab__helpers.cc index af92edc33ac9..349c592b4498 100644 --- a/www/chromium/files/patch-chrome_browser_ui_tab__helpers.cc +++ b/www/chromium/files/patch-chrome_browser_ui_tab__helpers.cc @@ -1,34 +1,36 @@ ---- chrome/browser/ui/tab_helpers.cc.orig 2022-01-20 10:35:51 UTC +--- chrome/browser/ui/tab_helpers.cc.orig 2022-02-07 13:39:41 UTC +++ chrome/browser/ui/tab_helpers.cc -@@ -170,7 +170,7 @@ - #include "chrome/browser/chromeos/policy/dlp/dlp_content_tab_helper.h" +@@ -175,7 +175,7 @@ #endif --#if defined(OS_WIN) || defined(OS_MAC) || defined(OS_LINUX) || \ -+#if defined(OS_WIN) || defined(OS_MAC) || defined(OS_LINUX) || defined(OS_BSD) || \ - defined(OS_CHROMEOS) || defined(OS_FUCHSIA) + #if defined(OS_WIN) || defined(OS_MAC) || defined(OS_LINUX) || \ +- defined(OS_CHROMEOS) || defined(OS_FUCHSIA) ++ defined(OS_CHROMEOS) || defined(OS_FUCHSIA) || defined(OS_BSD) #include "chrome/browser/ui/blocked_content/framebust_block_tab_helper.h" #include "chrome/browser/ui/browser_finder.h" -@@ -459,11 +459,11 @@ void TabHelpers::AttachTabHelpers(WebContents* web_con + #include "chrome/browser/ui/hats/hats_helper.h" +@@ -479,13 +479,13 @@ void TabHelpers::AttachTabHelpers(WebContents* web_con + // TODO(crbug.com/1052397): Revisit the macro expression once build flag switch // of lacros-chrome is complete. - #if defined(OS_WIN) || defined(OS_MAC) || \ -- (defined(OS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS)) -+ (defined(OS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS)) || defined(OS_BSD) +-#if defined(OS_WIN) || defined(OS_MAC) || \ ++#if defined(OS_WIN) || defined(OS_MAC) || defined(OS_BSD) || \ + (defined(OS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS)) metrics::DesktopSessionDurationObserver::CreateForWebContents(web_contents); #endif --#if defined(OS_WIN) || defined(OS_MAC) || defined(OS_LINUX) || \ -+#if defined(OS_WIN) || defined(OS_MAC) || defined(OS_LINUX) || defined(OS_BSD) || \ - defined(OS_CHROMEOS) + #if defined(OS_WIN) || defined(OS_MAC) || defined(OS_LINUX) || \ +- defined(OS_CHROMEOS) ++ defined(OS_CHROMEOS) || defined(OS_BSD) if (base::FeatureList::IsEnabled( features::kHappinessTrackingSurveysForDesktopDemo) || -@@ -474,7 +474,7 @@ void TabHelpers::AttachTabHelpers(WebContents* web_con - } + base::FeatureList::IsEnabled(features::kTrustSafetySentimentSurvey) || +@@ -496,7 +496,7 @@ void TabHelpers::AttachTabHelpers(WebContents* web_con #endif --#if defined(OS_WIN) || defined(OS_MAC) || defined(OS_LINUX) || \ -+#if defined(OS_WIN) || defined(OS_MAC) || defined(OS_LINUX) || defined(OS_BSD) || \ - defined(OS_CHROMEOS) + #if defined(OS_WIN) || defined(OS_MAC) || defined(OS_LINUX) || \ +- defined(OS_CHROMEOS) ++ defined(OS_CHROMEOS) || defined(OS_BSD) if (Browser* browser = chrome::FindBrowserWithProfile(profile)) { SharedHighlightingPromo::CreateForWebContents(web_contents, browser); + } diff --git a/www/chromium/files/patch-chrome_browser_ui_task__manager_task__manager__columns.cc b/www/chromium/files/patch-chrome_browser_ui_task__manager_task__manager__columns.cc index d9377d43b01c..7156c0165491 100644 --- a/www/chromium/files/patch-chrome_browser_ui_task__manager_task__manager__columns.cc +++ b/www/chromium/files/patch-chrome_browser_ui_task__manager_task__manager__columns.cc @@ -1,15 +1,11 @@ ---- chrome/browser/ui/task_manager/task_manager_columns.cc.orig 2021-04-14 18:40:55 UTC +--- chrome/browser/ui/task_manager/task_manager_columns.cc.orig 2022-02-07 13:39:41 UTC +++ chrome/browser/ui/task_manager/task_manager_columns.cc -@@ -94,10 +94,10 @@ const TableColumnData kColumns[] = { +@@ -94,7 +94,7 @@ const TableColumnData kColumns[] = { base::size("100000") * kCharWidth, -1, true, false, false}, #endif -#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_MAC) +#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_MAC) || 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_CHROMEOS) || defined(OS_MAC) -+#endif // defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_MAC) || 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, + #endif // defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_MAC) diff --git a/www/chromium/files/patch-chrome_browser_ui_task__manager_task__manager__table__model.cc b/www/chromium/files/patch-chrome_browser_ui_task__manager_task__manager__table__model.cc index 9e658522e6b8..ddcb60da4e16 100644 --- a/www/chromium/files/patch-chrome_browser_ui_task__manager_task__manager__table__model.cc +++ b/www/chromium/files/patch-chrome_browser_ui_task__manager_task__manager__table__model.cc @@ -1,50 +1,29 @@ ---- chrome/browser/ui/task_manager/task_manager_table_model.cc.orig 2021-09-14 01:51:51 UTC +--- chrome/browser/ui/task_manager/task_manager_table_model.cc.orig 2022-02-07 13:39:41 UTC +++ chrome/browser/ui/task_manager/task_manager_table_model.cc -@@ -451,13 +451,13 @@ std::u16string TaskManagerTableModel::GetText(int row, +@@ -451,7 +451,7 @@ std::u16string TaskManagerTableModel::GetText(int row, ? stringifier_->backgrounded_string() : stringifier_->foregrounded_string(); -#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_MAC) +#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_MAC) || 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_CHROMEOS) || defined(OS_MAC) -+#endif // defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_MAC) || defined(OS_BSD) - - case IDS_TASK_MANAGER_KEEPALIVE_COUNT_COLUMN: { - return stringifier_->GetKeepaliveCountText( @@ -618,7 +618,7 @@ int TaskManagerTableModel::CompareValues(int row1, return BooleanCompare(is_proc1_bg, is_proc2_bg); } -#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_MAC) +#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_MAC) || defined(OS_BSD) case IDS_TASK_MANAGER_OPEN_FD_COUNT_COLUMN: { const int proc1_fd_count = observed_task_manager()->GetOpenFdCount(tasks_[row1]); -@@ -626,7 +626,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_CHROMEOS) || defined(OS_MAC) -+#endif // defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_MAC) || defined(OS_BSD) - - default: - NOTREACHED(); -@@ -792,11 +792,11 @@ void TaskManagerTableModel::UpdateRefreshTypes(int col +@@ -792,7 +792,7 @@ void TaskManagerTableModel::UpdateRefreshTypes(int col type = REFRESH_TYPE_KEEPALIVE_COUNT; break; -#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_MAC) +#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_MAC) || defined(OS_BSD) case IDS_TASK_MANAGER_OPEN_FD_COUNT_COLUMN: type = REFRESH_TYPE_FD_COUNT; break; --#endif // defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_MAC) -+#endif // defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_MAC) || defined(OS_BSD) - - default: - NOTREACHED(); diff --git a/www/chromium/files/patch-chrome_browser_ui_test_test__browser__dialog.cc b/www/chromium/files/patch-chrome_browser_ui_test_test__browser__dialog.cc deleted file mode 100644 index 9567eb019bc4..000000000000 --- a/www/chromium/files/patch-chrome_browser_ui_test_test__browser__dialog.cc +++ /dev/null @@ -1,11 +0,0 @@ ---- chrome/browser/ui/test/test_browser_dialog.cc.orig 2021-12-14 11:44:59 UTC -+++ chrome/browser/ui/test/test_browser_dialog.cc -@@ -117,7 +117,7 @@ bool TestBrowserDialog::VerifyUi() { - // TODO(https://crbug.com/958242) support Mac for pixel tests. - // TODO(crbug.com/1052397): Revisit the macro expression once build flag switch - // of lacros-chrome is complete. --#if defined(OS_WIN) || (defined(OS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS)) -+#if defined(OS_WIN) || (defined(OS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS)) || defined(OS_BSD) - dialog_widget->SetBlockCloseForTesting(true); - // Deactivate before taking screenshot. Deactivated dialog pixel outputs - // is more predictable than activated dialog. diff --git a/www/chromium/files/patch-chrome_browser_ui_test_test__browser__ui.cc b/www/chromium/files/patch-chrome_browser_ui_test_test__browser__ui.cc deleted file mode 100644 index d65f35288c8c..000000000000 --- a/www/chromium/files/patch-chrome_browser_ui_test_test__browser__ui.cc +++ /dev/null @@ -1,38 +0,0 @@ ---- chrome/browser/ui/test/test_browser_ui.cc.orig 2021-12-14 11:44:59 UTC -+++ chrome/browser/ui/test/test_browser_ui.cc -@@ -16,7 +16,7 @@ - // TODO(crbug.com/1052397): Revisit the macro expression once build flag switch - // of lacros-chrome is complete. - #if defined(OS_WIN) || defined(OS_MAC) || \ -- (defined(OS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS)) -+ (defined(OS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS)) || defined(OS_BSD) - #include "chrome/test/pixel/browser_skia_gold_pixel_diff.h" - #include "ui/base/test/skia_gold_matching_algorithm.h" - #include "ui/compositor/test/draw_waiter_for_test.h" -@@ -37,7 +37,7 @@ std::string NameFromTestCase() { - - // TODO(crbug.com/1052397): Revisit the macro expression once build flag switch - // of lacros-chrome is complete. --#if defined(OS_WIN) || (defined(OS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS)) -+#if defined(OS_WIN) || (defined(OS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS)) || defined(OS_BSD) - void InstallUIControlsAura() { - #if defined(OS_WIN) - ui_controls::InstallUIControlsAura(aura::test::CreateUIControlsAura(nullptr)); -@@ -55,7 +55,7 @@ void InstallUIControlsAura() { - TestBrowserUi::TestBrowserUi() { - // TODO(crbug.com/1052397): Revisit the macro expression once build flag switch - // of lacros-chrome is complete. --#if defined(OS_WIN) || (defined(OS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS)) -+#if defined(OS_WIN) || (defined(OS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS)) || defined(OS_BSD) - // Default to fuzzy diff. The magic number is chosen based on - // past experiments. - SetPixelMatchAlgorithm( -@@ -68,7 +68,7 @@ TestBrowserUi::~TestBrowserUi() = default; - // TODO(https://crbug.com/958242) support Mac for pixel tests. - // TODO(crbug.com/1052397): Revisit the macro expression once build flag switch - // of lacros-chrome is complete. --#if defined(OS_WIN) || (defined(OS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS)) -+#if defined(OS_WIN) || (defined(OS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS)) || defined(OS_BSD) - bool TestBrowserUi::VerifyPixelUi(views::Widget* widget, - const std::string& screenshot_prefix, - const std::string& screenshot_name) { diff --git a/www/chromium/files/patch-chrome_browser_ui_test_test__browser__ui.h b/www/chromium/files/patch-chrome_browser_ui_test_test__browser__ui.h deleted file mode 100644 index 887bd0b79f63..000000000000 --- a/www/chromium/files/patch-chrome_browser_ui_test_test__browser__ui.h +++ /dev/null @@ -1,20 +0,0 @@ ---- chrome/browser/ui/test/test_browser_ui.h.orig 2021-12-14 11:44:59 UTC -+++ chrome/browser/ui/test/test_browser_ui.h -@@ -100,7 +100,7 @@ class TestBrowserUi { - - // TODO(crbug.com/1052397): Revisit the macro expression once build flag switch - // of lacros-chrome is complete. --#if defined(OS_WIN) || (defined(OS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS)) -+#if defined(OS_WIN) || (defined(OS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS)) || defined(OS_BSD) - // Can be called by VerifyUi() to ensure pixel correctness. - bool VerifyPixelUi(views::Widget* widget, - const std::string& screenshot_prefix, -@@ -137,7 +137,7 @@ class TestBrowserUi { - // TODO(crbug.com/1052397): Revisit the macro expression once build flag switch - // of lacros-chrome is complete. - #if defined(OS_WIN) || defined(OS_MAC) || \ -- (defined(OS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS)) -+ (defined(OS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS)) || defined(OS_BSD) - std::unique_ptr algorithm_; - #endif - }; diff --git a/www/chromium/files/patch-chrome_browser_ui_views_accelerator__table.cc b/www/chromium/files/patch-chrome_browser_ui_views_accelerator__table.cc index 26e48fed58ea..3f196e28de4d 100644 --- a/www/chromium/files/patch-chrome_browser_ui_views_accelerator__table.cc +++ b/www/chromium/files/patch-chrome_browser_ui_views_accelerator__table.cc @@ -1,46 +1,29 @@ ---- chrome/browser/ui/views/accelerator_table.cc.orig 2021-12-14 11:44:59 UTC +--- chrome/browser/ui/views/accelerator_table.cc.orig 2022-02-07 13:39:41 UTC +++ chrome/browser/ui/views/accelerator_table.cc @@ -62,7 +62,7 @@ const AcceleratorMapping kAcceleratorMap[] = { {ui::VKEY_NUMPAD9, ui::EF_PLATFORM_ACCELERATOR, IDC_SELECT_LAST_TAB}, // TODO(crbug.com/1052397): Revisit the macro expression once build flag switch // of lacros-chrome is complete. -#if defined(OS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS) +#if defined(OS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS) || defined(OS_BSD) {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}, @@ -94,7 +94,7 @@ const AcceleratorMapping kAcceleratorMap[] = { {ui::VKEY_NUMPAD8, ui::EF_PLATFORM_ACCELERATOR, IDC_SELECT_TAB_7}, // TODO(crbug.com/1052397): Revisit the macro expression once build flag switch // of lacros-chrome is complete. -#if defined(OS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS) +#if defined(OS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS) || defined(OS_BSD) {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}, -@@ -112,7 +112,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}, -@@ -139,14 +139,14 @@ const AcceleratorMapping kAcceleratorMap[] = { +@@ -139,7 +139,7 @@ const AcceleratorMapping kAcceleratorMap[] = { IDC_SHOW_AVATAR_MENU}, // Platform-specific key maps. -#if defined(OS_LINUX) || defined(OS_CHROMEOS) +#if defined(OS_LINUX) || defined(OS_CHROMEOS) || 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) || defined(OS_CHROMEOS) -+#endif // defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD) - - #if BUILDFLAG(IS_CHROMEOS_ASH) || BUILDFLAG(IS_CHROMEOS_LACROS) - // Chrome OS keyboard does not have delete key, so assign it to backspace. diff --git a/www/chromium/files/patch-chrome_browser_ui_views_apps_chrome__native__app__window__views__aura.cc b/www/chromium/files/patch-chrome_browser_ui_views_apps_chrome__native__app__window__views__aura.cc index d9690ef370b2..63b43df7d09c 100644 --- a/www/chromium/files/patch-chrome_browser_ui_views_apps_chrome__native__app__window__views__aura.cc +++ b/www/chromium/files/patch-chrome_browser_ui_views_apps_chrome__native__app__window__views__aura.cc @@ -1,29 +1,20 @@ ---- chrome/browser/ui/views/apps/chrome_native_app_window_views_aura.cc.orig 2021-09-14 01:51:51 UTC +--- chrome/browser/ui/views/apps/chrome_native_app_window_views_aura.cc.orig 2022-02-07 13:39:41 UTC +++ chrome/browser/ui/views/apps/chrome_native_app_window_views_aura.cc -@@ -20,7 +20,7 @@ +@@ -19,7 +19,7 @@ #include "ui/gfx/image/image_skia.h" #include "ui/views/widget/widget.h" -#if defined(OS_LINUX) +#if defined(OS_LINUX) || defined(OS_BSD) #include "chrome/browser/shell_integration_linux.h" #endif -@@ -57,7 +57,7 @@ void ChromeNativeAppWindowViewsAura::OnBeforeWidgetIni +@@ -56,7 +56,7 @@ void ChromeNativeAppWindowViewsAura::OnBeforeWidgetIni const AppWindow::CreateParams& create_params, views::Widget::InitParams* init_params, views::Widget* widget) { -#if defined(OS_LINUX) +#if defined(OS_LINUX) || defined(OS_BSD) std::string app_name = web_app::GenerateApplicationNameFromAppId(app_window()->extension_id()); // Set up a custom WM_CLASS for app windows. This allows task switchers in -@@ -67,7 +67,7 @@ void ChromeNativeAppWindowViewsAura::OnBeforeWidgetIni - init_params->wm_class_class = shell_integration_linux::GetProgramClassClass(); - const char kX11WindowRoleApp[] = "app"; - init_params->wm_role_name = std::string(kX11WindowRoleApp); --#endif // defined(OS_LINUX) -+#endif // defined(OS_LINUX) || defined(OS_BSD) - - ChromeNativeAppWindowViews::OnBeforeWidgetInit(create_params, init_params, - widget); diff --git a/www/chromium/files/patch-chrome_browser_ui_views_bookmarks_bookmark__bar__view__test.cc b/www/chromium/files/patch-chrome_browser_ui_views_bookmarks_bookmark__bar__view__test.cc deleted file mode 100644 index 3eb09181abcf..000000000000 --- a/www/chromium/files/patch-chrome_browser_ui_views_bookmarks_bookmark__bar__view__test.cc +++ /dev/null @@ -1,11 +0,0 @@ ---- chrome/browser/ui/views/bookmarks/bookmark_bar_view_test.cc.orig 2021-12-14 11:44:59 UTC -+++ chrome/browser/ui/views/bookmarks/bookmark_bar_view_test.cc -@@ -1865,7 +1865,7 @@ class BookmarkBarViewTest20 : public BookmarkBarViewEv - } - - void Step3() { --#if defined(OS_LINUX) || defined(OS_CHROMEOS) -+#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD) - EXPECT_EQ(1, test_view_->press_count()); - #else - EXPECT_EQ(2, test_view_->press_count()); diff --git a/www/chromium/files/patch-chrome_browser_ui_views_chrome__browser__main__extra__parts__views.cc b/www/chromium/files/patch-chrome_browser_ui_views_chrome__browser__main__extra__parts__views.cc index f6120a88efe2..b76ad95e95bd 100644 --- a/www/chromium/files/patch-chrome_browser_ui_views_chrome__browser__main__extra__parts__views.cc +++ b/www/chromium/files/patch-chrome_browser_ui_views_chrome__browser__main__extra__parts__views.cc @@ -1,38 +1,20 @@ ---- chrome/browser/ui/views/chrome_browser_main_extra_parts_views.cc.orig 2021-12-14 11:44:59 UTC +--- chrome/browser/ui/views/chrome_browser_main_extra_parts_views.cc.orig 2022-02-07 13:39:41 UTC +++ chrome/browser/ui/views/chrome_browser_main_extra_parts_views.cc @@ -41,7 +41,7 @@ // TODO(crbug.com/1052397): Revisit the macro expression once build flag switch // of lacros-chrome is complete. -#if defined(OS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS) +#if defined(OS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS) || defined(OS_BSD) #include #include #include -@@ -51,7 +51,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) || BUILDFLAG(IS_CHROMEOS_LACROS) -+#endif // defined(OS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS) || defined(OS_BSD) - - namespace { - @@ -136,7 +136,7 @@ void ChromeBrowserMainExtraPartsViews::PreProfileInit( // TODO(crbug.com/1052397): Revisit the macro expression once build flag switch // of lacros-chrome is complete. -#if defined(OS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS) +#if defined(OS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS) || defined(OS_BSD) // 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. -@@ -167,7 +167,7 @@ void ChromeBrowserMainExtraPartsViews::PreProfileInit( - base::RunLoop().RunUntilIdle(); - - exit(EXIT_FAILURE); --#endif // defined(OS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS) -+#endif // defined(OS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS) || defined(OS_BSD) - } - - void ChromeBrowserMainExtraPartsViews::PostBrowserStart() { diff --git a/www/chromium/files/patch-chrome_browser_ui_views_chrome__views__delegate.h b/www/chromium/files/patch-chrome_browser_ui_views_chrome__views__delegate.h index de13c062b051..7d5a3e2e2a9d 100644 --- a/www/chromium/files/patch-chrome_browser_ui_views_chrome__views__delegate.h +++ b/www/chromium/files/patch-chrome_browser_ui_views_chrome__views__delegate.h @@ -1,11 +1,11 @@ ---- chrome/browser/ui/views/chrome_views_delegate.h.orig 2021-12-14 11:44:59 UTC +--- chrome/browser/ui/views/chrome_views_delegate.h.orig 2022-02-07 13:39:41 UTC +++ chrome/browser/ui/views/chrome_views_delegate.h -@@ -54,7 +54,7 @@ class ChromeViewsDelegate : public views::ViewsDelegat +@@ -52,7 +52,7 @@ class ChromeViewsDelegate : public views::ViewsDelegat base::OnceClosure callback) override; // TODO(crbug.com/1052397): Revisit the macro expression once build flag switch // of lacros-chrome is complete. -#elif defined(OS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS) +#elif defined(OS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS) || defined(OS_BSD) gfx::ImageSkia* GetDefaultWindowIcon() const override; bool WindowManagerProvidesTitleBar(bool maximized) override; #endif diff --git a/www/chromium/files/patch-chrome_browser_ui_views_download_download__item__view.cc b/www/chromium/files/patch-chrome_browser_ui_views_download_download__item__view.cc index 1cfff9372258..325476f1c690 100644 --- a/www/chromium/files/patch-chrome_browser_ui_views_download_download__item__view.cc +++ b/www/chromium/files/patch-chrome_browser_ui_views_download_download__item__view.cc @@ -1,20 +1,20 @@ ---- chrome/browser/ui/views/download/download_item_view.cc.orig 2021-12-14 11:44:59 UTC +--- chrome/browser/ui/views/download/download_item_view.cc.orig 2022-02-07 13:39:41 UTC +++ chrome/browser/ui/views/download/download_item_view.cc -@@ -194,7 +194,7 @@ bool UseNewWarnings() { +@@ -195,7 +195,7 @@ bool UseNewWarnings() { } int GetFilenameStyle(const views::Label& label) { -#if !defined(OS_LINUX) && !defined(OS_CHROMEOS) +#if !defined(OS_LINUX) && !defined(OS_CHROMEOS) && !defined(OS_BSD) if (UseNewWarnings()) return STYLE_EMPHASIZED; #endif -@@ -202,7 +202,7 @@ int GetFilenameStyle(const views::Label& label) { +@@ -203,7 +203,7 @@ int GetFilenameStyle(const views::Label& label) { } int GetFilenameStyle(const views::StyledLabel& label) { -#if !defined(OS_LINUX) && !defined(OS_CHROMEOS) +#if !defined(OS_LINUX) && !defined(OS_CHROMEOS) && !defined(OS_BSD) if (UseNewWarnings()) return STYLE_EMPHASIZED; #endif diff --git a/www/chromium/files/patch-chrome_browser_ui_views_eye__dropper_eye__dropper__view.cc b/www/chromium/files/patch-chrome_browser_ui_views_eye__dropper_eye__dropper__view.cc index 191bd562054b..a61fc484d48b 100644 --- a/www/chromium/files/patch-chrome_browser_ui_views_eye__dropper_eye__dropper__view.cc +++ b/www/chromium/files/patch-chrome_browser_ui_views_eye__dropper_eye__dropper__view.cc @@ -1,11 +1,11 @@ ---- chrome/browser/ui/views/eye_dropper/eye_dropper_view.cc.orig 2021-12-14 11:44:59 UTC +--- chrome/browser/ui/views/eye_dropper/eye_dropper_view.cc.orig 2022-02-07 13:39:41 UTC +++ chrome/browser/ui/views/eye_dropper/eye_dropper_view.cc -@@ -154,7 +154,7 @@ EyeDropperView::EyeDropperView(content::RenderFrameHos +@@ -155,7 +155,7 @@ EyeDropperView::EyeDropperView(content::RenderFrameHos // EyeDropper/WidgetDelegate. set_owned_by_client(); SetPreferredSize(GetSize()); -#if defined(OS_LINUX) +#if defined(OS_LINUX) || defined(OS_BSD) // Use TYPE_MENU for Linux to ensure that the eye dropper view is displayed // above the color picker. views::Widget::InitParams params(views::Widget::InitParams::TYPE_MENU); diff --git a/www/chromium/files/patch-chrome_browser_ui_views_eye__dropper_eye__dropper__view__aura.cc b/www/chromium/files/patch-chrome_browser_ui_views_eye__dropper_eye__dropper__view__aura.cc index 2c7c99a09176..e6c9534e5088 100644 --- a/www/chromium/files/patch-chrome_browser_ui_views_eye__dropper_eye__dropper__view__aura.cc +++ b/www/chromium/files/patch-chrome_browser_ui_views_eye__dropper_eye__dropper__view__aura.cc @@ -1,11 +1,11 @@ ---- chrome/browser/ui/views/eye_dropper/eye_dropper_view_aura.cc.orig 2021-12-14 11:44:59 UTC +--- chrome/browser/ui/views/eye_dropper/eye_dropper_view_aura.cc.orig 2022-02-07 13:39:41 UTC +++ chrome/browser/ui/views/eye_dropper/eye_dropper_view_aura.cc -@@ -80,7 +80,7 @@ void EyeDropperView::MoveViewToFront() { +@@ -81,7 +81,7 @@ void EyeDropperView::MoveViewToFront() { } void EyeDropperView::CaptureInputIfNeeded() { -#if defined(OS_LINUX) +#if defined(OS_LINUX) || defined(OS_BSD) // The eye dropper needs to capture input since it is not activated // in order to avoid dismissing the color picker. GetWidget()->GetNativeWindow()->SetCapture(); diff --git a/www/chromium/files/patch-chrome_browser_ui_views_first__run__dialog.cc b/www/chromium/files/patch-chrome_browser_ui_views_first__run__dialog.cc new file mode 100644 index 000000000000..89a6cb88de14 --- /dev/null +++ b/www/chromium/files/patch-chrome_browser_ui_views_first__run__dialog.cc @@ -0,0 +1,20 @@ +--- chrome/browser/ui/views/first_run_dialog.cc.orig 2022-02-07 13:39:41 UTC ++++ chrome/browser/ui/views/first_run_dialog.cc +@@ -38,7 +38,7 @@ + + namespace { + +-#if !defined(OS_MAC) ++#if !defined(OS_MAC) && !defined(OS_BSD) + void InitCrashReporterIfEnabled(bool enabled) { + if (!crash_reporter::IsCrashpadEnabled() && enabled) + breakpad::InitCrashReporter(std::string()); +@@ -122,7 +122,7 @@ bool FirstRunDialog::Accept() { + + #if defined(OS_MAC) + ChangeMetricsReportingState(report_crashes_->GetChecked()); +-#else ++#elif !defined(OS_BSD) + #if BUILDFLAG(IS_CHROMEOS_ASH) + metrics::structured::NeutrinoDevicesLog( + metrics::structured::NeutrinoDevicesLocation::kFirstRunDialog); diff --git a/www/chromium/files/patch-chrome_browser_ui_views_frame_browser__desktop__window__tree__host__linux.cc b/www/chromium/files/patch-chrome_browser_ui_views_frame_browser__desktop__window__tree__host__linux.cc index bcaa7dd2ebca..c5972b933a71 100644 --- a/www/chromium/files/patch-chrome_browser_ui_views_frame_browser__desktop__window__tree__host__linux.cc +++ b/www/chromium/files/patch-chrome_browser_ui_views_frame_browser__desktop__window__tree__host__linux.cc @@ -1,11 +1,11 @@ ---- chrome/browser/ui/views/frame/browser_desktop_window_tree_host_linux.cc.orig 2021-12-14 11:44:59 UTC +--- chrome/browser/ui/views/frame/browser_desktop_window_tree_host_linux.cc.orig 2022-02-07 13:39:41 UTC +++ chrome/browser/ui/views/frame/browser_desktop_window_tree_host_linux.cc -@@ -147,7 +147,7 @@ bool BrowserDesktopWindowTreeHostLinux::SupportsClient +@@ -146,7 +146,7 @@ bool BrowserDesktopWindowTreeHostLinux::SupportsClient } void BrowserDesktopWindowTreeHostLinux::UpdateFrameHints() { -#if defined(OS_LINUX) +#if defined(OS_LINUX) || defined(OS_BSD) auto* view = static_cast( native_frame_->browser_frame()->GetFrameView()); auto* layout = view->layout(); diff --git a/www/chromium/files/patch-chrome_browser_ui_views_frame_browser__desktop__window__tree__host__linux.h b/www/chromium/files/patch-chrome_browser_ui_views_frame_browser__desktop__window__tree__host__linux.h index 209261bd53db..574e1d37632a 100644 --- a/www/chromium/files/patch-chrome_browser_ui_views_frame_browser__desktop__window__tree__host__linux.h +++ b/www/chromium/files/patch-chrome_browser_ui_views_frame_browser__desktop__window__tree__host__linux.h @@ -1,11 +1,11 @@ ---- chrome/browser/ui/views/frame/browser_desktop_window_tree_host_linux.h.orig 2021-12-14 11:44:59 UTC +--- chrome/browser/ui/views/frame/browser_desktop_window_tree_host_linux.h.orig 2022-02-07 13:39:41 UTC +++ chrome/browser/ui/views/frame/browser_desktop_window_tree_host_linux.h -@@ -96,7 +96,7 @@ class BrowserDesktopWindowTreeHostLinux +@@ -95,7 +95,7 @@ class BrowserDesktopWindowTreeHostLinux // browser_desktop_window_tree_host_lacros.cc. #if BUILDFLAG(IS_CHROMEOS_LACROS) using DesktopBrowserFrameAuraPlatform = DesktopBrowserFrameLacros; -#elif defined(OS_LINUX) +#elif defined(OS_LINUX) || defined(OS_BSD) using DesktopBrowserFrameAuraPlatform = DesktopBrowserFrameAuraLinux; #else #error Unknown platform diff --git a/www/chromium/files/patch-chrome_browser_ui_views_frame_browser__view.cc b/www/chromium/files/patch-chrome_browser_ui_views_frame_browser__view.cc index 110d65307d6c..c436b4c06217 100644 --- a/www/chromium/files/patch-chrome_browser_ui_views_frame_browser__view.cc +++ b/www/chromium/files/patch-chrome_browser_ui_views_frame_browser__view.cc @@ -1,11 +1,11 @@ ---- chrome/browser/ui/views/frame/browser_view.cc.orig 2021-12-31 00:57:25 UTC +--- chrome/browser/ui/views/frame/browser_view.cc.orig 2022-02-07 13:39:41 UTC +++ chrome/browser/ui/views/frame/browser_view.cc -@@ -1766,7 +1766,7 @@ void BrowserView::TabDraggingStatusChanged(bool is_dra +@@ -1748,7 +1748,7 @@ void BrowserView::TabDraggingStatusChanged(bool is_dra // CrOS cleanup is done. // TODO(crbug.com/1052397): Revisit the macro expression once build flag switch // of lacros-chrome is complete. -#if !(defined(OS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS)) +#if !(defined(OS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS) || defined(OS_BSD)) contents_web_view_->SetFastResize(is_dragging); if (!is_dragging) { // When tab dragging is ended, we need to make sure the web contents get diff --git a/www/chromium/files/patch-chrome_browser_ui_views_frame_opaque__browser__frame__view.cc b/www/chromium/files/patch-chrome_browser_ui_views_frame_opaque__browser__frame__view.cc index 4482d5e06b63..d0c788912539 100644 --- a/www/chromium/files/patch-chrome_browser_ui_views_frame_opaque__browser__frame__view.cc +++ b/www/chromium/files/patch-chrome_browser_ui_views_frame_opaque__browser__frame__view.cc @@ -1,29 +1,29 @@ ---- chrome/browser/ui/views/frame/opaque_browser_frame_view.cc.orig 2021-12-31 00:57:25 UTC +--- chrome/browser/ui/views/frame/opaque_browser_frame_view.cc.orig 2022-02-07 13:39:41 UTC +++ chrome/browser/ui/views/frame/opaque_browser_frame_view.cc @@ -53,7 +53,7 @@ #include "ui/views/window/vector_icons/vector_icons.h" #include "ui/views/window/window_shape.h" -#if defined(OS_LINUX) || defined(OS_CHROMEOS) +#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD) #include "ui/views/controls/menu/menu_runner.h" #endif @@ -541,7 +541,7 @@ OpaqueBrowserFrameView::FrameButtonStyle OpaqueBrowserFrameView::GetFrameButtonStyle() const { // TODO(crbug.com/1052397): Revisit the macro expression once build flag switch // of lacros-chrome is complete. -#if defined(OS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS) +#if defined(OS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS) || defined(OS_BSD) return FrameButtonStyle::kMdButton; #else return FrameButtonStyle::kImageButton; @@ -751,7 +751,7 @@ gfx::Rect OpaqueBrowserFrameView::GetIconBounds() cons } void OpaqueBrowserFrameView::WindowIconPressed() { --#if defined(OS_LINUX) || defined(OS_CHROMEOS) -+#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD) - // TODO(pbos): Figure out / document why this is Linux only. This needs a - // comment. - views::MenuRunner menu_runner(frame()->GetSystemMenuModel(), +-#if defined(OS_LINUX) ++#if defined(OS_LINUX) || defined(OS_BSD) + // Chrome OS doesn't show the window icon, and Windows handles this on its own + // due to the hit test being HTSYSMENU. + menu_runner_ = std::make_unique( diff --git a/www/chromium/files/patch-chrome_browser_ui_views_frame_opaque__browser__frame__view.h b/www/chromium/files/patch-chrome_browser_ui_views_frame_opaque__browser__frame__view.h new file mode 100644 index 000000000000..a01fa72f0fbe --- /dev/null +++ b/www/chromium/files/patch-chrome_browser_ui_views_frame_opaque__browser__frame__view.h @@ -0,0 +1,11 @@ +--- chrome/browser/ui/views/frame/opaque_browser_frame_view.h.orig 2022-02-07 13:39:41 UTC ++++ chrome/browser/ui/views/frame/opaque_browser_frame_view.h +@@ -224,7 +224,7 @@ class OpaqueBrowserFrameView : public BrowserNonClient + // Background painter for the window frame. + std::unique_ptr frame_background_; + +-#if defined(OS_LINUX) ++#if defined(OS_LINUX) || defined(OS_BSD) + std::unique_ptr menu_runner_; + #endif + diff --git a/www/chromium/files/patch-chrome_browser_ui_views_frame_system__menu__model__builder.cc b/www/chromium/files/patch-chrome_browser_ui_views_frame_system__menu__model__builder.cc index 3aed313ec4c6..37f8582b4110 100644 --- a/www/chromium/files/patch-chrome_browser_ui_views_frame_system__menu__model__builder.cc +++ b/www/chromium/files/patch-chrome_browser_ui_views_frame_system__menu__model__builder.cc @@ -1,29 +1,29 @@ ---- chrome/browser/ui/views/frame/system_menu_model_builder.cc.orig 2021-12-14 11:44:59 UTC +--- chrome/browser/ui/views/frame/system_menu_model_builder.cc.orig 2022-02-07 13:39:41 UTC +++ chrome/browser/ui/views/frame/system_menu_model_builder.cc @@ -77,7 +77,7 @@ void SystemMenuModelBuilder::BuildSystemMenuForBrowser ui::SimpleMenuModel* model) { // TODO(crbug.com/1052397): Revisit the macro expression once build flag switch // of lacros-chrome is complete. -#if defined(OS_LINUX) && !BUILDFLAG(IS_CHROMEOS_LACROS) -+#if (defined(OS_LINUX) && !BUILDFLAG(IS_CHROMEOS_LACROS)) || defined(OS_BSD) ++#if (defined(OS_LINUX) || defined(OS_BSD)) && !BUILDFLAG(IS_CHROMEOS_LACROS) 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); @@ -93,7 +93,7 @@ void SystemMenuModelBuilder::BuildSystemMenuForBrowser } // TODO(crbug.com/1052397): Revisit the macro expression once build flag switch // of lacros-chrome is complete. -#if defined(OS_LINUX) && !BUILDFLAG(IS_CHROMEOS_LACROS) -+#if (defined(OS_LINUX) && !BUILDFLAG(IS_CHROMEOS_LACROS)) || defined(OS_BSD) ++#if (defined(OS_LINUX) || defined(OS_BSD)) && !BUILDFLAG(IS_CHROMEOS_LACROS) model->AddSeparator(ui::NORMAL_SEPARATOR); bool supports_server_side_decorations = true; #if defined(USE_OZONE) && \ @@ -148,7 +148,7 @@ void SystemMenuModelBuilder::BuildSystemMenuForAppOrPo } // TODO(crbug.com/1052397): Revisit the macro expression once build flag switch // of lacros-chrome is complete. -#if defined(OS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS) -+#if (defined(OS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS)) || defined(OS_BSD) ++#if defined(OS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS) || defined(OS_BSD) model->AddSeparator(ui::NORMAL_SEPARATOR); model->AddItemWithStringId(IDC_CLOSE_WINDOW, IDS_CLOSE); #endif diff --git a/www/chromium/files/patch-chrome_browser_ui_views_hung__renderer__view.cc b/www/chromium/files/patch-chrome_browser_ui_views_hung__renderer__view.cc index 145e9541b4c5..d3446ac08e38 100644 --- a/www/chromium/files/patch-chrome_browser_ui_views_hung__renderer__view.cc +++ b/www/chromium/files/patch-chrome_browser_ui_views_hung__renderer__view.cc @@ -1,11 +1,11 @@ ---- chrome/browser/ui/views/hung_renderer_view.cc.orig 2021-12-31 00:57:25 UTC +--- chrome/browser/ui/views/hung_renderer_view.cc.orig 2022-02-07 13:39:41 UTC +++ chrome/browser/ui/views/hung_renderer_view.cc -@@ -402,7 +402,7 @@ void HungRendererDialogView::ForceCrashHungRenderer() +@@ -403,7 +403,7 @@ void HungRendererDialogView::ForceCrashHungRenderer() content::RenderProcessHost* rph = hung_pages_table_model_->GetRenderWidgetHost()->GetProcess(); if (rph) { -#if defined(OS_LINUX) || defined(OS_CHROMEOS) +#if defined(OS_LINUX) || defined(OS_CHROMEOS) || 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/chromium/files/patch-chrome_browser_ui_views_profiles_profile__menu__view__base.cc b/www/chromium/files/patch-chrome_browser_ui_views_profiles_profile__menu__view__base.cc index 343748fefb82..00eb29867dc0 100644 --- a/www/chromium/files/patch-chrome_browser_ui_views_profiles_profile__menu__view__base.cc +++ b/www/chromium/files/patch-chrome_browser_ui_views_profiles_profile__menu__view__base.cc @@ -1,11 +1,11 @@ ---- chrome/browser/ui/views/profiles/profile_menu_view_base.cc.orig 2021-12-14 11:45:00 UTC +--- chrome/browser/ui/views/profiles/profile_menu_view_base.cc.orig 2022-02-07 13:39:41 UTC +++ chrome/browser/ui/views/profiles/profile_menu_view_base.cc -@@ -611,7 +611,7 @@ void ProfileMenuViewBase::SetProfileIdentityInfo( +@@ -612,7 +612,7 @@ void ProfileMenuViewBase::SetProfileIdentityInfo( // TODO(crbug.com/1052397): Revisit once build flag switch of lacros-chrome is // complete. -#if defined(OS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS) +#if defined(OS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS) || defined(OS_BSD) // crbug.com/1161166: Orca does not read the accessible window title of the // bubble, so we duplicate it in the top-level menu item. To be revisited // after considering other options, including fixes on the AT side. diff --git a/www/chromium/files/patch-chrome_browser_ui_views_profiles_signin__view__controller__delegate__views.cc b/www/chromium/files/patch-chrome_browser_ui_views_profiles_signin__view__controller__delegate__views.cc index deda118e9ac2..b31ba90d8738 100644 --- a/www/chromium/files/patch-chrome_browser_ui_views_profiles_signin__view__controller__delegate__views.cc +++ b/www/chromium/files/patch-chrome_browser_ui_views_profiles_signin__view__controller__delegate__views.cc @@ -1,20 +1,20 @@ ---- chrome/browser/ui/views/profiles/signin_view_controller_delegate_views.cc.orig 2021-09-24 18:32:11 UTC +--- chrome/browser/ui/views/profiles/signin_view_controller_delegate_views.cc.orig 2022-02-07 13:39:41 UTC +++ chrome/browser/ui/views/profiles/signin_view_controller_delegate_views.cc -@@ -83,7 +83,7 @@ SigninViewControllerDelegateViews::CreateReauthConfirm - kReauthDialogHeight, kReauthDialogWidth); +@@ -82,7 +82,7 @@ SigninViewControllerDelegateViews::CreateReauthConfirm } --#if defined(OS_WIN) || defined(OS_MAC) || defined(OS_LINUX) || \ -+#if defined(OS_WIN) || defined(OS_MAC) || defined(OS_LINUX) || defined(OS_BSD) || \ - BUILDFLAG(IS_CHROMEOS_LACROS) + #if defined(OS_WIN) || defined(OS_MAC) || defined(OS_LINUX) || \ +- BUILDFLAG(IS_CHROMEOS_LACROS) ++ BUILDFLAG(IS_CHROMEOS_LACROS) || defined(OS_BSD) // static std::unique_ptr -@@ -345,7 +345,7 @@ SigninViewControllerDelegate::CreateReauthConfirmation - browser, ui::MODAL_TYPE_CHILD, false, true); + SigninViewControllerDelegateViews::CreateEnterpriseConfirmationWebView( +@@ -341,7 +341,7 @@ SigninViewControllerDelegate::CreateReauthConfirmation } --#if defined(OS_WIN) || defined(OS_MAC) || defined(OS_LINUX) || \ -+#if defined(OS_WIN) || defined(OS_MAC) || defined(OS_LINUX) || defined(OS_BSD) || \ - BUILDFLAG(IS_CHROMEOS_LACROS) + #if defined(OS_WIN) || defined(OS_MAC) || defined(OS_LINUX) || \ +- BUILDFLAG(IS_CHROMEOS_LACROS) ++ BUILDFLAG(IS_CHROMEOS_LACROS) || defined(OS_BSD) // static SigninViewControllerDelegate* + SigninViewControllerDelegate::CreateEnterpriseConfirmationDelegate( diff --git a/www/chromium/files/patch-chrome_browser_ui_views_profiles_signin__view__controller__delegate__views.h b/www/chromium/files/patch-chrome_browser_ui_views_profiles_signin__view__controller__delegate__views.h index c929fd5ff64d..38cbde268fa8 100644 --- a/www/chromium/files/patch-chrome_browser_ui_views_profiles_signin__view__controller__delegate__views.h +++ b/www/chromium/files/patch-chrome_browser_ui_views_profiles_signin__view__controller__delegate__views.h @@ -1,11 +1,11 @@ ---- chrome/browser/ui/views/profiles/signin_view_controller_delegate_views.h.orig 2021-12-14 11:45:00 UTC +--- chrome/browser/ui/views/profiles/signin_view_controller_delegate_views.h.orig 2022-02-07 13:39:41 UTC +++ chrome/browser/ui/views/profiles/signin_view_controller_delegate_views.h -@@ -63,7 +63,7 @@ class SigninViewControllerDelegateViews - Browser* browser, +@@ -64,7 +64,7 @@ class SigninViewControllerDelegateViews signin_metrics::ReauthAccessPoint); --#if defined(OS_WIN) || defined(OS_MAC) || defined(OS_LINUX) || \ -+#if defined(OS_WIN) || defined(OS_MAC) || defined(OS_LINUX) || defined(OS_BSD) || \ - BUILDFLAG(IS_CHROMEOS_LACROS) + #if defined(OS_WIN) || defined(OS_MAC) || defined(OS_LINUX) || \ +- BUILDFLAG(IS_CHROMEOS_LACROS) ++ BUILDFLAG(IS_CHROMEOS_LACROS) || defined(OS_BSD) static std::unique_ptr CreateEnterpriseConfirmationWebView( Browser* browser, + const AccountInfo& account_info, diff --git a/www/chromium/files/patch-chrome_browser_ui_views_tabs_tab.cc b/www/chromium/files/patch-chrome_browser_ui_views_tabs_tab.cc index d61757d7b3e3..663831637fbc 100644 --- a/www/chromium/files/patch-chrome_browser_ui_views_tabs_tab.cc +++ b/www/chromium/files/patch-chrome_browser_ui_views_tabs_tab.cc @@ -1,11 +1,11 @@ ---- chrome/browser/ui/views/tabs/tab.cc.orig 2021-12-31 00:57:25 UTC +--- chrome/browser/ui/views/tabs/tab.cc.orig 2022-02-07 13:39:41 UTC +++ chrome/browser/ui/views/tabs/tab.cc -@@ -575,7 +575,7 @@ void Tab::MaybeUpdateHoverStatus(const ui::MouseEvent& +@@ -576,7 +576,7 @@ void Tab::MaybeUpdateHoverStatus(const ui::MouseEvent& if (mouse_hovered_ || !GetWidget()->IsMouseEventsEnabled()) return; -#if defined(OS_LINUX) || defined(OS_CHROMEOS) +#if defined(OS_LINUX) || defined(OS_CHROMEOS) || 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.com/978134): Once Linux/CrOS widget transparency is solved, diff --git a/www/chromium/files/patch-chrome_browser_ui_views_tabs_tab__drag__controller.cc b/www/chromium/files/patch-chrome_browser_ui_views_tabs_tab__drag__controller.cc index b9f346668851..80b3c86875fa 100644 --- a/www/chromium/files/patch-chrome_browser_ui_views_tabs_tab__drag__controller.cc +++ b/www/chromium/files/patch-chrome_browser_ui_views_tabs_tab__drag__controller.cc @@ -1,29 +1,29 @@ ---- chrome/browser/ui/views/tabs/tab_drag_controller.cc.orig 2021-12-31 00:57:25 UTC +--- chrome/browser/ui/views/tabs/tab_drag_controller.cc.orig 2022-02-07 13:39:41 UTC +++ chrome/browser/ui/views/tabs/tab_drag_controller.cc -@@ -440,7 +440,7 @@ void TabDragController::Init(TabDragContext* source_co +@@ -447,7 +447,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) || defined(OS_CHROMEOS) +#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD) can_release_capture_ = false; #endif start_point_in_screen_ = gfx::Point(source_view_offset, mouse_offset.y()); -@@ -888,7 +888,7 @@ TabDragController::DragBrowserToNewTabStrip(TabDragCon +@@ -895,7 +895,7 @@ TabDragController::DragBrowserToNewTabStrip(TabDragCon // TODO(crbug.com/1052397): Revisit the macro expression once build flag switch // of lacros-chrome is complete. -#if !(defined(OS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS)) +#if !(defined(OS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS) || 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. -@@ -2097,7 +2097,7 @@ TabDragController::Liveness TabDragController::GetLoca +@@ -2105,7 +2105,7 @@ TabDragController::Liveness TabDragController::GetLoca } // TODO(crbug.com/1052397): Revisit the macro expression once build flag switch // of lacros-chrome is complete. -#if defined(OS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS) +#if defined(OS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS) || 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/chromium/files/patch-chrome_browser_ui_views_tabs_tab__hover__card__controller.cc b/www/chromium/files/patch-chrome_browser_ui_views_tabs_tab__hover__card__controller.cc index 927244e7d97b..7cb22c534e19 100644 --- a/www/chromium/files/patch-chrome_browser_ui_views_tabs_tab__hover__card__controller.cc +++ b/www/chromium/files/patch-chrome_browser_ui_views_tabs_tab__hover__card__controller.cc @@ -1,11 +1,11 @@ ---- chrome/browser/ui/views/tabs/tab_hover_card_controller.cc.orig 2021-12-14 11:45:00 UTC +--- chrome/browser/ui/views/tabs/tab_hover_card_controller.cc.orig 2022-02-07 13:39:41 UTC +++ chrome/browser/ui/views/tabs/tab_hover_card_controller.cc -@@ -302,7 +302,7 @@ void TabHoverCardController::ShowHoverCard(bool is_ini - slide_animator_->UpdateTargetBounds(); - MaybeStartThumbnailObservation(target_tab_, is_initial); - +@@ -36,7 +36,7 @@ namespace { + // Fetches the Omnibox drop-down widget, or returns null if the drop-down is + // not visible. + void FixWidgetStackOrder(views::Widget* widget, const Browser* browser) { -#if defined(OS_LINUX) +#if defined(OS_LINUX) || defined(OS_BSD) // Ensure the hover card Widget assumes the highest z-order to avoid occlusion // by other secondary UI Widgets (such as the omnibox Widget, see // crbug.com/1226536). diff --git a/www/chromium/files/patch-chrome_browser_ui_webui_about__ui.cc b/www/chromium/files/patch-chrome_browser_ui_webui_about__ui.cc index dc5334dfd2b0..13076bd76d43 100644 --- a/www/chromium/files/patch-chrome_browser_ui_webui_about__ui.cc +++ b/www/chromium/files/patch-chrome_browser_ui_webui_about__ui.cc @@ -1,20 +1,20 @@ ---- chrome/browser/ui/webui/about_ui.cc.orig 2021-12-31 00:57:25 UTC +--- chrome/browser/ui/webui/about_ui.cc.orig 2022-02-07 13:39:41 UTC +++ chrome/browser/ui/webui/about_ui.cc -@@ -553,7 +553,7 @@ std::string ChromeURLs() { +@@ -656,7 +656,7 @@ std::string ChromeURLs() { return html; } -#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_OPENBSD) +#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD) std::string AboutLinuxProxyConfig() { std::string data; AppendHeader(&data, -@@ -609,7 +609,7 @@ void AboutUIHTMLSource::StartDataRequest( +@@ -712,7 +712,7 @@ void AboutUIHTMLSource::StartDataRequest( response = ui::ResourceBundle::GetSharedInstance().LoadDataResourceString(idr); } -#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_OPENBSD) +#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD) } else if (source_name_ == chrome::kChromeUILinuxProxyConfigHost) { response = AboutLinuxProxyConfig(); #endif diff --git a/www/chromium/files/patch-chrome_browser_ui_webui_chrome__web__ui__controller__factory.cc b/www/chromium/files/patch-chrome_browser_ui_webui_chrome__web__ui__controller__factory.cc index 417941c15c95..22e2467e1821 100644 --- a/www/chromium/files/patch-chrome_browser_ui_webui_chrome__web__ui__controller__factory.cc +++ b/www/chromium/files/patch-chrome_browser_ui_webui_chrome__web__ui__controller__factory.cc @@ -1,101 +1,86 @@ ---- chrome/browser/ui/webui/chrome_web_ui_controller_factory.cc.orig 2021-12-31 00:57:25 UTC +--- chrome/browser/ui/webui/chrome_web_ui_controller_factory.cc.orig 2022-02-07 13:39:41 UTC +++ chrome/browser/ui/webui/chrome_web_ui_controller_factory.cc -@@ -30,7 +30,9 @@ - #include "chrome/browser/ui/webui/bluetooth_internals/bluetooth_internals_ui.h" - #include "chrome/browser/ui/webui/components/components_ui.h" - #include "chrome/browser/ui/webui/constrained_web_dialog_ui.h" -+#if !defined(OS_BSD) - #include "chrome/browser/ui/webui/crashes_ui.h" -+#endif - #include "chrome/browser/ui/webui/device_log_ui.h" - #include "chrome/browser/ui/webui/domain_reliability_internals_ui.h" - #include "chrome/browser/ui/webui/download_internals/download_internals_ui.h" -@@ -294,17 +296,17 @@ - #include "chrome/browser/ui/webui/conflicts/conflicts_ui.h" +@@ -280,7 +280,7 @@ + #include "chrome/browser/ui/webui/app_launcher_page_ui.h" #endif --#if defined(OS_WIN) || defined(OS_MAC) || defined(OS_LINUX) || \ -+#if defined(OS_WIN) || defined(OS_MAC) || defined(OS_LINUX) || defined(OS_BSD) || \ - defined(OS_CHROMEOS) +-#if defined(OS_LINUX) || defined(OS_CHROMEOS) ++#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD) + #include "chrome/browser/ui/webui/webui_js_error/webui_js_error_ui.h" + #endif + +@@ -304,17 +304,17 @@ + #endif + + #if defined(OS_WIN) || defined(OS_MAC) || defined(OS_LINUX) || \ +- defined(OS_CHROMEOS) ++ defined(OS_CHROMEOS) || defined(OS_BSD) #include "chrome/browser/ui/webui/discards/discards_ui.h" #endif --#if defined(OS_WIN) || defined(OS_LINUX) || defined(OS_CHROMEOS) || \ -+#if defined(OS_WIN) || defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD) || \ - defined(OS_ANDROID) + #if defined(OS_WIN) || defined(OS_LINUX) || defined(OS_CHROMEOS) || \ +- defined(OS_ANDROID) ++ defined(OS_ANDROID) || defined(OS_BSD) #include "chrome/browser/ui/webui/sandbox/sandbox_internals_ui.h" #endif --#if defined(OS_WIN) || defined(OS_MAC) || defined(OS_LINUX) || \ -+#if defined(OS_WIN) || defined(OS_MAC) || defined(OS_LINUX) || defined(OS_BSD) || \ - BUILDFLAG(IS_CHROMEOS_ASH) + #if defined(OS_WIN) || defined(OS_MAC) || defined(OS_LINUX) || \ +- BUILDFLAG(IS_CHROMEOS_ASH) ++ BUILDFLAG(IS_CHROMEOS_ASH) || defined(OS_BSD) #include "chrome/browser/ui/webui/connectors_internals/connectors_internals_ui.h" #endif -@@ -568,7 +570,7 @@ bool IsAboutUI(const GURL& url) { + +@@ -592,7 +592,7 @@ bool IsAboutUI(const GURL& url) { #if !defined(OS_ANDROID) || url.host_piece() == chrome::kChromeUITermsHost #endif -#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_OPENBSD) +#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD) || url.host_piece() == chrome::kChromeUILinuxProxyConfigHost #endif #if BUILDFLAG(IS_CHROMEOS_ASH) -@@ -617,8 +619,10 @@ WebUIFactoryFunction GetWebUIFactoryFunction(WebUI* we - return &NewWebUI; - if (url.spec() == chrome::kChromeUIConstrainedHTMLTestURL) - return &NewWebUI; -+#if !defined(OS_BSD) - if (url.host_piece() == chrome::kChromeUICrashesHost) - return &NewWebUI; -+#endif - if (url.host_piece() == chrome::kChromeUIDeviceLogHost) - return &NewWebUI; - if (url.host_piece() == chrome::kChromeUIDomainReliabilityInternalsHost) -@@ -1027,7 +1031,7 @@ WebUIFactoryFunction GetWebUIFactoryFunction(WebUI* we +@@ -985,7 +985,7 @@ WebUIFactoryFunction GetWebUIFactoryFunction(WebUI* we + } + #endif // !defined(OFFICIAL_BUILD) + #endif // BUILDFLAG(IS_CHROMEOS_ASH) +-#if defined(OS_LINUX) || defined(OS_CHROMEOS) ++#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD) + if (url.host_piece() == chrome::kChromeUIWebUIJsErrorHost) + return &NewWebUI; + #endif +@@ -1043,7 +1043,7 @@ WebUIFactoryFunction GetWebUIFactoryFunction(WebUI* we if (url.host_piece() == chrome::kChromeUINaClHost) return &NewWebUI; #endif -#if ((defined(OS_LINUX) || defined(OS_CHROMEOS)) && defined(TOOLKIT_VIEWS)) || \ -+#if ((defined(OS_LINUX) || defined(OS_CHROMEOS)) && defined(TOOLKIT_VIEWS)) || defined(OS_BSD) || \ ++#if ((defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD)) && defined(TOOLKIT_VIEWS)) || \ defined(USE_AURA) if (url.host_piece() == chrome::kChromeUITabModalConfirmDialogHost) return &NewWebUI; -@@ -1081,23 +1085,23 @@ WebUIFactoryFunction GetWebUIFactoryFunction(WebUI* we - return &NewWebUI; +@@ -1098,22 +1098,22 @@ WebUIFactoryFunction GetWebUIFactoryFunction(WebUI* we } #endif --#if defined(OS_WIN) || defined(OS_LINUX) || defined(OS_CHROMEOS) || \ -+#if defined(OS_WIN) || defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD) || \ - defined(OS_ANDROID) + #if defined(OS_WIN) || defined(OS_LINUX) || defined(OS_CHROMEOS) || \ +- defined(OS_ANDROID) ++ defined(OS_ANDROID) || defined(OS_BSD) if (url.host_piece() == chrome::kChromeUISandboxHost) { return &NewWebUI; } #endif --#if defined(OS_WIN) || defined(OS_MAC) || defined(OS_LINUX) || \ -+#if defined(OS_WIN) || defined(OS_MAC) || defined(OS_LINUX) || defined(OS_BSD) || \ - BUILDFLAG(IS_CHROMEOS_ASH) + #if defined(OS_WIN) || defined(OS_MAC) || defined(OS_LINUX) || \ +- BUILDFLAG(IS_CHROMEOS_ASH) ++ BUILDFLAG(IS_CHROMEOS_ASH) || defined(OS_BSD) if (url.host_piece() == chrome::kChromeUIConnectorsInternalsHost) return &NewWebUI; #endif --#if defined(OS_WIN) || defined(OS_MAC) || defined(OS_LINUX) || \ -+#if defined(OS_WIN) || defined(OS_MAC) || defined(OS_LINUX) || defined(OS_BSD) || \ - defined(OS_CHROMEOS) + #if defined(OS_WIN) || defined(OS_MAC) || defined(OS_LINUX) || \ +- defined(OS_CHROMEOS) ++ defined(OS_CHROMEOS) || defined(OS_BSD) if (url.host_piece() == chrome::kChromeUIDiscardsHost) return &NewWebUI; #endif -#if defined(OS_WIN) || defined(OS_MAC) || defined(OS_LINUX) +#if defined(OS_WIN) || defined(OS_MAC) || defined(OS_LINUX) || defined(OS_BSD) if (url.host_piece() == chrome::kChromeUIBrowserSwitchHost) return &NewWebUI; #endif -@@ -1290,8 +1294,10 @@ base::RefCountedMemory* ChromeWebUIControllerFactory:: - return ConflictsUI::GetFaviconResourceBytes(scale_factor); - #endif - -+#if !defined(OS_BSD) - if (page_url.host_piece() == chrome::kChromeUICrashesHost) - return CrashesUI::GetFaviconResourceBytes(scale_factor); -+#endif - - if (page_url.host_piece() == chrome::kChromeUIFlagsHost) - return FlagsUI::GetFaviconResourceBytes(scale_factor); diff --git a/www/chromium/files/patch-chrome_browser_ui_webui_connectors__internals_zero__trust__utils.cc b/www/chromium/files/patch-chrome_browser_ui_webui_connectors__internals_zero__trust__utils.cc new file mode 100644 index 000000000000..792f8ca0dacb --- /dev/null +++ b/www/chromium/files/patch-chrome_browser_ui_webui_connectors__internals_zero__trust__utils.cc @@ -0,0 +1,29 @@ +--- chrome/browser/ui/webui/connectors_internals/zero_trust_utils.cc.orig 2022-02-07 13:39:41 UTC ++++ chrome/browser/ui/webui/connectors_internals/zero_trust_utils.cc +@@ -9,7 +9,7 @@ + #include "base/strings/string_util.h" + #include "build/build_config.h" + +-#if defined(OS_LINUX) || defined(OS_WIN) || defined(OS_MAC) ++#if defined(OS_LINUX) || defined(OS_WIN) || defined(OS_MAC) || defined(OS_BSD) + #include "chrome/browser/browser_process.h" + #include "chrome/browser/policy/chrome_browser_policy_connector.h" + #include "components/enterprise/browser/controller/chrome_browser_cloud_management_controller.h" +@@ -66,7 +66,7 @@ void TrySetSignal(base::flat_map(values.begin(), values.end()), ", "); + } + +-#if defined(OS_LINUX) || defined(OS_WIN) || defined(OS_MAC) ++#if defined(OS_LINUX) || defined(OS_WIN) || defined(OS_MAC) || defined(OS_BSD) + + connectors_internals::mojom::KeyTrustLevel ParseTrustLevel( + BPKUR::KeyTrustLevel trust_level) { +@@ -171,7 +171,7 @@ base::flat_map SignalsToMap( + } + + connectors_internals::mojom::KeyInfoPtr GetKeyInfo() { +-#if defined(OS_LINUX) || defined(OS_WIN) || defined(OS_MAC) ++#if defined(OS_LINUX) || defined(OS_WIN) || defined(OS_MAC) || defined(OS_BSD) + auto* key_manager = g_browser_process->browser_policy_connector() + ->chrome_browser_cloud_management_controller() + ->GetDeviceTrustKeyManager(); diff --git a/www/chromium/files/patch-chrome_browser_ui_webui_ntp_app__launcher__handler.cc b/www/chromium/files/patch-chrome_browser_ui_webui_ntp_app__launcher__handler.cc index 49486d92850f..0431a2e82a0b 100644 --- a/www/chromium/files/patch-chrome_browser_ui_webui_ntp_app__launcher__handler.cc +++ b/www/chromium/files/patch-chrome_browser_ui_webui_ntp_app__launcher__handler.cc @@ -1,29 +1,29 @@ ---- chrome/browser/ui/webui/ntp/app_launcher_handler.cc.orig 2021-12-31 00:57:25 UTC +--- chrome/browser/ui/webui/ntp/app_launcher_handler.cc.orig 2022-02-07 13:39:41 UTC +++ chrome/browser/ui/webui/ntp/app_launcher_handler.cc -@@ -314,7 +314,7 @@ void AppLauncherHandler::CreateExtensionInfo(const Ext +@@ -315,7 +315,7 @@ void AppLauncherHandler::CreateExtensionInfo(const Ext base::CommandLine::ForCurrentProcess()->HasSwitch(switches::kKioskMode)); bool is_deprecated_app = false; -#if defined(OS_WIN) || defined(OS_MAC) || defined(OS_LINUX) +#if defined(OS_WIN) || defined(OS_MAC) || defined(OS_LINUX) || defined(OS_BSD) is_deprecated_app = extensions::IsExtensionUnsupportedDeprecatedApp( extension_service_->GetBrowserContext(), extension->id()); #endif -@@ -764,7 +764,7 @@ void AppLauncherHandler::HandleLaunchApp(const base::L +@@ -765,7 +765,7 @@ void AppLauncherHandler::HandleLaunchApp(const base::L Profile* profile = extension_service_->profile(); -#if defined(OS_WIN) || defined(OS_MAC) || defined(OS_LINUX) +#if defined(OS_WIN) || defined(OS_MAC) || defined(OS_LINUX) || defined(OS_BSD) if (extensions::IsExtensionUnsupportedDeprecatedApp(profile, extension_id)) { // TODO(crbug.com/1225779): Show the deprecated apps dialog. return; -@@ -1363,7 +1363,7 @@ void AppLauncherHandler::InstallOsHooks(const web_app: - options.os_hooks[web_app::OsHookType::kRunOnOsLogin] = false; - options.os_hooks[web_app::OsHookType::kUninstallationViaOsSettings] = true; - #if defined(OS_WIN) || defined(OS_MAC) || \ -- (defined(OS_LINUX) && !BUILDFLAG(IS_CHROMEOS_LACROS)) -+ (defined(OS_LINUX) && !BUILDFLAG(IS_CHROMEOS_LACROS)) || defined(OS_BSD) +@@ -1361,7 +1361,7 @@ void AppLauncherHandler::InstallOsHooks(const web_app: + options.os_hooks[web_app::OsHookType::kUninstallationViaOsSettings] = + web_app->CanUserUninstallWebApp(); + +-#if defined(OS_WIN) || defined(OS_MAC) || \ ++#if defined(OS_WIN) || defined(OS_MAC) || defined(OS_BSD) || \ + (defined(OS_LINUX) && !BUILDFLAG(IS_CHROMEOS_LACROS)) options.os_hooks[web_app::OsHookType::kUrlHandlers] = true; #else - options.os_hooks[web_app::OsHookType::kUrlHandlers] = false; diff --git a/www/chromium/files/patch-chrome_browser_ui_webui_settings_appearance__handler.cc b/www/chromium/files/patch-chrome_browser_ui_webui_settings_appearance__handler.cc index 47b9927f456c..c6d1b37c93ff 100644 --- a/www/chromium/files/patch-chrome_browser_ui_webui_settings_appearance__handler.cc +++ b/www/chromium/files/patch-chrome_browser_ui_webui_settings_appearance__handler.cc @@ -1,20 +1,20 @@ ---- chrome/browser/ui/webui/settings/appearance_handler.cc.orig 2021-12-14 11:45:00 UTC +--- chrome/browser/ui/webui/settings/appearance_handler.cc.orig 2022-02-07 13:39:41 UTC +++ chrome/browser/ui/webui/settings/appearance_handler.cc @@ -31,7 +31,7 @@ void AppearanceHandler::RegisterMessages() { base::Unretained(this))); // TODO(crbug.com/1052397): Revisit the macro expression once build flag switch // of lacros-chrome is complete. -#if defined(OS_LINUX) && !BUILDFLAG(IS_CHROMEOS_LACROS) -+#if (defined(OS_LINUX) && !BUILDFLAG(IS_CHROMEOS_LACROS)) || defined(OS_BSD) ++#if (defined(OS_LINUX) || defined(OS_BSD)) && !BUILDFLAG(IS_CHROMEOS_LACROS) web_ui()->RegisterDeprecatedMessageCallback( "useSystemTheme", base::BindRepeating(&AppearanceHandler::HandleUseSystemTheme, @@ -45,7 +45,7 @@ void AppearanceHandler::HandleUseDefaultTheme(const ba // TODO(crbug.com/1052397): Revisit the macro expression once build flag switch // of lacros-chrome is complete. -#if defined(OS_LINUX) && !BUILDFLAG(IS_CHROMEOS_LACROS) -+#if (defined(OS_LINUX) && !BUILDFLAG(IS_CHROMEOS_LACROS)) || defined(OS_BSD) ++#if (defined(OS_LINUX) || defined(OS_BSD)) && !BUILDFLAG(IS_CHROMEOS_LACROS) void AppearanceHandler::HandleUseSystemTheme(const base::ListValue* args) { - if (profile_->IsSupervised()) + if (profile_->IsChild()) NOTREACHED(); diff --git a/www/chromium/files/patch-chrome_browser_ui_webui_settings_settings__localized__strings__provider.cc b/www/chromium/files/patch-chrome_browser_ui_webui_settings_settings__localized__strings__provider.cc index ce657d252339..19564cdfff3e 100644 --- a/www/chromium/files/patch-chrome_browser_ui_webui_settings_settings__localized__strings__provider.cc +++ b/www/chromium/files/patch-chrome_browser_ui_webui_settings_settings__localized__strings__provider.cc @@ -1,47 +1,47 @@ ---- chrome/browser/ui/webui/settings/settings_localized_strings_provider.cc.orig 2021-12-31 00:57:25 UTC +--- chrome/browser/ui/webui/settings/settings_localized_strings_provider.cc.orig 2022-02-07 13:39:41 UTC +++ chrome/browser/ui/webui/settings/settings_localized_strings_provider.cc -@@ -117,7 +117,7 @@ +@@ -116,7 +116,7 @@ #include "chrome/browser/ui/webui/settings/chromeos/constants/routes.mojom.h" #endif -#if defined(OS_LINUX) && !BUILDFLAG(IS_CHROMEOS_LACROS) -+#if (defined(OS_LINUX) && !BUILDFLAG(IS_CHROMEOS_LACROS)) || defined(OS_BSD) ++#if (defined(OS_LINUX) || defined(OS_BSD)) && !BUILDFLAG(IS_CHROMEOS_LACROS) #include "ui/display/screen.h" #endif -@@ -137,7 +137,7 @@ +@@ -136,7 +136,7 @@ #include "chrome/browser/ui/webui/certificate_manager_localized_strings_provider.h" #endif -#if defined(OS_LINUX) +#if defined(OS_LINUX) || defined(OS_BSD) #include "ui/ozone/public/ozone_platform.h" #endif @@ -365,7 +365,7 @@ void AddAppearanceStrings(content::WebUIDataSource* ht {"huge", IDS_SETTINGS_HUGE_FONT_SIZE}, // TODO(crbug.com/1052397): Revisit the macro expression once build flag switch // of lacros-chrome is complete. -#if defined(OS_LINUX) && !BUILDFLAG(IS_CHROMEOS_LACROS) -+#if (defined(OS_LINUX) && !BUILDFLAG(IS_CHROMEOS_LACROS)) || defined(OS_BSD) ++#if (defined(OS_LINUX) || defined(OS_BSD)) && !BUILDFLAG(IS_CHROMEOS_LACROS) {"systemTheme", IDS_SETTINGS_SYSTEM_THEME}, {"useSystemTheme", IDS_SETTINGS_USE_SYSTEM_THEME}, {"classicTheme", IDS_SETTINGS_CLASSIC_THEME}, @@ -373,7 +373,7 @@ void AddAppearanceStrings(content::WebUIDataSource* ht #else {"resetToDefaultTheme", IDS_SETTINGS_RESET_TO_DEFAULT_THEME}, #endif -#if defined(OS_LINUX) && !BUILDFLAG(IS_CHROMEOS_LACROS) -+#if (defined(OS_LINUX) && !BUILDFLAG(IS_CHROMEOS_LACROS)) || defined(OS_BSD) ++#if (defined(OS_LINUX) || defined(OS_BSD)) && !BUILDFLAG(IS_CHROMEOS_LACROS) {"showWindowDecorations", IDS_SHOW_WINDOW_DECORATIONS}, #endif #if defined(OS_MAC) @@ -394,7 +394,7 @@ void AddAppearanceStrings(content::WebUIDataSource* ht // TODO(crbug.com/1052397): Revisit the macro expression once build flag switch // of lacros-chrome is complete. -#if defined(OS_LINUX) && !BUILDFLAG(IS_CHROMEOS_LACROS) -+#if (defined(OS_LINUX) && !BUILDFLAG(IS_CHROMEOS_LACROS)) || defined(OS_BSD) ++#if (defined(OS_LINUX) || defined(OS_BSD)) && !BUILDFLAG(IS_CHROMEOS_LACROS) bool show_custom_chrome_frame = ui::OzonePlatform::GetInstance() ->GetPlatformRuntimeProperties() .supports_server_side_window_decorations; diff --git a/www/chromium/files/patch-chrome_browser_ui_webui_settings_settings__ui.cc b/www/chromium/files/patch-chrome_browser_ui_webui_settings_settings__ui.cc index 3037b5d13f0f..ac0c0ffb1ca1 100644 --- a/www/chromium/files/patch-chrome_browser_ui_webui_settings_settings__ui.cc +++ b/www/chromium/files/patch-chrome_browser_ui_webui_settings_settings__ui.cc @@ -1,20 +1,20 @@ ---- chrome/browser/ui/webui/settings/settings_ui.cc.orig 2021-12-31 00:57:25 UTC +--- chrome/browser/ui/webui/settings/settings_ui.cc.orig 2022-02-07 13:39:41 UTC +++ chrome/browser/ui/webui/settings/settings_ui.cc -@@ -138,7 +138,7 @@ +@@ -140,7 +140,7 @@ + #include "chrome/browser/ui/webui/settings/native_certificates_handler.h" #endif // defined(USE_NSS_CERTS) - #if defined(OS_WIN) || defined(OS_MAC) || \ -- (defined(OS_LINUX) && !BUILDFLAG(IS_CHROMEOS_LACROS)) -+ (defined(OS_LINUX) && !BUILDFLAG(IS_CHROMEOS_LACROS)) || defined(OS_BSD) +-#if defined(OS_WIN) || defined(OS_MAC) || \ ++#if defined(OS_WIN) || defined(OS_MAC) || defined(OS_BSD) || \ + (defined(OS_LINUX) && !BUILDFLAG(IS_CHROMEOS_LACROS)) #include "chrome/browser/ui/webui/settings/url_handlers_handler.h" - #endif - -@@ -239,7 +239,7 @@ SettingsUI::SettingsUI(content::WebUI* web_ui) + #include "chrome/browser/web_applications/web_app_provider.h" +@@ -243,7 +243,7 @@ SettingsUI::SettingsUI(content::WebUI* web_ui) + AddSettingsPageUIHandler(std::make_unique(profile)); #endif // defined(OS_WIN) - #if defined(OS_WIN) || defined(OS_MAC) || \ -- (defined(OS_LINUX) && !BUILDFLAG(IS_CHROMEOS_LACROS)) -+ (defined(OS_LINUX) && !BUILDFLAG(IS_CHROMEOS_LACROS)) || defined(OS_BSD) - AddSettingsPageUIHandler(std::make_unique( - g_browser_process->local_state(), profile)); - #endif +-#if defined(OS_WIN) || defined(OS_MAC) || \ ++#if defined(OS_WIN) || defined(OS_MAC) || defined(OS_BSD) || \ + (defined(OS_LINUX) && !BUILDFLAG(IS_CHROMEOS_LACROS)) + if (web_app::WebAppProvider::GetForWebApps(profile) != nullptr) { + AddSettingsPageUIHandler(std::make_unique( diff --git a/www/chromium/files/patch-chrome_browser_ui_webui_webui__js__error_webui__js__error__ui.cc b/www/chromium/files/patch-chrome_browser_ui_webui_webui__js__error_webui__js__error__ui.cc deleted file mode 100644 index e7b74c5c91a3..000000000000 --- a/www/chromium/files/patch-chrome_browser_ui_webui_webui__js__error_webui__js__error__ui.cc +++ /dev/null @@ -1,11 +0,0 @@ ---- chrome/browser/ui/webui/webui_js_error/webui_js_error_ui.cc.orig 2021-04-14 18:40:56 UTC -+++ chrome/browser/ui/webui/webui_js_error/webui_js_error_ui.cc -@@ -20,7 +20,7 @@ - - WebUIJsErrorUI::WebUIJsErrorUI(content::WebUI* web_ui) - : content::WebUIController(web_ui) { --#if !defined(OS_WIN) && !defined(OS_FUCHSIA) -+#if !defined(OS_WIN) && !defined(OS_FUCHSIA) && !defined(OS_BSD) - VLOG(3) << std::boolalpha << "chrome://webuijserror loading. " - << "Experiment state: send javascript errors is " - << base::FeatureList::IsEnabled( diff --git a/www/chromium/files/patch-chrome_browser_ui_window__sizer_window__sizer.cc b/www/chromium/files/patch-chrome_browser_ui_window__sizer_window__sizer.cc new file mode 100644 index 000000000000..dd5e2703c132 --- /dev/null +++ b/www/chromium/files/patch-chrome_browser_ui_window__sizer_window__sizer.cc @@ -0,0 +1,11 @@ +--- chrome/browser/ui/window_sizer/window_sizer.cc.orig 2022-02-07 13:39:41 UTC ++++ chrome/browser/ui/window_sizer/window_sizer.cc +@@ -166,7 +166,7 @@ void WindowSizer::GetBrowserWindowBoundsAndShowState( + browser, window_bounds, show_state); + } + +-#if !defined(OS_LINUX) ++#if !defined(OS_LINUX) || defined(OS_BSD) + // Linux has its own implementation, see WindowSizerLinux. + // static + void WindowSizer::GetBrowserWindowBoundsAndShowState( diff --git a/www/chromium/files/patch-chrome_browser_web__applications_extension__status__utils.h b/www/chromium/files/patch-chrome_browser_web__applications_extension__status__utils.h index 37ec602bbd17..ee999aca20a0 100644 --- a/www/chromium/files/patch-chrome_browser_web__applications_extension__status__utils.h +++ b/www/chromium/files/patch-chrome_browser_web__applications_extension__status__utils.h @@ -1,11 +1,11 @@ ---- chrome/browser/web_applications/extension_status_utils.h.orig 2021-09-24 18:36:53 UTC +--- chrome/browser/web_applications/extension_status_utils.h.orig 2022-02-07 13:39:41 UTC +++ chrome/browser/web_applications/extension_status_utils.h -@@ -37,7 +37,7 @@ bool IsExtensionForceInstalled(content::BrowserContext +@@ -42,7 +42,7 @@ bool IsExtensionDefaultInstalled(content::BrowserConte bool IsExternalExtensionUninstalled(content::BrowserContext* context, const std::string& extension_id); -#if defined(OS_WIN) || defined(OS_MAC) || defined(OS_LINUX) +#if defined(OS_WIN) || defined(OS_MAC) || defined(OS_LINUX) || defined(OS_BSD) // Returns whether |extension_id| is a Chrome App and should be blocked by the // Chrome Apps Deprecation. Policy installed Chrome Apps are still allowed, and // all apps are allowed if the deprecation feature flag is not enabled. diff --git a/www/chromium/files/patch-chrome_browser_web__applications_extensions_extension__status__utils.cc b/www/chromium/files/patch-chrome_browser_web__applications_extensions_extension__status__utils.cc index 104dc578455a..fa03be004187 100644 --- a/www/chromium/files/patch-chrome_browser_web__applications_extensions_extension__status__utils.cc +++ b/www/chromium/files/patch-chrome_browser_web__applications_extensions_extension__status__utils.cc @@ -1,11 +1,11 @@ ---- chrome/browser/web_applications/extensions/extension_status_utils.cc.orig 2021-12-31 00:57:25 UTC +--- chrome/browser/web_applications/extensions/extension_status_utils.cc.orig 2022-02-07 13:39:41 UTC +++ chrome/browser/web_applications/extensions/extension_status_utils.cc -@@ -75,7 +75,7 @@ bool IsExternalExtensionUninstalled(content::BrowserCo +@@ -87,7 +87,7 @@ bool IsExternalExtensionUninstalled(content::BrowserCo return prefs && prefs->IsExternalExtensionUninstalled(extension_id); } -#if defined(OS_WIN) || defined(OS_MAC) || defined(OS_LINUX) +#if defined(OS_WIN) || defined(OS_MAC) || defined(OS_LINUX) || defined(OS_BSD) bool IsExtensionUnsupportedDeprecatedApp(content::BrowserContext* context, const std::string& extension_id) { if (!base::FeatureList::IsEnabled(features::kChromeAppsDeprecation)) diff --git a/www/chromium/files/patch-chrome_browser_web__applications_externally__managed__app__install__task.cc b/www/chromium/files/patch-chrome_browser_web__applications_externally__managed__app__install__task.cc index e75b92c9f2c4..2d9cdef7ca96 100644 --- a/www/chromium/files/patch-chrome_browser_web__applications_externally__managed__app__install__task.cc +++ b/www/chromium/files/patch-chrome_browser_web__applications_externally__managed__app__install__task.cc @@ -1,11 +1,11 @@ ---- chrome/browser/web_applications/externally_managed_app_install_task.cc.orig 2021-12-31 00:57:25 UTC +--- chrome/browser/web_applications/externally_managed_app_install_task.cc.orig 2022-02-07 13:39:41 UTC +++ chrome/browser/web_applications/externally_managed_app_install_task.cc -@@ -307,7 +307,7 @@ void ExternallyManagedAppInstallTask::OnWebAppInstalle - options.os_hooks[OsHookType::kProtocolHandlers] = true; - options.os_hooks[OsHookType::kUninstallationViaOsSettings] = true; - #if defined(OS_WIN) || defined(OS_MAC) || \ -- (defined(OS_LINUX) && !BUILDFLAG(IS_CHROMEOS_LACROS)) -+ (defined(OS_LINUX) && !BUILDFLAG(IS_CHROMEOS_LACROS)) || defined(OS_BSD) +@@ -310,7 +310,7 @@ void ExternallyManagedAppInstallTask::OnWebAppInstalle + const WebApp* web_app = registrar_->GetAppById(app_id); + options.os_hooks[OsHookType::kUninstallationViaOsSettings] = + web_app->CanUserUninstallWebApp(); +-#if defined(OS_WIN) || defined(OS_MAC) || \ ++#if defined(OS_WIN) || defined(OS_MAC) || defined(OS_BSD) || \ + (defined(OS_LINUX) && !BUILDFLAG(IS_CHROMEOS_LACROS)) options.os_hooks[OsHookType::kUrlHandlers] = true; #else - options.os_hooks[OsHookType::kUrlHandlers] = false; diff --git a/www/chromium/files/patch-chrome_browser_web__applications_web__app__install__task.cc b/www/chromium/files/patch-chrome_browser_web__applications_web__app__install__task.cc index f6cac1cba002..31a59e6db424 100644 --- a/www/chromium/files/patch-chrome_browser_web__applications_web__app__install__task.cc +++ b/www/chromium/files/patch-chrome_browser_web__applications_web__app__install__task.cc @@ -1,11 +1,11 @@ ---- chrome/browser/web_applications/web_app_install_task.cc.orig 2021-12-31 00:57:25 UTC +--- chrome/browser/web_applications/web_app_install_task.cc.orig 2022-02-07 13:39:41 UTC +++ chrome/browser/web_applications/web_app_install_task.cc -@@ -863,7 +863,7 @@ void WebAppInstallTask::OnInstallFinalizedCreateShortc - options.os_hooks[OsHookType::kProtocolHandlers] = true; - options.os_hooks[OsHookType::kUninstallationViaOsSettings] = true; - #if defined(OS_WIN) || defined(OS_MAC) || \ -- (defined(OS_LINUX) && !BUILDFLAG(IS_CHROMEOS_LACROS)) -+ (defined(OS_LINUX) && !BUILDFLAG(IS_CHROMEOS_LACROS)) || defined(OS_BSD) +@@ -919,7 +919,7 @@ void WebAppInstallTask::OnInstallFinalizedCreateShortc + web_app->CanUserUninstallWebApp(); + } + +-#if defined(OS_WIN) || defined(OS_MAC) || \ ++#if defined(OS_WIN) || defined(OS_MAC) || defined(OS_BSD) || \ + (defined(OS_LINUX) && !BUILDFLAG(IS_CHROMEOS_LACROS)) options.os_hooks[OsHookType::kUrlHandlers] = true; #else - options.os_hooks[OsHookType::kUrlHandlers] = false; diff --git a/www/chromium/files/patch-chrome_browser_web__applications_web__app__provider.cc b/www/chromium/files/patch-chrome_browser_web__applications_web__app__provider.cc index f985e829fcc1..295a1316db32 100644 --- a/www/chromium/files/patch-chrome_browser_web__applications_web__app__provider.cc +++ b/www/chromium/files/patch-chrome_browser_web__applications_web__app__provider.cc @@ -1,11 +1,11 @@ ---- chrome/browser/web_applications/web_app_provider.cc.orig 2021-12-31 00:57:25 UTC +--- chrome/browser/web_applications/web_app_provider.cc.orig 2022-02-07 13:39:41 UTC +++ chrome/browser/web_applications/web_app_provider.cc -@@ -267,7 +267,7 @@ void WebAppProvider::CreateSubsystems(Profile* profile +@@ -276,7 +276,7 @@ void WebAppProvider::CreateSubsystems(Profile* profile + protocol_handler_manager.get()); std::unique_ptr url_handler_manager; - #if defined(OS_WIN) || defined(OS_MAC) || \ -- (defined(OS_LINUX) && !BUILDFLAG(IS_CHROMEOS_LACROS)) -+ (defined(OS_LINUX) && !BUILDFLAG(IS_CHROMEOS_LACROS)) || defined(OS_BSD) +-#if defined(OS_WIN) || defined(OS_MAC) || \ ++#if defined(OS_WIN) || defined(OS_MAC) || defined(OS_BSD) || \ + (defined(OS_LINUX) && !BUILDFLAG(IS_CHROMEOS_LACROS)) url_handler_manager = std::make_unique(profile); #endif - diff --git a/www/chromium/files/patch-chrome_browser_web__applications_web__app__shortcut.cc b/www/chromium/files/patch-chrome_browser_web__applications_web__app__shortcut.cc index f424227c6be2..89a8fc84c75d 100644 --- a/www/chromium/files/patch-chrome_browser_web__applications_web__app__shortcut.cc +++ b/www/chromium/files/patch-chrome_browser_web__applications_web__app__shortcut.cc @@ -1,38 +1,38 @@ ---- chrome/browser/web_applications/web_app_shortcut.cc.orig 2021-12-31 00:57:25 UTC +--- chrome/browser/web_applications/web_app_shortcut.cc.orig 2022-02-07 13:39:41 UTC +++ chrome/browser/web_applications/web_app_shortcut.cc -@@ -39,7 +39,7 @@ namespace { +@@ -44,7 +44,7 @@ namespace { #if defined(OS_MAC) const int kDesiredIconSizesForShortcut[] = {16, 32, 128, 256, 512}; -#elif defined(OS_LINUX) || defined(OS_CHROMEOS) +#elif defined(OS_LINUX) || defined(OS_CHROMEOS) || 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}; -@@ -119,7 +119,7 @@ ScopedShortcutOverrideForTesting::~ScopedShortcutOverr +@@ -134,7 +134,7 @@ ScopedShortcutOverrideForTesting::~ScopedShortcutOverr } } } -#elif defined(OS_LINUX) +#elif defined(OS_LINUX) || defined(OS_BSD) directories = {&desktop}; #endif for (base::ScopedTempDir* dir : directories) { -@@ -160,7 +160,7 @@ std::unique_ptr Over +@@ -178,7 +178,7 @@ std::unique_ptr Over scoped_override->chrome_apps_folder.CreateUniqueTempDirUnderPath( base_path); DCHECK(success); -#elif defined(OS_LINUX) +#elif defined(OS_LINUX) || defined(OS_BSD) bool success = scoped_override->desktop.CreateUniqueTempDirUnderPath(base_path); DCHECK(success); -@@ -178,7 +178,7 @@ std::unique_ptr Over +@@ -196,7 +196,7 @@ std::unique_ptr Over #elif defined(OS_MAC) bool success = scoped_override->chrome_apps_folder.CreateUniqueTempDir(); DCHECK(success); -#elif defined(OS_LINUX) +#elif defined(OS_LINUX) || defined(OS_BSD) bool success = scoped_override->desktop.CreateUniqueTempDir(); DCHECK(success); #endif diff --git a/www/chromium/files/patch-chrome_browser_web__applications_web__app__shortcut.h b/www/chromium/files/patch-chrome_browser_web__applications_web__app__shortcut.h index 743f17a7d0e5..9804468e2ef0 100644 --- a/www/chromium/files/patch-chrome_browser_web__applications_web__app__shortcut.h +++ b/www/chromium/files/patch-chrome_browser_web__applications_web__app__shortcut.h @@ -1,35 +1,29 @@ ---- chrome/browser/web_applications/web_app_shortcut.h.orig 2021-12-31 00:57:25 UTC +--- chrome/browser/web_applications/web_app_shortcut.h.orig 2022-02-07 13:39:41 UTC +++ chrome/browser/web_applications/web_app_shortcut.h -@@ -19,9 +19,9 @@ +@@ -19,7 +19,7 @@ #include "ui/gfx/image/image_family.h" #include "url/gurl.h" -#if defined(OS_LINUX) +#if defined(OS_LINUX) || defined(OS_BSD) #include "chrome/browser/web_applications/web_app_shortcut_linux.h" --#endif // defined(OS_LINUX) -+#endif // defined(OS_LINUX) || defined(OS_BSD) + #endif // defined(OS_LINUX) - namespace base { - class TaskRunner; @@ -47,7 +47,7 @@ struct ScopedShortcutOverrideForTesting { base::ScopedTempDir startup; #elif defined(OS_MAC) base::ScopedTempDir chrome_apps_folder; -#elif defined(OS_LINUX) +#elif defined(OS_LINUX) || defined(OS_BSD) base::ScopedTempDir desktop; #endif }; -@@ -89,9 +89,9 @@ struct ShortcutInfo { +@@ -89,7 +89,7 @@ struct ShortcutInfo { std::set file_handler_extensions; std::set file_handler_mime_types; std::set protocol_handlers; -#if defined(OS_LINUX) +#if defined(OS_LINUX) || defined(OS_BSD) std::set actions; --#endif // defined(OS_LINUX) -+#endif // defined(OS_LINUX) || defined(OS_BSD) + #endif // defined(OS_LINUX) - // An app is multi-profile if there is a single shortcut and single app shim - // for all profiles. The app itself has a profile switcher that may be used diff --git a/www/chromium/files/patch-chrome_browser_web__applications_web__app__shortcut__manager.cc b/www/chromium/files/patch-chrome_browser_web__applications_web__app__shortcut__manager.cc index 32160d81eb74..9e82f3bf3771 100644 --- a/www/chromium/files/patch-chrome_browser_web__applications_web__app__shortcut__manager.cc +++ b/www/chromium/files/patch-chrome_browser_web__applications_web__app__shortcut__manager.cc @@ -1,33 +1,20 @@ ---- chrome/browser/web_applications/web_app_shortcut_manager.cc.orig 2021-12-16 14:52:50 UTC +--- chrome/browser/web_applications/web_app_shortcut_manager.cc.orig 2022-02-07 13:39:41 UTC +++ chrome/browser/web_applications/web_app_shortcut_manager.cc -@@ -35,10 +35,10 @@ namespace web_app { +@@ -35,7 +35,7 @@ namespace web_app { namespace { -#if defined(OS_LINUX) +#if defined(OS_LINUX) || defined(OS_BSD) // Aligns with other platform implementations that only support 10 items. constexpr int kMaxApplicationDockMenuItems = 10; --#endif // defined(OS_LINUX) -+#endif // defined(OS_LINUX) || defined(OS_BSD) - - // UMA metric name for shortcuts creation result. - constexpr const char* kCreationResultMetric = -@@ -383,7 +383,7 @@ std::unique_ptr WebAppShortcutManager::B + #endif // defined(OS_LINUX) +@@ -382,7 +382,7 @@ std::unique_ptr WebAppShortcutManager::B } } -#if defined(OS_LINUX) +#if defined(OS_LINUX) || defined(OS_BSD) - const std::vector& - shortcuts_menu_item_infos = app->shortcuts_menu_item_infos(); + const std::vector& shortcuts_menu_item_infos = + app->shortcuts_menu_item_infos(); int num_entries = std::min(static_cast(shortcuts_menu_item_infos.size()), -@@ -401,7 +401,7 @@ std::unique_ptr WebAppShortcutManager::B - shortcuts_menu_item_info.url); - } - } --#endif // defined(OS_LINUX) -+#endif // defined(OS_LINUX) || defined(OS_BSD) - - return shortcut_info; - } diff --git a/www/chromium/files/patch-chrome_browser_web__applications_web__app__utils.cc b/www/chromium/files/patch-chrome_browser_web__applications_web__app__utils.cc deleted file mode 100644 index cee86048a25c..000000000000 --- a/www/chromium/files/patch-chrome_browser_web__applications_web__app__utils.cc +++ /dev/null @@ -1,54 +0,0 @@ ---- chrome/browser/web_applications/web_app_utils.cc.orig 2022-01-20 10:35:51 UTC -+++ chrome/browser/web_applications/web_app_utils.cc -@@ -236,13 +236,13 @@ std::u16string GetFileTypeAssociationsHandledByWebApps - const apps::FileHandlers file_handlers = - GetFileHandlersForAllWebAppsWithOrigin(profile, url); - std::vector associations; --#if defined(OS_LINUX) -+#if defined(OS_LINUX) || defined(OS_BSD) - std::set mime_types_set = - apps::GetMimeTypesFromFileHandlers(file_handlers); - associations.reserve(mime_types_set.size()); - associations.insert(associations.end(), mime_types_set.begin(), - mime_types_set.end()); --#else // !defined(OS_LINUX) -+#else // !defined(OS_LINUX) || defined(OS_BSD) - std::set extensions_set = - apps::GetFileExtensionsFromFileHandlers(file_handlers); - associations.reserve(extensions_set.size()); -@@ -253,7 +253,7 @@ std::u16string GetFileTypeAssociationsHandledByWebApps - [](const std::string& extension) { - return base::ToUpperASCII(extension.substr(1)); - }); --#endif // defined(OS_LINUX) -+#endif // defined(OS_LINUX) || defined(OS_BSD) - - if (found_multiple) - *found_multiple = associations.size() > 1; -@@ -275,7 +275,7 @@ std::u16string GetFileTypeAssociationsHandledByWebAppF - provider->registrar().GetAppFileHandlers(app_id); - - std::vector associations; --#if defined(OS_LINUX) -+#if defined(OS_LINUX) || defined(OS_BSD) - // TODO(estade): on Linux both the MIME type and extension must match. Should - // we just show the extensions like on other platforms? - std::set mime_types_set = -@@ -283,7 +283,7 @@ std::u16string GetFileTypeAssociationsHandledByWebAppF - associations.reserve(mime_types_set.size()); - associations.insert(associations.end(), mime_types_set.begin(), - mime_types_set.end()); --#else // !defined(OS_LINUX) -+#else // !defined(OS_LINUX) || defined(OS_BSD) - std::set extensions_set = - apps::GetFileExtensionsFromFileHandlers(*file_handlers); - associations.reserve(extensions_set.size()); -@@ -294,7 +294,7 @@ std::u16string GetFileTypeAssociationsHandledByWebAppF - [](const std::string& extension) { - return base::ToUpperASCII(extension.substr(1)); - }); --#endif // defined(OS_LINUX) -+#endif // defined(OS_LINUX) || defined(OS_BSD) - - if (found_multiple) - *found_multiple = associations.size() > 1; diff --git a/www/chromium/files/patch-chrome_common_BUILD.gn b/www/chromium/files/patch-chrome_common_BUILD.gn deleted file mode 100644 index d7b2a29120f5..000000000000 --- a/www/chromium/files/patch-chrome_common_BUILD.gn +++ /dev/null @@ -1,34 +0,0 @@ ---- chrome/common/BUILD.gn.orig 2021-12-31 00:57:25 UTC -+++ chrome/common/BUILD.gn -@@ -329,7 +329,7 @@ static_library("common") { - ] - } - -- if (!is_fuchsia) { -+ if (!is_fuchsia && !is_bsd) { - deps += [ "//components/crash/core/app" ] - } - -@@ -490,13 +490,21 @@ static_library("common") { - public_deps += [ "//chrome/common/safe_browsing" ] - } - -- if (is_linux || is_chromeos) { -+ if ((is_linux || is_chromeos) && !is_bsd) { - sources += [ - "auto_start_linux.cc", - "auto_start_linux.h", - "multi_process_lock_linux.cc", - ] - deps += [ "//sandbox/linux:sandbox_services" ] -+ } -+ -+ if (is_bsd) { -+ sources += [ -+ "auto_start_linux.cc", -+ "auto_start_linux.h", -+ "multi_process_lock_linux.cc", -+ ] - } - - if (enable_cdm_host_verification) { diff --git a/www/chromium/files/patch-chrome_common_channel__info__posix.cc b/www/chromium/files/patch-chrome_common_channel__info__posix.cc index f96130441ac9..6c60ade0a03d 100644 --- a/www/chromium/files/patch-chrome_common_channel__info__posix.cc +++ b/www/chromium/files/patch-chrome_common_channel__info__posix.cc @@ -1,20 +1,11 @@ ---- chrome/common/channel_info_posix.cc.orig 2021-07-19 18:45:10 UTC +--- chrome/common/channel_info_posix.cc.orig 2022-02-07 13:39:41 UTC +++ chrome/common/channel_info_posix.cc @@ -93,7 +93,7 @@ std::string GetChannelSuffixForDataDir() { // TODO(crbug.com/1052397): Revisit the macro expression once build flag switch // of lacros-chrome is complete. -#if defined(OS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS) +#if defined(OS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS) || defined(OS_BSD) std::string GetDesktopName(base::Environment* env) { #if BUILDFLAG(GOOGLE_CHROME_BRANDING) // Google Chrome packaged as a snap is a special case: the application name -@@ -123,7 +123,7 @@ std::string GetDesktopName(base::Environment* env) { - return "chromium-browser.desktop"; - #endif - } --#endif // defined(OS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS) -+#endif // defined(OS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS) || defined(OS_BSD) - - version_info::Channel GetChannel() { - return GetChannelImpl().channel; diff --git a/www/chromium/files/patch-chrome_common_chrome__features.cc b/www/chromium/files/patch-chrome_common_chrome__features.cc index 631d7dce7d05..e364888836f0 100644 --- a/www/chromium/files/patch-chrome_common_chrome__features.cc +++ b/www/chromium/files/patch-chrome_common_chrome__features.cc @@ -1,97 +1,83 @@ ---- chrome/common/chrome_features.cc.orig 2022-01-20 10:35:51 UTC +--- chrome/common/chrome_features.cc.orig 2022-02-07 13:39:41 UTC +++ chrome/common/chrome_features.cc -@@ -101,7 +101,7 @@ const base::Feature kAsyncDns { - #endif +@@ -110,7 +110,7 @@ const base::Feature kAsyncDns { }; --#if defined(OS_WIN) || defined(OS_MAC) || defined(OS_LINUX) || \ -+#if defined(OS_WIN) || defined(OS_MAC) || defined(OS_LINUX) || defined(OS_BSD) || \ - defined(OS_CHROMEOS) || defined(OS_FUCHSIA) + #if defined(OS_WIN) || defined(OS_MAC) || defined(OS_LINUX) || \ +- defined(OS_CHROMEOS) || defined(OS_FUCHSIA) ++ defined(OS_CHROMEOS) || defined(OS_FUCHSIA) || defined(OS_BSD) // Enables or disables the Autofill survey triggered by opening a prompt to // save address info. -@@ -117,13 +117,13 @@ const base::Feature kAutofillPasswordSurvey{"AutofillP + const base::Feature kAutofillAddressSurvey{"AutofillAddressSurvey", +@@ -125,7 +125,7 @@ const base::Feature kAutofillPasswordSurvey{"AutofillP base::FEATURE_DISABLED_BY_DEFAULT}; #endif -#if defined(OS_WIN) || defined(OS_LINUX) || defined(OS_CHROMEOS) +#if defined(OS_WIN) || defined(OS_LINUX) || defined(OS_CHROMEOS) || 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) || defined(OS_CHROMEOS) -+#endif // defined(OS_WIN) || defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD) - - #if BUILDFLAG(IS_CHROMEOS_ASH) - // Enable Borealis on Chrome OS. -@@ -134,13 +134,13 @@ const base::Feature kBorealis{"Borealis", base::FEATUR +@@ -142,7 +142,7 @@ const base::Feature kBorealis{"Borealis", base::FEATUR const base::Feature kChangePictureVideoMode{"ChangePictureVideoMode", base::FEATURE_ENABLED_BY_DEFAULT}; -#if defined(OS_WIN) || defined(OS_MAC) || defined(OS_LINUX) +#if defined(OS_WIN) || defined(OS_MAC) || defined(OS_LINUX) || defined(OS_BSD) // Controls whether Chrome Apps are supported. See https://crbug.com/1221251. // If the feature is disabled, Chrome Apps continue to work. If enabled, Chrome // Apps will not launch and will be marked in the UI as deprecated. - const base::Feature kChromeAppsDeprecation{"ChromeAppsDeprecation", - base::FEATURE_DISABLED_BY_DEFAULT}; --#endif // defined(OS_WIN) || defined(OS_MAC) || defined(OS_LINUX) -+#endif // defined(OS_WIN) || defined(OS_MAC) || defined(OS_LINUX) || defined(OS_BSD) - - const base::Feature kClientStorageAccessContextAuditing{ - "ClientStorageAccessContextAuditing", base::FEATURE_DISABLED_BY_DEFAULT}; -@@ -245,7 +245,7 @@ const base::Feature kDefaultPinnedAppsUpdate2021Q2{ - "DefaultPinnedAppsUpdate2021Q2", base::FEATURE_ENABLED_BY_DEFAULT}; +@@ -255,7 +255,7 @@ const base::Feature kPreinstalledWebAppInstallation{ #endif --#if BUILDFLAG(IS_CHROMEOS_ASH) || defined(OS_MAC) || defined(OS_LINUX) -+#if BUILDFLAG(IS_CHROMEOS_ASH) || defined(OS_MAC) || defined(OS_LINUX) || defined(OS_BSD) + #if BUILDFLAG(IS_CHROMEOS_ASH) || defined(OS_MAC) || defined(OS_LINUX) || \ +- defined(OS_FUCHSIA) ++ defined(OS_FUCHSIA) || defined(OS_BSD) // Enables Desktop PWAs shortcuts menu to be visible and executable in ChromeOS, // MacOS and Linux. const base::Feature kDesktopPWAsAppIconShortcutsMenuUI{ -@@ -277,7 +277,7 @@ const base::Feature kDesktopPWAsElidedExtensionsMenu{ - // Handling API. - const base::Feature kDesktopPWAsFileHandlingSettingsGated{ - "DesktopPWAsFileHandlingSettingsGated", --#if defined(OS_WIN) || defined(OS_LINUX) || defined(OS_MAC) -+#if defined(OS_WIN) || defined(OS_LINUX) || defined(OS_MAC) || defined(OS_BSD) - base::FEATURE_ENABLED_BY_DEFAULT - #else - base::FEATURE_DISABLED_BY_DEFAULT -@@ -304,7 +304,7 @@ const base::Feature kDesktopPWAsNotificationIconAndTit +@@ -303,7 +303,7 @@ const base::Feature kDesktopPWAsNotificationIconAndTit // Enables or disables Desktop PWAs to be auto-started on OS login. const base::Feature kDesktopPWAsRunOnOsLogin { "DesktopPWAsRunOnOsLogin", -#if defined(OS_WIN) || defined(OS_MAC) || defined(OS_LINUX) +#if defined(OS_WIN) || defined(OS_MAC) || defined(OS_LINUX) || defined(OS_BSD) base::FEATURE_ENABLED_BY_DEFAULT #else base::FEATURE_DISABLED_BY_DEFAULT -@@ -334,7 +334,7 @@ const base::Feature kDesktopPWAsWebBundles{"DesktopPWA +@@ -337,7 +337,7 @@ const base::FeatureParam kDisableHttpDiskCacheMem const base::Feature kDnsOverHttps { "DnsOverHttps", #if defined(OS_WIN) || defined(OS_CHROMEOS) || defined(OS_MAC) || \ - defined(OS_ANDROID) || defined(OS_LINUX) + defined(OS_ANDROID) || defined(OS_LINUX) || defined(OS_BSD) base::FEATURE_ENABLED_BY_DEFAULT #else base::FEATURE_DISABLED_BY_DEFAULT -@@ -356,7 +356,7 @@ const base::FeatureParam kDnsOverHttpsFallbackPa +@@ -359,7 +359,7 @@ const base::FeatureParam kDnsOverHttpsFallbackPa const base::FeatureParam kDnsOverHttpsShowUiParam { &kDnsOverHttps, "ShowUi", #if defined(OS_WIN) || defined(OS_CHROMEOS) || defined(OS_MAC) || \ - defined(OS_ANDROID) || defined(OS_LINUX) + defined(OS_ANDROID) || defined(OS_LINUX) || defined(OS_BSD) true #else false -@@ -628,7 +628,7 @@ const base::Feature kIncognitoBrandConsistencyForAndro - const base::Feature kIncognitoNtpRevamp{"IncognitoNtpRevamp", +@@ -633,7 +633,7 @@ const base::Feature kIncognitoNtpRevamp{"IncognitoNtpR base::FEATURE_DISABLED_BY_DEFAULT}; --#if defined(OS_MAC) || defined(OS_WIN) || defined(OS_LINUX) || \ -+#if defined(OS_MAC) || defined(OS_WIN) || defined(OS_LINUX) || defined(OS_BSD) || \ - defined(OS_CHROMEOS) || defined(OS_FUCHSIA) + #if defined(OS_MAC) || defined(OS_WIN) || defined(OS_LINUX) || \ +- defined(OS_CHROMEOS) || defined(OS_FUCHSIA) ++ defined(OS_CHROMEOS) || defined(OS_FUCHSIA) || defined(OS_BSD) // When enabled, removes any theme or background customization done by the user // on the Incognito UI. + const base::Feature kIncognitoBrandConsistencyForDesktop{ +@@ -675,7 +675,7 @@ const base::Feature kKernelnextVMs{"KernelnextVMs", + base::FEATURE_DISABLED_BY_DEFAULT}; + #endif + +-#if defined(OS_LINUX) && !defined(OS_CHROMEOS) ++#if (defined(OS_LINUX) && !defined(OS_CHROMEOS)) || defined(OS_BSD) + COMPONENT_EXPORT(CHROME_FEATURES) + const base::Feature kLinuxLowMemoryMonitor{"LinuxLowMemoryMonitor", + base::FEATURE_DISABLED_BY_DEFAULT}; diff --git a/www/chromium/files/patch-chrome_common_chrome__features.h b/www/chromium/files/patch-chrome_common_chrome__features.h index 7246dedfb8ae..86290c7e4766 100644 --- a/www/chromium/files/patch-chrome_common_chrome__features.h +++ b/www/chromium/files/patch-chrome_common_chrome__features.h @@ -1,51 +1,56 @@ ---- chrome/common/chrome_features.h.orig 2021-12-31 00:57:25 UTC +--- chrome/common/chrome_features.h.orig 2022-02-07 13:39:41 UTC +++ chrome/common/chrome_features.h -@@ -84,7 +84,7 @@ extern const base::Feature kAppShimNewCloseBehavior; - +@@ -92,7 +92,7 @@ extern const base::Feature kArcPiGhostWindow; COMPONENT_EXPORT(CHROME_FEATURES) extern const base::Feature kAsyncDns; --#if defined(OS_WIN) || defined(OS_MAC) || defined(OS_LINUX) || \ -+#if defined(OS_WIN) || defined(OS_MAC) || defined(OS_LINUX) || defined(OS_BSD) || \ - defined(OS_CHROMEOS) || defined(OS_FUCHSIA) + #if defined(OS_WIN) || defined(OS_MAC) || defined(OS_LINUX) || \ +- defined(OS_CHROMEOS) || defined(OS_FUCHSIA) ++ defined(OS_CHROMEOS) || defined(OS_FUCHSIA) || defined(OS_BSD) COMPONENT_EXPORT(CHROME_FEATURES) extern const base::Feature kAutofillAddressSurvey; -@@ -94,10 +94,10 @@ COMPONENT_EXPORT(CHROME_FEATURES) + COMPONENT_EXPORT(CHROME_FEATURES) +@@ -101,7 +101,7 @@ COMPONENT_EXPORT(CHROME_FEATURES) extern const base::Feature kAutofillPasswordSurvey; #endif -#if defined(OS_WIN) || defined(OS_LINUX) || defined(OS_CHROMEOS) +#if defined(OS_WIN) || defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD) COMPONENT_EXPORT(CHROME_FEATURES) extern const base::Feature kBackgroundModeAllowRestart; --#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(IS_CHROMEOS_ASH) - COMPONENT_EXPORT(CHROME_FEATURES) extern const base::Feature kBorealis; -@@ -111,7 +111,7 @@ extern const base::Feature kBrowserAppInstanceTracking + #endif // defined(OS_WIN) || defined(OS_LINUX) || defined(OS_CHROMEOS) +@@ -118,7 +118,7 @@ extern const base::Feature kBrowserAppInstanceTracking COMPONENT_EXPORT(CHROME_FEATURES) extern const base::Feature kChangePictureVideoMode; -#if defined(OS_WIN) || defined(OS_MAC) || defined(OS_LINUX) +#if defined(OS_WIN) || defined(OS_MAC) || defined(OS_LINUX) || defined(OS_BSD) COMPONENT_EXPORT(CHROME_FEATURES) extern const base::Feature kChromeAppsDeprecation; #endif -@@ -175,7 +175,7 @@ COMPONENT_EXPORT(CHROME_FEATURES) - extern const base::Feature kDefaultPinnedAppsUpdate2021Q2; +@@ -183,7 +183,7 @@ extern const base::Feature kPreinstalledWebAppInstalla #endif --#if BUILDFLAG(IS_CHROMEOS_ASH) || defined(OS_MAC) || defined(OS_LINUX) -+#if BUILDFLAG(IS_CHROMEOS_ASH) || defined(OS_MAC) || defined(OS_LINUX) || defined(OS_BSD) + #if BUILDFLAG(IS_CHROMEOS_ASH) || defined(OS_MAC) || defined(OS_LINUX) || \ +- defined(OS_FUCHSIA) ++ defined(OS_FUCHSIA) || defined(OS_BSD) COMPONENT_EXPORT(CHROME_FEATURES) extern const base::Feature kDesktopPWAsAppIconShortcutsMenuUI; #endif -@@ -410,7 +410,7 @@ extern const base::Feature kIncognitoBrandConsistencyF - COMPONENT_EXPORT(CHROME_FEATURES) +@@ -418,7 +418,7 @@ COMPONENT_EXPORT(CHROME_FEATURES) extern const base::Feature kIncognitoNtpRevamp; --#if defined(OS_MAC) || defined(OS_WIN) || defined(OS_LINUX) || \ -+#if defined(OS_MAC) || defined(OS_WIN) || defined(OS_LINUX) || defined(OS_BSD) || \ - defined(OS_CHROMEOS) || defined(OS_FUCHSIA) + #if defined(OS_MAC) || defined(OS_WIN) || defined(OS_LINUX) || \ +- defined(OS_CHROMEOS) || defined(OS_FUCHSIA) ++ defined(OS_CHROMEOS) || defined(OS_FUCHSIA) || defined(OS_BSD) COMPONENT_EXPORT(CHROME_FEATURES) extern const base::Feature kIncognitoBrandConsistencyForDesktop; + +@@ -445,7 +445,7 @@ COMPONENT_EXPORT(CHROME_FEATURES) + extern const base::Feature kKernelnextVMs; + #endif + +-#if defined(OS_LINUX) && !defined(OS_CHROMEOS) ++#if (defined(OS_LINUX) && !defined(OS_CHROMEOS)) || defined(OS_BSD) + COMPONENT_EXPORT(CHROME_FEATURES) + extern const base::Feature kLinuxLowMemoryMonitor; + COMPONENT_EXPORT(CHROME_FEATURES) diff --git a/www/chromium/files/patch-chrome_common_chrome__paths.cc b/www/chromium/files/patch-chrome_common_chrome__paths.cc index 7069cec0caff..10be66446f93 100644 --- a/www/chromium/files/patch-chrome_common_chrome__paths.cc +++ b/www/chromium/files/patch-chrome_common_chrome__paths.cc @@ -1,95 +1,80 @@ ---- chrome/common/chrome_paths.cc.orig 2021-12-31 00:57:25 UTC +--- chrome/common/chrome_paths.cc.orig 2022-02-07 13:39:41 UTC +++ chrome/common/chrome_paths.cc -@@ -44,17 +44,25 @@ +@@ -44,14 +44,14 @@ namespace { -#if defined(OS_LINUX) || defined(OS_CHROMEOS) +#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD) // The path to the external extension .json files. // /usr/share seems like a good choice, see: http://www.pathname.com/fhs/ const base::FilePath::CharType kFilepathSinglePrefExtensions[] = -+#if defined(OS_BSD) #if BUILDFLAG(GOOGLE_CHROME_BRANDING) -+ FILE_PATH_LITERAL("/usr/local/share/google-chrome/extensions"); -+#else +- FILE_PATH_LITERAL("/usr/share/google-chrome/extensions"); + FILE_PATH_LITERAL("/usr/local/share/chromium/extensions"); -+#endif // BUILDFLAG(GOOGLE_CHROME_BRANDING) -+#else -+#if BUILDFLAG(GOOGLE_CHROME_BRANDING) - FILE_PATH_LITERAL("/usr/share/google-chrome/extensions"); #else - FILE_PATH_LITERAL("/usr/share/chromium/extensions"); +- FILE_PATH_LITERAL("/usr/share/chromium/extensions"); ++ FILE_PATH_LITERAL("/usr/local/share/chromium/extensions"); #endif // BUILDFLAG(GOOGLE_CHROME_BRANDING) -+#endif - --#endif // defined(OS_LINUX) || defined(OS_CHROMEOS) -+#endif // defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD) - #if BUILDFLAG(ENABLE_WIDEVINE) - // The name of the hint file that tells the latest component updated Widevine -@@ -179,7 +187,7 @@ bool PathProvider(int key, base::FilePath* result) { + #endif // defined(OS_LINUX) || defined(OS_CHROMEOS) +@@ -178,7 +178,7 @@ bool PathProvider(int key, base::FilePath* result) { return false; break; case chrome::DIR_DEFAULT_DOWNLOADS_SAFE: -#if defined(OS_WIN) || defined(OS_LINUX) || defined(OS_CHROMEOS) +#if defined(OS_WIN) || defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD) if (!GetUserDownloadsDirectorySafe(&cur)) return false; break; -@@ -416,6 +424,9 @@ bool PathProvider(int key, base::FilePath* result) { +@@ -411,10 +411,12 @@ bool PathProvider(int key, base::FilePath* result) { + if (!base::PathExists(cur)) // We don't want to create this + return false; + break; +-#if defined(OS_POSIX) && !defined(OS_MAC) && !defined(OS_OPENBSD) ++#if defined(OS_POSIX) && !defined(OS_MAC) 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")); ++#elif defined(OS_FREEBSD) ++ cur = base::FilePath(FILE_PATH_LITERAL("/usr/local/etc/chromium/policies")); #else cur = base::FilePath(FILE_PATH_LITERAL("/etc/chromium/policies")); #endif -@@ -427,7 +438,7 @@ bool PathProvider(int key, base::FilePath* result) { +@@ -424,7 +426,7 @@ bool PathProvider(int key, base::FilePath* result) { + // TODO(crbug.com/1052397): Revisit once build flag switch of lacros-chrome is + // complete. #if BUILDFLAG(IS_CHROMEOS_ASH) || \ - ((defined(OS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS)) && \ +- ((defined(OS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS)) && \ ++ ((defined(OS_LINUX) || defined(OS_BSD) || BUILDFLAG(IS_CHROMEOS_LACROS)) && \ BUILDFLAG(CHROMIUM_BRANDING)) || \ -- defined(OS_MAC) -+ defined(OS_MAC) || defined(OS_BSD) + defined(OS_MAC) case chrome::DIR_USER_EXTERNAL_EXTENSIONS: { - if (!base::PathService::Get(chrome::DIR_USER_DATA, &cur)) - return false; -@@ -435,7 +446,7 @@ bool PathProvider(int key, base::FilePath* result) { +@@ -434,7 +436,7 @@ bool PathProvider(int key, base::FilePath* result) { break; } #endif -#if defined(OS_LINUX) || defined(OS_CHROMEOS) +#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD) case chrome::DIR_STANDALONE_EXTERNAL_EXTENSIONS: { cur = base::FilePath(kFilepathSinglePrefExtensions); break; -@@ -480,7 +491,7 @@ bool PathProvider(int key, base::FilePath* result) { +@@ -479,7 +481,7 @@ bool PathProvider(int key, base::FilePath* result) { break; #endif -#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_MAC) +#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_MAC) || defined(OS_BSD) case chrome::DIR_NATIVE_MESSAGING: #if defined(OS_MAC) #if BUILDFLAG(GOOGLE_CHROME_BRANDING) -@@ -494,6 +505,9 @@ bool PathProvider(int key, base::FilePath* result) { +@@ -493,6 +495,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) ++#elif defined(OS_FREEBSD) + cur = base::FilePath(FILE_PATH_LITERAL( -+ "/usr/local/etc/chrome/native-messaging-hosts")); ++ "/usr/local/etc/chromium/native-messaging-hosts")); #else cur = base::FilePath(FILE_PATH_LITERAL( "/etc/chromium/native-messaging-hosts")); -@@ -506,7 +520,7 @@ bool PathProvider(int key, base::FilePath* result) { - return false; - cur = cur.Append(FILE_PATH_LITERAL("NativeMessagingHosts")); - break; --#endif // defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_MAC) -+#endif // defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_MAC) || defined(OS_BSD) - #if !defined(OS_ANDROID) - case chrome::DIR_GLOBAL_GCM_STORE: - if (!base::PathService::Get(chrome::DIR_USER_DATA, &cur)) diff --git a/www/chromium/files/patch-chrome_common_chrome__paths.h b/www/chromium/files/patch-chrome_common_chrome__paths.h index 51ee7f8f0395..35700831e2fd 100644 --- a/www/chromium/files/patch-chrome_common_chrome__paths.h +++ b/www/chromium/files/patch-chrome_common_chrome__paths.h @@ -1,29 +1,29 @@ ---- chrome/common/chrome_paths.h.orig 2021-12-31 00:57:25 UTC +--- chrome/common/chrome_paths.h.orig 2022-02-07 13:39:41 UTC +++ chrome/common/chrome_paths.h -@@ -56,7 +56,7 @@ enum { +@@ -54,7 +54,7 @@ enum { + // TODO(crbug.com/1052397): Revisit once build flag switch of lacros-chrome is + // complete. #if BUILDFLAG(IS_CHROMEOS_ASH) || \ - ((defined(OS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS)) && \ +- ((defined(OS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS)) && \ ++ ((defined(OS_LINUX) || defined(OS_BSD) || BUILDFLAG(IS_CHROMEOS_LACROS)) && \ BUILDFLAG(CHROMIUM_BRANDING)) || \ -- defined(OS_MAC) -+ defined(OS_MAC) || defined(OS_BSD) + defined(OS_MAC) 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 @@ -64,7 +64,7 @@ enum { // create it. #endif -#if defined(OS_LINUX) || defined(OS_CHROMEOS) +#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD) DIR_STANDALONE_EXTERNAL_EXTENSIONS, // Directory for 'per-extension' // definition manifest files that // describe extensions which are to be @@ -105,7 +105,7 @@ enum { DIR_CHROMEOS_CUSTOM_WALLPAPERS, // Directory where custom wallpapers // reside. #endif -#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_MAC) +#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_MAC) || 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 diff --git a/www/chromium/files/patch-chrome_common_chrome__switches.cc b/www/chromium/files/patch-chrome_common_chrome__switches.cc index 1d0a4aa1728f..c24c55f0a33d 100644 --- a/www/chromium/files/patch-chrome_common_chrome__switches.cc +++ b/www/chromium/files/patch-chrome_common_chrome__switches.cc @@ -1,11 +1,11 @@ ---- chrome/common/chrome_switches.cc.orig 2021-12-31 00:57:25 UTC +--- chrome/common/chrome_switches.cc.orig 2022-02-07 13:39:41 UTC +++ chrome/common/chrome_switches.cc -@@ -793,7 +793,7 @@ const char kAllowNaClFileHandleAPI[] = "allow-n - const char kAllowNaClSocketAPI[] = "allow-nacl-socket-api"; +@@ -801,7 +801,7 @@ const char kAllowNaClSocketAPI[] = "allow-n #endif --#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_MAC) || \ -+#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_MAC) || defined(OS_BSD) || \ - defined(OS_WIN) || defined(OS_FUCHSIA) + #if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_MAC) || \ +- defined(OS_WIN) || defined(OS_FUCHSIA) ++ defined(OS_WIN) || defined(OS_FUCHSIA) || defined(OS_BSD) const char kEnableNewAppMenuIcon[] = "enable-new-app-menu-icon"; + // Causes the browser to launch directly in guest mode. diff --git a/www/chromium/files/patch-chrome_common_chrome__switches.h b/www/chromium/files/patch-chrome_common_chrome__switches.h index 3aaeabc9d5c4..951ad445ceb1 100644 --- a/www/chromium/files/patch-chrome_common_chrome__switches.h +++ b/www/chromium/files/patch-chrome_common_chrome__switches.h @@ -1,11 +1,11 @@ ---- chrome/common/chrome_switches.h.orig 2021-12-31 00:57:25 UTC +--- chrome/common/chrome_switches.h.orig 2022-02-07 13:39:41 UTC +++ chrome/common/chrome_switches.h -@@ -247,7 +247,7 @@ extern const char kAllowNaClFileHandleAPI[]; - extern const char kAllowNaClSocketAPI[]; +@@ -249,7 +249,7 @@ extern const char kAllowNaClSocketAPI[]; #endif --#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_MAC) || \ -+#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_MAC) || defined(OS_BSD) || \ - defined(OS_WIN) || defined(OS_FUCHSIA) + #if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_MAC) || \ +- defined(OS_WIN) || defined(OS_FUCHSIA) ++ defined(OS_WIN) || defined(OS_FUCHSIA) || defined(OS_BSD) extern const char kEnableNewAppMenuIcon[]; extern const char kGuest[]; + #endif diff --git a/www/chromium/files/patch-chrome_common_features.gni b/www/chromium/files/patch-chrome_common_features.gni deleted file mode 100644 index 361728e162cd..000000000000 --- a/www/chromium/files/patch-chrome_common_features.gni +++ /dev/null @@ -1,11 +0,0 @@ ---- chrome/common/features.gni.orig 2021-09-24 04:26:00 UTC -+++ chrome/common/features.gni -@@ -52,7 +52,7 @@ declare_args() { - enable_one_click_signin = is_win || is_mac || is_fuchsia || - ((is_linux || is_chromeos_lacros) && !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/chromium/files/patch-chrome_common_media_cdm__host__file__path.cc b/www/chromium/files/patch-chrome_common_media_cdm__host__file__path.cc new file mode 100644 index 000000000000..fc95a0ba855f --- /dev/null +++ b/www/chromium/files/patch-chrome_common_media_cdm__host__file__path.cc @@ -0,0 +1,11 @@ +--- chrome/common/media/cdm_host_file_path.cc.orig 2022-02-07 13:39:41 UTC ++++ chrome/common/media/cdm_host_file_path.cc +@@ -95,7 +95,7 @@ void AddCdmHostFilePaths( + cdm_host_file_paths->emplace_back(chrome_framework_path, + chrome_framework_sig_path); + +-#elif defined(OS_LINUX) || defined(OS_CHROMEOS) ++#elif defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD) + + base::FilePath chrome_exe_dir; + if (!base::PathService::Get(base::DIR_EXE, &chrome_exe_dir)) diff --git a/www/chromium/files/patch-chrome_common_pref__names.cc b/www/chromium/files/patch-chrome_common_pref__names.cc index b98f2812d054..3bf6b7313996 100644 --- a/www/chromium/files/patch-chrome_common_pref__names.cc +++ b/www/chromium/files/patch-chrome_common_pref__names.cc @@ -1,71 +1,56 @@ ---- chrome/common/pref_names.cc.orig 2021-12-31 00:57:26 UTC +--- chrome/common/pref_names.cc.orig 2022-02-07 13:39:41 UTC +++ chrome/common/pref_names.cc -@@ -1170,7 +1170,7 @@ const char kUseAshProxy[] = "lacros.proxy.use_ash_prox +@@ -1176,7 +1176,7 @@ const char kUseAshProxy[] = "lacros.proxy.use_ash_prox // TODO(crbug.com/1052397): Revisit the macro expression once build flag switch // of lacros-chrome is complete. -#if defined(OS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS) +#if defined(OS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS) || defined(OS_BSD) // Linux specific preference on whether we should match the system theme. const char kUsesSystemTheme[] = "extensions.theme.use_system"; #endif -@@ -1273,7 +1273,7 @@ const char kShowUpdatePromotionInfoBar[] = +@@ -1279,7 +1279,7 @@ const char kShowUpdatePromotionInfoBar[] = // TODO(crbug.com/1052397): Revisit the macro expression once build flag switch // of lacros-chrome is complete. -#if defined(OS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS) +#if defined(OS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS) || defined(OS_BSD) // 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"; -@@ -1742,7 +1742,7 @@ const char kDownloadDefaultDirectory[] = "download.def - // upgrade a unsafe location to a safe location. +@@ -1753,7 +1753,7 @@ const char kDownloadDefaultDirectory[] = "download.def const char kDownloadDirUpgraded[] = "download.directory_upgrade"; --#if defined(OS_WIN) || defined(OS_LINUX) || defined(OS_CHROMEOS) || \ -+#if defined(OS_WIN) || defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD) || \ - defined(OS_MAC) + #if defined(OS_WIN) || defined(OS_LINUX) || defined(OS_CHROMEOS) || \ +- defined(OS_MAC) ++ defined(OS_MAC) || defined(OS_BSD) const char kOpenPdfDownloadInSystemReader[] = "download.open_pdf_in_system_reader"; -@@ -2035,7 +2035,7 @@ const char kWebAppsPreferences[] = "web_apps.web_app_i + #endif +@@ -2040,7 +2040,7 @@ const char kWebAppsPreferences[] = "web_apps.web_app_i + // its isolation requirements. const char kWebAppsIsolationState[] = "web_apps.isolation_state"; - #if defined(OS_WIN) || defined(OS_MAC) || \ -- (defined(OS_LINUX) && !BUILDFLAG(IS_CHROMEOS_LACROS)) -+ (defined(OS_LINUX) && !BUILDFLAG(IS_CHROMEOS_LACROS)) || defined(OS_BSD) +-#if defined(OS_WIN) || defined(OS_MAC) || \ ++#if defined(OS_WIN) || defined(OS_MAC) || defined(OS_BSD) || \ + (defined(OS_LINUX) && !BUILDFLAG(IS_CHROMEOS_LACROS)) // Dictionary that maps origins to web apps that can act as URL handlers. const char kWebAppsUrlHandlerInfo[] = "web_apps.url_handler_info"; - #endif -@@ -2162,12 +2162,12 @@ const char kAmbientAuthenticationInPrivateModesEnabled +@@ -2168,7 +2168,7 @@ const char kAmbientAuthenticationInPrivateModesEnabled // requests. const char kBasicAuthOverHttpEnabled[] = "auth.basic_over_http_enabled"; -#if defined(OS_LINUX) || defined(OS_MAC) || defined(OS_CHROMEOS) +#if defined(OS_LINUX) || defined(OS_MAC) || defined(OS_CHROMEOS) || defined(OS_BSD) // Boolean that specifies whether OK-AS-DELEGATE flag from KDC is respected // along with kAuthNegotiateDelegateAllowlist. const char kAuthNegotiateDelegateByKdcPolicy[] = - "auth.negotiate_delegate_by_kdc_policy"; --#endif // defined(OS_LINUX) || defined(OS_MAC) || defined(OS_CHROMEOS) -+#endif // defined(OS_LINUX) || defined(OS_MAC) || defined(OS_CHROMEOS) || defined(OS_BSD) - - #if defined(OS_POSIX) || defined(OS_FUCHSIA) - // Boolean that specifies whether NTLMv2 is enabled. -@@ -3135,7 +3135,7 @@ const char kBlockAutoplayEnabled[] = "media.block_auto +@@ -3124,7 +3124,7 @@ const char kBlockAutoplayEnabled[] = "media.block_auto const char kSandboxExternalProtocolBlocked[] = "profile.sandbox_external_protocol_blocked"; -#if defined(OS_LINUX) +#if defined(OS_LINUX) || defined(OS_BSD) // Boolean that indicates if native notifications are allowed to be used in // place of Chrome notifications. Will be replaced by kAllowSystemNotifications. const char kAllowNativeNotifications[] = "native_notifications.allowed"; -@@ -3143,7 +3143,7 @@ const char kAllowNativeNotifications[] = "native_notif - // Boolean that indicates if system notifications are allowed to be used in - // place of Chrome notifications. - const char kAllowSystemNotifications[] = "system_notifications.allowed"; --#endif // defined(OS_LINUX) -+#endif // defined(OS_LINUX) || defined(OS_BSD) - - // Integer that holds the value of the next persistent notification ID to be - // used. diff --git a/www/chromium/files/patch-chrome_common_pref__names.h b/www/chromium/files/patch-chrome_common_pref__names.h index 27695b902b43..06441b388200 100644 --- a/www/chromium/files/patch-chrome_common_pref__names.h +++ b/www/chromium/files/patch-chrome_common_pref__names.h @@ -1,59 +1,56 @@ ---- chrome/common/pref_names.h.orig 2021-12-31 00:57:26 UTC +--- chrome/common/pref_names.h.orig 2022-02-07 13:39:41 UTC +++ chrome/common/pref_names.h @@ -371,7 +371,7 @@ extern const char kUseAshProxy[]; #endif // BUILDFLAG(IS_CHROMEOS_LACROS) // TODO(crbug.com/1052397): Revisit the macro expression once build flag switch // of lacros-chrome is complete. -#if defined(OS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS) +#if defined(OS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS) || defined(OS_BSD) extern const char kUsesSystemTheme[]; #endif extern const char kCurrentThemePackFilename[]; @@ -400,7 +400,7 @@ extern const char kShowUpdatePromotionInfoBar[]; #endif // TODO(crbug.com/1052397): Revisit the macro expression once build flag switch // of lacros-chrome is complete. -#if defined(OS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS) +#if defined(OS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS) || defined(OS_BSD) extern const char kUseCustomChromeFrame[]; #endif #if BUILDFLAG(ENABLE_PLUGINS) -@@ -582,7 +582,7 @@ extern const char kDownloadExtensionsToOpen[]; - extern const char kDownloadExtensionsToOpenByPolicy[]; +@@ -583,7 +583,7 @@ extern const char kDownloadExtensionsToOpenByPolicy[]; extern const char kDownloadAllowedURLsForOpenByPolicy[]; extern const char kDownloadDirUpgraded[]; --#if defined(OS_WIN) || defined(OS_LINUX) || defined(OS_CHROMEOS) || \ -+#if defined(OS_WIN) || defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD) || \ - defined(OS_MAC) + #if defined(OS_WIN) || defined(OS_LINUX) || defined(OS_CHROMEOS) || \ +- defined(OS_MAC) ++ defined(OS_MAC) || defined(OS_BSD) extern const char kOpenPdfDownloadInSystemReader[]; #endif -@@ -691,7 +691,7 @@ extern const char kWebAppsPreferences[]; + #if defined(OS_ANDROID) +@@ -689,7 +689,7 @@ extern const char kWebAppsUninstalledDefaultChromeApps + extern const char kWebAppsPreferences[]; extern const char kWebAppsIsolationState[]; - #if defined(OS_WIN) || defined(OS_MAC) || \ -- (defined(OS_LINUX) && !BUILDFLAG(IS_CHROMEOS_LACROS)) -+ (defined(OS_LINUX) && !BUILDFLAG(IS_CHROMEOS_LACROS)) || defined(OS_BSD) +-#if defined(OS_WIN) || defined(OS_MAC) || \ ++#if defined(OS_WIN) || defined(OS_MAC) || defined(OS_BSD) || \ + (defined(OS_LINUX) && !BUILDFLAG(IS_CHROMEOS_LACROS)) extern const char kWebAppsUrlHandlerInfo[]; #endif - -@@ -831,9 +831,9 @@ extern const char kGloballyScopeHTTPAuthCacheEnabled[] +@@ -830,7 +830,7 @@ extern const char kGloballyScopeHTTPAuthCacheEnabled[] extern const char kAmbientAuthenticationInPrivateModesEnabled[]; extern const char kBasicAuthOverHttpEnabled[]; -#if defined(OS_LINUX) || defined(OS_MAC) || defined(OS_CHROMEOS) +#if defined(OS_LINUX) || defined(OS_MAC) || defined(OS_CHROMEOS) || defined(OS_BSD) extern const char kAuthNegotiateDelegateByKdcPolicy[]; --#endif // defined(OS_LINUX) || defined(OS_MAC) || defined(OS_CHROMEOS) -+#endif // defined(OS_LINUX) || defined(OS_MAC) || defined(OS_CHROMEOS) || defined(OS_BSD) + #endif // defined(OS_LINUX) || defined(OS_MAC) || defined(OS_CHROMEOS) - #if defined(OS_POSIX) || defined(OS_FUCHSIA) - extern const char kNtlmV2Enabled[]; -@@ -1079,7 +1079,7 @@ extern const char kBlockAutoplayEnabled[]; +@@ -1074,7 +1074,7 @@ extern const char kBlockAutoplayEnabled[]; #endif extern const char kSandboxExternalProtocolBlocked[]; -#if defined(OS_LINUX) +#if defined(OS_LINUX) || defined(OS_BSD) extern const char kAllowNativeNotifications[]; extern const char kAllowSystemNotifications[]; #endif diff --git a/www/chromium/files/patch-chrome_common_profiler_thread__profiler.cc b/www/chromium/files/patch-chrome_common_profiler_thread__profiler.cc deleted file mode 100644 index 47725ace7955..000000000000 --- a/www/chromium/files/patch-chrome_common_profiler_thread__profiler.cc +++ /dev/null @@ -1,20 +0,0 @@ ---- chrome/common/profiler/thread_profiler.cc.orig 2021-04-23 13:14:22 UTC -+++ chrome/common/profiler/thread_profiler.cc -@@ -58,6 +58,9 @@ ThreadProfiler* g_main_thread_instance = nullptr; - constexpr double kFractionOfExecutionTimeToSample = 0.02; - - bool IsCurrentProcessBackgrounded() { -+#if defined(OS_BSD) -+ return false; -+#else - #if defined(OS_MAC) - // Port provider that returns the calling process's task port, ignoring its - // argument. -@@ -71,6 +74,7 @@ bool IsCurrentProcessBackgrounded() { - #else // defined(OS_MAC) - return base::Process::Current().IsProcessBackgrounded(); - #endif // defined(OS_MAC) -+#endif - } - - #if defined(OS_ANDROID) && BUILDFLAG(ENABLE_ARM_CFI_TABLE) diff --git a/www/chromium/files/patch-chrome_common_safe__browsing_BUILD.gn b/www/chromium/files/patch-chrome_common_safe__browsing_BUILD.gn deleted file mode 100644 index 3c4a874364f8..000000000000 --- a/www/chromium/files/patch-chrome_common_safe__browsing_BUILD.gn +++ /dev/null @@ -1,38 +0,0 @@ ---- chrome/common/safe_browsing/BUILD.gn.orig 2021-12-17 11:44:29 UTC -+++ chrome/common/safe_browsing/BUILD.gn -@@ -30,7 +30,7 @@ if (safe_browsing_mode == 1) { - public_deps = [ "//components/safe_browsing/core/common/proto:csd_proto" ] - } - -- if (is_linux || is_win) { -+ if ((is_linux || is_win) && !is_bsd) { - source_set("document_analyzer_results") { - sources = [ - "document_analyzer_results.cc", -@@ -91,7 +91,7 @@ if (safe_browsing_mode == 1) { - public_deps = [ "//components/safe_browsing/core/common/proto:csd_proto" ] - } - -- if (is_linux || is_win) { -+ if ((is_linux || is_win) && !is_bsd) { - source_set("document_analyzer") { - sources = [ - "document_analyzer.cc", -@@ -193,7 +193,7 @@ source_set("safe_browsing") { - "//components/safe_browsing/core/common", - ] - -- if (is_linux) { -+ if (is_linux && !is_bsd) { - deps += [ ":document_analyzer" ] - } - -@@ -207,7 +207,7 @@ source_set("safe_browsing") { - "//third_party/zlib/google:zip", - ] - -- if (is_linux || is_win) { -+ if ((is_linux || is_win) && !is_bsd) { - public_deps += [ - ":document_analyzer_results", - ] diff --git a/www/chromium/files/patch-chrome_common_webui__url__constants.cc b/www/chromium/files/patch-chrome_common_webui__url__constants.cc index 27a3cbcb2b20..97ad0864ac25 100644 --- a/www/chromium/files/patch-chrome_common_webui__url__constants.cc +++ b/www/chromium/files/patch-chrome_common_webui__url__constants.cc @@ -1,66 +1,81 @@ ---- chrome/common/webui_url_constants.cc.orig 2021-12-31 00:57:26 UTC +--- chrome/common/webui_url_constants.cc.orig 2022-02-07 13:39:41 UTC +++ chrome/common/webui_url_constants.cc -@@ -385,12 +385,12 @@ const char kChromeUIWebUIJsErrorHost[] = "webuijserror +@@ -424,18 +424,18 @@ const char kOsUIFlagsURL[] = "os://flags"; + const char kOsUIVersionURL[] = "os://version"; + #endif + +-#if defined(OS_LINUX) || defined(OS_CHROMEOS) ++#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD) + const char kChromeUIWebUIJsErrorHost[] = "webuijserror"; const char kChromeUIWebUIJsErrorURL[] = "chrome://webuijserror/"; #endif --#if defined(OS_WIN) || defined(OS_MAC) || defined(OS_LINUX) || \ -+#if defined(OS_WIN) || defined(OS_MAC) || defined(OS_LINUX) || defined(OS_BSD) || \ - defined(OS_CHROMEOS) + #if defined(OS_WIN) || defined(OS_MAC) || defined(OS_LINUX) || \ +- defined(OS_CHROMEOS) ++ defined(OS_CHROMEOS) || defined(OS_BSD) const char kChromeUIConnectorsInternalsHost[] = "connectors-internals"; #endif --#if defined(OS_WIN) || defined(OS_MAC) || defined(OS_LINUX) || \ -+#if defined(OS_WIN) || defined(OS_MAC) || defined(OS_LINUX) || defined(OS_BSD) || \ - defined(OS_CHROMEOS) + #if defined(OS_WIN) || defined(OS_MAC) || defined(OS_LINUX) || \ +- defined(OS_CHROMEOS) ++ defined(OS_CHROMEOS) || defined(OS_BSD) const char kChromeUIDiscardsHost[] = "discards"; const char kChromeUIDiscardsURL[] = "chrome://discards/"; -@@ -405,7 +405,7 @@ const char kChromeUINearbyShareURL[] = "chrome://nearb - const char kChromeUILinuxProxyConfigHost[] = "linux-proxy-config"; + #endif +@@ -450,14 +450,14 @@ const char kChromeUILinuxProxyConfigHost[] = "linux-pr #endif --#if defined(OS_WIN) || defined(OS_LINUX) || defined(OS_CHROMEOS) || \ -+#if defined(OS_WIN) || defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD) || \ - defined(OS_ANDROID) + #if defined(OS_WIN) || defined(OS_LINUX) || defined(OS_CHROMEOS) || \ +- defined(OS_ANDROID) ++ defined(OS_ANDROID) || defined(OS_BSD) const char kChromeUISandboxHost[] = "sandbox"; #endif -@@ -413,7 +413,7 @@ const char kChromeUISandboxHost[] = "sandbox"; + // TODO(crbug.com/1052397): Revisit the macro expression once build flag switch // of lacros-chrome is complete. #if defined(OS_WIN) || defined(OS_MAC) || defined(OS_FUCHSIA) || \ - (defined(OS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS)) + (defined(OS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS)) || defined(OS_BSD) const char kChromeUIBrowserSwitchHost[] = "browser-switch"; const char kChromeUIBrowserSwitchURL[] = "chrome://browser-switch/"; const char kChromeUIEnterpriseProfileWelcomeHost[] = -@@ -428,7 +428,7 @@ const char kChromeUIProfilePickerUrl[] = "chrome://pro +@@ -472,7 +472,7 @@ const char kChromeUIProfilePickerUrl[] = "chrome://pro const char kChromeUIProfilePickerStartupQuery[] = "startup"; #endif -#if ((defined(OS_LINUX) || defined(OS_CHROMEOS)) && defined(TOOLKIT_VIEWS)) || \ -+#if ((defined(OS_LINUX) || defined(OS_CHROMEOS)) && defined(TOOLKIT_VIEWS)) || defined(OS_BSD) || \ ++#if ((defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD)) && defined(TOOLKIT_VIEWS)) || \ defined(USE_AURA) const char kChromeUITabModalConfirmDialogHost[] = "tab-modal-confirm-dialog"; #endif -@@ -615,18 +615,18 @@ const char* const kChromeHostURLs[] = { - kChromeUIInternetDetailDialogHost, +@@ -661,18 +661,18 @@ const char* const kChromeHostURLs[] = { kChromeUIAssistantOptInHost, #endif --#if defined(OS_WIN) || defined(OS_MAC) || defined(OS_LINUX) || \ -+#if defined(OS_WIN) || defined(OS_MAC) || defined(OS_LINUX) || defined(OS_BSD) || \ - defined(OS_CHROMEOS) + #if defined(OS_WIN) || defined(OS_MAC) || defined(OS_LINUX) || \ +- defined(OS_CHROMEOS) ++ defined(OS_CHROMEOS) || defined(OS_BSD) kChromeUIConnectorsInternalsHost, #endif --#if defined(OS_WIN) || defined(OS_MAC) || defined(OS_LINUX) || \ -+#if defined(OS_WIN) || defined(OS_MAC) || defined(OS_LINUX) || defined(OS_BSD) || \ - defined(OS_CHROMEOS) + #if defined(OS_WIN) || defined(OS_MAC) || defined(OS_LINUX) || \ +- defined(OS_CHROMEOS) ++ defined(OS_CHROMEOS) || defined(OS_BSD) kChromeUIDiscardsHost, #endif #if defined(OS_POSIX) && !defined(OS_MAC) && !defined(OS_ANDROID) kChromeUILinuxProxyConfigHost, #endif --#if defined(OS_WIN) || defined(OS_LINUX) || defined(OS_CHROMEOS) || \ -+#if defined(OS_WIN) || defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD) || \ - defined(OS_ANDROID) + #if defined(OS_WIN) || defined(OS_LINUX) || defined(OS_CHROMEOS) || \ +- defined(OS_ANDROID) ++ defined(OS_ANDROID) || defined(OS_BSD) kChromeUISandboxHost, #endif + #if defined(OS_WIN) +@@ -729,7 +729,7 @@ const char* const kChromeDebugURLs[] = { + blink::kChromeUIGpuJavaCrashURL, + kChromeUIJavaCrashURL, + #endif +-#if defined(OS_LINUX) || defined(OS_CHROMEOS) ++#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD) + kChromeUIWebUIJsErrorURL, + #endif + kChromeUIQuitURL, diff --git a/www/chromium/files/patch-chrome_common_webui__url__constants.h b/www/chromium/files/patch-chrome_common_webui__url__constants.h index 9933f0bea340..4193da7b7956 100644 --- a/www/chromium/files/patch-chrome_common_webui__url__constants.h +++ b/www/chromium/files/patch-chrome_common_webui__url__constants.h @@ -1,44 +1,50 @@ ---- chrome/common/webui_url_constants.h.orig 2021-12-14 11:45:00 UTC +--- chrome/common/webui_url_constants.h.orig 2022-02-07 13:39:41 UTC +++ chrome/common/webui_url_constants.h -@@ -329,12 +329,12 @@ extern const char kChromeUIWebUIJsErrorHost[]; +@@ -368,18 +368,18 @@ extern const char kOsUIFlagsURL[]; + extern const char kOsUIVersionURL[]; + #endif + +-#if defined(OS_LINUX) || defined(OS_CHROMEOS) ++#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD) + extern const char kChromeUIWebUIJsErrorHost[]; extern const char kChromeUIWebUIJsErrorURL[]; #endif --#if defined(OS_WIN) || defined(OS_MAC) || defined(OS_LINUX) || \ -+#if defined(OS_WIN) || defined(OS_MAC) || defined(OS_LINUX) || defined(OS_BSD) || \ - defined(OS_CHROMEOS) + #if defined(OS_WIN) || defined(OS_MAC) || defined(OS_LINUX) || \ +- defined(OS_CHROMEOS) ++ defined(OS_CHROMEOS) || defined(OS_BSD) extern const char kChromeUIConnectorsInternalsHost[]; #endif --#if defined(OS_WIN) || defined(OS_MAC) || defined(OS_LINUX) || \ -+#if defined(OS_WIN) || defined(OS_MAC) || defined(OS_LINUX) || defined(OS_BSD) || \ - defined(OS_CHROMEOS) || defined(OS_FUCHSIA) + #if defined(OS_WIN) || defined(OS_MAC) || defined(OS_LINUX) || \ +- defined(OS_CHROMEOS) || defined(OS_FUCHSIA) ++ defined(OS_CHROMEOS) || defined(OS_FUCHSIA) || defined(OS_BSD) extern const char kChromeUIDiscardsHost[]; extern const char kChromeUIDiscardsURL[]; -@@ -349,7 +349,7 @@ extern const char kChromeUINearbyShareURL[]; - extern const char kChromeUILinuxProxyConfigHost[]; + #endif +@@ -394,14 +394,14 @@ extern const char kChromeUILinuxProxyConfigHost[]; #endif --#if defined(OS_WIN) || defined(OS_LINUX) || defined(OS_CHROMEOS) || \ -+#if defined(OS_WIN) || defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD) || \ - defined(OS_ANDROID) + #if defined(OS_WIN) || defined(OS_LINUX) || defined(OS_CHROMEOS) || \ +- defined(OS_ANDROID) ++ defined(OS_ANDROID) || defined(OS_BSD) extern const char kChromeUISandboxHost[]; #endif -@@ -357,7 +357,7 @@ extern const char kChromeUISandboxHost[]; + // TODO(crbug.com/1052397): Revisit the macro expression once build flag switch // of lacros-chrome is complete. #if defined(OS_WIN) || defined(OS_MAC) || defined(OS_FUCHSIA) || \ - (defined(OS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS)) + (defined(OS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS)) || defined(OS_BSD) extern const char kChromeUIBrowserSwitchHost[]; extern const char kChromeUIBrowserSwitchURL[]; extern const char kChromeUIEnterpriseProfileWelcomeHost[]; -@@ -369,7 +369,7 @@ extern const char kChromeUIProfilePickerUrl[]; +@@ -413,7 +413,7 @@ extern const char kChromeUIProfilePickerUrl[]; extern const char kChromeUIProfilePickerStartupQuery[]; #endif -#if ((defined(OS_LINUX) || defined(OS_CHROMEOS)) && defined(TOOLKIT_VIEWS)) || \ -+#if ((defined(OS_LINUX) || defined(OS_CHROMEOS)) && defined(TOOLKIT_VIEWS)) || defined(OS_BSD) || \ ++#if ((defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD)) && defined(TOOLKIT_VIEWS)) || \ defined(USE_AURA) extern const char kChromeUITabModalConfirmDialogHost[]; #endif diff --git a/www/chromium/files/patch-chrome_renderer_chrome__render__frame__observer.cc b/www/chromium/files/patch-chrome_renderer_chrome__render__frame__observer.cc index f8f72f960a37..1a96c74f899d 100644 --- a/www/chromium/files/patch-chrome_renderer_chrome__render__frame__observer.cc +++ b/www/chromium/files/patch-chrome_renderer_chrome__render__frame__observer.cc @@ -1,11 +1,11 @@ ---- chrome/renderer/chrome_render_frame_observer.cc.orig 2021-12-31 00:57:26 UTC +--- chrome/renderer/chrome_render_frame_observer.cc.orig 2022-02-07 13:39:41 UTC +++ chrome/renderer/chrome_render_frame_observer.cc -@@ -280,7 +280,7 @@ void ChromeRenderFrameObserver::OnDestruct() { - } +@@ -281,7 +281,7 @@ void ChromeRenderFrameObserver::OnDestruct() { void ChromeRenderFrameObserver::DraggableRegionsChanged() { --#if defined(OS_WIN) || defined(OS_MAC) || defined(OS_LINUX) || \ -+#if defined(OS_WIN) || defined(OS_MAC) || defined(OS_LINUX) || defined(OS_BSD) || \ - defined(OS_CHROMEOS) + #if defined(OS_WIN) || defined(OS_MAC) || defined(OS_LINUX) || \ +- defined(OS_CHROMEOS) ++ defined(OS_CHROMEOS) || defined(OS_BSD) // Only the main frame is allowed to control draggable regions, to avoid other // frames manipulate the regions in the browser process. + if (!render_frame()->IsMainFrame()) diff --git a/www/chromium/files/patch-chrome_renderer_pepper_pepper__flash__font__file__host.h b/www/chromium/files/patch-chrome_renderer_pepper_pepper__flash__font__file__host.h index 89e705c66a7a..bd033f536abb 100644 --- a/www/chromium/files/patch-chrome_renderer_pepper_pepper__flash__font__file__host.h +++ b/www/chromium/files/patch-chrome_renderer_pepper_pepper__flash__font__file__host.h @@ -1,20 +1,20 @@ ---- chrome/renderer/pepper/pepper_flash_font_file_host.h.orig 2021-12-14 11:45:00 UTC +--- chrome/renderer/pepper/pepper_flash_font_file_host.h.orig 2022-02-07 13:39:41 UTC +++ chrome/renderer/pepper/pepper_flash_font_file_host.h -@@ -14,7 +14,7 @@ +@@ -12,7 +12,7 @@ #include "ppapi/c/private/pp_private_font_charset.h" #include "ppapi/host/resource_host.h" -#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_OPENBSD) +#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD) #include "base/files/file.h" #elif defined(OS_WIN) #include "third_party/skia/include/core/SkRefCnt.h" -@@ -54,7 +54,7 @@ class PepperFlashFontFileHost : public ppapi::host::Re +@@ -52,7 +52,7 @@ class PepperFlashFontFileHost : public ppapi::host::Re uint32_t table); bool GetFontData(uint32_t table, void* buffer, size_t* length); -#if defined(OS_LINUX) || defined(OS_CHROMEOS) +#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD) base::File font_file_; #elif defined(OS_WIN) sk_sp typeface_; diff --git a/www/chromium/files/patch-chrome_services_file__util_BUILD.gn b/www/chromium/files/patch-chrome_services_file__util_BUILD.gn deleted file mode 100644 index aec14c29f0d1..000000000000 --- a/www/chromium/files/patch-chrome_services_file__util_BUILD.gn +++ /dev/null @@ -1,20 +0,0 @@ ---- chrome/services/file_util/BUILD.gn.orig 2021-12-17 12:04:10 UTC -+++ chrome/services/file_util/BUILD.gn -@@ -48,7 +48,7 @@ source_set("file_util") { - "safe_archive_analyzer.h", - ] - -- if (is_linux || is_win) { -+ if ((is_linux || is_win) && !is_bsd) { - sources += [ - "document_analysis_service.cc", - "document_analysis_service.h", -@@ -63,7 +63,7 @@ source_set("file_util") { - "//chrome/common/safe_browsing:rar_analyzer", - ] - -- if (is_linux || is_win) { -+ if ((is_linux || is_win) && !is_bsd) { - deps += [ - "//chrome/common/safe_browsing:document_analyzer", - "//chrome/common/safe_browsing:document_analyzer_results", diff --git a/www/chromium/files/patch-chrome_services_file__util_public_cpp_BUILD.gn b/www/chromium/files/patch-chrome_services_file__util_public_cpp_BUILD.gn deleted file mode 100644 index 6c82ac03aa34..000000000000 --- a/www/chromium/files/patch-chrome_services_file__util_public_cpp_BUILD.gn +++ /dev/null @@ -1,20 +0,0 @@ ---- chrome/services/file_util/public/cpp/BUILD.gn.orig 2021-12-17 12:05:27 UTC -+++ chrome/services/file_util/public/cpp/BUILD.gn -@@ -31,7 +31,7 @@ source_set("cpp") { - ] - } - -- if (is_linux || is_win) { -+ if ((is_linux || is_win) && !is_bsd) { - sources += [ - "sandboxed_document_analyzer.cc", - "sandboxed_document_analyzer.h", -@@ -78,7 +78,7 @@ if (safe_browsing_mode == 1) { - "//testing/gtest", - ] - -- if (is_linux || is_win) { -+ if ((is_linux || is_win) && !is_bsd) { - deps += [ "//chrome/common/safe_browsing:document_analyzer_results" ] - } - } diff --git a/www/chromium/files/patch-chrome_services_file__util_public_features.gni b/www/chromium/files/patch-chrome_services_file__util_public_features.gni deleted file mode 100644 index 6982594069b6..000000000000 --- a/www/chromium/files/patch-chrome_services_file__util_public_features.gni +++ /dev/null @@ -1,9 +0,0 @@ ---- chrome/services/file_util/public/features.gni.orig 2022-01-03 16:49:41 UTC -+++ chrome/services/file_util/public/features.gni -@@ -11,5 +11,5 @@ declare_args() { - enable_xz_extractor = enable_extensions - - # Enables analysis of Office documents for malicious macros -- enable_maldoca = is_linux || is_win -+ enable_maldoca = (is_linux || is_win) && !is_bsd - } diff --git a/www/chromium/files/patch-chrome_services_file__util_public_mojom_safe__document__analyzer__mojom__traits.h b/www/chromium/files/patch-chrome_services_file__util_public_mojom_safe__document__analyzer__mojom__traits.h index 69344368a2fa..901ed553c835 100644 --- a/www/chromium/files/patch-chrome_services_file__util_public_mojom_safe__document__analyzer__mojom__traits.h +++ b/www/chromium/files/patch-chrome_services_file__util_public_mojom_safe__document__analyzer__mojom__traits.h @@ -1,13 +1,11 @@ ---- chrome/services/file_util/public/mojom/safe_document_analyzer_mojom_traits.h.orig 2021-12-16 14:56:45 UTC +--- chrome/services/file_util/public/mojom/safe_document_analyzer_mojom_traits.h.orig 2022-02-07 13:39:41 UTC +++ chrome/services/file_util/public/mojom/safe_document_analyzer_mojom_traits.h -@@ -14,8 +14,8 @@ +@@ -14,7 +14,7 @@ #include "mojo/public/cpp/bindings/enum_traits.h" #include "mojo/public/cpp/bindings/struct_traits.h" -#if !BUILDFLAG(FULL_SAFE_BROWSING) || (!defined(OS_LINUX) && !defined(OS_WIN)) --#error BUILDFLAG(FULL_SAFE_BROWSING) should be set and either OS_LINUX or OS_WIN defined. +#if !BUILDFLAG(FULL_SAFE_BROWSING) || (!defined(OS_LINUX) && !defined(OS_WIN) && !defined(OS_BSD)) -+#error BUILDFLAG(FULL_SAFE_BROWSING) should be set and either OS_LINUX, OS_BSD or OS_WIN defined. + #error BUILDFLAG(FULL_SAFE_BROWSING) should be set and either OS_LINUX or OS_WIN defined. #endif - namespace mojo { diff --git a/www/chromium/files/patch-chrome_services_printing_print__backend__service__impl.cc b/www/chromium/files/patch-chrome_services_printing_print__backend__service__impl.cc index becdc4372d7c..83fac7acf3c6 100644 --- a/www/chromium/files/patch-chrome_services_printing_print__backend__service__impl.cc +++ b/www/chromium/files/patch-chrome_services_printing_print__backend__service__impl.cc @@ -1,20 +1,11 @@ ---- chrome/services/printing/print_backend_service_impl.cc.orig 2021-12-16 14:57:02 UTC +--- chrome/services/printing/print_backend_service_impl.cc.orig 2022-02-07 13:39:41 UTC +++ chrome/services/printing/print_backend_service_impl.cc -@@ -327,7 +327,7 @@ void PrintBackendServiceImpl::UpdatePrintSettings( +@@ -404,7 +404,7 @@ void PrintBackendServiceImpl::UpdatePrintSettings( crash_keys_ = std::make_unique( print_backend_->GetPrinterDriverInfo(printer_name)); -#if defined(OS_LINUX) && defined(USE_CUPS) +#if (defined(OS_LINUX) || defined(OS_BSD)) && defined(USE_CUPS) // Try to fill in advanced settings based upon basic info options. PrinterBasicInfo basic_info; if (print_backend_->GetPrinterBasicInfo(printer_name, &basic_info) == -@@ -338,7 +338,7 @@ void PrintBackendServiceImpl::UpdatePrintSettings( - - job_settings[kSettingAdvancedSettings] = std::move(advanced_settings); - } --#endif // defined(OS_LINUX) && defined(USE_CUPS) -+#endif // (defined(OS_LINUX) || defined(OS_BSD)) && defined(USE_CUPS) - - // Use a one-time `PrintingContext` to do the update to print settings. - // Intentionally do not cache this context here since the process model does diff --git a/www/chromium/files/patch-chrome_services_speech_soda_soda__test__paths.h b/www/chromium/files/patch-chrome_services_speech_soda_soda__test__paths.h deleted file mode 100644 index 9775a8f1fcec..000000000000 --- a/www/chromium/files/patch-chrome_services_speech_soda_soda__test__paths.h +++ /dev/null @@ -1,11 +0,0 @@ ---- chrome/services/speech/soda/soda_test_paths.h.orig 2021-09-14 01:51:52 UTC -+++ chrome/services/speech/soda/soda_test_paths.h -@@ -34,7 +34,7 @@ constexpr base::FilePath::CharType kSodaResourcePath[] - constexpr base::FilePath::CharType kSodaTestBinaryRelativePath[] = - FILE_PATH_LITERAL("SODA_for_testing.dll"); - --#elif defined(OS_LINUX) -+#elif defined(OS_LINUX) || defined(OS_BSD) - - constexpr base::FilePath::CharType kSodaResourcePath[] = - FILE_PATH_LITERAL("third_party/soda/resources"); diff --git a/www/chromium/files/patch-chrome_test_BUILD.gn b/www/chromium/files/patch-chrome_test_BUILD.gn index 87ccf30cbaf9..b13419bcfc7c 100644 --- a/www/chromium/files/patch-chrome_test_BUILD.gn +++ b/www/chromium/files/patch-chrome_test_BUILD.gn @@ -1,38 +1,11 @@ ---- chrome/test/BUILD.gn.orig 2021-12-31 00:57:26 UTC +--- chrome/test/BUILD.gn.orig 2022-02-07 13:39:41 UTC +++ chrome/test/BUILD.gn -@@ -538,7 +538,7 @@ static_library("test_support") { - ] - } - -- if (!is_fuchsia) { -+ if (!is_fuchsia && !is_bsd) { - public_deps += [ "//components/crash/core/app" ] - } - -@@ -2191,7 +2191,7 @@ if (!is_android && !is_fuchsia) { - sources += [ "../browser/ui/views/frame/desktop_browser_frame_aura_linux_browsertest.cc" ] - } - -- if (is_linux || is_chromeos) { -+ if ((is_linux || is_chromeos) && !is_bsd) { - sources += [ - "../browser/error_reporting/webui_js_error_reporting_browsertest.cc", - ] -@@ -6604,7 +6604,7 @@ test("unit_tests") { - ] - } - -- if (is_linux || is_chromeos) { -+ if ((is_linux || is_chromeos) && !is_bsd) { - deps += [ "//chrome/browser/error_reporting:unit_test" ] - } - -@@ -8765,7 +8765,7 @@ test("chrome_app_unittests") { +@@ -8820,7 +8820,7 @@ test("chrome_app_unittests") { "//components/safe_browsing:buildflags", "//pdf:pdf_ppapi", ] - if (!is_fuchsia) { + if (!is_fuchsia && !is_bsd) { deps += [ "//third_party/breakpad:client" ] } if (enable_gwp_asan) { diff --git a/www/chromium/files/patch-chrome_test_base_in__process__browser__test.cc b/www/chromium/files/patch-chrome_test_base_in__process__browser__test.cc deleted file mode 100644 index 9c9f5f8c5efb..000000000000 --- a/www/chromium/files/patch-chrome_test_base_in__process__browser__test.cc +++ /dev/null @@ -1,31 +0,0 @@ ---- chrome/test/base/in_process_browser_test.cc.orig 2021-12-14 11:45:00 UTC -+++ chrome/test/base/in_process_browser_test.cc -@@ -82,6 +82,10 @@ - #include "services/device/public/cpp/test/fake_geolocation_manager.h" - #endif - -+#if defined(OS_FREEBSD) -+#include -+#endif -+ - #if defined(OS_WIN) - #include "base/win/scoped_com_initializer.h" - #include "base/win/windows_version.h" -@@ -345,7 +349,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_MAC) || defined(OS_LINUX) || defined(OS_CHROMEOS) -+#if defined(OS_MAC) || defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD) - OSCryptMocker::SetUp(); - #endif - -@@ -418,7 +422,7 @@ void InProcessBrowserTest::TearDown() { - com_initializer_.reset(); - #endif - BrowserTestBase::TearDown(); --#if defined(OS_MAC) || defined(OS_LINUX) || defined(OS_CHROMEOS) -+#if defined(OS_MAC) || defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD) - OSCryptMocker::TearDown(); - #endif - diff --git a/www/chromium/files/patch-chrome_test_base_test__browser__window.h b/www/chromium/files/patch-chrome_test_base_test__browser__window.h deleted file mode 100644 index 6f8d78eb6396..000000000000 --- a/www/chromium/files/patch-chrome_test_base_test__browser__window.h +++ /dev/null @@ -1,11 +0,0 @@ ---- chrome/test/base/test_browser_window.h.orig 2021-12-31 00:57:26 UTC -+++ chrome/test/base/test_browser_window.h -@@ -199,7 +199,7 @@ class TestBrowserWindow : public BrowserWindow { - void MaybeShowProfileSwitchIPH() override {} - - #if defined(OS_CHROMEOS) || defined(OS_MAC) || defined(OS_WIN) || \ -- defined(OS_LINUX) || defined(OS_FUCHSIA) -+ defined(OS_LINUX) || defined(OS_FUCHSIA) || defined(OS_BSD) - void ShowHatsDialog( - const std::string& site_id, - base::OnceClosure success_callback, diff --git a/www/chromium/files/patch-chrome_test_chromedriver_chrome__launcher.cc b/www/chromium/files/patch-chrome_test_chromedriver_chrome__launcher.cc index e12743541ce6..a920f49fe691 100644 --- a/www/chromium/files/patch-chrome_test_chromedriver_chrome__launcher.cc +++ b/www/chromium/files/patch-chrome_test_chromedriver_chrome__launcher.cc @@ -1,13 +1,10 @@ ---- chrome/test/chromedriver/chrome_launcher.cc.orig 2021-12-14 11:45:00 UTC +--- chrome/test/chromedriver/chrome_launcher.cc.orig 2022-02-07 13:39:41 UTC +++ chrome/test/chromedriver/chrome_launcher.cc -@@ -73,6 +73,10 @@ - #include - #endif - -+#if defined(OS_BSD) +@@ -65,6 +65,7 @@ + #include + #include + #include +#include -+#endif -+ - namespace { - - const char* const kCommonSwitches[] = { + #include + #elif defined(OS_WIN) + #include "chrome/test/chromedriver/keycode_text_conversion.h" diff --git a/www/chromium/files/patch-chrome_test_chromedriver_chrome_chrome__finder.cc b/www/chromium/files/patch-chrome_test_chromedriver_chrome_chrome__finder.cc index 9439c39a8e97..d41492804116 100644 --- a/www/chromium/files/patch-chrome_test_chromedriver_chrome_chrome__finder.cc +++ b/www/chromium/files/patch-chrome_test_chromedriver_chrome_chrome__finder.cc @@ -1,20 +1,20 @@ ---- chrome/test/chromedriver/chrome/chrome_finder.cc.orig 2021-04-14 18:40:56 UTC +--- chrome/test/chromedriver/chrome/chrome_finder.cc.orig 2022-02-07 13:39:41 UTC +++ chrome/test/chromedriver/chrome/chrome_finder.cc -@@ -53,7 +53,7 @@ void GetApplicationDirs(std::vector* l +@@ -54,7 +54,7 @@ void GetApplicationDirs(std::vector* l installation_locations[i].Append(L"Chromium\\Application")); } } -#elif defined(OS_LINUX) || defined(OS_CHROMEOS) +#elif defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD) void GetApplicationDirs(std::vector* locations) { // TODO: Respect users' PATH variables. // Until then, we use an approximation of the most common defaults. -@@ -138,7 +138,7 @@ bool FindChrome(base::FilePath* browser_exe) { +@@ -139,7 +139,7 @@ bool FindChrome(base::FilePath* browser_exe) { base::FilePath browser_exes_array[] = { #if defined(OS_WIN) || defined(OS_MAC) base::FilePath(chrome::kBrowserProcessExecutablePath), -#elif defined(OS_LINUX) || defined(OS_CHROMEOS) +#elif defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD) base::FilePath("google-chrome"), base::FilePath(chrome::kBrowserProcessExecutablePath), base::FilePath("chromium"), diff --git a/www/chromium/files/patch-chrome_test_chromedriver_key__converter__unittest.cc b/www/chromium/files/patch-chrome_test_chromedriver_key__converter__unittest.cc deleted file mode 100644 index 5d763323a36c..000000000000 --- a/www/chromium/files/patch-chrome_test_chromedriver_key__converter__unittest.cc +++ /dev/null @@ -1,38 +0,0 @@ ---- chrome/test/chromedriver/key_converter_unittest.cc.orig 2021-05-12 22:05:46 UTC -+++ chrome/test/chromedriver/key_converter_unittest.cc -@@ -264,7 +264,7 @@ TEST(KeyConverter, AllShorthandKeys) { - ->Generate(&key_events); - builder.Generate(&key_events); - builder.SetKeyCode(ui::VKEY_TAB); --#if defined(OS_LINUX) || defined(OS_CHROMEOS) -+#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD) - builder.SetText("\t", "\t")->Generate(&key_events); - #else - builder.SetText(std::string(), std::string()); -@@ -272,7 +272,7 @@ TEST(KeyConverter, AllShorthandKeys) { - key_events.push_back(builder.SetType(kKeyUpEventType)->Build()); - #endif - builder.SetKeyCode(ui::VKEY_BACK); --#if defined(OS_LINUX) || defined(OS_CHROMEOS) -+#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD) - builder.SetText("\b", "\b")->Generate(&key_events); - #else - builder.SetText(std::string(), std::string()); -@@ -283,7 +283,7 @@ TEST(KeyConverter, AllShorthandKeys) { - CheckEventsReleaseModifiers("\n\r\n\t\b ", key_events); - } - --#if defined(OS_LINUX) || defined(OS_CHROMEOS) -+#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD) - // Fails on bots: crbug.com/174962 - #define MAYBE_AllEnglishKeyboardSymbols DISABLED_AllEnglishKeyboardSymbols - #else -@@ -340,7 +340,7 @@ TEST(KeyConverter, AllEnglishKeyboardTextChars) { - TEST(KeyConverter, AllSpecialWebDriverKeysOnEnglishKeyboard) { - ui::ScopedKeyboardLayout keyboard_layout(ui::KEYBOARD_LAYOUT_ENGLISH_US); - const char kTextForKeys[] = { --#if defined(OS_LINUX) || defined(OS_CHROMEOS) -+#if defined(OS_LINUX) || defined(OS_CHROMEOS) || 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/chromium/files/patch-chrome_test_chromedriver_server_chromedriver__server.cc b/www/chromium/files/patch-chrome_test_chromedriver_server_chromedriver__server.cc deleted file mode 100644 index 67bee8264321..000000000000 --- a/www/chromium/files/patch-chrome_test_chromedriver_server_chromedriver__server.cc +++ /dev/null @@ -1,11 +0,0 @@ ---- chrome/test/chromedriver/server/chromedriver_server.cc.orig 2021-12-14 11:45:00 UTC -+++ chrome/test/chromedriver/server/chromedriver_server.cc -@@ -291,7 +291,7 @@ int main(int argc, char *argv[]) { - base::AtExitManager at_exit; - base::CommandLine* cmd_line = base::CommandLine::ForCurrentProcess(); - --#if defined(OS_LINUX) || defined(OS_CHROMEOS) -+#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD) - // Select the locale from the environment by passing an empty string instead - // of the default "C" locale. This is particularly needed for the keycode - // conversion code to work. diff --git a/www/chromium/files/patch-chrome_updater_app_app__install.cc b/www/chromium/files/patch-chrome_updater_app_app__install.cc new file mode 100644 index 000000000000..79395854a082 --- /dev/null +++ b/www/chromium/files/patch-chrome_updater_app_app__install.cc @@ -0,0 +1,11 @@ +--- chrome/updater/app/app_install.cc.orig 2022-02-07 13:39:41 UTC ++++ chrome/updater/app/app_install.cc +@@ -155,7 +155,7 @@ void AppInstall::WakeCandidate() { + update_service_internal, base::WrapRefCounted(this))); + } + +-#if defined(OS_LINUX) ++#if defined(OS_LINUX) || defined(OS_BSD) + // TODO(crbug.com/1276114) - implement. + void AppInstall::WakeCandidateDone() { + NOTIMPLEMENTED(); diff --git a/www/chromium/files/patch-chrome_updater_app_app__uninstall.cc b/www/chromium/files/patch-chrome_updater_app_app__uninstall.cc new file mode 100644 index 000000000000..400d63f06daf --- /dev/null +++ b/www/chromium/files/patch-chrome_updater_app_app__uninstall.cc @@ -0,0 +1,11 @@ +--- chrome/updater/app/app_uninstall.cc.orig 2022-02-07 13:39:41 UTC ++++ chrome/updater/app/app_uninstall.cc +@@ -31,7 +31,7 @@ + #include "chrome/updater/win/setup/uninstall.h" + #elif defined(OS_MAC) + #include "chrome/updater/mac/setup/setup.h" +-#elif defined(OS_LINUX) ++#elif defined(OS_LINUX) || defined(OS_BSD) + #include "chrome/updater/linux/setup/setup.h" + #endif + diff --git a/www/chromium/files/patch-chrome_updater_configurator.cc b/www/chromium/files/patch-chrome_updater_configurator.cc new file mode 100644 index 000000000000..e54d57641c1f --- /dev/null +++ b/www/chromium/files/patch-chrome_updater_configurator.cc @@ -0,0 +1,11 @@ +--- chrome/updater/configurator.cc.orig 2022-02-07 13:39:41 UTC ++++ chrome/updater/configurator.cc +@@ -30,7 +30,7 @@ + #include "chrome/updater/win/net/network.h" + #elif defined(OS_MAC) + #include "chrome/updater/mac/net/network.h" +-#elif defined(OS_LINUX) ++#elif defined(OS_LINUX) || defined(OS_BSD) + #include "chrome/updater/linux/net/network.h" + #endif + diff --git a/www/chromium/files/patch-chrome_updater_device__management_cloud__policy__util.cc b/www/chromium/files/patch-chrome_updater_device__management_cloud__policy__util.cc index 735a1c6e504f..f3b66083b6c1 100644 --- a/www/chromium/files/patch-chrome_updater_device__management_cloud__policy__util.cc +++ b/www/chromium/files/patch-chrome_updater_device__management_cloud__policy__util.cc @@ -1,50 +1,47 @@ ---- chrome/updater/device_management/cloud_policy_util.cc.orig 2021-12-14 11:45:01 UTC +--- chrome/updater/device_management/cloud_policy_util.cc.orig 2022-02-07 13:39:41 UTC +++ chrome/updater/device_management/cloud_policy_util.cc @@ -22,7 +22,7 @@ #include #endif -#if defined(OS_LINUX) || defined(OS_MAC) +#if defined(OS_LINUX) || defined(OS_MAC) || defined(OS_BSD) #include #include #include @@ -36,7 +36,7 @@ // TODO(crbug.com/1052397): Revisit the macro expression once build flag switch // of lacros-chrome is complete. -#if defined(OS_LINUX) +#if defined(OS_LINUX) || defined(OS_BSD) #include // For HOST_NAME_MAX #endif @@ -63,7 +63,7 @@ // TODO(crbug.com/1052397): Revisit the macro expression once build flag switch // of lacros-chrome is complete. -#if defined(OS_LINUX) +#if defined(OS_LINUX) || defined(OS_BSD) #include "base/system/sys_info.h" #endif -@@ -116,6 +116,11 @@ std::string GetMachineName() { +@@ -111,7 +111,7 @@ std::string GetPolicyVerificationKey() { + std::string GetMachineName() { + // TODO(crbug.com/1052397): Revisit the macro expression once build flag switch + // of lacros-chrome is complete. +-#if defined(OS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS) ++#if defined(OS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS) || defined(OS_BSD) + char hostname[HOST_NAME_MAX]; if (gethostname(hostname, HOST_NAME_MAX) == 0) // Success. return hostname; - return std::string(); -+#elif defined(OS_BSD) -+ char hostname[MAXHOSTNAMELEN]; -+ if (gethostname(hostname, MAXHOSTNAMELEN) == 0) // Success. -+ return hostname; -+ return std::string(); - #elif defined(OS_MAC) - // Do not use NSHost currentHost, as it's very slow. http://crbug.com/138570 - SCDynamicStoreContext context = {0, NULL, NULL, NULL}; -@@ -161,7 +166,7 @@ std::string GetMachineName() { +@@ -161,7 +161,7 @@ std::string GetMachineName() { } std::string GetOSVersion() { -#if defined(OS_LINUX) || defined(OS_MAC) +#if defined(OS_LINUX) || defined(OS_MAC) || defined(OS_BSD) return base::SysInfo::OperatingSystemVersion(); #elif defined(OS_WIN) base::win::OSInfo::VersionNumber version_number = diff --git a/www/chromium/files/patch-chrome_updater_device__management_dm__client.cc b/www/chromium/files/patch-chrome_updater_device__management_dm__client.cc new file mode 100644 index 000000000000..3a02b2047746 --- /dev/null +++ b/www/chromium/files/patch-chrome_updater_device__management_dm__client.cc @@ -0,0 +1,11 @@ +--- chrome/updater/device_management/dm_client.cc.orig 2022-02-07 13:39:41 UTC ++++ chrome/updater/device_management/dm_client.cc +@@ -36,7 +36,7 @@ + #include "chrome/updater/win/net/network.h" + #elif defined(OS_MAC) + #include "chrome/updater/mac/net/network.h" +-#elif defined(OS_LINUX) ++#elif defined(OS_LINUX) || defined(OS_BSD) + #include "chrome/updater/linux/net/network.h" + #endif + diff --git a/www/chromium/files/patch-chrome_updater_device__management_dm__storage.cc b/www/chromium/files/patch-chrome_updater_device__management_dm__storage.cc new file mode 100644 index 000000000000..1335dc38d23e --- /dev/null +++ b/www/chromium/files/patch-chrome_updater_device__management_dm__storage.cc @@ -0,0 +1,11 @@ +--- chrome/updater/device_management/dm_storage.cc.orig 2022-02-07 13:39:41 UTC ++++ chrome/updater/device_management/dm_storage.cc +@@ -69,7 +69,7 @@ bool DeleteObsoletePolicies(const base::FilePath& cach + + } // namespace + +-#if defined(OS_LINUX) ++#if defined(OS_LINUX) || defined(OS_BSD) + // crbug.com/1276162 - implement. + DMStorage::DMStorage(const base::FilePath& policy_cache_root) + : policy_cache_root_(policy_cache_root) { diff --git a/www/chromium/files/patch-chrome_updater_installer.cc b/www/chromium/files/patch-chrome_updater_installer.cc new file mode 100644 index 000000000000..d4901982d112 --- /dev/null +++ b/www/chromium/files/patch-chrome_updater_installer.cc @@ -0,0 +1,11 @@ +--- chrome/updater/installer.cc.orig 2022-02-07 13:39:41 UTC ++++ chrome/updater/installer.cc +@@ -267,7 +267,7 @@ absl::optional Installer::GetCurrentIn + return path->AppendASCII(pv_.GetString()); + } + +-#if defined(OS_LINUX) ++#if defined(OS_LINUX) || defined(OS_BSD) + Installer::Result Installer::RunApplicationInstaller( + const base::FilePath& /*app_installer*/, + const std::string& /*arguments*/, diff --git a/www/chromium/files/patch-chrome_updater_lib__util.cc b/www/chromium/files/patch-chrome_updater_lib__util.cc new file mode 100644 index 000000000000..f6df3ab172bc --- /dev/null +++ b/www/chromium/files/patch-chrome_updater_lib__util.cc @@ -0,0 +1,11 @@ +--- chrome/updater/lib_util.cc.orig 2022-02-07 13:39:41 UTC ++++ chrome/updater/lib_util.cc +@@ -11,7 +11,7 @@ + + namespace updater { + +-#if defined(OS_LINUX) ++#if defined(OS_LINUX) || defined(OS_BSD) + + std::string UnescapeURLComponent(base::StringPiece escaped_text) { + return base::UnescapeURLComponent( diff --git a/www/chromium/files/patch-chrome_updater_updater.cc b/www/chromium/files/patch-chrome_updater_updater.cc new file mode 100644 index 000000000000..d00e7c795110 --- /dev/null +++ b/www/chromium/files/patch-chrome_updater_updater.cc @@ -0,0 +1,11 @@ +--- chrome/updater/updater.cc.orig 2022-02-07 13:39:41 UTC ++++ chrome/updater/updater.cc +@@ -38,7 +38,7 @@ + #include "chrome/updater/win/win_util.h" + #elif defined(OS_MAC) + #include "chrome/updater/app/server/mac/server.h" +-#elif defined(OS_LINUX) ++#elif defined(OS_LINUX) || defined(OS_BSD) + #include "chrome/updater/app/server/linux/server.h" + #endif + diff --git a/www/chromium/files/patch-chrome_updater_util.cc b/www/chromium/files/patch-chrome_updater_util.cc new file mode 100644 index 000000000000..5273fcc2701f --- /dev/null +++ b/www/chromium/files/patch-chrome_updater_util.cc @@ -0,0 +1,11 @@ +--- chrome/updater/util.cc.orig 2022-02-07 13:39:41 UTC ++++ chrome/updater/util.cc +@@ -213,7 +213,7 @@ GURL AppendQueryParameter(const GURL& url, + return url.ReplaceComponents(replacements); + } + +-#if defined(OS_LINUX) ++#if defined(OS_LINUX) || defined(OS_BSD) + + // TODO(crbug.com/1276188) - implement the functions below. + absl::optional GetUpdaterFolderPath(UpdaterScope scope) { diff --git a/www/chromium/files/patch-chrome_utility_services.cc b/www/chromium/files/patch-chrome_utility_services.cc new file mode 100644 index 000000000000..1971b33322ad --- /dev/null +++ b/www/chromium/files/patch-chrome_utility_services.cc @@ -0,0 +1,29 @@ +--- chrome/utility/services.cc.orig 2022-02-07 13:39:41 UTC ++++ chrome/utility/services.cc +@@ -65,7 +65,7 @@ + #include "chrome/services/file_util/file_util_service.h" // nogncheck + #endif + +-#if BUILDFLAG(FULL_SAFE_BROWSING) && (defined(OS_LINUX) || defined(OS_WIN)) ++#if BUILDFLAG(FULL_SAFE_BROWSING) && (defined(OS_LINUX) || defined(OS_WIN) || defined(OS_BSD)) + #include "chrome/services/file_util/document_analysis_service.h" // nogncheck + #endif + +@@ -219,7 +219,7 @@ auto RunCupsIppParser( + } + #endif + +-#if BUILDFLAG(FULL_SAFE_BROWSING) && (defined(OS_LINUX) || defined(OS_WIN)) ++#if BUILDFLAG(FULL_SAFE_BROWSING) && (defined(OS_LINUX) || defined(OS_WIN) || defined(OS_BSD)) + auto RunDocumentAnalysis( + mojo::PendingReceiver receiver) { + return std::make_unique(std::move(receiver)); +@@ -383,7 +383,7 @@ void RegisterMainThreadServices(mojo::ServiceFactory& + services.Add(RunFileUtil); + #endif + +-#if BUILDFLAG(FULL_SAFE_BROWSING) && (defined(OS_LINUX) || defined(OS_WIN)) ++#if BUILDFLAG(FULL_SAFE_BROWSING) && (defined(OS_LINUX) || defined(OS_WIN) || defined(OS_BSD)) + services.Add(RunDocumentAnalysis); + #endif + diff --git a/www/chromium/files/patch-chromecast_app_cast__main__delegate.cc b/www/chromium/files/patch-chromecast_app_cast__main__delegate.cc deleted file mode 100644 index 91f0c15a906f..000000000000 --- a/www/chromium/files/patch-chromecast_app_cast__main__delegate.cc +++ /dev/null @@ -1,11 +0,0 @@ ---- chromecast/app/cast_main_delegate.cc.orig 2021-12-31 00:57:27 UTC -+++ chromecast/app/cast_main_delegate.cc -@@ -162,7 +162,7 @@ bool CastMainDelegate::BasicStartupComplete(int* exit_ - - void CastMainDelegate::PreSandboxStartup() { - #if defined(ARCH_CPU_ARM_FAMILY) && \ -- (defined(OS_ANDROID) || defined(OS_LINUX) || defined(OS_CHROMEOS)) -+ (defined(OS_ANDROID) || defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD)) - // Create an instance of the CPU class to parse /proc/cpuinfo and cache the - // results. This data needs to be cached when file-reading is still allowed, - // since base::CPU expects to be callable later, when file-reading is no diff --git a/www/chromium/files/patch-chromecast_browser_cast__browser__main__parts.cc b/www/chromium/files/patch-chromecast_browser_cast__browser__main__parts.cc index 8436ca7265fb..a768a0005442 100644 --- a/www/chromium/files/patch-chromecast_browser_cast__browser__main__parts.cc +++ b/www/chromium/files/patch-chromecast_browser_cast__browser__main__parts.cc @@ -1,83 +1,65 @@ ---- chromecast/browser/cast_browser_main_parts.cc.orig 2021-12-14 11:45:02 UTC +--- chromecast/browser/cast_browser_main_parts.cc.orig 2022-02-07 13:39:41 UTC +++ chromecast/browser/cast_browser_main_parts.cc -@@ -78,7 +78,7 @@ +@@ -90,7 +90,7 @@ #include "ui/base/ui_base_switches.h" #include "ui/gl/gl_switches.h" -#if defined(OS_LINUX) || defined(OS_CHROMEOS) +#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD) #include #include #include -@@ -133,7 +133,7 @@ +@@ -145,7 +145,7 @@ #include "extensions/browser/extension_prefs.h" // nogncheck #endif -#if (defined(OS_LINUX) || defined(OS_CHROMEOS)) && defined(USE_OZONE) +#if (defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD)) && defined(USE_OZONE) #include "chromecast/browser/exo/wayland_server_controller.h" #endif -@@ -276,7 +276,7 @@ class CastViewsDelegate : public views::ViewsDelegate +@@ -281,7 +281,7 @@ class CastViewsDelegate : public views::ViewsDelegate #endif // defined(USE_AURA) -#if defined(OS_LINUX) || defined(OS_CHROMEOS) +#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD) base::FilePath GetApplicationFontsDir() { std::unique_ptr env(base::Environment::Create()); -@@ -293,7 +293,7 @@ base::FilePath GetApplicationFontsDir() { - } - } - --#endif // defined(OS_LINUX) || defined(OS_CHROMEOS) -+#endif // defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD) - - } // namespace - -@@ -322,7 +322,7 @@ const DefaultCommandLineSwitch kDefaultSwitches[] = { +@@ -327,7 +327,7 @@ const DefaultCommandLineSwitch kDefaultSwitches[] = { {cc::switches::kDisableThreadedAnimation, ""}, #endif // defined(OS_ANDROID) #endif // BUILDFLAG(IS_CAST_AUDIO_ONLY) -#if defined(OS_LINUX) || defined(OS_CHROMEOS) +#if defined(OS_LINUX) || defined(OS_CHROMEOS) || 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. -@@ -332,7 +332,7 @@ const DefaultCommandLineSwitch kDefaultSwitches[] = { - {switches::kEnableHardwareOverlays, "cast"}, - #endif - #endif --#endif // defined(OS_LINUX) || defined(OS_CHROMEOS) -+#endif // defined(OS_LINUX) || defined(OS_CHROMEOS) || 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. -@@ -491,7 +491,7 @@ void CastBrowserMainParts::ToolkitInitialized() { +@@ -520,7 +520,7 @@ void CastBrowserMainParts::ToolkitInitialized() { views_delegate_ = std::make_unique(); #endif // defined(USE_AURA) -#if defined(OS_LINUX) || defined(OS_CHROMEOS) +#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD) base::FilePath dir_font = GetApplicationFontsDir(); const FcChar8 *dir_font_char8 = reinterpret_cast(dir_font.value().data()); if (!FcConfigAppFontAddDir(gfx::GetGlobalFontConfig(), dir_font_char8)) { -@@ -677,7 +677,7 @@ int CastBrowserMainParts::PreMainMessageLoopRun() { +@@ -748,7 +748,7 @@ int CastBrowserMainParts::PreMainMessageLoopRun() { cast_browser_process_->browser_context()); #endif -#if (defined(OS_LINUX) || defined(OS_CHROMEOS)) && defined(USE_OZONE) +#if (defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD)) && defined(USE_OZONE) wayland_server_controller_ = std::make_unique(window_manager_.get()); #endif -@@ -758,7 +758,7 @@ void CastBrowserMainParts::PostMainMessageLoopRun() { +@@ -817,7 +817,7 @@ void CastBrowserMainParts::PostMainMessageLoopRun() { cast_browser_process_->cast_service()->Stop(); -#if (defined(OS_LINUX) || defined(OS_CHROMEOS)) && defined(USE_OZONE) +#if (defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD)) && defined(USE_OZONE) wayland_server_controller_.reset(); #endif #if BUILDFLAG(ENABLE_CHROMECAST_EXTENSIONS) diff --git a/www/chromium/files/patch-chromecast_browser_cast__browser__main__parts.h b/www/chromium/files/patch-chromecast_browser_cast__browser__main__parts.h deleted file mode 100644 index 95e4e2e79c97..000000000000 --- a/www/chromium/files/patch-chromecast_browser_cast__browser__main__parts.h +++ /dev/null @@ -1,11 +0,0 @@ ---- chromecast/browser/cast_browser_main_parts.h.orig 2021-12-14 11:45:02 UTC -+++ chromecast/browser/cast_browser_main_parts.h -@@ -146,7 +146,7 @@ class CastBrowserMainParts : public content::BrowserMa - std::unique_ptr user_pref_service_; - #endif - --#if (defined(OS_LINUX) || defined(OS_CHROMEOS)) && defined(USE_OZONE) -+#if (defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD)) && defined(USE_OZONE) - std::unique_ptr wayland_server_controller_; - #endif - diff --git a/www/chromium/files/patch-chromecast_browser_cast__content__browser__client.cc b/www/chromium/files/patch-chromecast_browser_cast__content__browser__client.cc index 4d88b05fdf7a..f9a75f6d219e 100644 --- a/www/chromium/files/patch-chromecast_browser_cast__content__browser__client.cc +++ b/www/chromium/files/patch-chromecast_browser_cast__content__browser__client.cc @@ -1,38 +1,29 @@ ---- chromecast/browser/cast_content_browser_client.cc.orig 2021-12-31 00:57:27 UTC +--- chromecast/browser/cast_content_browser_client.cc.orig 2022-02-07 13:39:41 UTC +++ chromecast/browser/cast_content_browser_client.cc -@@ -130,9 +130,9 @@ +@@ -132,7 +132,7 @@ #include "extensions/common/constants.h" // nogncheck #endif -#if (defined(OS_LINUX) || defined(OS_CHROMEOS)) && defined(USE_OZONE) +#if (defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD)) && defined(USE_OZONE) #include "chromecast/browser/webview/webview_controller.h" --#endif // (defined(OS_LINUX) || defined(OS_CHROMEOS)) && defined(USE_OZONE) -+#endif // (defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD)) && defined(USE_OZONE) + #endif // (defined(OS_LINUX) || defined(OS_CHROMEOS)) && defined(USE_OZONE) - #if BUILDFLAG(ENABLE_CAST_RENDERER) - #include "base/task/sequenced_task_runner.h" -@@ -478,7 +478,7 @@ void CastContentBrowserClient::AppendExtraCommandLineS +@@ -475,7 +475,7 @@ void CastContentBrowserClient::AppendExtraCommandLineS switches::kAudioOutputChannels)); } } else if (process_type == switches::kGpuProcess) { -#if defined(OS_LINUX) || defined(OS_CHROMEOS) +#if defined(OS_LINUX) || defined(OS_CHROMEOS) || 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. -@@ -870,12 +870,12 @@ CastContentBrowserClient::CreateThrottlesForNavigation +@@ -867,7 +867,7 @@ CastContentBrowserClient::CreateThrottlesForNavigation handle, general_audience_browsing_service_.get())); } -#if (defined(OS_LINUX) || defined(OS_CHROMEOS)) && defined(USE_OZONE) +#if (defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD)) && defined(USE_OZONE) auto webview_throttle = WebviewController::MaybeGetNavigationThrottle(handle); if (webview_throttle) { throttles.push_back(std::move(webview_throttle)); - } --#endif // (defined(OS_LINUX) || defined(OS_CHROMEOS)) && defined(USE_OZONE) -+#endif // (defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD)) && defined(USE_OZONE) - - return throttles; - } diff --git a/www/chromium/files/patch-chromecast_browser_cast__content__browser__client__receiver__bindings.cc b/www/chromium/files/patch-chromecast_browser_cast__content__browser__client__receiver__bindings.cc index 7c42be3ea9b1..ab074448aa78 100644 --- a/www/chromium/files/patch-chromecast_browser_cast__content__browser__client__receiver__bindings.cc +++ b/www/chromium/files/patch-chromecast_browser_cast__content__browser__client__receiver__bindings.cc @@ -1,20 +1,20 @@ ---- chromecast/browser/cast_content_browser_client_receiver_bindings.cc.orig 2021-09-24 04:26:02 UTC +--- chromecast/browser/cast_content_browser_client_receiver_bindings.cc.orig 2022-02-07 13:39:41 UTC +++ chromecast/browser/cast_content_browser_client_receiver_bindings.cc @@ -35,7 +35,7 @@ #include "media/mojo/services/media_service.h" // nogncheck #endif // BUILDFLAG(ENABLE_CAST_RENDERER) -#if (defined(OS_LINUX) || defined(OS_CHROMEOS)) && defined(USE_OZONE) +#if (defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD)) && defined(USE_OZONE) #include "chromecast/browser/webview/js_channel_service.h" #include "chromecast/common/mojom/js_channel.mojom.h" #endif -@@ -221,7 +221,7 @@ void CastContentBrowserClient::RunServiceInstance( +@@ -222,7 +222,7 @@ void CastContentBrowserClient::RunServiceInstance( void CastContentBrowserClient::BindHostReceiverForRenderer( content::RenderProcessHost* render_process_host, mojo::GenericPendingReceiver receiver) { -#if (defined(OS_LINUX) || defined(OS_CHROMEOS)) && defined(USE_OZONE) +#if (defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD)) && defined(USE_OZONE) if (auto r = receiver.As<::chromecast::mojom::JsChannelBindingProvider>()) { JsChannelService::Create(render_process_host, std::move(r), base::ThreadTaskRunnerHandle::Get()); diff --git a/www/chromium/files/patch-chromecast_browser_metrics_cast__browser__metrics.cc b/www/chromium/files/patch-chromecast_browser_metrics_cast__browser__metrics.cc deleted file mode 100644 index 45a4797ba07d..000000000000 --- a/www/chromium/files/patch-chromecast_browser_metrics_cast__browser__metrics.cc +++ /dev/null @@ -1,103 +0,0 @@ ---- chromecast/browser/metrics/cast_browser_metrics.cc.orig 2021-06-09 22:13:58 UTC -+++ chromecast/browser/metrics/cast_browser_metrics.cc -@@ -19,9 +19,9 @@ - #include "content/public/browser/network_service_instance.h" - #include "content/public/common/content_switches.h" - --#if defined(OS_LINUX) || defined(OS_CHROMEOS) -+#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD) - #include "chromecast/browser/metrics/external_metrics.h" --#endif // defined(OS_LINUX) || defined(OS_CHROMEOS) -+#endif // defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD) - - #if defined(OS_ANDROID) - #include "chromecast/base/android/dumpstate_writer.h" -@@ -32,10 +32,10 @@ namespace metrics { - - const int kMetricsFetchTimeoutSeconds = 60; - --#if defined(OS_LINUX) || defined(OS_CHROMEOS) -+#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD) - const char kExternalUmaEventsRelativePath[] = "metrics/uma-events"; - const char kPlatformUmaEventsPath[] = "/data/share/chrome/metrics/uma-events"; --#endif // defined(OS_LINUX) || defined(OS_CHROMEOS) -+#endif // defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD) - - CastBrowserMetrics::CastBrowserMetrics( - std::unique_ptr metrics_service_client) { -@@ -48,10 +48,10 @@ CastBrowserMetrics::CastBrowserMetrics( - } - - CastBrowserMetrics::~CastBrowserMetrics() { --#if defined(OS_LINUX) || defined(OS_CHROMEOS) -+#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD) - DCHECK(!external_metrics_); - DCHECK(!platform_metrics_); --#endif // defined(OS_LINUX) || defined(OS_CHROMEOS) -+#endif // defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD) - } - - void CastBrowserMetrics::Initialize() { -@@ -61,9 +61,9 @@ void CastBrowserMetrics::Initialize() { - auto stability_provider_unique_ptr = - std::make_unique( - metrics_service, metrics_service_client_->pref_service()); --#if defined(OS_LINUX) || defined(OS_CHROMEOS) -+#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD) - auto* stability_provider = stability_provider_unique_ptr.get(); --#endif // defined(OS_LINUX) || defined(OS_CHROMEOS) -+#endif // defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD) - metrics_service->RegisterMetricsProvider( - std::move(stability_provider_unique_ptr)); - -@@ -84,7 +84,7 @@ void CastBrowserMetrics::Initialize() { - - metrics_service_client_->StartMetricsService(); - --#if defined(OS_LINUX) || defined(OS_CHROMEOS) -+#if defined(OS_LINUX) || defined(OS_CHROMEOS)A || defined(OS_BSD) - // Start external metrics collection, which feeds data from external - // processes into the main external metrics. - external_metrics_ = new ExternalMetrics( -@@ -94,7 +94,7 @@ void CastBrowserMetrics::Initialize() { - platform_metrics_ = - new ExternalMetrics(stability_provider, kPlatformUmaEventsPath); - platform_metrics_->Start(); --#endif // defined(OS_LINUX) || defined(OS_CHROMEOS) -+#endif // defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD) - } - - void CastBrowserMetrics::Finalize() { -@@ -103,14 +103,14 @@ void CastBrowserMetrics::Finalize() { - metrics_service_client_->GetMetricsService()->RecordCompletedSessionEnd(); - #endif // !defined(OS_ANDROID) - --#if defined(OS_LINUX) || defined(OS_CHROMEOS) -+#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD) - // Stop metrics service cleanly before destructing CastMetricsServiceClient. - // The pointer will be deleted in StopAndDestroy(). - external_metrics_->StopAndDestroy(); - external_metrics_ = nullptr; - platform_metrics_->StopAndDestroy(); - platform_metrics_ = nullptr; --#endif // defined(OS_LINUX) || defined(OS_CHROMEOS) -+#endif // defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD) - - metrics_service_client_->Finalize(); - } -@@ -126,13 +126,13 @@ void CastBrowserMetrics::CollectFinalMetricsForLog( - } - - void CastBrowserMetrics::ProcessExternalEvents(base::OnceClosure cb) { --#if defined(OS_LINUX) || defined(OS_CHROMEOS) -+#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD) - external_metrics_->ProcessExternalEvents( - base::BindOnce(&ExternalMetrics::ProcessExternalEvents, - base::Unretained(platform_metrics_), std::move(cb))); - #else - std::move(cb).Run(); --#endif // defined(OS_LINUX) || defined(OS_CHROMEOS) -+#endif // defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD) - } - - } // namespace metrics diff --git a/www/chromium/files/patch-chromecast_browser_metrics_cast__browser__metrics.h b/www/chromium/files/patch-chromecast_browser_metrics_cast__browser__metrics.h deleted file mode 100644 index 3e8ac7f414aa..000000000000 --- a/www/chromium/files/patch-chromecast_browser_metrics_cast__browser__metrics.h +++ /dev/null @@ -1,15 +0,0 @@ ---- chromecast/browser/metrics/cast_browser_metrics.h.orig 2021-12-14 11:45:02 UTC -+++ chromecast/browser/metrics/cast_browser_metrics.h -@@ -42,10 +42,10 @@ class CastBrowserMetrics { - private: - std::unique_ptr metrics_service_client_; - --#if defined(OS_LINUX) || defined(OS_CHROMEOS) -+#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD) - ExternalMetrics* external_metrics_ = nullptr; - ExternalMetrics* platform_metrics_ = nullptr; --#endif // defined(OS_LINUX) || defined(OS_CHROMEOS) -+#endif // defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD) - }; - - } // namespace metrics diff --git a/www/chromium/files/patch-chromecast_external__mojo_public_cpp_external__mojo__broker.cc b/www/chromium/files/patch-chromecast_external__mojo_public_cpp_external__mojo__broker.cc deleted file mode 100644 index 9381d99fc64f..000000000000 --- a/www/chromium/files/patch-chromecast_external__mojo_public_cpp_external__mojo__broker.cc +++ /dev/null @@ -1,20 +0,0 @@ ---- chromecast/external_mojo/public/cpp/external_mojo_broker.cc.orig 2021-12-14 11:45:02 UTC -+++ chromecast/external_mojo/public/cpp/external_mojo_broker.cc -@@ -8,7 +8,7 @@ - #include - #include - --#if defined(OS_LINUX) || defined(OS_CHROMEOS) -+#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD) - #include - #endif - -@@ -427,7 +427,7 @@ ExternalMojoBroker::ExternalMojoBroker(const std::stri - named_channel.TakeServerEndpoint(); - DCHECK(server_endpoint.is_valid()); - --#if defined(OS_LINUX) || defined(OS_CHROMEOS) -+#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD) - chmod(broker_path.c_str(), 0770); - #endif - diff --git a/www/chromium/files/patch-chromecast_media_base_default__monotonic__clock.cc b/www/chromium/files/patch-chromecast_media_base_default__monotonic__clock.cc index 21e3e6e00706..081862248bb9 100644 --- a/www/chromium/files/patch-chromecast_media_base_default__monotonic__clock.cc +++ b/www/chromium/files/patch-chromecast_media_base_default__monotonic__clock.cc @@ -1,23 +1,20 @@ ---- chromecast/media/base/default_monotonic_clock.cc.orig 2021-04-14 18:40:58 UTC +--- chromecast/media/base/default_monotonic_clock.cc.orig 2022-02-07 13:39:41 UTC +++ chromecast/media/base/default_monotonic_clock.cc -@@ -11,9 +11,9 @@ +@@ -11,7 +11,7 @@ #include "base/time/time.h" #include "build/build_config.h" -#if defined(OS_ANDROID) || defined(OS_LINUX) || defined(OS_CHROMEOS) +#if defined(OS_ANDROID) || defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD) #include "chromecast/media/base/buildflags.h" --#endif // defined(OS_ANDROID) || defined(OS_LINUX) || defined(OS_CHROMEOS) -+#endif // defined(OS_ANDROID) || defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD) + #endif // defined(OS_ANDROID) || defined(OS_LINUX) || defined(OS_CHROMEOS) - #if defined(OS_FUCHSIA) - #include @@ -27,7 +27,7 @@ std::unique_ptr MonotonicClock::Create return std::make_unique(); } -#if defined(OS_ANDROID) || defined(OS_LINUX) || defined(OS_CHROMEOS) +#if defined(OS_ANDROID) || defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD) int64_t MonotonicClockNow() { timespec now = {0, 0}; #if BUILDFLAG(MEDIA_CLOCK_MONOTONIC_RAW) diff --git a/www/chromium/files/patch-chromecast_renderer_cast__content__renderer__client.cc b/www/chromium/files/patch-chromecast_renderer_cast__content__renderer__client.cc index 1005e093c47b..a12a991f74ea 100644 --- a/www/chromium/files/patch-chromecast_renderer_cast__content__renderer__client.cc +++ b/www/chromium/files/patch-chromecast_renderer_cast__content__renderer__client.cc @@ -1,11 +1,11 @@ ---- chromecast/renderer/cast_content_renderer_client.cc.orig 2021-12-31 00:57:27 UTC +--- chromecast/renderer/cast_content_renderer_client.cc.orig 2022-02-07 13:39:41 UTC +++ chromecast/renderer/cast_content_renderer_client.cc -@@ -206,7 +206,7 @@ void CastContentRendererClient::RenderFrameCreated( +@@ -192,7 +192,7 @@ void CastContentRendererClient::RenderFrameCreated( dispatcher->OnRenderFrameCreated(render_frame); #endif -#if (defined(OS_LINUX) || defined(OS_CHROMEOS)) && defined(USE_OZONE) +#if (defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD)) && defined(USE_OZONE) // JsChannelBindings destroys itself when the RenderFrame is destroyed. JsChannelBindings::Create(render_frame); #endif diff --git a/www/chromium/files/patch-components_BUILD.gn b/www/chromium/files/patch-components_BUILD.gn deleted file mode 100644 index 3c5524ac143a..000000000000 --- a/www/chromium/files/patch-components_BUILD.gn +++ /dev/null @@ -1,16 +0,0 @@ ---- components/BUILD.gn.orig 2021-12-31 00:57:28 UTC -+++ components/BUILD.gn -@@ -369,6 +369,13 @@ test("components_unittests") { - ] - } - -+ if (is_bsd) { -+ deps -= [ -+ "//components/crash/content/browser:unit_tests", -+ "//components/crash/core/app:unit_tests", -+ ] -+ } -+ - data_deps += [ - ":components_tests_pak", - "//third_party/mesa_headers", diff --git a/www/chromium/files/patch-components_autofill_content_renderer_password__form__conversion__utils.cc b/www/chromium/files/patch-components_autofill_content_renderer_password__form__conversion__utils.cc deleted file mode 100644 index f0f4c87cd9ec..000000000000 --- a/www/chromium/files/patch-components_autofill_content_renderer_password__form__conversion__utils.cc +++ /dev/null @@ -1,14 +0,0 @@ ---- components/autofill/content/renderer/password_form_conversion_utils.cc.orig 2021-07-19 18:45:12 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 -+#else - #include "third_party/re2/src/re2/re2.h" -+#endif - #include "url/gurl.h" - - using blink::WebElement; diff --git a/www/chromium/files/patch-components_autofill_core_browser_autofill__external__delegate.cc b/www/chromium/files/patch-components_autofill_core_browser_autofill__external__delegate.cc index 9249850f1464..a3b49c36594c 100644 --- a/www/chromium/files/patch-components_autofill_core_browser_autofill__external__delegate.cc +++ b/www/chromium/files/patch-components_autofill_core_browser_autofill__external__delegate.cc @@ -1,11 +1,11 @@ ---- components/autofill/core/browser/autofill_external_delegate.cc.orig 2021-07-19 18:45:12 UTC +--- components/autofill/core/browser/autofill_external_delegate.cc.orig 2022-02-07 13:39:41 UTC +++ components/autofill/core/browser/autofill_external_delegate.cc -@@ -129,7 +129,7 @@ void AutofillExternalDelegate::OnSuggestionsReturned( - +@@ -130,7 +130,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_APPLE) || \ -+#if defined(OS_WIN) || defined(OS_LINUX) || defined(OS_APPLE) || defined(OS_BSD) || \ - defined(OS_CHROMEOS) + #if defined(OS_WIN) || defined(OS_LINUX) || defined(OS_APPLE) || \ +- defined(OS_CHROMEOS) ++ defined(OS_CHROMEOS) || defined(OS_BSD) if (base::FeatureList::IsEnabled( features::kAutofillEnableHideSuggestionsUI)) { + // If the user has selected a suggestion, it indicates the suggestions are diff --git a/www/chromium/files/patch-components_autofill_core_browser_personal__data__manager.cc b/www/chromium/files/patch-components_autofill_core_browser_personal__data__manager.cc index 1bd6fadb64fd..739b9b239db4 100644 --- a/www/chromium/files/patch-components_autofill_core_browser_personal__data__manager.cc +++ b/www/chromium/files/patch-components_autofill_core_browser_personal__data__manager.cc @@ -1,20 +1,11 @@ ---- components/autofill/core/browser/personal_data_manager.cc.orig 2021-12-31 00:57:28 UTC +--- components/autofill/core/browser/personal_data_manager.cc.orig 2022-02-07 13:39:41 UTC +++ components/autofill/core/browser/personal_data_manager.cc -@@ -2107,7 +2107,7 @@ bool PersonalDataManager::ShouldShowCardsFromAccountOp - // The feature is only for Linux, Windows and Mac. +@@ -2097,7 +2097,7 @@ bool PersonalDataManager::ShouldShowCardsFromAccountOp // TODO(crbug.com/1052397): Revisit the macro expression once build flag switch // of lacros-chrome is complete. --#if (defined(OS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS)) || defined(OS_WIN) || \ -+#if (defined(OS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS)) || defined(OS_WIN) || defined(OS_BSD) || \ - defined(OS_APPLE) + #if defined(OS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS) || defined(OS_WIN) || \ +- defined(OS_APPLE) || defined(OS_FUCHSIA) ++ defined(OS_APPLE) || defined(OS_FUCHSIA) || defined(OS_BSD) // This option should only be shown for users that have not enabled the Sync // Feature and that have server credit cards available. -@@ -2129,7 +2129,7 @@ bool PersonalDataManager::ShouldShowCardsFromAccountOp - return !is_opted_in; - #else - return false; --#endif // #if (defined(OS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS)) || -+#endif // #if (defined(OS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS)) || defined(OS_BSD) || - // defined(OS_WIN) || defined(OS_APPLE) - } - + if (!sync_service_ || sync_service_->IsSyncFeatureEnabled() || diff --git a/www/chromium/files/patch-components_autofill_core_common_autofill__payments__features.cc b/www/chromium/files/patch-components_autofill_core_common_autofill__payments__features.cc index cec0ab69a6f4..0de49806c9a5 100644 --- a/www/chromium/files/patch-components_autofill_core_common_autofill__payments__features.cc +++ b/www/chromium/files/patch-components_autofill_core_common_autofill__payments__features.cc @@ -1,11 +1,11 @@ ---- components/autofill/core/common/autofill_payments_features.cc.orig 2021-12-31 00:57:28 UTC +--- components/autofill/core/common/autofill_payments_features.cc.orig 2022-02-07 13:39:41 UTC +++ components/autofill/core/common/autofill_payments_features.cc -@@ -184,7 +184,7 @@ bool ShouldShowImprovedUserConsentForCreditCardSave() +@@ -172,7 +172,7 @@ const base::Feature kAutofillUpstreamAllowAllEmailDoma + bool ShouldShowImprovedUserConsentForCreditCardSave() { // TODO(crbug.com/1052397): Revisit the macro expression once build flag switch // of lacros-chrome is complete. - #if defined(OS_WIN) || defined(OS_APPLE) || \ -- (defined(OS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS)) -+ (defined(OS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS)) || defined(OS_BSD) +-#if defined(OS_WIN) || defined(OS_APPLE) || \ ++#if defined(OS_WIN) || defined(OS_APPLE) || defined(OS_BSD) || \ + (defined(OS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS)) // The new user consent UI is fully launched on MacOS, Windows and Linux. return true; - #else diff --git a/www/chromium/files/patch-components_autofill_core_common_autofill__util.cc b/www/chromium/files/patch-components_autofill_core_common_autofill__util.cc index 1db5a620da49..d7e7f2e7f1a9 100644 --- a/www/chromium/files/patch-components_autofill_core_common_autofill__util.cc +++ b/www/chromium/files/patch-components_autofill_core_common_autofill__util.cc @@ -1,11 +1,11 @@ ---- components/autofill/core/common/autofill_util.cc.orig 2021-09-14 01:51:54 UTC +--- components/autofill/core/common/autofill_util.cc.orig 2022-02-07 13:39:41 UTC +++ components/autofill/core/common/autofill_util.cc -@@ -153,7 +153,7 @@ bool SanitizedFieldIsEmpty(const std::u16string& value - } +@@ -154,7 +154,7 @@ bool SanitizedFieldIsEmpty(const std::u16string& value bool ShouldAutoselectFirstSuggestionOnArrowDown() { --#if defined(OS_WIN) || defined(OS_APPLE) || defined(OS_LINUX) || \ -+#if defined(OS_WIN) || defined(OS_APPLE) || defined(OS_LINUX) || defined(OS_BSD) || \ - defined(OS_CHROMEOS) + #if defined(OS_WIN) || defined(OS_APPLE) || defined(OS_LINUX) || \ +- defined(OS_CHROMEOS) ++ defined(OS_CHROMEOS) || defined(OS_BSD) return true; #else + return false; diff --git a/www/chromium/files/patch-components_cookie__config_cookie__store__util.cc b/www/chromium/files/patch-components_cookie__config_cookie__store__util.cc index d0e51fe2a643..3705d1512f14 100644 --- a/www/chromium/files/patch-components_cookie__config_cookie__store__util.cc +++ b/www/chromium/files/patch-components_cookie__config_cookie__store__util.cc @@ -1,26 +1,11 @@ ---- components/cookie_config/cookie_store_util.cc.orig 2021-04-14 18:40:59 UTC +--- components/cookie_config/cookie_store_util.cc.orig 2022-02-07 13:39:41 UTC +++ components/cookie_config/cookie_store_util.cc -@@ -11,7 +11,7 @@ - +@@ -12,7 +12,7 @@ namespace cookie_config { --#if defined(OS_WIN) || defined(OS_APPLE) || defined(OS_LINUX) || \ -+#if defined(OS_WIN) || defined(OS_APPLE) || defined(OS_LINUX) || defined(OS_BSD) || \ - defined(OS_CHROMEOS) + #if defined(OS_WIN) || defined(OS_APPLE) || defined(OS_LINUX) || \ +- defined(OS_CHROMEOS) ++ defined(OS_CHROMEOS) || defined(OS_BSD) namespace { -@@ -64,12 +64,12 @@ base::LazyInstance::Destructor - net::CookieCryptoDelegate* GetCookieCryptoDelegate() { - return g_cookie_crypto_delegate.Pointer(); - } --#else // defined(OS_WIN) || defined(OS_APPLE) || defined(OS_LINUX) || -+#else // defined(OS_WIN) || defined(OS_APPLE) || defined(OS_LINUX) || defined(OS_BSD) || - // defined(OS_CHROMEOS) - net::CookieCryptoDelegate* GetCookieCryptoDelegate() { - return NULL; - } --#endif // defined(OS_WIN) || defined(OS_APPLE) || defined(OS_LINUX) || -+#endif // defined(OS_WIN) || defined(OS_APPLE) || defined(OS_LINUX) || defined(OS_BSD) || - // defined(OS_CHROMEOS) - - } // namespace cookie_config + // Use the operating system's mechanisms to encrypt cookies before writing diff --git a/www/chromium/files/patch-components_crash_content_browser_BUILD.gn b/www/chromium/files/patch-components_crash_content_browser_BUILD.gn index 40c6cc00fc51..221f981f9392 100644 --- a/www/chromium/files/patch-components_crash_content_browser_BUILD.gn +++ b/www/chromium/files/patch-components_crash_content_browser_BUILD.gn @@ -1,20 +1,29 @@ ---- components/crash/content/browser/BUILD.gn.orig 2021-05-12 22:05:49 UTC +--- components/crash/content/browser/BUILD.gn.orig 2022-02-07 13:39:41 UTC +++ components/crash/content/browser/BUILD.gn +@@ -21,7 +21,7 @@ source_set("browser") { + "//content/public/common", + ] + +- if (is_linux || is_chromeos || is_android) { ++ if ((is_linux && !is_bsd) || is_chromeos || is_android) { + # Want this file on both Linux and Android. + sources += [ + "crash_handler_host_linux.cc", @@ -37,7 +37,7 @@ source_set("browser") { # 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" ] } @@ -59,7 +59,7 @@ source_set("browser") { "//components/crash/android:jni_headers", "//mojo/public/cpp/bindings", ] - } else { + } else if (!is_bsd) { deps += [ "//third_party/breakpad:client" ] } } diff --git a/www/chromium/files/patch-components_crash_content_browser_error__reporting_BUILD.gn b/www/chromium/files/patch-components_crash_content_browser_error__reporting_BUILD.gn deleted file mode 100644 index cf4bfbc91add..000000000000 --- a/www/chromium/files/patch-components_crash_content_browser_error__reporting_BUILD.gn +++ /dev/null @@ -1,13 +0,0 @@ ---- components/crash/content/browser/error_reporting/BUILD.gn.orig 2021-04-14 18:40:59 UTC -+++ components/crash/content/browser/error_reporting/BUILD.gn -@@ -30,4 +30,10 @@ source_set("mock_crash_endpoint") { - "//testing/gtest", - "//url", - ] -+ -+ if (is_bsd) { -+ deps -= [ -+ "//components/crash/core/app", -+ ] -+ } - } diff --git a/www/chromium/files/patch-components_crash_core_app_BUILD.gn b/www/chromium/files/patch-components_crash_core_app_BUILD.gn index 768d797d884c..776991495a54 100644 --- a/www/chromium/files/patch-components_crash_core_app_BUILD.gn +++ b/www/chromium/files/patch-components_crash_core_app_BUILD.gn @@ -1,11 +1,52 @@ ---- components/crash/core/app/BUILD.gn.orig 2021-09-14 01:51:54 UTC +--- components/crash/core/app/BUILD.gn.orig 2022-02-07 13:39:41 UTC +++ components/crash/core/app/BUILD.gn -@@ -3,7 +3,7 @@ - # found in the LICENSE file. +@@ -52,7 +52,7 @@ static_library("app") { + "crashpad.h", + ] - # TODO(crbug.com/1226159): Complete crash reporting integration on Fuchsia. --assert(!is_fuchsia) -+assert(!is_fuchsia && !is_bsd) +- if (is_linux || is_chromeos) { ++ if ((is_linux || is_chromeos) && !is_bsd) { + sources += [ + "breakpad_linux.cc", + "breakpad_linux.h", +@@ -61,6 +61,10 @@ static_library("app") { + ] + } - import("//components/gwp_asan/buildflags/buildflags.gni") ++ if (is_bsd) { ++ sources -= [ "crashpad.cc" ] ++ } ++ + defines = [ "CRASH_IMPLEMENTATION" ] + public_deps = [ ":lib" ] +@@ -88,7 +92,7 @@ static_library("app") { + libs = [ "log" ] + } + +- if (is_android || is_linux || is_chromeos) { ++ if ((is_android || is_linux || is_chromeos) && !is_bsd) { + deps += [ + "//base:base_static", + "//components/crash/core/common", +@@ -96,7 +100,7 @@ static_library("app") { + ] + } + +- if (is_linux || is_chromeos) { ++ if ((is_linux || is_chromeos) && !is_bsd) { + deps += [ "//third_party/breakpad:client" ] + } + +@@ -215,11 +219,6 @@ if (is_mac || is_android || is_linux || is_chromeos) { + # define custom UserStreamDataSources. + executable("chrome_crashpad_handler") { + sources = [ "chrome_crashpad_handler.cc" ] +- +- deps = [ +- ":crashpad_handler_main", +- "//third_party/crashpad/crashpad/handler", +- ] + + if (is_mac && (is_component_build || is_asan)) { + ldflags = [ diff --git a/www/chromium/files/patch-components_crash_core_app_chrome__crashpad__handler.cc b/www/chromium/files/patch-components_crash_core_app_chrome__crashpad__handler.cc new file mode 100644 index 000000000000..a9adae723bc6 --- /dev/null +++ b/www/chromium/files/patch-components_crash_core_app_chrome__crashpad__handler.cc @@ -0,0 +1,12 @@ +--- components/crash/core/app/chrome_crashpad_handler.cc.orig 2022-02-07 13:39:41 UTC ++++ components/crash/core/app/chrome_crashpad_handler.cc +@@ -6,5 +6,9 @@ + extern "C" int CrashpadHandlerMain(int argc, char* argv[]); + + int main(int argc, char* argv[]) { ++#if defined(__OpenBSD__) || defined(__FreeBSD__) ++ return -1; ++#else + return CrashpadHandlerMain(argc, argv); ++#endif + } diff --git a/www/chromium/files/patch-components_crash_core_browser_crash__upload__list__crashpad.cc b/www/chromium/files/patch-components_crash_core_browser_crash__upload__list__crashpad.cc new file mode 100644 index 000000000000..da10773c0ebf --- /dev/null +++ b/www/chromium/files/patch-components_crash_core_browser_crash__upload__list__crashpad.cc @@ -0,0 +1,16 @@ +--- components/crash/core/browser/crash_upload_list_crashpad.cc.orig 2022-02-07 13:39:41 UTC ++++ components/crash/core/browser/crash_upload_list_crashpad.cc +@@ -51,9 +51,13 @@ std::vector CrashUploadListCra + + 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/chromium/files/patch-components_crash_core_common_BUILD.gn b/www/chromium/files/patch-components_crash_core_common_BUILD.gn index 265a9e646ba3..61ecc8950ec9 100644 --- a/www/chromium/files/patch-components_crash_core_common_BUILD.gn +++ b/www/chromium/files/patch-components_crash_core_common_BUILD.gn @@ -1,40 +1,20 @@ ---- components/crash/core/common/BUILD.gn.orig 2021-04-14 18:40:59 UTC +--- components/crash/core/common/BUILD.gn.orig 2022-02-07 13:39:41 UTC +++ components/crash/core/common/BUILD.gn -@@ -8,7 +8,7 @@ import("//ios/features.gni") +@@ -8,7 +8,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") { -@@ -34,7 +34,7 @@ use_crashpad_annotation = - # used for keys. This is intended to be used temporarily to test Crashpad - # integrations without disabling Breakpad. - use_combined_annotations = -- (is_ios && !is_cronet_build) || is_linux || is_chromeos -+ ((is_ios && !is_cronet_build) || is_linux || is_chromeos) && !is_bsd - - buildflag_header("crash_buildflags") { - header = "crash_buildflags.h" -@@ -95,7 +95,9 @@ target(crash_key_target_type, "crash_key_lib") { - sources += [ "crash_key_stubs.cc" ] - } else if (use_crashpad_annotation) { - sources += [ "crash_key_crashpad.cc" ] -- deps += [ "//third_party/crashpad/crashpad/client" ] -+ if (!is_bsd) { -+ deps += [ "//third_party/crashpad/crashpad/client" ] -+ } - } else { - include_dirs = [ "//third_party/breakpad/breakpad/src" ] - -@@ -190,7 +192,7 @@ source_set("unit_tests") { +@@ -190,7 +190,7 @@ source_set("unit_tests") { sources += [ "crash_key_breakpad_ios_unittest.cc" ] deps += [ "//third_party/breakpad:client" ] include_dirs = [ "//third_party/breakpad/breakpad/src/" ] - } else if (!is_mac && !is_win && !is_fuchsia && !is_android) { + } else if (!is_mac && !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/chromium/files/patch-components_discardable__memory_service_discardable__shared__memory__manager.cc b/www/chromium/files/patch-components_discardable__memory_service_discardable__shared__memory__manager.cc index f04a157de106..6dc52dff9502 100644 --- a/www/chromium/files/patch-components_discardable__memory_service_discardable__shared__memory__manager.cc +++ b/www/chromium/files/patch-components_discardable__memory_service_discardable__shared__memory__manager.cc @@ -1,11 +1,11 @@ ---- components/discardable_memory/service/discardable_shared_memory_manager.cc.orig 2021-04-14 18:40:59 UTC +--- components/discardable_memory/service/discardable_shared_memory_manager.cc.orig 2022-02-07 13:39:41 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" +@@ -171,7 +171,7 @@ int64_t GetDefaultMemoryLimit() { + // Limits the number of FDs used to 32, assuming a 4MB allocation size. + int64_t max_default_memory_limit = 128 * kMegabyte; + #else +- int64_t max_default_memory_limit = 512 * kMegabyte; ++ int64_t max_default_memory_limit = 128 * kMegabyte; + #endif --#if defined(OS_LINUX) || defined(OS_CHROMEOS) -+#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD) - #include "base/files/file_path.h" - #include "base/files/file_util.h" - #include "base/metrics/histogram_macros.h" + // Use 1/8th of discardable memory on low-end devices. diff --git a/www/chromium/files/patch-components_download_internal_common_download__utils.cc b/www/chromium/files/patch-components_download_internal_common_download__utils.cc deleted file mode 100644 index ebcc7d0c85af..000000000000 --- a/www/chromium/files/patch-components_download_internal_common_download__utils.cc +++ /dev/null @@ -1,11 +0,0 @@ ---- components/download/internal/common/download_utils.cc.orig 2021-12-16 14:59:11 UTC -+++ components/download/internal/common/download_utils.cc -@@ -55,7 +55,7 @@ const int kDefaultDownloadExpiredTimeInDays = 90; - const int kDefaultOverwrittenDownloadExpiredTimeInDays = 90; - - // Default buffer size in bytes to write to the download file. --#if defined(OS_WIN) || defined(OS_MAC) || defined(OS_LINUX) -+#if defined(OS_WIN) || defined(OS_MAC) || defined(OS_LINUX) || defined(OS_BSD) - const int kDefaultDownloadFileBufferSize = 524288; // Desktop uses 512 KB. - #else - const int kDefaultDownloadFileBufferSize = 4096; diff --git a/www/chromium/files/patch-components_download_public_common_download__features.cc b/www/chromium/files/patch-components_download_public_common_download__features.cc deleted file mode 100644 index 5e7774a3dca3..000000000000 --- a/www/chromium/files/patch-components_download_public_common_download__features.cc +++ /dev/null @@ -1,11 +0,0 @@ ---- components/download/public/common/download_features.cc.orig 2021-12-31 00:57:29 UTC -+++ components/download/public/common/download_features.cc -@@ -68,7 +68,7 @@ const base::Feature kDeleteOverwrittenDownloads{ - - const base::Feature kAllowFileBufferSizeControl{ - "AllowFileBufferSizeControl", --#if defined(OS_WIN) || defined(OS_MAC) || defined(OS_LINUX) -+#if defined(OS_WIN) || defined(OS_MAC) || defined(OS_LINUX) || defined(OS_BSD) - base::FEATURE_ENABLED_BY_DEFAULT - #else - base::FEATURE_DISABLED_BY_DEFAULT diff --git a/www/chromium/files/patch-components_feature__engagement_public_event__constants.cc b/www/chromium/files/patch-components_feature__engagement_public_event__constants.cc index 92f5f84d5c6c..9a31196f60ff 100644 --- a/www/chromium/files/patch-components_feature__engagement_public_event__constants.cc +++ b/www/chromium/files/patch-components_feature__engagement_public_event__constants.cc @@ -1,20 +1,11 @@ ---- components/feature_engagement/public/event_constants.cc.orig 2021-12-31 00:57:29 UTC +--- components/feature_engagement/public/event_constants.cc.orig 2022-02-07 13:39:41 UTC +++ components/feature_engagement/public/event_constants.cc -@@ -10,7 +10,7 @@ namespace feature_engagement { - +@@ -11,7 +11,7 @@ namespace feature_engagement { namespace events { --#if defined(OS_WIN) || defined(OS_APPLE) || defined(OS_LINUX) || \ -+#if defined(OS_WIN) || defined(OS_APPLE) || defined(OS_LINUX) || defined(OS_BSD) || \ - defined(OS_CHROMEOS) || defined(OS_FUCHSIA) + #if defined(OS_WIN) || defined(OS_APPLE) || defined(OS_LINUX) || \ +- defined(OS_CHROMEOS) || defined(OS_FUCHSIA) ++ defined(OS_CHROMEOS) || defined(OS_FUCHSIA) || defined(OS_BSD) const char kNewTabOpened[] = "new_tab_opened"; const char kSixthTabOpened[] = "sixth_tab_opened"; -@@ -47,7 +47,7 @@ const char kFocusHelpBubbleAcceleratorPressed[] = - const char kFocusHelpBubbleAcceleratorPromoRead[] = - "focus_help_bubble_accelerator_promo_read"; - --#endif // defined(OS_WIN) || defined(OS_APPLE) || defined(OS_LINUX) || -+#endif // defined(OS_WIN) || defined(OS_APPLE) || defined(OS_LINUX) || defined(OS_BSD) || - // defined(OS_CHROMEOS) || defined(OS_FUCHSIA) - - #if defined(OS_IOS) + const char kTabGroupCreated[] = "tab_group_created"; diff --git a/www/chromium/files/patch-components_feature__engagement_public_event__constants.h b/www/chromium/files/patch-components_feature__engagement_public_event__constants.h index 99f20f667ff6..947885aa24dc 100644 --- a/www/chromium/files/patch-components_feature__engagement_public_event__constants.h +++ b/www/chromium/files/patch-components_feature__engagement_public_event__constants.h @@ -1,20 +1,11 @@ ---- components/feature_engagement/public/event_constants.h.orig 2021-12-31 00:57:29 UTC +--- components/feature_engagement/public/event_constants.h.orig 2022-02-07 13:39:41 UTC +++ components/feature_engagement/public/event_constants.h -@@ -12,7 +12,7 @@ namespace feature_engagement { - namespace events { +@@ -13,7 +13,7 @@ namespace events { // Desktop --#if defined(OS_WIN) || defined(OS_APPLE) || defined(OS_LINUX) || \ -+#if defined(OS_WIN) || defined(OS_APPLE) || defined(OS_LINUX) || defined(OS_BSD) || \ - defined(OS_CHROMEOS) || defined(OS_FUCHSIA) + #if defined(OS_WIN) || defined(OS_APPLE) || defined(OS_LINUX) || \ +- defined(OS_CHROMEOS) || defined(OS_FUCHSIA) ++ defined(OS_CHROMEOS) || defined(OS_FUCHSIA) || defined(OS_BSD) // The user has explicitly opened a new tab via an entry point from inside of // Chrome. -@@ -75,7 +75,7 @@ extern const char kFocusHelpBubbleAcceleratorPressed[] - // the user. - extern const char kFocusHelpBubbleAcceleratorPromoRead[]; - --#endif // defined(OS_WIN) || defined(OS_APPLE) || defined(OS_LINUX) || -+#endif // defined(OS_WIN) || defined(OS_APPLE) || defined(OS_LINUX) || defined(OS_BSD) || - // defined(OS_CHROMEOS) || defined(OS_FUCHSIA) - - #if defined(OS_IOS) + extern const char kNewTabOpened[]; diff --git a/www/chromium/files/patch-components_feature__engagement_public_feature__configurations.cc b/www/chromium/files/patch-components_feature__engagement_public_feature__configurations.cc index 4595f8f47898..6c899feda6b7 100644 --- a/www/chromium/files/patch-components_feature__engagement_public_feature__configurations.cc +++ b/www/chromium/files/patch-components_feature__engagement_public_feature__configurations.cc @@ -1,20 +1,11 @@ ---- components/feature_engagement/public/feature_configurations.cc.orig 2021-12-31 00:57:29 UTC +--- components/feature_engagement/public/feature_configurations.cc.orig 2022-02-07 13:39:41 UTC +++ components/feature_engagement/public/feature_configurations.cc -@@ -12,7 +12,7 @@ namespace feature_engagement { - +@@ -13,7 +13,7 @@ namespace feature_engagement { absl::optional GetClientSideFeatureConfig( const base::Feature* feature) { --#if defined(OS_WIN) || defined(OS_APPLE) || defined(OS_LINUX) || \ -+#if defined(OS_WIN) || defined(OS_APPLE) || defined(OS_LINUX) || defined(OS_BSD) || \ - defined(OS_CHROMEOS) + #if defined(OS_WIN) || defined(OS_APPLE) || defined(OS_LINUX) || \ +- defined(OS_CHROMEOS) ++ defined(OS_CHROMEOS) || defined(OS_BSD) if (kIPHPasswordsAccountStorageFeature.name == feature->name) { absl::optional config = FeatureConfig(); -@@ -87,7 +87,7 @@ absl::optional GetClientSideFeatureConf - Comparator(EQUAL, 0), 7, 360)); - return config; - } --#endif // defined(OS_WIN) || defined(OS_APPLE) || defined(OS_LINUX) || -+#endif // defined(OS_WIN) || defined(OS_APPLE) || defined(OS_LINUX) || defined(OS_BSD) || - // defined(OS_CHROMEOS) - - #if defined(OS_ANDROID) + config->valid = true; diff --git a/www/chromium/files/patch-components_feature__engagement_public_feature__constants.cc b/www/chromium/files/patch-components_feature__engagement_public_feature__constants.cc index e7a5f9d92524..c0efb5eda38f 100644 --- a/www/chromium/files/patch-components_feature__engagement_public_feature__constants.cc +++ b/www/chromium/files/patch-components_feature__engagement_public_feature__constants.cc @@ -1,35 +1,20 @@ ---- components/feature_engagement/public/feature_constants.cc.orig 2021-12-31 00:57:29 UTC +--- components/feature_engagement/public/feature_constants.cc.orig 2022-02-07 13:39:41 UTC +++ components/feature_engagement/public/feature_constants.cc -@@ -19,7 +19,7 @@ const base::Feature kUseClientConfigIPH{"UseClientConf - const base::Feature kIPHDummyFeature{"IPH_Dummy", +@@ -20,7 +20,7 @@ const base::Feature kIPHDummyFeature{"IPH_Dummy", base::FEATURE_DISABLED_BY_DEFAULT}; --#if defined(OS_WIN) || defined(OS_APPLE) || defined(OS_LINUX) || \ -+#if defined(OS_WIN) || defined(OS_APPLE) || defined(OS_LINUX) || defined(OS_BSD) || \ - defined(OS_CHROMEOS) || defined(OS_FUCHSIA) + #if defined(OS_WIN) || defined(OS_APPLE) || defined(OS_LINUX) || \ +- defined(OS_CHROMEOS) || defined(OS_FUCHSIA) ++ defined(OS_CHROMEOS) || defined(OS_FUCHSIA) || defined(OS_BSD) const base::Feature kIPHDesktopSharedHighlightingFeature{ "IPH_DesktopSharedHighlighting", base::FEATURE_DISABLED_BY_DEFAULT}; -@@ -53,7 +53,7 @@ const base::Feature kIPHDesktopPwaInstallFeature{ - "IPH_DesktopPwaInstall", base::FEATURE_ENABLED_BY_DEFAULT}; - const base::Feature kIPHProfileSwitchFeature{"IPH_ProfileSwitch", - base::FEATURE_ENABLED_BY_DEFAULT}; --#endif // defined(OS_WIN) || defined(OS_APPLE) || defined(OS_LINUX) || -+#endif // defined(OS_WIN) || defined(OS_APPLE) || defined(OS_LINUX) || defined(OS_BSD) || - // defined(OS_CHROMEOS) || defined(OS_FUCHSIA) - - #if defined(OS_ANDROID) -@@ -232,12 +232,12 @@ const base::Feature kIPHDiscoverFeedHeaderFeature{ + const base::Feature kIPHDesktopTabGroupsNewGroupFeature{ +@@ -257,7 +257,7 @@ const base::Feature kIPHDiscoverFeedHeaderFeature{ "IPH_DiscoverFeedHeaderMenu", base::FEATURE_DISABLED_BY_DEFAULT}; #endif // defined(OS_IOS) -#if defined(OS_WIN) || defined(OS_APPLE) || defined(OS_LINUX) || \ +#if defined(OS_WIN) || defined(OS_APPLE) || defined(OS_LINUX) || defined(OS_BSD) || \ defined(OS_CHROMEOS) || defined(OS_ANDROID) || defined(OS_FUCHSIA) const base::Feature kIPHUpdatedConnectionSecurityIndicatorsFeature{ "IPH_UpdatedConnectionSecurityIndicators", - base::FEATURE_DISABLED_BY_DEFAULT}; --#endif // defined(OS_WIN) || defined(OS_APPLE) || defined(OS_LINUX) || -+#endif // defined(OS_WIN) || defined(OS_APPLE) || defined(OS_LINUX) || defined(OS_BSD) || - // defined(OS_CHROMEOS) || defined(OS_ANDROID) || defined(OS_FUCHSIA) - - } // namespace feature_engagement diff --git a/www/chromium/files/patch-components_feature__engagement_public_feature__constants.h b/www/chromium/files/patch-components_feature__engagement_public_feature__constants.h index 52e9e13a5765..23dfbab1568e 100644 --- a/www/chromium/files/patch-components_feature__engagement_public_feature__constants.h +++ b/www/chromium/files/patch-components_feature__engagement_public_feature__constants.h @@ -1,29 +1,20 @@ ---- components/feature_engagement/public/feature_constants.h.orig 2021-12-31 00:57:29 UTC +--- components/feature_engagement/public/feature_constants.h.orig 2022-02-07 13:39:41 UTC +++ components/feature_engagement/public/feature_constants.h -@@ -29,7 +29,7 @@ extern const base::Feature kUseClientConfigIPH; - // A feature to ensure all arrays can contain at least one feature. +@@ -30,7 +30,7 @@ extern const base::Feature kUseClientConfigIPH; extern const base::Feature kIPHDummyFeature; --#if defined(OS_WIN) || defined(OS_APPLE) || defined(OS_LINUX) || \ -+#if defined(OS_WIN) || defined(OS_APPLE) || defined(OS_LINUX) || defined(OS_BSD) || \ - defined(OS_CHROMEOS) || defined(OS_FUCHSIA) + #if defined(OS_WIN) || defined(OS_APPLE) || defined(OS_LINUX) || \ +- defined(OS_CHROMEOS) || defined(OS_FUCHSIA) ++ defined(OS_CHROMEOS) || defined(OS_FUCHSIA) || defined(OS_BSD) extern const base::Feature kIPHDesktopSharedHighlightingFeature; extern const base::Feature kIPHDesktopTabGroupsNewGroupFeature; -@@ -48,7 +48,7 @@ extern const base::Feature kIPHDesktopSnoozeFeature; - extern const base::Feature kIPHDesktopPwaInstallFeature; - extern const base::Feature kIPHProfileSwitchFeature; - extern const base::Feature kIPHUpdatedConnectionSecurityIndicatorsFeature; --#endif // defined(OS_WIN) || defined(OS_APPLE) || defined(OS_LINUX) || -+#endif // defined(OS_WIN) || defined(OS_APPLE) || defined(OS_LINUX) || defined(OS_BSD) || - // defined(OS_CHROMEOS) || defined(OS_FUCHSIA) - - // All the features declared for Android below that are also used in Java, -@@ -147,7 +147,7 @@ extern const base::Feature kIPHBadgedTranslateManualTr + extern const base::Feature kIPHFocusHelpBubbleScreenReaderPromoFeature; +@@ -160,7 +160,7 @@ extern const base::Feature kIPHBadgedTranslateManualTr extern const base::Feature kIPHDiscoverFeedHeaderFeature; #endif // defined(OS_IOS) -#if defined(OS_WIN) || defined(OS_APPLE) || defined(OS_LINUX) || \ +#if defined(OS_WIN) || defined(OS_APPLE) || defined(OS_LINUX) || defined(OS_BSD) || \ defined(OS_CHROMEOS) || defined(OS_ANDROID) || defined(OS_FUCHSIA) extern const base::Feature kIPHUpdatedConnectionSecurityIndicatorsFeature; #endif diff --git a/www/chromium/files/patch-components_feature__engagement_public_feature__list.cc b/www/chromium/files/patch-components_feature__engagement_public_feature__list.cc index 7d99f329f48d..f5ac07fda73e 100644 --- a/www/chromium/files/patch-components_feature__engagement_public_feature__list.cc +++ b/www/chromium/files/patch-components_feature__engagement_public_feature__list.cc @@ -1,20 +1,11 @@ ---- components/feature_engagement/public/feature_list.cc.orig 2021-12-31 00:57:29 UTC +--- components/feature_engagement/public/feature_list.cc.orig 2022-02-07 13:39:41 UTC +++ components/feature_engagement/public/feature_list.cc -@@ -102,7 +102,7 @@ const base::Feature* const kAllFeatures[] = { - &kIPHBadgedTranslateManualTriggerFeature, +@@ -111,7 +111,7 @@ const base::Feature* const kAllFeatures[] = { &kIPHDiscoverFeedHeaderFeature, #endif // defined(OS_IOS) --#if defined(OS_WIN) || defined(OS_APPLE) || defined(OS_LINUX) || \ -+#if defined(OS_WIN) || defined(OS_APPLE) || defined(OS_LINUX) || defined(OS_BSD) || \ - defined(OS_CHROMEOS) || defined(OS_FUCHSIA) + #if defined(OS_WIN) || defined(OS_APPLE) || defined(OS_LINUX) || \ +- defined(OS_CHROMEOS) || defined(OS_FUCHSIA) ++ defined(OS_CHROMEOS) || defined(OS_FUCHSIA) || defined(OS_BSD) &kIPHDesktopTabGroupsNewGroupFeature, &kIPHFocusHelpBubbleScreenReaderPromoFeature, -@@ -120,7 +120,7 @@ const base::Feature* const kAllFeatures[] = { - &kIPHProfileSwitchFeature, - &kIPHUpdatedConnectionSecurityIndicatorsFeature, - &kIPHDesktopSharedHighlightingFeature, --#endif // defined(OS_WIN) || defined(OS_APPLE) || defined(OS_LINUX) || -+#endif // defined(OS_WIN) || defined(OS_APPLE) || defined(OS_LINUX) || defined(OS_BSD) || - // defined(OS_CHROMEOS) || defined(OS_FUCHSIA) - }; - } // namespace + &kIPHGMCCastStartStopFeature, diff --git a/www/chromium/files/patch-components_feature__engagement_public_feature__list.h b/www/chromium/files/patch-components_feature__engagement_public_feature__list.h index 624f57ff14cf..e419c34ff30b 100644 --- a/www/chromium/files/patch-components_feature__engagement_public_feature__list.h +++ b/www/chromium/files/patch-components_feature__engagement_public_feature__list.h @@ -1,38 +1,20 @@ ---- components/feature_engagement/public/feature_list.h.orig 2021-12-31 00:57:29 UTC +--- components/feature_engagement/public/feature_list.h.orig 2022-02-07 13:39:41 UTC +++ components/feature_engagement/public/feature_list.h -@@ -189,7 +189,7 @@ DEFINE_VARIATION_PARAM(kIPHDiscoverFeedHeaderFeature, - "IPH_DiscoverFeedHeaderMenu"); +@@ -211,7 +211,7 @@ DEFINE_VARIATION_PARAM(kIPHDiscoverFeedHeaderFeature, #endif // defined(OS_IOS) --#if defined(OS_WIN) || defined(OS_APPLE) || defined(OS_LINUX) || \ -+#if defined(OS_WIN) || defined(OS_APPLE) || defined(OS_LINUX) || defined(OS_BSD) || \ - defined(OS_CHROMEOS) || defined(OS_FUCHSIA) + #if defined(OS_WIN) || defined(OS_APPLE) || defined(OS_LINUX) || \ +- defined(OS_CHROMEOS) || defined(OS_FUCHSIA) ++ defined(OS_CHROMEOS) || defined(OS_FUCHSIA) || defined(OS_BSD) DEFINE_VARIATION_PARAM(kIPHDesktopTabGroupsNewGroupFeature, "IPH_DesktopTabGroupsNewGroup"); -@@ -215,7 +215,7 @@ DEFINE_VARIATION_PARAM(kIPHUpdatedConnectionSecurityIn - "IPH_UpdatedConnectionSecurityIndicators"); - DEFINE_VARIATION_PARAM(kIPHDesktopSharedHighlightingFeature, - "IPH_DesktopSharedHighlighting"); --#endif // defined(OS_WIN) || defined(OS_APPLE) || defined(OS_LINUX) || -+#endif // defined(OS_WIN) || defined(OS_APPLE) || defined(OS_LINUX) || defined(OS_BSD) || - // defined(OS_CHROMEOS) || defined(OS_FUCHSIA) - - } // namespace -@@ -311,7 +311,7 @@ constexpr flags_ui::FeatureEntry::FeatureVariation - VARIATION_ENTRY(kIPHReadingListMessagesFeature), + DEFINE_VARIATION_PARAM(kIPHFocusModeFeature, "IPH_FocusMode"); +@@ -336,7 +336,7 @@ constexpr flags_ui::FeatureEntry::FeatureVariation VARIATION_ENTRY(kIPHBadgedTranslateManualTriggerFeature), VARIATION_ENTRY(kIPHDiscoverFeedHeaderFeature), --#elif defined(OS_WIN) || defined(OS_MAC) || defined(OS_LINUX) || \ -+#elif defined(OS_WIN) || defined(OS_MAC) || defined(OS_LINUX) || defined(OS_BSD) || \ - defined(OS_CHROMEOS) || defined(OS_FUCHSIA) + #elif defined(OS_WIN) || defined(OS_MAC) || defined(OS_LINUX) || \ +- defined(OS_CHROMEOS) || defined(OS_FUCHSIA) ++ defined(OS_CHROMEOS) || defined(OS_FUCHSIA) || defined(OS_BSD) VARIATION_ENTRY(kIPHDesktopTabGroupsNewGroupFeature), VARIATION_ENTRY(kIPHFocusModeFeature), -@@ -330,7 +330,7 @@ constexpr flags_ui::FeatureEntry::FeatureVariation - VARIATION_ENTRY(kIPHProfileSwitchFeature), - VARIATION_ENTRY(kIPHUpdatedConnectionSecurityIndicatorsFeature), - VARIATION_ENTRY(kIPHDesktopSharedHighlightingFeature), --#endif // defined(OS_WIN) || defined(OS_MAC) || defined(OS_LINUX) || -+#endif // defined(OS_WIN) || defined(OS_MAC) || defined(OS_LINUX) || defined(OS_BSD) || - // defined(OS_CHROMEOS) || defined(OS_FUCHSIA) - }; - + VARIATION_ENTRY(kIPHGlobalMediaControls), diff --git a/www/chromium/files/patch-components_feed_core_v2_proto__util.cc b/www/chromium/files/patch-components_feed_core_v2_proto__util.cc index cd037b923b9e..4ad27dcfe4e3 100644 --- a/www/chromium/files/patch-components_feed_core_v2_proto__util.cc +++ b/www/chromium/files/patch-components_feed_core_v2_proto__util.cc @@ -1,24 +1,24 @@ ---- components/feed/core/v2/proto_util.cc.orig 2021-12-14 11:45:03 UTC +--- components/feed/core/v2/proto_util.cc.orig 2022-02-07 13:39:41 UTC +++ components/feed/core/v2/proto_util.cc -@@ -86,8 +86,8 @@ feedwire::Version GetPlatformVersionMessage() { +@@ -88,8 +88,8 @@ feedwire::Version GetPlatformVersionMessage() { int32_t major, minor, revision; base::SysInfo::OperatingSystemVersionNumbers(&major, &minor, &revision); - result.set_major(major); - result.set_minor(minor); + result.set_gmajor(major); + result.set_gminor(minor); result.set_revision(revision); #if defined(OS_ANDROID) result.set_api_version(base::android::BuildInfo::GetInstance()->sdk_int()); -@@ -102,8 +102,8 @@ feedwire::Version GetAppVersionMessage(const ChromeInf +@@ -104,8 +104,8 @@ feedwire::Version GetAppVersionMessage(const ChromeInf // Chrome's version is in the format: MAJOR,MINOR,BUILD,PATCH. const std::vector& numbers = chrome_info.version.components(); if (numbers.size() > 3) { - result.set_major(static_cast(numbers[0])); - result.set_minor(static_cast(numbers[1])); + result.set_gmajor(static_cast(numbers[0])); + result.set_gminor(static_cast(numbers[1])); result.set_build(static_cast(numbers[2])); result.set_revision(static_cast(numbers[3])); } diff --git a/www/chromium/files/patch-components_flags__ui_flags__state.cc b/www/chromium/files/patch-components_flags__ui_flags__state.cc index c78293356fad..06b191b71cc1 100644 --- a/www/chromium/files/patch-components_flags__ui_flags__state.cc +++ b/www/chromium/files/patch-components_flags__ui_flags__state.cc @@ -1,11 +1,11 @@ ---- components/flags_ui/flags_state.cc.orig 2021-12-31 00:57:29 UTC +--- components/flags_ui/flags_state.cc.orig 2022-02-07 13:39:41 UTC +++ components/flags_ui/flags_state.cc -@@ -653,7 +653,7 @@ unsigned short FlagsState::GetCurrentPlatform() { - return kOsWin; +@@ -654,7 +654,7 @@ unsigned short FlagsState::GetCurrentPlatform() { #elif BUILDFLAG(IS_CHROMEOS_ASH) return kOsCrOS; --#elif (defined(OS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS)) || \ -+#elif (defined(OS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS)) || defined(OS_FREEBSD) || \ - defined(OS_OPENBSD) + #elif (defined(OS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS)) || \ +- defined(OS_OPENBSD) ++ defined(OS_BSD) return kOsLinux; #elif defined(OS_ANDROID) + return kOsAndroid; diff --git a/www/chromium/files/patch-components_gcm__driver_gcm__client.h b/www/chromium/files/patch-components_gcm__driver_gcm__client.h deleted file mode 100644 index e287169c3226..000000000000 --- a/www/chromium/files/patch-components_gcm__driver_gcm__client.h +++ /dev/null @@ -1,10 +0,0 @@ ---- components/gcm_driver/gcm_client.h.orig 2021-04-14 18:40:59 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/chromium/files/patch-components_gcm__driver_gcm__client__impl.cc b/www/chromium/files/patch-components_gcm__driver_gcm__client__impl.cc deleted file mode 100644 index 57e2d63a96cc..000000000000 --- a/www/chromium/files/patch-components_gcm__driver_gcm__client__impl.cc +++ /dev/null @@ -1,12 +0,0 @@ ---- components/gcm_driver/gcm_client_impl.cc.orig 2021-09-14 01:51:54 UTC -+++ components/gcm_driver/gcm_client_impl.cc -@@ -133,6 +133,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/chromium/files/patch-components_gwp__asan_BUILD.gn b/www/chromium/files/patch-components_gwp__asan_BUILD.gn index e7478bf72385..ebe0c373318b 100644 --- a/www/chromium/files/patch-components_gwp__asan_BUILD.gn +++ b/www/chromium/files/patch-components_gwp__asan_BUILD.gn @@ -1,10 +1,11 @@ ---- components/gwp_asan/BUILD.gn.orig 2021-04-14 18:40:59 UTC +--- components/gwp_asan/BUILD.gn.orig 2022-02-07 13:39:41 UTC +++ components/gwp_asan/BUILD.gn -@@ -20,4 +20,7 @@ test("gwp_asan_unittests") { +@@ -14,7 +14,7 @@ test("gwp_asan_unittests") { + "//components/gwp_asan/common:unit_tests", + "//testing/gtest", + ] +- if (is_win || is_mac || is_linux || is_chromeos || is_android) { ++ if ((is_win || is_mac || is_linux || is_chromeos || is_android) && !is_bsd) { + deps += [ + "//components/gwp_asan/client:unit_tests", "//components/gwp_asan/crash_handler:unit_tests", - ] - } -+ if (is_bsd) { -+ deps -= [ "//components/gwp_asan/crash_handler:unit_tests" ] -+ } - } diff --git a/www/chromium/files/patch-components_gwp__asan_crash__handler_crash__analyzer.cc b/www/chromium/files/patch-components_gwp__asan_crash__handler_crash__analyzer.cc new file mode 100644 index 000000000000..bd90464fb692 --- /dev/null +++ b/www/chromium/files/patch-components_gwp__asan_crash__handler_crash__analyzer.cc @@ -0,0 +1,20 @@ +--- components/gwp_asan/crash_handler/crash_analyzer.cc.orig 2022-02-07 13:39:41 UTC ++++ components/gwp_asan/crash_handler/crash_analyzer.cc +@@ -26,7 +26,7 @@ + #include "third_party/crashpad/crashpad/snapshot/process_snapshot.h" + #include "third_party/crashpad/crashpad/util/process/process_memory.h" + +-#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_ANDROID) ++#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_ANDROID) || defined(OS_BSD) + #include + #elif defined(OS_APPLE) + #include +@@ -81,7 +81,7 @@ bool CrashAnalyzer::GetExceptionInfo( + + crashpad::VMAddress CrashAnalyzer::GetAccessAddress( + const crashpad::ExceptionSnapshot& exception) { +-#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_ANDROID) ++#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_ANDROID) || defined(OS_BSD) + if (exception.Exception() == SIGSEGV || exception.Exception() == SIGBUS) + return exception.ExceptionAddress(); + #elif defined(OS_APPLE) diff --git a/www/chromium/files/patch-components_invalidation_impl_invalidation__switches.cc b/www/chromium/files/patch-components_invalidation_impl_invalidation__switches.cc index 3e15ce7b318f..895324b3352a 100644 --- a/www/chromium/files/patch-components_invalidation_impl_invalidation__switches.cc +++ b/www/chromium/files/patch-components_invalidation_impl_invalidation__switches.cc @@ -1,11 +1,11 @@ ---- components/invalidation/impl/invalidation_switches.cc.orig 2021-07-19 18:45:13 UTC +--- components/invalidation/impl/invalidation_switches.cc.orig 2022-02-07 13:39:41 UTC +++ components/invalidation/impl/invalidation_switches.cc -@@ -20,7 +20,7 @@ const int kDefaultInstanceIDTokenTTLSeconds = 14 * 24 - +@@ -21,7 +21,7 @@ const int kDefaultInstanceIDTokenTTLSeconds = 14 * 24 const base::Feature kSyncInstanceIDTokenTTL { "SyncInstanceIDTokenTTL", --#if defined(OS_WIN) || defined(OS_MAC) || defined(OS_LINUX) || \ -+#if defined(OS_WIN) || defined(OS_MAC) || defined(OS_LINUX) || defined(OS_BSD) || \ - defined(OS_CHROMEOS) || defined(OS_IOS) + #if defined(OS_WIN) || defined(OS_MAC) || defined(OS_LINUX) || \ +- defined(OS_CHROMEOS) || defined(OS_IOS) ++ defined(OS_CHROMEOS) || defined(OS_IOS) || defined(OS_BSD) base::FEATURE_ENABLED_BY_DEFAULT #else + base::FEATURE_DISABLED_BY_DEFAULT diff --git a/www/chromium/files/patch-components_keyed__service_core_dependency__graph__unittest.cc b/www/chromium/files/patch-components_keyed__service_core_dependency__graph__unittest.cc deleted file mode 100644 index 66e7d6ee64b8..000000000000 --- a/www/chromium/files/patch-components_keyed__service_core_dependency__graph__unittest.cc +++ /dev/null @@ -1,14 +0,0 @@ ---- components/keyed_service/core/dependency_graph_unittest.cc.orig 2021-04-14 18:40:59 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 -+#else - #include "third_party/re2/src/re2/re2.h" -+#endif - - namespace { - diff --git a/www/chromium/files/patch-components_metrics_BUILD.gn b/www/chromium/files/patch-components_metrics_BUILD.gn deleted file mode 100644 index 1b10b303cd69..000000000000 --- a/www/chromium/files/patch-components_metrics_BUILD.gn +++ /dev/null @@ -1,14 +0,0 @@ ---- components/metrics/BUILD.gn.orig 2021-12-31 00:57:29 UTC -+++ components/metrics/BUILD.gn -@@ -187,6 +187,11 @@ 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/chromium/files/patch-components_metrics_metrics__log.cc b/www/chromium/files/patch-components_metrics_metrics__log.cc deleted file mode 100644 index f22e7b0964a3..000000000000 --- a/www/chromium/files/patch-components_metrics_metrics__log.cc +++ /dev/null @@ -1,11 +0,0 @@ ---- components/metrics/metrics_log.cc.orig 2021-12-31 00:57:29 UTC -+++ components/metrics/metrics_log.cc -@@ -342,7 +342,7 @@ void MetricsLog::RecordCoreSystemProfile( - // OperatingSystemVersion refers to the ChromeOS release version. - #if BUILDFLAG(IS_CHROMEOS_ASH) - os->set_kernel_version(base::SysInfo::KernelVersion()); --#elif defined(OS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS) -+#elif defined(OS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS) || 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/chromium/files/patch-components_new__or__sad__tab__strings.grdp b/www/chromium/files/patch-components_new__or__sad__tab__strings.grdp index cea7edadf5b3..059f13e07742 100644 --- a/www/chromium/files/patch-components_new__or__sad__tab__strings.grdp +++ b/www/chromium/files/patch-components_new__or__sad__tab__strings.grdp @@ -1,47 +1,47 @@ ---- components/new_or_sad_tab_strings.grdp.orig 2021-12-14 11:45:03 UTC +--- components/new_or_sad_tab_strings.grdp.orig 2022-02-07 13:39:41 UTC +++ components/new_or_sad_tab_strings.grdp @@ -51,7 +51,7 @@ Open page in a new Incognito window (⇧⌘N) - -+ ++ Open page in a new Incognito window (Ctrl-Shift-N) @@ -66,7 +66,7 @@ Close other tabs or apps - + Close other tabs or programs @@ -76,7 +76,7 @@ Close other apps - + Close other programs @@ -91,7 +91,7 @@ Restart Chromium - -+ ++ Restart your computer @@ -106,7 +106,7 @@ Learn more - -+ ++ Error code: $1STATUS_ACCESS_VIOLATION diff --git a/www/chromium/files/patch-components_os__crypt_keyring__util__linux.cc b/www/chromium/files/patch-components_os__crypt_keyring__util__linux.cc new file mode 100644 index 000000000000..d81e53fa3c1f --- /dev/null +++ b/www/chromium/files/patch-components_os__crypt_keyring__util__linux.cc @@ -0,0 +1,17 @@ +--- components/os_crypt/keyring_util_linux.cc.orig 2022-02-07 13:39:41 UTC ++++ components/os_crypt/keyring_util_linux.cc +@@ -69,12 +69,12 @@ bool GnomeKeyringLoader::LoadGnomeKeyring() { + if (keyring_loaded) + return true; + +- void* handle = dlopen("libgnome-keyring.so.0", RTLD_NOW | RTLD_GLOBAL); ++ void* handle = dlopen("libgnome-keyring.so", RTLD_NOW | RTLD_GLOBAL); + if (!handle) { + // We wanted to use GNOME Keyring, but we couldn't load it. Warn, because + // either the user asked for this, or we autodetected it incorrectly. (Or + // the system has broken libraries, which is also good to warn about.) +- LOG(WARNING) << "Could not load libgnome-keyring.so.0: " << dlerror(); ++ LOG(WARNING) << "Could not load libgnome-keyring.so: " << dlerror(); + return false; + } + diff --git a/www/chromium/files/patch-components_os__crypt_libsecret__util__linux.cc b/www/chromium/files/patch-components_os__crypt_libsecret__util__linux.cc new file mode 100644 index 000000000000..8c33525f1c23 --- /dev/null +++ b/www/chromium/files/patch-components_os__crypt_libsecret__util__linux.cc @@ -0,0 +1,18 @@ +--- components/os_crypt/libsecret_util_linux.cc.orig 2022-02-07 13:39:41 UTC ++++ components/os_crypt/libsecret_util_linux.cc +@@ -101,13 +101,13 @@ bool LibsecretLoader::LoadLibsecret() { + if (libsecret_loaded_) + return true; + +- static void* handle = dlopen("libsecret-1.so.0", RTLD_NOW | RTLD_GLOBAL); ++ static void* handle = dlopen("libsecret-1.so", RTLD_NOW | RTLD_GLOBAL); + if (!handle) { + // We wanted to use libsecret, but we couldn't load it. Warn, because + // either the user asked for this, or we autodetected it incorrectly. (Or + // the system has broken libraries, which is also good to warn about.) + // TODO(crbug.com/607435): Channel this message to the user-facing log +- VLOG(1) << "Could not load libsecret-1.so.0: " << dlerror(); ++ VLOG(1) << "Could not load libsecret-1.so: " << dlerror(); + return false; + } + diff --git a/www/chromium/files/patch-components_os__crypt_os__crypt.h b/www/chromium/files/patch-components_os__crypt_os__crypt.h index d50931d7c7c3..375548c8db43 100644 --- a/www/chromium/files/patch-components_os__crypt_os__crypt.h +++ b/www/chromium/files/patch-components_os__crypt_os__crypt.h @@ -1,51 +1,38 @@ ---- components/os_crypt/os_crypt.h.orig 2021-12-14 11:45:03 UTC +--- components/os_crypt/os_crypt.h.orig 2022-02-07 13:39:41 UTC +++ components/os_crypt/os_crypt.h -@@ -17,9 +17,9 @@ +@@ -16,7 +16,7 @@ // TODO(crbug.com/1052397): Revisit the macro expression once build flag switch // of lacros-chrome is complete. -#if defined(OS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS) +#if defined(OS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS) || defined(OS_BSD) class KeyStorageLinux; --#endif // defined(OS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS) -+#endif // defined(OS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS) || defined(OS_BSD) + #endif // defined(OS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS) - #if defined(OS_WIN) || defined(OS_MAC) - class PrefRegistrySimple; -@@ -42,16 +42,16 @@ class OSCrypt { +@@ -41,7 +41,7 @@ class OSCrypt { // TODO(crbug.com/1052397): Revisit the macro expression once build flag switch // of lacros-chrome is complete. -#if defined(OS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS) +#if defined(OS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS) || defined(OS_BSD) // Set the configuration of OSCrypt. static COMPONENT_EXPORT(OS_CRYPT) void SetConfig( std::unique_ptr config); --#endif // defined(OS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS) -+#endif // defined(OS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS) || defined(OS_BSD) +@@ -49,7 +49,7 @@ class OSCrypt { // TODO(crbug.com/1052397): Revisit the macro expression once build flag switch // of lacros-chrome is complete. - #if defined(OS_APPLE) || defined(OS_WIN) || \ -- (defined(OS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS)) -+ (defined(OS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS)) || defined(OS_BSD) +-#if defined(OS_APPLE) || defined(OS_WIN) || \ ++#if defined(OS_APPLE) || defined(OS_WIN) || defined(OS_BSD) || \ + (defined(OS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS)) // 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 -@@ -142,7 +142,7 @@ class OSCrypt { +@@ -141,7 +141,7 @@ class OSCrypt { // TODO(crbug.com/1052397): Revisit the macro expression once build flag switch // of lacros-chrome is complete. -#if defined(OS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS) +#if defined(OS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS) || 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. -@@ -157,6 +157,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) || BUILDFLAG(IS_CHROMEOS_LACROS) -+#endif // defined(OS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS) || defined(OS_BSD) - - #endif // COMPONENTS_OS_CRYPT_OS_CRYPT_H_ diff --git a/www/chromium/files/patch-components_os__crypt_os__crypt__unittest.cc b/www/chromium/files/patch-components_os__crypt_os__crypt__unittest.cc deleted file mode 100644 index c8463d5980eb..000000000000 --- a/www/chromium/files/patch-components_os__crypt_os__crypt__unittest.cc +++ /dev/null @@ -1,11 +0,0 @@ ---- components/os_crypt/os_crypt_unittest.cc.orig 2021-04-14 18:40:59 UTC -+++ components/os_crypt/os_crypt_unittest.cc -@@ -21,7 +21,7 @@ - - // TODO(crbug.com/1052397): Revisit the macro expression once build flag switch - // of lacros-chrome is complete. --#if defined(OS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS) -+#if defined(OS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS) || defined(OS_BSD) - #include "components/os_crypt/os_crypt_mocker_linux.h" - #endif - diff --git a/www/chromium/files/patch-components_paint__preview_browser_paint__preview__client.cc b/www/chromium/files/patch-components_paint__preview_browser_paint__preview__client.cc index d81f0a3b2eb7..3b7dc8695422 100644 --- a/www/chromium/files/patch-components_paint__preview_browser_paint__preview__client.cc +++ b/www/chromium/files/patch-components_paint__preview_browser_paint__preview__client.cc @@ -1,13 +1,13 @@ ---- components/paint_preview/browser/paint_preview_client.cc.orig 2021-12-14 11:45:03 UTC +--- components/paint_preview/browser/paint_preview_client.cc.orig 2022-02-07 13:39:41 UTC +++ components/paint_preview/browser/paint_preview_client.cc -@@ -312,8 +312,8 @@ void PaintPreviewClient::CapturePaintPreview( +@@ -313,8 +313,8 @@ void PaintPreviewClient::CapturePaintPreview( metadata->set_url(url.spec()); metadata->set_version(kPaintPreviewVersion); auto* chromeVersion = metadata->mutable_chrome_version(); - chromeVersion->set_major(CHROME_VERSION_MAJOR); - chromeVersion->set_minor(CHROME_VERSION_MINOR); + chromeVersion->set_gmajor(CHROME_VERSION_MAJOR); + chromeVersion->set_gminor(CHROME_VERSION_MINOR); chromeVersion->set_build(CHROME_VERSION_BUILD); chromeVersion->set_patch(CHROME_VERSION_PATCH); document_data.callback = std::move(callback); diff --git a/www/chromium/files/patch-components_performance__manager_graph_process__node__impl__describer.cc b/www/chromium/files/patch-components_performance__manager_graph_process__node__impl__describer.cc deleted file mode 100644 index b39a35983621..000000000000 --- a/www/chromium/files/patch-components_performance__manager_graph_process__node__impl__describer.cc +++ /dev/null @@ -1,11 +0,0 @@ ---- components/performance_manager/graph/process_node_impl_describer.cc.orig 2021-12-14 11:45:03 UTC -+++ components/performance_manager/graph/process_node_impl_describer.cc -@@ -84,7 +84,7 @@ base::Value GetProcessValueDict(const base::Process& p - if (process.IsValid()) { - // These properties can only be accessed for valid processes. - ret.SetIntKey("os_priority", process.GetPriority()); --#if !defined(OS_APPLE) -+#if !defined(OS_APPLE) && !defined(OS_BSD) - ret.SetBoolKey("is_backgrounded", process.IsProcessBackgrounded()); - #endif - #if !defined(OS_ANDROID) && !defined(OS_WIN) diff --git a/www/chromium/files/patch-components_permissions_prediction__service_prediction__service__common.cc b/www/chromium/files/patch-components_permissions_prediction__service_prediction__service__common.cc index 5fb50202c92f..9b4a6f8dffc4 100644 --- a/www/chromium/files/patch-components_permissions_prediction__service_prediction__service__common.cc +++ b/www/chromium/files/patch-components_permissions_prediction__service_prediction__service__common.cc @@ -1,11 +1,11 @@ ---- components/permissions/prediction_service/prediction_service_common.cc.orig 2021-04-14 18:41:00 UTC +--- components/permissions/prediction_service/prediction_service_common.cc.orig 2022-02-07 13:39:41 UTC +++ components/permissions/prediction_service/prediction_service_common.cc -@@ -12,7 +12,7 @@ - +@@ -13,7 +13,7 @@ namespace permissions { ClientFeatures_Platform GetCurrentPlatformProto() { --#if defined(OS_WIN) || defined(OS_LINUX) || defined(OS_CHROMEOS) || \ -+#if defined(OS_WIN) || defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD) || \ - defined(OS_MAC) + #if defined(OS_WIN) || defined(OS_LINUX) || defined(OS_CHROMEOS) || \ +- defined(OS_MAC) ++ defined(OS_MAC) || defined(OS_BSD) return permissions::ClientFeatures_Platform_PLATFORM_DESKTOP; #elif defined(OS_ANDROID) || defined(OS_FUCHSIA) + return permissions::ClientFeatures_Platform_PLATFORM_MOBILE; diff --git a/www/chromium/files/patch-components_plugins_renderer_plugin__placeholder.cc b/www/chromium/files/patch-components_plugins_renderer_plugin__placeholder.cc deleted file mode 100644 index bd66bf6a0ca8..000000000000 --- a/www/chromium/files/patch-components_plugins_renderer_plugin__placeholder.cc +++ /dev/null @@ -1,14 +0,0 @@ ---- components/plugins/renderer/plugin_placeholder.cc.orig 2021-04-14 18:41:00 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 -+#else - #include "third_party/re2/src/re2/re2.h" -+#endif // defined(OS_BSD) - - namespace plugins { - diff --git a/www/chromium/files/patch-components_policy_core_browser_policy__pref__mapping__test.cc b/www/chromium/files/patch-components_policy_core_browser_policy__pref__mapping__test.cc deleted file mode 100644 index 92fe624459ae..000000000000 --- a/www/chromium/files/patch-components_policy_core_browser_policy__pref__mapping__test.cc +++ /dev/null @@ -1,11 +0,0 @@ ---- components/policy/core/browser/policy_pref_mapping_test.cc.orig 2021-09-24 04:26:04 UTC -+++ components/policy/core/browser/policy_pref_mapping_test.cc -@@ -339,6 +339,8 @@ class PolicyTestCase { - const std::string os("mac"); - #elif defined(OS_WIN) - const std::string os("win"); -+#elif defined(OS_FREEBSD) -+ const std::string os("freebsd"); - #else - #error "Unknown platform" - #endif diff --git a/www/chromium/files/patch-components_policy_core_common_cloud_cloud__policy__client.cc b/www/chromium/files/patch-components_policy_core_common_cloud_cloud__policy__client.cc index d9499071cf50..6d61521bd135 100644 --- a/www/chromium/files/patch-components_policy_core_common_cloud_cloud__policy__client.cc +++ b/www/chromium/files/patch-components_policy_core_common_cloud_cloud__policy__client.cc @@ -1,11 +1,11 @@ ---- components/policy/core/common/cloud/cloud_policy_client.cc.orig 2021-12-14 11:45:03 UTC +--- components/policy/core/common/cloud/cloud_policy_client.cc.orig 2022-02-07 13:39:41 UTC +++ components/policy/core/common/cloud/cloud_policy_client.cc -@@ -393,7 +393,7 @@ void CloudPolicyClient::FetchPolicy() { +@@ -418,7 +418,7 @@ void CloudPolicyClient::FetchPolicy() { fetch_request->set_invalidation_payload(invalidation_payload_); } } -#if defined(OS_WIN) || defined(OS_MAC) || defined(OS_LINUX) +#if defined(OS_WIN) || defined(OS_MAC) || defined(OS_LINUX) || defined(OS_BSD) // Only set browser device identifier for CBCM Chrome cloud policy on // desktop. if (base::FeatureList::IsEnabled( diff --git a/www/chromium/files/patch-components_policy_core_common_cloud_cloud__policy__util.cc b/www/chromium/files/patch-components_policy_core_common_cloud_cloud__policy__util.cc index 975f84791e06..79d961d9684c 100644 --- a/www/chromium/files/patch-components_policy_core_common_cloud_cloud__policy__util.cc +++ b/www/chromium/files/patch-components_policy_core_common_cloud_cloud__policy__util.cc @@ -1,58 +1,63 @@ ---- components/policy/core/common/cloud/cloud_policy_util.cc.orig 2021-12-31 00:57:30 UTC +--- components/policy/core/common/cloud/cloud_policy_util.cc.orig 2022-02-07 13:39:41 UTC +++ components/policy/core/common/cloud/cloud_policy_util.cc @@ -18,7 +18,7 @@ #include #endif -#if defined(OS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS) || defined(OS_APPLE) +#if defined(OS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS) || defined(OS_APPLE) || defined(OS_BSD) #include #include #include -@@ -33,7 +33,7 @@ +@@ -33,10 +33,14 @@ #import #endif -#if defined(OS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS) +#if defined(OS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS) || defined(OS_BSD) #include // For HOST_NAME_MAX #endif -@@ -67,7 +67,7 @@ ++#if defined(OS_FREEBSD) ++#define HOST_NAME_MAX MAXHOSTNAMELEN ++#endif ++ + #include + + #include "base/check.h" +@@ -67,7 +71,7 @@ #include "base/system/sys_info.h" #endif -#if defined(OS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS) +#if defined(OS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS) || defined(OS_BSD) #include "base/system/sys_info.h" #endif -@@ -85,6 +85,10 @@ std::string GetMachineName() { +@@ -80,7 +84,7 @@ namespace policy { + namespace em = enterprise_management; + + std::string GetMachineName() { +-#if defined(OS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS) ++#if defined(OS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS) || defined(OS_BSD) + char hostname[HOST_NAME_MAX]; if (gethostname(hostname, HOST_NAME_MAX) == 0) // Success. return hostname; - return std::string(); -+#elif defined(OS_BSD) -+ char hostname[MAXHOSTNAMELEN]; -+ if (gethostname(hostname, MAXHOSTNAMELEN) == 0) -+ return hostname; - #elif defined(OS_IOS) - // Use the Vendor ID as the machine name. - return ios::device_util::GetVendorId(); -@@ -137,7 +141,7 @@ std::string GetMachineName() { - } +@@ -138,7 +142,7 @@ std::string GetMachineName() { std::string GetOSVersion() { --#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_APPLE) || \ -+#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_APPLE) || defined(OS_BSD) || \ - defined(OS_ANDROID) || defined(OS_FUCHSIA) + #if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_APPLE) || \ +- defined(OS_ANDROID) || defined(OS_FUCHSIA) ++ defined(OS_ANDROID) || defined(OS_FUCHSIA) || defined(OS_BSD) return base::SysInfo::OperatingSystemVersion(); #elif defined(OS_WIN) + base::win::OSInfo::VersionNumber version_number = @@ -161,7 +165,7 @@ std::string GetOSArchitecture() { } std::string GetOSUsername() { -#if defined(OS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS) || defined(OS_APPLE) +#if defined(OS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS) || defined(OS_APPLE) || defined(OS_BSD) struct passwd* creds = getpwuid(getuid()); if (!creds || !creds->pw_name) return std::string(); diff --git a/www/chromium/files/patch-components_policy_core_common_schema.cc b/www/chromium/files/patch-components_policy_core_common_schema.cc deleted file mode 100644 index 0b9c94c62291..000000000000 --- a/www/chromium/files/patch-components_policy_core_common_schema.cc +++ /dev/null @@ -1,14 +0,0 @@ ---- components/policy/core/common/schema.cc.orig 2021-09-14 01:51:55 UTC -+++ components/policy/core/common/schema.cc -@@ -25,7 +25,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 -+#else - #include "third_party/re2/src/re2/re2.h" -+#endif - - namespace schema = json_schema_constants; - diff --git a/www/chromium/files/patch-components_policy_resources_policy__templates.json b/www/chromium/files/patch-components_policy_resources_policy__templates.json index 35f589ffdff6..065a03eed3d4 100644 --- a/www/chromium/files/patch-components_policy_resources_policy__templates.json +++ b/www/chromium/files/patch-components_policy_resources_policy__templates.json @@ -1,74 +1,191 @@ ---- components/policy/resources/policy_templates.json.orig 2021-12-31 00:57:30 UTC +--- components/policy/resources/policy_templates.json.orig 2022-02-07 13:39:41 UTC +++ components/policy/resources/policy_templates.json -@@ -1312,7 +1312,7 @@ - 'owners': ['file://components/policy/resources/OWNERS', 'rsorokin@chromium.org'], - '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-'], +@@ -1398,7 +1398,7 @@ + 'owners': ['file://components/policy/resources/OWNERS', 'pastarmovj@chromium.org'], + 'type': 'main', + 'schema': { 'type': 'boolean' }, +- 'supported_on': ['chrome.win7:11-', 'chrome.mac:11-', 'chrome.linux:11-'], ++ 'supported_on': ['chrome.win7:11-', 'chrome.mac:11-', 'chrome.linux:11-', 'chrome.openbsd:11-', 'chrome.freebsd:11-'], 'features': { - 'can_be_recommended': True, 'dynamic_refresh': True, -@@ -1338,7 +1338,7 @@ - 'owners': ['file://components/policy/resources/OWNERS', 'rsorokin@chromium.org'], + 'per_profile': False, +@@ -2500,7 +2500,7 @@ + 'owners': ['file://remoting/OWNERS', 'jamiewalch@chromium.org'], 'type': 'main', 'schema': { 'type': 'boolean' }, -- 'supported_on': ['chrome.*:8-', 'chrome_os:11-'], -+ 'supported_on': ['chrome.*:8-', 'chrome_os:11-', 'chrome.freebsd:9-'], +- 'supported_on': ['chrome.linux:25-', 'chrome.mac:25-'], ++ 'supported_on': ['chrome.linux:25-', 'chrome.mac:25-', 'chrome.openbsd:25-', 'chrome.freebsd:25-'], 'features': { - 'can_be_recommended': True, 'dynamic_refresh': True, -@@ -1369,7 +1369,7 @@ - 'owners': ['file://components/policy/resources/OWNERS', 'okalitova@chromium.org'], + 'per_profile': False, +@@ -4231,7 +4231,7 @@ + 'owners': ['file://components/policy/resources/OWNERS', 'pastarmovj@chromium.org'], + 'type': 'main', + 'schema': { 'type': 'boolean' }, +- 'supported_on': ['chrome.win:57-', 'chrome.mac:88-', 'chrome.linux:88-'], ++ 'supported_on': ['chrome.win:57-', 'chrome.mac:88-', 'chrome.linux:88-', 'chrome.openbsd:88-', 'chrome.freebsd:88-'], + 'features': { + 'dynamic_refresh': False, + 'per_profile': False, +@@ -4260,7 +4260,7 @@ + 'owners': ['file://components/policy/resources/OWNERS', 'pastarmovj@chromium.org'], 'type': 'string', 'schema': { 'type': 'string' }, -- 'supported_on': ['chrome.*:58-', 'chrome_os:58-'], -+ 'supported_on': ['chrome.*:58-', 'chrome_os:58-', 'chrome.freebsd:9-'], +- 'supported_on': ['chrome.win:57-', 'chrome.mac:88-', 'chrome.linux:88-'], ++ 'supported_on': ['chrome.win:57-', 'chrome.mac:88-', 'chrome.linux:88-', 'chrome.openbsd:88-', 'chrome.freebsd:88-'], + 'features': { + 'dynamic_refresh': False, + 'per_profile': False, +@@ -5174,7 +5174,7 @@ + 'owners': ['file://components/policy/resources/OWNERS', 'rsorokin@chromium.org'], + 'type': 'main', + 'schema': { 'type': 'boolean' }, +- 'supported_on': ['chrome.linux:74-','chrome.mac:74-','chrome_os:74-'], ++ 'supported_on': ['chrome.linux:74-','chrome.mac:74-','chrome_os:74-','chrome.openbsd:74-','chrome.freebsd:74-'], 'features': { 'dynamic_refresh': True, - 'per_profile': True, -@@ -5233,7 +5233,7 @@ + 'per_profile': False, +@@ -5235,7 +5235,7 @@ 'owners': ['file://components/policy/resources/OWNERS', 'rsorokin@chromium.org'], 'type': 'string', 'schema': { 'type': 'string' }, - 'supported_on': ['chrome.linux:9-'], -+ 'supported_on': ['chrome.linux:9-', 'chrome.freebsd:9-'], ++ 'supported_on': ['chrome.linux:9-','chrome.openbsd:9-','chrome.freebsd:9-'], 'features': { 'dynamic_refresh': False, 'per_profile': False, -@@ -5299,7 +5299,7 @@ +@@ -5301,7 +5301,7 @@ 'owners': ['file://components/policy/resources/OWNERS', 'rsorokin@chromium.org'], '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-'], ++ 'supported_on': ['chrome.linux:63-','chrome.mac:63-','chrome_os:63-','android:63-','webview_android:63-','chrome.openbsd:63-','chrome.freebsd:63-'], 'features': { 'dynamic_refresh': True, 'per_profile': False, -@@ -10052,7 +10052,7 @@ +@@ -10084,7 +10084,7 @@ 'owners': ['file://net/cert/OWNERS', 'rsleevi@chromium.org'], '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-'], ++ 'supported_on': ['chrome_os:30-', 'chrome.linux:30-', 'chrome.win:30-', 'chrome.openbsd:30-', 'chrome.freebsd:30-'], 'features': { 'dynamic_refresh': True, 'per_profile': False, -@@ -12058,7 +12058,7 @@ +@@ -10178,7 +10178,7 @@ + 'owners': ['file://components/policy/resources/OWNERS', 'pmarko@chromium.org'], + 'type': 'main', + 'schema': { 'type': 'boolean' }, +- 'supported_on': ['chrome_os:77-83', 'chrome.linux:79-83', 'chrome.mac:83-'], ++ 'supported_on': ['chrome_os:77-83', 'chrome.linux:79-83', 'chrome.mac:83-', 'chrome.openbsd:79-83', 'chrome.freebsd:79-83'], + 'features': { + 'dynamic_refresh': False, + 'per_profile': False, +@@ -12116,7 +12116,7 @@ 'owners': ['file://components/policy/resources/OWNERS', 'pmarko@chromium.org'], 'type': 'main', 'schema': { 'type': 'boolean' }, - 'supported_on': ['chrome.win:19-', 'chrome.linux:19-'], -+ 'supported_on': ['chrome.win:19-', 'chrome.linux:19-', 'chrome.freebsd:19-'], ++ 'supported_on': ['chrome.win:19-', 'chrome.linux:19-', 'chrome.openbsd:19-', 'chrome.freebsd:19-'], 'features': { 'can_be_recommended': True, 'dynamic_refresh': True, -@@ -12905,7 +12905,7 @@ +@@ -12963,7 +12963,7 @@ 'owners': ['file://components/policy/resources/OWNERS', 'bartfab@chromium.org'], '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-'], ++ 'supported_on': ['chrome.win:31-', 'chrome.linux:31-', 'chrome_os:31-', 'chrome.openbsd:31-', 'chrome.freebsd:31-'], + 'features': { + 'dynamic_refresh': True, + 'per_profile': True, +@@ -19753,7 +19753,7 @@ + 'items': { 'type': 'string' } + }, + # Spell checking is provided by macOS, so can't be controlled on Mac. +- 'supported_on': ['chrome.win:65-', 'chrome.linux:65-', 'chrome_os:65-'], ++ 'supported_on': ['chrome.win:65-', 'chrome.linux:65-', 'chrome_os:65-', 'chrome.openbsd:65-', 'chrome.freebsd:65-'], + 'features': { + 'can_be_recommended': False, + 'dynamic_refresh': True, +@@ -19784,7 +19784,7 @@ + 'items': { 'type': 'string' } + }, + # Spell checking is provided by macOS, so can't be controlled on Mac. +- 'supported_on': ['chrome.win:75-', 'chrome.linux:75-', 'chrome_os:75-'], ++ 'supported_on': ['chrome.win:75-', 'chrome.linux:75-', 'chrome_os:75-', 'chrome.openbsd:75-', 'chrome.freebsd:75-'], + 'deprecated': True, + 'features': { + 'can_be_recommended': False, +@@ -19818,7 +19818,7 @@ + 'items': { 'type': 'string' } + }, + # Spell checking is provided by macOS, so can't be controlled on Mac. +- 'supported_on': ['chrome.win:86-', 'chrome.linux:86-', 'chrome_os:86-'], ++ 'supported_on': ['chrome.win:86-', 'chrome.linux:86-', 'chrome_os:86-', 'chrome.openbsd:86-', 'chrome.freebsd:86-'], + 'features': { + 'can_be_recommended': False, + 'dynamic_refresh': True, +@@ -20556,7 +20556,7 @@ + 'owners': ['fbeaufort@chromium.org', 'beccahughes@chromium.org'], + 'type': 'main', + 'schema': { 'type': 'boolean' }, +- 'supported_on': ['chrome.win:66-', 'chrome.linux:66-', 'chrome.mac:66-', 'chrome_os:66-'], ++ 'supported_on': ['chrome.win:66-', 'chrome.linux:66-', 'chrome.mac:66-', 'chrome_os:66-', 'chrome.openbsd:66-', 'chrome.freebsd:66-'], + 'features': { + 'dynamic_refresh': True, + 'per_profile': True, +@@ -24742,7 +24742,7 @@ + 'owners': ['file://services/audio/OWNERS', 'dalecurtis@chromium.org'], + 'type': 'main', + 'schema': { 'type': 'boolean' }, +- 'supported_on': ['chrome.win:79-', 'chrome.linux:79-', 'chrome.mac:79-'], ++ 'supported_on': ['chrome.win:79-', 'chrome.linux:79-', 'chrome.mac:79-', 'chrome.openbsd:79-', 'chrome.freebsd:79-'], + 'features': { + 'dynamic_refresh': False, + 'per_profile': False, +@@ -26084,7 +26084,7 @@ If this policy is left unset, privacy screen is disabl + 'owners': ['file://chrome/browser/notifications/OWNERS', 'knollr@chromium.org'], + 'type': 'main', + 'schema': { 'type': 'boolean' }, +- 'supported_on': ['chrome.linux:83-'], ++ 'supported_on': ['chrome.linux:83-','chrome.openbsd:83-','chrome.freebsd:83-'], + 'features': { + 'dynamic_refresh': True, + 'per_profile': True, +@@ -26108,7 +26108,7 @@ If set to False, $1Google + 'owners': ['file://chrome/browser/notifications/OWNERS'], + 'type': 'main', + 'schema': { 'type': 'boolean' }, +- 'supported_on': ['chrome.linux:90-'], ++ 'supported_on': ['chrome.linux:90-','chrome.openbsd:90-','chrome.freebsd:90-'], + 'features': { + 'dynamic_refresh': True, + 'per_profile': True, +@@ -27175,7 +27175,7 @@ If you disable this policy, web page scrolling to spec + 'owners': ['asumaneev@google.com'], + 'type': 'main', + 'schema': { 'type': 'boolean' }, +- 'supported_on': ['chrome.linux:91-92', 'chrome_os:91-'], ++ 'supported_on': ['chrome.linux:91-92', 'chrome_os:91-', 'chrome.openbsd:91-', 'chrome.freebsd:91-'], + 'features': { + 'dynamic_refresh': True, + 'per_profile': False, +@@ -28410,7 +28410,7 @@ When this policy is set, $2 + }, + ], + 'default': True, +- 'supported_on': ['chrome.win:93-', 'chrome.linux:93-', 'chrome.mac:93-'], ++ 'supported_on': ['chrome.win:93-', 'chrome.linux:93-', 'chrome.mac:93-', 'chrome.openbsd:93-', 'chrome.freebsd:93-'], + 'features': { + 'dynamic_refresh': True, + 'per_profile': True, +@@ -28543,7 +28543,7 @@ When this policy is set, $2 + 'owners': ['mattm@chromium.org'], + 'type': 'main', + 'schema': { 'type': 'boolean' }, +- 'future_on': ['chrome.win', 'chrome.mac', 'chrome.linux'], ++ 'future_on': ['chrome.win', 'chrome.mac', 'chrome.linux', 'chrome.openbsd', 'chrome.freebsd'], 'features': { 'dynamic_refresh': True, 'per_profile': True, diff --git a/www/chromium/files/patch-components_policy_tools_generate__policy__source.py b/www/chromium/files/patch-components_policy_tools_generate__policy__source.py index e58ac1b2527f..5775551931ab 100644 --- a/www/chromium/files/patch-components_policy_tools_generate__policy__source.py +++ b/www/chromium/files/patch-components_policy_tools_generate__policy__source.py @@ -1,13 +1,14 @@ ---- components/policy/tools/generate_policy_source.py.orig 2021-09-24 04:26:04 UTC +--- components/policy/tools/generate_policy_source.py.orig 2022-02-07 13:39:41 UTC +++ components/policy/tools/generate_policy_source.py -@@ -47,8 +47,9 @@ PLATFORM_STRINGS = { +@@ -47,8 +47,10 @@ PLATFORM_STRINGS = { 'ios': ['ios'], 'chrome.win': ['win'], 'chrome.linux': ['linux'], ++ 'chrome.openbsd': ['openbsd'], + 'chrome.freebsd': ['freebsd'], 'chrome.mac': ['mac'], - 'chrome.*': ['win', 'mac', 'linux', 'fuchsia'], -+ 'chrome.*': ['win', 'mac', 'linux', 'fuchsia', 'freebsd'], ++ 'chrome.*': ['win', 'mac', 'linux', 'fuchsia', 'openbsd', 'freebsd'], 'chrome.win7': ['win'], } diff --git a/www/chromium/files/patch-components_safe__browsing_content_resources_gen__file__type__proto.py b/www/chromium/files/patch-components_safe__browsing_content_resources_gen__file__type__proto.py new file mode 100644 index 000000000000..dbe88e0227f0 --- /dev/null +++ b/www/chromium/files/patch-components_safe__browsing_content_resources_gen__file__type__proto.py @@ -0,0 +1,19 @@ +--- components/safe_browsing/content/resources/gen_file_type_proto.py.orig 2022-02-07 13:39:41 UTC ++++ components/safe_browsing/content/resources/gen_file_type_proto.py +@@ -35,6 +35,7 @@ def PlatformTypes(): + download_file_types_pb2.DownloadFileType.PLATFORM_CHROME_OS, + "fuchsia": download_file_types_pb2.DownloadFileType.PLATFORM_FUCHSIA, + "linux": download_file_types_pb2.DownloadFileType.PLATFORM_LINUX, ++ "openbsd": download_file_types_pb2.DownloadFileType.PLATFORM_LINUX, + "mac": download_file_types_pb2.DownloadFileType.PLATFORM_MAC, + "win": download_file_types_pb2.DownloadFileType.PLATFORM_WINDOWS, + } +@@ -179,7 +180,7 @@ class DownloadFileTypeProtoGenerator(BinaryProtoGenera + '-t', + '--type', + help='The platform type. One of android, chromeos, ' + +- 'linux, mac, win') ++ 'linux, mac, win, openbsd') + + def AddExtraCommandLineArgsForVirtualEnvRun(self, opts, command): + if opts.type is not None: diff --git a/www/chromium/files/patch-components_safe__browsing_core_browser_realtime_url__lookup__service__base.cc b/www/chromium/files/patch-components_safe__browsing_core_browser_realtime_url__lookup__service__base.cc new file mode 100644 index 000000000000..c6b5aabae0a5 --- /dev/null +++ b/www/chromium/files/patch-components_safe__browsing_core_browser_realtime_url__lookup__service__base.cc @@ -0,0 +1,11 @@ +--- components/safe_browsing/core/browser/realtime/url_lookup_service_base.cc.orig 2022-02-07 13:39:41 UTC ++++ components/safe_browsing/core/browser/realtime/url_lookup_service_base.cc +@@ -107,7 +107,7 @@ RTLookupRequest::OSType GetRTLookupRequestOSType() { + return RTLookupRequest::OS_TYPE_FUCHSIA; + #elif defined(OS_IOS) + return RTLookupRequest::OS_TYPE_IOS; +-#elif defined(OS_LINUX) ++#elif defined(OS_LINUX) || defined(OS_BSD) + return RTLookupRequest::OS_TYPE_LINUX; + #elif defined(OS_MAC) + return RTLookupRequest::OS_TYPE_MAC; diff --git a/www/chromium/files/patch-components_security__interstitials_content_captive__portal__blocking__page.cc b/www/chromium/files/patch-components_security__interstitials_content_captive__portal__blocking__page.cc deleted file mode 100644 index e654271973a2..000000000000 --- a/www/chromium/files/patch-components_security__interstitials_content_captive__portal__blocking__page.cc +++ /dev/null @@ -1,11 +0,0 @@ ---- components/security_interstitials/content/captive_portal_blocking_page.cc.orig 2021-05-12 22:05:51 UTC -+++ components/security_interstitials/content/captive_portal_blocking_page.cc -@@ -108,7 +108,7 @@ std::string CaptivePortalBlockingPage::GetWiFiSSID() c - wifi_service->GetConnectedNetworkSSID(&ssid, &error); - if (!error.empty()) - return std::string(); --#elif defined(OS_LINUX) || defined(OS_CHROMEOS) -+#elif defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD) - ssid = net::GetWifiSSID(); - #elif defined(OS_ANDROID) - ssid = net::android::GetWifiSSID(); diff --git a/www/chromium/files/patch-components_services_paint__preview__compositor_paint__preview__compositor__collection__impl.cc b/www/chromium/files/patch-components_services_paint__preview__compositor_paint__preview__compositor__collection__impl.cc index 1328c8669cb3..4ecd8ea50a30 100644 --- a/www/chromium/files/patch-components_services_paint__preview__compositor_paint__preview__compositor__collection__impl.cc +++ b/www/chromium/files/patch-components_services_paint__preview__compositor_paint__preview__compositor__collection__impl.cc @@ -1,29 +1,29 @@ ---- components/services/paint_preview_compositor/paint_preview_compositor_collection_impl.cc.orig 2021-12-14 11:45:04 UTC +--- components/services/paint_preview_compositor/paint_preview_compositor_collection_impl.cc.orig 2022-02-07 13:39:41 UTC +++ components/services/paint_preview_compositor/paint_preview_compositor_collection_impl.cc -@@ -17,7 +17,7 @@ +@@ -19,7 +19,7 @@ #if defined(OS_WIN) #include "content/public/child/dwrite_font_proxy_init_win.h" -#elif defined(OS_LINUX) || defined(OS_CHROMEOS) +#elif defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD) #include "components/services/font/public/cpp/font_loader.h" #endif -@@ -51,7 +51,7 @@ PaintPreviewCompositorCollectionImpl::PaintPreviewComp +@@ -64,7 +64,7 @@ PaintPreviewCompositorCollectionImpl::PaintPreviewComp // Initialize font access for Skia. #if defined(OS_WIN) content::InitializeDWriteFontProxy(); -#elif defined(OS_LINUX) || defined(OS_CHROMEOS) +#elif defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD) mojo::PendingRemote font_service; content::UtilityThread::Get()->BindHostReceiver( font_service.InitWithNewPipeAndPassReceiver()); -@@ -70,7 +70,7 @@ PaintPreviewCompositorCollectionImpl::PaintPreviewComp - // encoding to PNG or we could provide our own codec implementations. +@@ -87,7 +87,7 @@ PaintPreviewCompositorCollectionImpl::PaintPreviewComp + base::BindOnce([] { SkFontMgr::RefDefault(); })); // Sanity check that fonts are working. -#if defined(OS_LINUX) || defined(OS_CHROMEOS) +#if defined(OS_LINUX) || defined(OS_CHROMEOS) || 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/chromium/files/patch-components_startup__metric__utils_browser_startup__metric__utils.cc b/www/chromium/files/patch-components_startup__metric__utils_browser_startup__metric__utils.cc index 12417fffad99..678b36a4e364 100644 --- a/www/chromium/files/patch-components_startup__metric__utils_browser_startup__metric__utils.cc +++ b/www/chromium/files/patch-components_startup__metric__utils_browser_startup__metric__utils.cc @@ -1,20 +1,20 @@ ---- components/startup_metric_utils/browser/startup_metric_utils.cc.orig 2021-09-24 04:26:04 UTC +--- components/startup_metric_utils/browser/startup_metric_utils.cc.orig 2022-02-07 13:39:41 UTC +++ components/startup_metric_utils/browser/startup_metric_utils.cc -@@ -344,7 +344,7 @@ base::TimeTicks StartupTimeToTimeTicks(base::Time time +@@ -347,7 +347,7 @@ base::TimeTicks StartupTimeToTimeTicks(base::Time time // Enabling this logic on OS X causes a significant performance regression. // https://crbug.com/601270 -#if !defined(OS_APPLE) +#if !defined(OS_APPLE) && !defined(OS_BSD) static bool statics_initialized = false; base::ThreadPriority previous_priority = base::ThreadPriority::NORMAL; -@@ -358,7 +358,7 @@ base::TimeTicks StartupTimeToTimeTicks(base::Time time +@@ -361,7 +361,7 @@ base::TimeTicks StartupTimeToTimeTicks(base::Time time static const base::Time time_base = base::Time::Now(); static const base::TimeTicks trace_ticks_base = base::TimeTicks::Now(); -#if !defined(OS_APPLE) +#if !defined(OS_APPLE) && !defined(OS_BSD) if (!statics_initialized) { base::PlatformThread::SetCurrentThreadPriority(previous_priority); } diff --git a/www/chromium/files/patch-components_storage__monitor_BUILD.gn b/www/chromium/files/patch-components_storage__monitor_BUILD.gn deleted file mode 100644 index 3533c6ef2cc0..000000000000 --- a/www/chromium/files/patch-components_storage__monitor_BUILD.gn +++ /dev/null @@ -1,16 +0,0 @@ ---- components/storage_monitor/BUILD.gn.orig 2021-04-14 18:41:00 UTC -+++ components/storage_monitor/BUILD.gn -@@ -83,6 +83,13 @@ static_library("storage_monitor") { - } - } - -+ if (is_bsd) { -+ sources += [ -+ "storage_monitor_freebsd.cc", -+ "storage_monitor_freebsd.h", -+ ] -+ } -+ - if (use_udev) { - if (is_linux || is_chromeos) { - sources += [ diff --git a/www/chromium/files/patch-components_storage__monitor_storage__monitor__freebsd.cc b/www/chromium/files/patch-components_storage__monitor_storage__monitor__freebsd.cc deleted file mode 100644 index ae47d4729af7..000000000000 --- a/www/chromium/files/patch-components_storage__monitor_storage__monitor__freebsd.cc +++ /dev/null @@ -1,57 +0,0 @@ ---- components/storage_monitor/storage_monitor_freebsd.cc.orig 2021-04-15 08:13:26 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 -+ -+#include -+ -+#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/chromium/files/patch-components_storage__monitor_storage__monitor__freebsd.h b/www/chromium/files/patch-components_storage__monitor_storage__monitor__freebsd.h deleted file mode 100644 index 4077bce30a4e..000000000000 --- a/www/chromium/files/patch-components_storage__monitor_storage__monitor__freebsd.h +++ /dev/null @@ -1,48 +0,0 @@ ---- components/storage_monitor/storage_monitor_freebsd.h.orig 2021-04-15 08:13:26 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 -+#include -+ -+#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/chromium/files/patch-components_sync__device__info_local__device__info__util__linux.cc b/www/chromium/files/patch-components_sync__device__info_local__device__info__util__linux.cc index 5b28209a44f6..dc28df719946 100644 --- a/www/chromium/files/patch-components_sync__device__info_local__device__info__util__linux.cc +++ b/www/chromium/files/patch-components_sync__device__info_local__device__info__util__linux.cc @@ -1,13 +1,14 @@ ---- components/sync_device_info/local_device_info_util_linux.cc.orig 2021-04-27 04:07:31 UTC +--- components/sync_device_info/local_device_info_util_linux.cc.orig 2022-02-07 13:39:41 UTC +++ components/sync_device_info/local_device_info_util_linux.cc -@@ -38,8 +38,8 @@ std::string GetPersonalizableDeviceNameInternal() { - #if BUILDFLAG(IS_CHROMEOS_ASH) - return GetChromeOSDeviceNameFromType(); - #else -- char hostname[HOST_NAME_MAX]; -- if (gethostname(hostname, HOST_NAME_MAX) == 0) // Success. -+ char hostname[_POSIX_HOST_NAME_MAX]; -+ if (gethostname(hostname, _POSIX_HOST_NAME_MAX) == 0) // Success. - return hostname; - return base::GetLinuxDistro(); +@@ -14,6 +14,11 @@ + #include "ash/constants/devicetype.h" #endif + ++#if defined(__FreeBSD__) ++#include ++#define HOST_NAME_MAX MAXHOSTNAMELEN ++#endif ++ + namespace syncer { + + #if BUILDFLAG(IS_CHROMEOS_ASH) diff --git a/www/chromium/files/patch-components_translate_core_browser_translate__prefs.cc b/www/chromium/files/patch-components_translate_core_browser_translate__prefs.cc index aba923668165..a9786e43faac 100644 --- a/www/chromium/files/patch-components_translate_core_browser_translate__prefs.cc +++ b/www/chromium/files/patch-components_translate_core_browser_translate__prefs.cc @@ -1,11 +1,11 @@ ---- components/translate/core/browser/translate_prefs.cc.orig 2021-12-31 00:57:31 UTC +--- components/translate/core/browser/translate_prefs.cc.orig 2022-02-07 13:39:41 UTC +++ components/translate/core/browser/translate_prefs.cc -@@ -842,7 +842,7 @@ bool TranslatePrefs::CanTranslateLanguage( +@@ -841,7 +841,7 @@ bool TranslatePrefs::CanTranslateLanguage( bool TranslatePrefs::IsDetailedLanguageSettingsEnabled() { #if defined(OS_ANDROID) return base::FeatureList::IsEnabled(language::kDetailedLanguageSettings); -#elif defined(OS_WIN) || defined(OS_MAC) || defined(OS_LINUX) +#elif defined(OS_WIN) || defined(OS_MAC) || defined(OS_LINUX) || defined(OS_BSD) return base::FeatureList::IsEnabled( language::kDesktopDetailedLanguageSettings); #else diff --git a/www/chromium/files/patch-components_translate_core_common_translate__util.cc b/www/chromium/files/patch-components_translate_core_common_translate__util.cc index c0d738cd357b..44b87c390f03 100644 --- a/www/chromium/files/patch-components_translate_core_common_translate__util.cc +++ b/www/chromium/files/patch-components_translate_core_common_translate__util.cc @@ -1,15 +1,11 @@ ---- components/translate/core/common/translate_util.cc.orig 2022-01-21 13:24:45 UTC +--- components/translate/core/common/translate_util.cc.orig 2022-02-07 13:39:41 UTC +++ components/translate/core/common/translate_util.cc -@@ -28,10 +28,10 @@ const base::Feature kTranslateSubFrames{"TranslateSubF - +@@ -29,7 +29,7 @@ const base::Feature kTranslateSubFrames{"TranslateSubF const base::Feature kTFLiteLanguageDetectionEnabled{ "TFLiteLanguageDetectionEnabled", --#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_WIN) || \ -+#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_WIN) || defined(OS_BSD) || \ - defined(OS_MAC) + #if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_WIN) || \ +- defined(OS_MAC) ++ defined(OS_MAC) || defined(OS_BSD) base::FEATURE_ENABLED_BY_DEFAULT --#else // !defined(OS_LINUX) && !defined(OS_CHROMEOS) && !defined(OS_WIN) && -+#else // !defined(OS_LINUX) && !defined(OS_CHROMEOS) && !defined(OS_WIN) && !defined(OS_BSD) && + #else // !defined(OS_LINUX) && !defined(OS_CHROMEOS) && !defined(OS_WIN) && // !defined(OS_MAC) - base::FEATURE_DISABLED_BY_DEFAULT - #endif diff --git a/www/chromium/files/patch-components_url__formatter_spoof__checks_idn__spoof__checker.cc b/www/chromium/files/patch-components_url__formatter_spoof__checks_idn__spoof__checker.cc index c9be6fe741b5..98c42cb55989 100644 --- a/www/chromium/files/patch-components_url__formatter_spoof__checks_idn__spoof__checker.cc +++ b/www/chromium/files/patch-components_url__formatter_spoof__checks_idn__spoof__checker.cc @@ -1,11 +1,11 @@ ---- components/url_formatter/spoof_checks/idn_spoof_checker.cc.orig 2021-09-14 01:51:56 UTC +--- components/url_formatter/spoof_checks/idn_spoof_checker.cc.orig 2022-02-07 13:39:41 UTC +++ components/url_formatter/spoof_checks/idn_spoof_checker.cc -@@ -292,7 +292,7 @@ IDNSpoofChecker::IDNSpoofChecker() { +@@ -285,7 +285,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) || defined(OS_CHROMEOS) +#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD) "[ทนบพรหเแ๐ดลปฟม]", #else "[บพเแ๐]", diff --git a/www/chromium/files/patch-components_url__matcher_regex__set__matcher.cc b/www/chromium/files/patch-components_url__matcher_regex__set__matcher.cc deleted file mode 100644 index 340ea6fabd6e..000000000000 --- a/www/chromium/files/patch-components_url__matcher_regex__set__matcher.cc +++ /dev/null @@ -1,16 +0,0 @@ ---- components/url_matcher/regex_set_matcher.cc.orig 2021-04-14 18:41:02 UTC -+++ components/url_matcher/regex_set_matcher.cc -@@ -12,8 +12,13 @@ - #include "base/logging.h" - #include "base/strings/string_util.h" - #include "components/url_matcher/substring_set_matcher.h" -+#if defined(OS_BSD) -+#include -+#include -+#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/chromium/files/patch-components_url__matcher_url__matcher__factory.cc b/www/chromium/files/patch-components_url__matcher_url__matcher__factory.cc deleted file mode 100644 index 2c376192ea40..000000000000 --- a/www/chromium/files/patch-components_url__matcher_url__matcher__factory.cc +++ /dev/null @@ -1,14 +0,0 @@ ---- components/url_matcher/url_matcher_factory.cc.orig 2021-04-14 18:41:02 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 -+#else - #include "third_party/re2/src/re2/re2.h" -+#endif - - namespace url_matcher { - diff --git a/www/chromium/files/patch-components_viz_common_features.cc b/www/chromium/files/patch-components_viz_common_features.cc index b0b010279bfe..684e8ab3872c 100644 --- a/www/chromium/files/patch-components_viz_common_features.cc +++ b/www/chromium/files/patch-components_viz_common_features.cc @@ -1,11 +1,11 @@ ---- components/viz/common/features.cc.orig 2021-12-14 11:45:04 UTC +--- components/viz/common/features.cc.orig 2022-02-07 13:39:41 UTC +++ components/viz/common/features.cc -@@ -54,7 +54,7 @@ const base::Feature kSimpleFrameRateThrottling{ +@@ -58,7 +58,7 @@ const base::Feature kSimpleFrameRateThrottling{ const base::Feature kUseSkiaRenderer { "UseSkiaRenderer", #if defined(OS_WIN) || defined(OS_ANDROID) || BUILDFLAG(IS_CHROMEOS_LACROS) || \ - defined(OS_LINUX) || defined(OS_FUCHSIA) || defined(OS_MAC) + defined(OS_LINUX) || defined(OS_FUCHSIA) || defined(OS_MAC) || defined(OS_BSD) base::FEATURE_ENABLED_BY_DEFAULT #else base::FEATURE_DISABLED_BY_DEFAULT diff --git a/www/chromium/files/patch-components_viz_host_host__display__client.h b/www/chromium/files/patch-components_viz_host_host__display__client.h index 4aae1fbeb95c..598a02a6ba55 100644 --- a/www/chromium/files/patch-components_viz_host_host__display__client.h +++ b/www/chromium/files/patch-components_viz_host_host__display__client.h @@ -1,11 +1,11 @@ ---- components/viz/host/host_display_client.h.orig 2021-12-14 11:45:04 UTC +--- components/viz/host/host_display_client.h.orig 2022-02-07 13:39:41 UTC +++ components/viz/host/host_display_client.h -@@ -49,7 +49,7 @@ class VIZ_HOST_EXPORT HostDisplayClient : public mojom +@@ -48,7 +48,7 @@ class VIZ_HOST_EXPORT HostDisplayClient : public mojom // TODO(crbug.com/1052397): Revisit the macro expression once build flag switch // of lacros-chrome is complete. -#if defined(OS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS) +#if defined(OS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS) || defined(OS_BSD) void DidCompleteSwapWithNewSize(const gfx::Size& size) override; #endif diff --git a/www/chromium/files/patch-components_viz_service_display__embedder_skia__output__surface__impl.cc b/www/chromium/files/patch-components_viz_service_display__embedder_skia__output__surface__impl.cc new file mode 100644 index 000000000000..4e278ad3a591 --- /dev/null +++ b/www/chromium/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 2022-02-07 13:39:41 UTC ++++ components/viz/service/display_embedder/skia_output_surface_impl.cc +@@ -1160,7 +1160,7 @@ GrBackendFormat SkiaOutputSurfaceImpl::GetGrBackendFor + ->GetDeviceQueue() + ->GetVulkanPhysicalDevice(), + VK_IMAGE_TILING_OPTIMAL, ycbcr_info); +-#if defined(OS_LINUX) ++#if defined(OS_LINUX) || defined(OS_BSD) + // Textures that were allocated _on linux_ with ycbcr info came from + // VaapiVideoDecoder, which exports using DRM format modifiers. + return GrBackendFormat::MakeVk(gr_ycbcr_info, diff --git a/www/chromium/files/patch-components_viz_service_display__embedder_software__output__surface.cc b/www/chromium/files/patch-components_viz_service_display__embedder_software__output__surface.cc index 91a306e9752f..6c3d7cc42786 100644 --- a/www/chromium/files/patch-components_viz_service_display__embedder_software__output__surface.cc +++ b/www/chromium/files/patch-components_viz_service_display__embedder_software__output__surface.cc @@ -1,20 +1,20 @@ ---- components/viz/service/display_embedder/software_output_surface.cc.orig 2021-07-19 18:45:15 UTC +--- components/viz/service/display_embedder/software_output_surface.cc.orig 2022-02-07 13:39:41 UTC +++ components/viz/service/display_embedder/software_output_surface.cc -@@ -115,7 +115,7 @@ void SoftwareOutputSurface::SwapBuffersCallback(base:: +@@ -118,7 +118,7 @@ void SoftwareOutputSurface::SwapBuffersCallback(base:: now.SnappedToNextTick(refresh_timebase_, refresh_interval_) - now; // TODO(crbug.com/1052397): Revisit the macro expression once build flag switch // of lacros-chrome is complete. -#if defined(OS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS) +#if defined(OS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS) || defined(OS_BSD) if (needs_swap_size_notifications_) client_->DidSwapWithSize(pixel_size); #endif -@@ -146,7 +146,7 @@ gfx::OverlayTransform SoftwareOutputSurface::GetDispla +@@ -149,7 +149,7 @@ gfx::OverlayTransform SoftwareOutputSurface::GetDispla // TODO(crbug.com/1052397): Revisit the macro expression once build flag switch // of lacros-chrome is complete. -#if defined(OS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS) +#if defined(OS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS) || defined(OS_BSD) void SoftwareOutputSurface::SetNeedsSwapSizeNotifications( bool needs_swap_size_notifications) { needs_swap_size_notifications_ = needs_swap_size_notifications; diff --git a/www/chromium/files/patch-components_viz_service_display__embedder_software__output__surface.h b/www/chromium/files/patch-components_viz_service_display__embedder_software__output__surface.h index bf63fe2c3cc1..536e4badad98 100644 --- a/www/chromium/files/patch-components_viz_service_display__embedder_software__output__surface.h +++ b/www/chromium/files/patch-components_viz_service_display__embedder_software__output__surface.h @@ -1,20 +1,20 @@ ---- components/viz/service/display_embedder/software_output_surface.h.orig 2021-12-14 11:45:05 UTC +--- components/viz/service/display_embedder/software_output_surface.h.orig 2022-02-07 13:39:41 UTC +++ components/viz/service/display_embedder/software_output_surface.h -@@ -55,7 +55,7 @@ class VIZ_SERVICE_EXPORT SoftwareOutputSurface : publi +@@ -56,7 +56,7 @@ class VIZ_SERVICE_EXPORT SoftwareOutputSurface : publi gfx::OverlayTransform GetDisplayTransform() override; // TODO(crbug.com/1052397): Revisit the macro expression once build flag switch // of lacros-chrome is complete. -#if defined(OS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS) +#if defined(OS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS) || defined(OS_BSD) void SetNeedsSwapSizeNotifications( bool needs_swap_size_notifications) override; #endif -@@ -77,7 +77,7 @@ class VIZ_SERVICE_EXPORT SoftwareOutputSurface : publi +@@ -78,7 +78,7 @@ class VIZ_SERVICE_EXPORT SoftwareOutputSurface : publi // TODO(crbug.com/1052397): Revisit the macro expression once build flag switch // of lacros-chrome is complete. -#if defined(OS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS) +#if defined(OS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS) || defined(OS_BSD) bool needs_swap_size_notifications_ = false; #endif diff --git a/www/chromium/files/patch-components_viz_service_frame__sinks_root__compositor__frame__sink__impl.cc b/www/chromium/files/patch-components_viz_service_frame__sinks_root__compositor__frame__sink__impl.cc index 83a0f4f10036..acb82b547461 100644 --- a/www/chromium/files/patch-components_viz_service_frame__sinks_root__compositor__frame__sink__impl.cc +++ b/www/chromium/files/patch-components_viz_service_frame__sinks_root__compositor__frame__sink__impl.cc @@ -1,20 +1,20 @@ ---- components/viz/service/frame_sinks/root_compositor_frame_sink_impl.cc.orig 2021-12-31 00:57:31 UTC +--- components/viz/service/frame_sinks/root_compositor_frame_sink_impl.cc.orig 2022-02-07 13:39:41 UTC +++ components/viz/service/frame_sinks/root_compositor_frame_sink_impl.cc -@@ -60,7 +60,7 @@ RootCompositorFrameSinkImpl::Create( +@@ -62,7 +62,7 @@ RootCompositorFrameSinkImpl::Create( // TODO(crbug.com/1052397): Revisit the macro expression once build flag switch // of lacros-chrome is complete. -#if defined(OS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS) +#if defined(OS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS) || 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); -@@ -521,7 +521,7 @@ void RootCompositorFrameSinkImpl::DisplayDidCompleteSw +@@ -531,7 +531,7 @@ void RootCompositorFrameSinkImpl::DisplayDidCompleteSw display_client_->DidCompleteSwapWithSize(pixel_size); // TODO(crbug.com/1052397): Revisit the macro expression once build flag switch // of lacros-chrome is complete. -#elif defined(OS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS) +#elif defined(OS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS) || 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/chromium/files/patch-components_viz_service_frame__sinks_root__compositor__frame__sink__impl.h b/www/chromium/files/patch-components_viz_service_frame__sinks_root__compositor__frame__sink__impl.h index de79acc14ebe..a650a6df96d2 100644 --- a/www/chromium/files/patch-components_viz_service_frame__sinks_root__compositor__frame__sink__impl.h +++ b/www/chromium/files/patch-components_viz_service_frame__sinks_root__compositor__frame__sink__impl.h @@ -1,11 +1,11 @@ ---- components/viz/service/frame_sinks/root_compositor_frame_sink_impl.h.orig 2021-12-31 00:57:31 UTC +--- components/viz/service/frame_sinks/root_compositor_frame_sink_impl.h.orig 2022-02-07 13:39:41 UTC +++ components/viz/service/frame_sinks/root_compositor_frame_sink_impl.h -@@ -188,7 +188,7 @@ class VIZ_SERVICE_EXPORT RootCompositorFrameSinkImpl +@@ -189,7 +189,7 @@ class VIZ_SERVICE_EXPORT RootCompositorFrameSinkImpl // TODO(crbug.com/1052397): Revisit the macro expression once build flag switch // of lacros-chrome is complete. -#if defined(OS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS) +#if defined(OS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS) || defined(OS_BSD) gfx::Size last_swap_pixel_size_; #endif diff --git a/www/chromium/files/patch-components_viz_test_fake__display__client.cc b/www/chromium/files/patch-components_viz_test_fake__display__client.cc new file mode 100644 index 000000000000..486bdb57d937 --- /dev/null +++ b/www/chromium/files/patch-components_viz_test_fake__display__client.cc @@ -0,0 +1,11 @@ +--- components/viz/test/fake_display_client.cc.orig 2022-02-07 13:39:41 UTC ++++ components/viz/test/fake_display_client.cc +@@ -23,7 +23,7 @@ void FakeDisplayClient::CreateLayeredWindowUpdater( + mojo::PendingReceiver receiver) {} + #endif + +-#if defined(OS_LINUX) ++#if defined(OS_LINUX) || defined(OS_BSD) + void FakeDisplayClient::DidCompleteSwapWithNewSize(const gfx::Size& size) {} + #endif + diff --git a/www/chromium/files/patch-components_viz_test_fake__output__surface.cc b/www/chromium/files/patch-components_viz_test_fake__output__surface.cc deleted file mode 100644 index f61fee3e3a98..000000000000 --- a/www/chromium/files/patch-components_viz_test_fake__output__surface.cc +++ /dev/null @@ -1,11 +0,0 @@ ---- components/viz/test/fake_output_surface.cc.orig 2021-07-19 18:45:15 UTC -+++ components/viz/test/fake_output_surface.cc -@@ -119,7 +119,7 @@ gfx::OverlayTransform FakeOutputSurface::GetDisplayTra - - // TODO(crbug.com/1052397): Revisit the macro expression once build flag switch - // of lacros-chrome is complete. --#if defined(OS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS) -+#if defined(OS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS) || defined(OS_BSD) - void FakeOutputSurface::SetNeedsSwapSizeNotifications( - bool needs_swap_size_notifications) {} - #endif diff --git a/www/chromium/files/patch-components_viz_test_fake__output__surface.h b/www/chromium/files/patch-components_viz_test_fake__output__surface.h deleted file mode 100644 index ce8cc503bbcc..000000000000 --- a/www/chromium/files/patch-components_viz_test_fake__output__surface.h +++ /dev/null @@ -1,11 +0,0 @@ ---- components/viz/test/fake_output_surface.h.orig 2021-07-19 18:45:15 UTC -+++ components/viz/test/fake_output_surface.h -@@ -88,7 +88,7 @@ class FakeOutputSurface : public OutputSurface { - gfx::OverlayTransform GetDisplayTransform() override; - // TODO(crbug.com/1052397): Revisit the macro expression once build flag switch - // of lacros-chrome is complete. --#if defined(OS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS) -+#if defined(OS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS) || defined(OS_BSD) - void SetNeedsSwapSizeNotifications( - bool needs_swap_size_notifications) override; - #endif diff --git a/www/chromium/files/patch-components_webcrypto_algorithms_test__helpers.cc b/www/chromium/files/patch-components_webcrypto_algorithms_test__helpers.cc deleted file mode 100644 index 0453326ef1f6..000000000000 --- a/www/chromium/files/patch-components_webcrypto_algorithms_test__helpers.cc +++ /dev/null @@ -1,14 +0,0 @@ ---- components/webcrypto/algorithms/test_helpers.cc.orig 2021-04-14 18:41:02 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 -+#else - #include "third_party/re2/src/re2/re2.h" -+#endif - - namespace webcrypto { - diff --git a/www/chromium/files/patch-components_zucchini_main__utils.cc b/www/chromium/files/patch-components_zucchini_main__utils.cc deleted file mode 100644 index e9f205acc7aa..000000000000 --- a/www/chromium/files/patch-components_zucchini_main__utils.cc +++ /dev/null @@ -1,63 +0,0 @@ ---- components/zucchini/main_utils.cc.orig 2021-12-31 00:57:31 UTC -+++ components/zucchini/main_utils.cc -@@ -80,7 +80,7 @@ constexpr Command kCommands[] = { - - /******** GetPeakMemoryMetrics ********/ - --#if defined(OS_LINUX) || defined(OS_CHROMEOS) -+#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD) - // Linux does not have an exact mapping to the values used on Windows so use a - // close approximation: - // peak_virtual_memory ~= peak_page_file_usage -@@ -122,7 +122,7 @@ void GetPeakMemoryMetrics(size_t* peak_virtual_memory, - } - } - } --#endif // defined(OS_LINUX) || defined(OS_CHROMEOS) -+#endif // defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD) - - #if defined(OS_WIN) - // On failure the input values will be set to 0. -@@ -147,17 +147,17 @@ class ScopedResourceUsageTracker { - ScopedResourceUsageTracker() { - start_time_ = base::TimeTicks::Now(); - --#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_WIN) -+#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_WIN) || defined(OS_BSD) - GetPeakMemoryMetrics(&start_peak_page_file_usage_, - &start_peak_working_set_size_); --#endif // defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_WIN) -+#endif // defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_WIN) || defined(OS_BSD) - } - - // Computes and prints usage. - ~ScopedResourceUsageTracker() { - base::TimeTicks end_time = base::TimeTicks::Now(); - --#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_WIN) -+#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_WIN) || defined(OS_BSD) - size_t cur_peak_page_file_usage = 0; - size_t cur_peak_working_set_size = 0; - GetPeakMemoryMetrics(&cur_peak_page_file_usage, &cur_peak_working_set_size); -@@ -173,7 +173,7 @@ class ScopedResourceUsageTracker { - << (cur_peak_working_set_size - start_peak_working_set_size_) / - 1024 - << " KiB"; --#endif // defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_WIN) -+#endif // defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_WIN) || defined(OS_BSD) - - LOG(INFO) << "Zucchini.TotalTime " << (end_time - start_time_).InSecondsF() - << " s"; -@@ -181,10 +181,10 @@ class ScopedResourceUsageTracker { - - private: - base::TimeTicks start_time_; --#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_WIN) -+#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_WIN) || defined(OS_BSD) - size_t start_peak_page_file_usage_ = 0; - size_t start_peak_working_set_size_ = 0; --#endif // defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_WIN) -+#endif // defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_WIN) || defined(OS_BSD) - }; - - /******** Helper functions ********/ diff --git a/www/chromium/files/patch-content_app_content__main.cc b/www/chromium/files/patch-content_app_content__main.cc index e32b81b2dc72..9e63e5f4844b 100644 --- a/www/chromium/files/patch-content_app_content__main.cc +++ b/www/chromium/files/patch-content_app_content__main.cc @@ -1,29 +1,11 @@ ---- content/app/content_main.cc.orig 2021-09-24 04:26:05 UTC +--- content/app/content_main.cc.orig 2022-02-07 13:39:41 UTC +++ content/app/content_main.cc -@@ -63,7 +63,7 @@ - #include "base/posix/global_descriptors.h" - #endif - --#if defined(OS_CHROMEOS) || defined(OS_LINUX) -+#if defined(OS_CHROMEOS) || defined(OS_LINUX) || defined(OS_BSD) - #include "base/files/scoped_file.h" - #endif - -@@ -243,7 +243,7 @@ RunContentProcess(const ContentMainParams& params, +@@ -251,7 +251,7 @@ RunContentProcess(ContentMainParams params, #endif base::EnableTerminationOnOutOfMemory(); -#if defined(OS_LINUX) || defined(OS_CHROMEOS) +#if defined(OS_LINUX) || defined(OS_CHROMEOS) || 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 -@@ -318,7 +318,7 @@ RunContentProcess(const ContentMainParams& params, - InitializeMac(); - #endif - --#if defined(OS_CHROMEOS) || defined(OS_LINUX) -+#if defined(OS_CHROMEOS) || defined(OS_LINUX) || defined(OS_BSD) - base::subtle::EnableFDOwnershipEnforcement(true); - #endif - diff --git a/www/chromium/files/patch-content_app_content__main__runner__impl.cc b/www/chromium/files/patch-content_app_content__main__runner__impl.cc index 557207448e40..18aeb62ee0a6 100644 --- a/www/chromium/files/patch-content_app_content__main__runner__impl.cc +++ b/www/chromium/files/patch-content_app_content__main__runner__impl.cc @@ -1,65 +1,128 @@ ---- content/app/content_main_runner_impl.cc.orig 2021-12-31 00:57:31 UTC +--- content/app/content_main_runner_impl.cc.orig 2022-02-07 13:39:41 UTC +++ content/app/content_main_runner_impl.cc -@@ -137,7 +137,7 @@ +@@ -131,13 +131,13 @@ + #include "base/posix/global_descriptors.h" + #include "content/public/common/content_descriptors.h" + +-#if !defined(OS_MAC) ++#if !defined(OS_MAC) && !defined(OS_BSD) + #include "content/public/common/zygote/zygote_fork_delegate_linux.h" + #endif #endif // OS_POSIX || OS_FUCHSIA -#if defined(OS_LINUX) || defined(OS_CHROMEOS) +#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD) #include "base/native_library.h" #include "base/rand_util.h" #include "content/public/common/zygote/sandbox_support_linux.h" -@@ -157,7 +157,7 @@ - #include "content/public/common/content_client.h" +@@ -171,6 +171,12 @@ + #include "media/base/media_switches.h" #endif --#endif // defined(OS_LINUX) || defined(OS_CHROMEOS) -+#endif // defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD) - - #if BUILDFLAG(USE_ZYGOTE_HANDLE) - #include "base/stack_canary_linux.h" -@@ -344,7 +344,7 @@ void InitializeZygoteSandboxForBrowserProcess( ++#if defined(OS_BSD) ++#include "base/system/sys_info.h" ++#include "content/public/common/sandbox_init.h" ++#include "sandbox/policy/linux/sandbox_linux.h" ++#endif ++ + #if defined(OS_ANDROID) + #include "base/system/sys_info.h" + #include "components/power_scheduler/power_scheduler.h" +@@ -344,7 +350,7 @@ void InitializeZygoteSandboxForBrowserProcess( } #endif // BUILDFLAG(USE_ZYGOTE_HANDLE) -#if defined(OS_LINUX) || defined(OS_CHROMEOS) +#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD) #if BUILDFLAG(ENABLE_PLUGINS) // Loads the (native) libraries but does not initialize them (i.e., does not -@@ -432,7 +432,7 @@ void PreSandboxInit() { +@@ -380,11 +386,14 @@ void PreloadLibraryCdms() { } - #endif // BUILDFLAG(USE_ZYGOTE_HANDLE) + #endif // BUILDFLAG(ENABLE_LIBRARY_CDMS) --#endif // defined(OS_LINUX) || defined(OS_CHROMEOS) -+#endif // defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD) +-#if BUILDFLAG(USE_ZYGOTE_HANDLE) ++#if BUILDFLAG(USE_ZYGOTE_HANDLE) || defined(OS_BSD) + void PreSandboxInit() { ++ // arc4random ++#if !defined(OS_BSD) + // Pre-acquire resources needed by BoringSSL. See + // https://boringssl.googlesource.com/boringssl/+/HEAD/SANDBOXING.md + CRYPTO_pre_sandbox_init(); ++#endif - mojo::ScopedMessagePipeHandle MaybeAcceptMojoInvitation() { - const auto& command_line = *base::CommandLine::ForCurrentProcess(); -@@ -565,7 +565,7 @@ int NO_STACK_PROTECTOR RunZygote(ContentMainDelegate* + #if BUILDFLAG(ENABLE_PLUGINS) + // Ensure access to the Pepper plugins before the sandbox is turned on. +@@ -396,6 +405,11 @@ void PreSandboxInit() { + #endif + InitializeWebRtcModule(); + ++#if defined(OS_BSD) ++ // "cache" the amount of physical memory before pledge(2) ++ base::SysInfo::AmountOfPhysicalMemoryMB(); ++#endif ++ + // Set the android SkFontMgr for blink. We need to ensure this is done + // before the sandbox is initialized to allow the font manager to access + // font configuration files on disk. +@@ -565,7 +579,7 @@ int NO_STACK_PROTECTOR RunZygote(ContentMainDelegate* delegate->ZygoteStarting(&zygote_fork_delegates); media::InitializeMediaLibrary(); -#if defined(OS_LINUX) || defined(OS_CHROMEOS) +#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD) PreSandboxInit(); #endif -@@ -976,7 +976,7 @@ int NO_STACK_PROTECTOR ContentMainRunnerImpl::Run(bool +@@ -741,10 +755,10 @@ int ContentMainRunnerImpl::Initialize(ContentMainParam + kFieldTrialDescriptor + base::GlobalDescriptors::kBaseDescriptor); + #endif // !OS_ANDROID + +-#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_OPENBSD) ++#if defined(OS_LINUX) || defined(OS_CHROMEOS) + g_fds->Set(kCrashDumpSignal, + kCrashDumpSignal + base::GlobalDescriptors::kBaseDescriptor); +-#endif // defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_OPENBSD) ++#endif // defined(OS_LINUX) || defined(OS_CHROMEOS) + + #endif // !OS_WIN + +@@ -933,6 +947,16 @@ int ContentMainRunnerImpl::Initialize(ContentMainParam + } + #endif + ++#if defined(OS_BSD) ++ if (process_type.empty()) { ++ sandbox::policy::SandboxLinux::Options sandbox_options; ++ sandbox::policy::SandboxLinux::GetInstance()->InitializeSandbox( ++ sandbox::policy::SandboxTypeFromCommandLine( ++ *base::CommandLine::ForCurrentProcess()), ++ sandbox::policy::SandboxLinux::PreSandboxHook(), sandbox_options); ++ } ++#endif ++ + delegate_->SandboxInitialized(process_type); + + #if BUILDFLAG(USE_ZYGOTE_HANDLE) +@@ -988,7 +1012,7 @@ int NO_STACK_PROTECTOR ContentMainRunnerImpl::Run() { mojo::core::InitFeatures(); } -#if defined(OS_LINUX) || defined(OS_CHROMEOS) +#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD) // If dynamic Mojo Core is being used, ensure that it's loaded very early in // the child/zygote process, before any sandbox is initialized. The library // is not fully initialized with IPC support until a ChildProcess is later -@@ -986,7 +986,7 @@ int NO_STACK_PROTECTOR ContentMainRunnerImpl::Run(bool - CHECK_EQ(mojo::LoadCoreLibrary(GetMojoCoreSharedLibraryPath()), - MOJO_RESULT_OK); - } --#endif // defined(OS_LINUX) || defined(OS_CHROMEOS) -+#endif // defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD) - } +@@ -1021,6 +1045,11 @@ int NO_STACK_PROTECTOR ContentMainRunnerImpl::Run() { + content_main_params_.reset(); + + RegisterMainThreadFactories(); ++ ++#if defined(OS_BSD) ++ if (!process_type.empty()) ++ PreSandboxInit(); ++#endif - MainFunctionParams main_params(command_line); + if (process_type.empty()) + return RunBrowser(std::move(main_params), start_minimal_browser); diff --git a/www/chromium/files/patch-content_browser_BUILD.gn b/www/chromium/files/patch-content_browser_BUILD.gn index 6bbe8159cddc..e46f0adca63f 100644 --- a/www/chromium/files/patch-content_browser_BUILD.gn +++ b/www/chromium/files/patch-content_browser_BUILD.gn @@ -1,20 +1,16 @@ ---- content/browser/BUILD.gn.orig 2021-12-31 00:57:31 UTC +--- content/browser/BUILD.gn.orig 2022-02-07 13:39:41 UTC +++ content/browser/BUILD.gn -@@ -2318,6 +2318,17 @@ source_set("browser") { - deps += [ "//third_party/speech-dispatcher" ] +@@ -2317,6 +2317,13 @@ source_set("browser") { + ] } + if (is_bsd) { + sources -= [ -+ "compute_pressure/cpu_probe_linux.cc", -+ "compute_pressure/cpu_probe_linux.h", -+ "sandbox_host_linux.cc", -+ "sandbox_host_linux.h", + "sandbox_ipc_linux.cc", + "sandbox_ipc_linux.h", + ] + } + - # ChromeOS also defines linux but their memory-monitors conflict. - if (is_chromeos_ash) { + if (is_chromeos) { sources += [ + "handwriting/handwriting_recognition_service_impl_cros.cc", diff --git a/www/chromium/files/patch-content_browser_browser__child__process__host__impl.cc b/www/chromium/files/patch-content_browser_browser__child__process__host__impl.cc new file mode 100644 index 000000000000..da0ed0e31edc --- /dev/null +++ b/www/chromium/files/patch-content_browser_browser__child__process__host__impl.cc @@ -0,0 +1,10 @@ +--- content/browser/browser_child_process_host_impl.cc.orig 2022-02-07 13:39:41 UTC ++++ content/browser/browser_child_process_host_impl.cc +@@ -305,6 +305,7 @@ void BrowserChildProcessHostImpl::LaunchWithoutExtraCo + switches::kDisableBestEffortTasks, + switches::kDisableLogging, + switches::kEnableLogging, ++ switches::kDisableUnveil, + switches::kIPCConnectionTimeout, + switches::kLogBestEffortTasks, + switches::kLogFile, diff --git a/www/chromium/files/patch-content_browser_browser__main__loop.cc b/www/chromium/files/patch-content_browser_browser__main__loop.cc index 9991ccbf7bae..f5894fcc95f3 100644 --- a/www/chromium/files/patch-content_browser_browser__main__loop.cc +++ b/www/chromium/files/patch-content_browser_browser__main__loop.cc @@ -1,29 +1,46 @@ ---- content/browser/browser_main_loop.cc.orig 2021-12-31 00:57:32 UTC +--- content/browser/browser_main_loop.cc.orig 2022-02-07 13:39:41 UTC +++ content/browser/browser_main_loop.cc -@@ -552,7 +552,7 @@ int BrowserMainLoop::EarlyInitialization() { +@@ -238,6 +238,12 @@ + #include "mojo/public/cpp/bindings/lib/test_random_mojo_delays.h" + #endif + ++#if defined(OS_BSD) ++#include "content/browser/sandbox_host_linux.h" ++#include "content/public/common/zygote/sandbox_support_linux.h" ++#include "sandbox/policy/sandbox.h" ++#endif ++ + // One of the linux specific headers defines this as a macro. + #ifdef DestroyAll + #undef DestroyAll +@@ -545,6 +551,12 @@ 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) ++ base::FileHandleMappingVector additional_remapped_fds; ++ base::LaunchOptions options; ++ SandboxHostLinux::GetInstance()->Init(); ++ const int sfd = SandboxHostLinux::GetInstance()->GetChildSocket(); ++ options.fds_to_remap.push_back(std::make_pair(sfd, GetSandboxFD())); + #endif + + // GLib's spawning of new processes is buggy, so it's important that at this +@@ -572,7 +584,7 @@ int BrowserMainLoop::EarlyInitialization() { // Up the priority of the UI thread unless it was already high (since Mac // and recent versions of Android (O+) do this automatically). -#if !defined(OS_MAC) +#if !defined(OS_MAC) && !defined(OS_BSD) if (base::FeatureList::IsEnabled( features::kBrowserUseDisplayThreadPriority) && base::PlatformThread::GetCurrentThreadPriority() < -@@ -562,7 +562,7 @@ int BrowserMainLoop::EarlyInitialization() { - } +@@ -583,7 +595,7 @@ int BrowserMainLoop::EarlyInitialization() { #endif // !defined(OS_MAC) --#if defined(OS_MAC) || defined(OS_LINUX) || defined(OS_CHROMEOS) || \ -+#if defined(OS_MAC) || defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD) || \ - defined(OS_ANDROID) + #if defined(OS_MAC) || defined(OS_LINUX) || defined(OS_CHROMEOS) || \ +- defined(OS_ANDROID) ++ defined(OS_ANDROID) || defined(OS_BSD) // 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. -@@ -572,7 +572,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_MAC) || defined(OS_LINUX) || defined(OS_CHROMEOS) || -+#endif // defined(OS_MAC) || defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD) || - // defined(OS_ANDROID) - #if defined(OS_WIN) diff --git a/www/chromium/files/patch-content_browser_child__process__launcher__helper__linux.cc b/www/chromium/files/patch-content_browser_child__process__launcher__helper__linux.cc index d4a54a83bf25..1fff9574f603 100644 --- a/www/chromium/files/patch-content_browser_child__process__launcher__helper__linux.cc +++ b/www/chromium/files/patch-content_browser_child__process__launcher__helper__linux.cc @@ -1,87 +1,76 @@ ---- content/browser/child_process_launcher_helper_linux.cc.orig 2021-04-20 18:58:32 UTC +--- content/browser/child_process_launcher_helper_linux.cc.orig 2022-02-07 13:39:41 UTC +++ content/browser/child_process_launcher_helper_linux.cc -@@ -18,9 +18,12 @@ - #include "content/public/common/content_switches.h" +@@ -19,7 +19,9 @@ #include "content/public/common/result_codes.h" #include "content/public/common/sandboxed_process_launcher_delegate.h" -+ -+#if !defined(OS_BSD) #include "content/public/common/zygote/sandbox_support_linux.h" ++#if !defined(OS_BSD) #include "content/public/common/zygote/zygote_handle.h" - #include "sandbox/policy/linux/sandbox_linux.h" +#endif + #include "sandbox/policy/linux/sandbox_linux.h" namespace content { - namespace internal { -@@ -50,10 +53,12 @@ bool ChildProcessLauncherHelper::BeforeLaunchOnLaunche - options->fds_to_remap = files_to_register.GetMappingWithIDAdjustment( - base::GlobalDescriptors::kBaseDescriptor); - -+#if !defined(OS_BSD) - if (GetProcessType() == switches::kRendererProcess) { - const int sandbox_fd = SandboxHostLinux::GetInstance()->GetChildSocket(); - options->fds_to_remap.push_back(std::make_pair(sandbox_fd, GetSandboxFD())); - } -+#endif - - options->environment = delegate_->GetEnvironment(); - -@@ -68,6 +73,7 @@ ChildProcessLauncherHelper::LaunchProcessOnLauncherThr +@@ -68,6 +70,7 @@ ChildProcessLauncherHelper::LaunchProcessOnLauncherThr int* launch_result) { *is_synchronous_launch = true; +#if !defined(OS_BSD) ZygoteHandle zygote_handle = base::CommandLine::ForCurrentProcess()->HasSwitch(switches::kNoZygote) ? nullptr -@@ -97,6 +103,7 @@ ChildProcessLauncherHelper::LaunchProcessOnLauncherThr +@@ -81,7 +84,6 @@ ChildProcessLauncherHelper::LaunchProcessOnLauncherThr + GetProcessType()); + *launch_result = LAUNCH_RESULT_SUCCESS; + +-#if !defined(OS_OPENBSD) + if (handle) { + // It could be a renderer process or an utility process. + int oom_score = content::kMiscOomScore; +@@ -90,13 +92,13 @@ ChildProcessLauncherHelper::LaunchProcessOnLauncherThr + oom_score = content::kLowestRendererOomScore; + ZygoteHostImpl::GetInstance()->AdjustRendererOOMScore(handle, oom_score); + } +-#endif + + Process process; + process.process = base::Process(handle); process.zygote = zygote_handle; return process; } +#endif Process process; process.process = base::LaunchProcess(*command_line(), options); -@@ -114,10 +121,14 @@ ChildProcessTerminationInfo ChildProcessLauncherHelper +@@ -114,10 +116,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 { -@@ -141,21 +152,27 @@ void ChildProcessLauncherHelper::ForceNormalProcessTer +@@ -141,13 +147,17 @@ void ChildProcessLauncherHelper::ForceNormalProcessTer DCHECK(CurrentlyOnProcessLauncherTaskRunner()); process.process.Terminate(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( - base::Process process, - const ChildProcessLauncherPriority& priority) { - DCHECK(CurrentlyOnProcessLauncherTaskRunner()); -+#if !defined(OS_BSD) - if (process.CanBackgroundProcesses()) - process.SetProcessBackgrounded(priority.is_background()); -+#endif - } - - // static diff --git a/www/chromium/files/patch-content_browser_compositor_viz__process__transport__factory.cc b/www/chromium/files/patch-content_browser_compositor_viz__process__transport__factory.cc index 7d1b61ffda88..fa5704d5b5d4 100644 --- a/www/chromium/files/patch-content_browser_compositor_viz__process__transport__factory.cc +++ b/www/chromium/files/patch-content_browser_compositor_viz__process__transport__factory.cc @@ -1,11 +1,11 @@ ---- content/browser/compositor/viz_process_transport_factory.cc.orig 2021-05-12 22:05:52 UTC +--- content/browser/compositor/viz_process_transport_factory.cc.orig 2022-02-07 13:39:41 UTC +++ content/browser/compositor/viz_process_transport_factory.cc -@@ -112,7 +112,7 @@ class HostDisplayClient : public viz::HostDisplayClien +@@ -113,7 +113,7 @@ class HostDisplayClient : public viz::HostDisplayClien // viz::HostDisplayClient: // TODO(crbug.com/1052397): Revisit the macro expression once build flag switch // of lacros-chrome is complete. -#if defined(OS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS) +#if defined(OS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS) || defined(OS_BSD) void DidCompleteSwapWithNewSize(const gfx::Size& size) override { compositor_->OnCompleteSwapWithNewSize(size); } diff --git a/www/chromium/files/patch-content_browser_compute__pressure_cpu__probe.cc b/www/chromium/files/patch-content_browser_compute__pressure_cpu__probe.cc new file mode 100644 index 000000000000..a2d52d6eb0bb --- /dev/null +++ b/www/chromium/files/patch-content_browser_compute__pressure_cpu__probe.cc @@ -0,0 +1,10 @@ +--- content/browser/compute_pressure/cpu_probe.cc.orig 2022-02-07 13:39:41 UTC ++++ content/browser/compute_pressure/cpu_probe.cc +@@ -52,6 +52,7 @@ std::unique_ptr CpuProbe::Create() { + #elif defined(OS_LINUX) || defined(OS_CHROMEOS) + return CpuProbeLinux::Create(); + #else ++ NOTIMPLEMENTED(); + return std::make_unique(); + #endif // defined(OS_ANDROID) + } diff --git a/www/chromium/files/patch-content_browser_devtools_protocol_system__info__handler.cc b/www/chromium/files/patch-content_browser_devtools_protocol_system__info__handler.cc index f854b560474c..ddd0b5c20a2c 100644 --- a/www/chromium/files/patch-content_browser_devtools_protocol_system__info__handler.cc +++ b/www/chromium/files/patch-content_browser_devtools_protocol_system__info__handler.cc @@ -1,11 +1,11 @@ ---- content/browser/devtools/protocol/system_info_handler.cc.orig 2021-12-14 11:45:05 UTC +--- content/browser/devtools/protocol/system_info_handler.cc.orig 2022-02-07 13:39:41 UTC +++ content/browser/devtools/protocol/system_info_handler.cc -@@ -53,7 +53,7 @@ std::unique_ptr GfxSizeToSystemInfoS - // 1046598, and 1153667. +@@ -50,7 +50,7 @@ std::unique_ptr GfxSizeToSystemInfoS // Windows builds need more time -- see Issue 873112 and 1004472. // Mac builds need more time - see Issue angleproject:6182. --#if ((defined(OS_LINUX) || defined(OS_CHROMEOS)) && !defined(NDEBUG)) || \ -+#if ((defined(OS_LINUX) || defined(OS_CHROMEOS)) && !defined(NDEBUG)) || defined(OS_BSD) || \ - defined(OS_WIN) || defined(OS_MAC) || defined(USE_OZONE) + #if ((defined(OS_LINUX) || defined(OS_CHROMEOS)) && !defined(NDEBUG)) || \ +- defined(OS_WIN) || defined(OS_MAC) || defined(USE_OZONE) ++ defined(OS_WIN) || defined(OS_MAC) || defined(USE_OZONE) || defined(OS_BSD) static constexpr int kGPUInfoWatchdogTimeoutMultiplierOS = 3; #else + static constexpr int kGPUInfoWatchdogTimeoutMultiplierOS = 1; diff --git a/www/chromium/files/patch-content_browser_download_download__manager__impl.cc b/www/chromium/files/patch-content_browser_download_download__manager__impl.cc index fff5dd258fc5..888798e6d46c 100644 --- a/www/chromium/files/patch-content_browser_download_download__manager__impl.cc +++ b/www/chromium/files/patch-content_browser_download_download__manager__impl.cc @@ -1,29 +1,29 @@ ---- content/browser/download/download_manager_impl.cc.orig 2021-12-31 00:57:32 UTC +--- content/browser/download/download_manager_impl.cc.orig 2022-02-07 13:39:41 UTC +++ content/browser/download/download_manager_impl.cc -@@ -85,7 +85,7 @@ - #include "third_party/blink/public/common/loader/referrer_utils.h" - #include "third_party/blink/public/common/loader/throttling_url_loader.h" +@@ -89,7 +89,7 @@ + #include "third_party/blink/public/common/storage_key/storage_key.h" + #include "url/origin.h" -#if defined(OS_LINUX) || defined(OS_CHROMEOS) +#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD) #include "base/nix/xdg_util.h" #endif -@@ -231,7 +231,7 @@ class DownloadItemFactoryImpl : public download::Downl +@@ -236,7 +236,7 @@ class DownloadItemFactoryImpl : public download::Downl } }; -#if defined(OS_LINUX) || defined(OS_CHROMEOS) +#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD) base::FilePath GetTemporaryDownloadDirectory() { std::unique_ptr env(base::Environment::Create()); return base::nix::GetXDGDirectory(env.get(), "XDG_DATA_HOME", ".local/share"); -@@ -585,7 +585,7 @@ bool DownloadManagerImpl::InterceptDownload( +@@ -592,7 +592,7 @@ bool DownloadManagerImpl::InterceptDownload( base::FilePath DownloadManagerImpl::GetDefaultDownloadDirectory() { base::FilePath default_download_directory; -#if defined(OS_LINUX) || defined(OS_CHROMEOS) +#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD) // TODO(thomasanderson,crbug.com/784010): Remove this when all Linux // distros with versions of GTK lower than 3.14.7 are no longer // supported. This should happen when support for Ubuntu Trusty and diff --git a/www/chromium/files/patch-content_browser_font__access_font__enumeration__cache.h b/www/chromium/files/patch-content_browser_font__access_font__enumeration__cache.h index 20abaf953ed7..de2ca573f898 100644 --- a/www/chromium/files/patch-content_browser_font__access_font__enumeration__cache.h +++ b/www/chromium/files/patch-content_browser_font__access_font__enumeration__cache.h @@ -1,11 +1,11 @@ ---- content/browser/font_access/font_enumeration_cache.h.orig 2021-12-14 11:45:05 UTC +--- content/browser/font_access/font_enumeration_cache.h.orig 2022-02-07 13:39:41 UTC +++ content/browser/font_access/font_enumeration_cache.h -@@ -23,7 +23,7 @@ - #include "third_party/blink/public/common/font_access/font_enumeration_table.pb.h" +@@ -24,7 +24,7 @@ #include "third_party/blink/public/mojom/font_access/font_access.mojom.h" --#if defined(OS_WIN) || defined(OS_LINUX) || defined(OS_CHROMEOS) || \ -+#if defined(OS_WIN) || defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD) || \ - defined(OS_MAC) + #if defined(OS_WIN) || defined(OS_LINUX) || defined(OS_CHROMEOS) || \ +- defined(OS_MAC) || defined(OS_FUCHSIA) ++ defined(OS_MAC) || defined(OS_FUCHSIA) || defined(OS_BSD) #define PLATFORM_HAS_LOCAL_FONT_ENUMERATION_IMPL 1 #endif + diff --git a/www/chromium/files/patch-content_browser_gpu_compositor__util.cc b/www/chromium/files/patch-content_browser_gpu_compositor__util.cc index 130ce4606253..5db3284b8fb3 100644 --- a/www/chromium/files/patch-content_browser_gpu_compositor__util.cc +++ b/www/chromium/files/patch-content_browser_gpu_compositor__util.cc @@ -1,16 +1,20 @@ ---- content/browser/gpu/compositor_util.cc.orig 2021-12-14 11:45:05 UTC +--- content/browser/gpu/compositor_util.cc.orig 2022-02-07 13:39:41 UTC +++ content/browser/gpu/compositor_util.cc -@@ -145,11 +145,11 @@ const GpuFeatureData GetGpuFeatureData( +@@ -145,7 +145,7 @@ const GpuFeatureData GetGpuFeatureData( {"video_decode", SafeGetFeatureStatus(gpu_feature_info, gpu::GPU_FEATURE_TYPE_ACCELERATED_VIDEO_DECODE), -#if defined(OS_LINUX) +#if defined(OS_LINUX) || defined(OS_BSD) !base::FeatureList::IsEnabled(media::kVaapiVideoDecodeLinux), #else command_line.HasSwitch(switches::kDisableAcceleratedVideoDecode), --#endif // defined(OS_LINUX) -+#endif // defined(OS_LINUX) || defined(OS_BSD) - DisableInfo::Problem( - "Accelerated video decode has been disabled, either via blocklist, " - "about:flags or the command line."), +@@ -157,7 +157,7 @@ const GpuFeatureData GetGpuFeatureData( + {"video_encode", + SafeGetFeatureStatus(gpu_feature_info, + gpu::GPU_FEATURE_TYPE_ACCELERATED_VIDEO_ENCODE), +-#if defined(OS_LINUX) ++#if defined(OS_LINUX) || defined(OS_BSD) + !base::FeatureList::IsEnabled(media::kVaapiVideoEncodeLinux), + #else + command_line.HasSwitch(switches::kDisableAcceleratedVideoEncode), diff --git a/www/chromium/files/patch-content_browser_gpu_gpu__data__manager__impl__private.cc b/www/chromium/files/patch-content_browser_gpu_gpu__data__manager__impl__private.cc index 7f9c49f8d0cc..47791f133ec7 100644 --- a/www/chromium/files/patch-content_browser_gpu_gpu__data__manager__impl__private.cc +++ b/www/chromium/files/patch-content_browser_gpu_gpu__data__manager__impl__private.cc @@ -1,11 +1,11 @@ ---- content/browser/gpu/gpu_data_manager_impl_private.cc.orig 2021-12-31 00:57:32 UTC +--- content/browser/gpu/gpu_data_manager_impl_private.cc.orig 2022-02-07 13:39:41 UTC +++ content/browser/gpu/gpu_data_manager_impl_private.cc -@@ -1298,7 +1298,7 @@ void GpuDataManagerImplPrivate::AppendGpuCommandLine( +@@ -1341,7 +1341,7 @@ void GpuDataManagerImplPrivate::AppendGpuCommandLine( break; case gpu::GpuMode::SWIFTSHADER: { bool legacy_software_gl = true; -#if defined(OS_LINUX) || defined(OS_WIN) +#if defined(OS_LINUX) || defined(OS_WIN) || defined(OS_BSD) // This setting makes WebGL run on SwANGLE instead of SwiftShader GL. legacy_software_gl = false; #endif diff --git a/www/chromium/files/patch-content_browser_gpu_gpu__process__host.cc b/www/chromium/files/patch-content_browser_gpu_gpu__process__host.cc index 5abdf81bcf34..45e81541e64d 100644 --- a/www/chromium/files/patch-content_browser_gpu_gpu__process__host.cc +++ b/www/chromium/files/patch-content_browser_gpu_gpu__process__host.cc @@ -1,40 +1,28 @@ ---- content/browser/gpu/gpu_process_host.cc.orig 2022-01-20 10:35:56 UTC +--- content/browser/gpu/gpu_process_host.cc.orig 2022-02-07 13:39:41 UTC +++ content/browser/gpu/gpu_process_host.cc -@@ -98,7 +98,7 @@ +@@ -101,7 +101,7 @@ #include "ui/ozone/public/ozone_switches.h" #endif -#if defined(OS_LINUX) +#if defined(OS_LINUX) || defined(OS_BSD) #include "ui/gfx/switches.h" #endif -@@ -233,8 +233,8 @@ static const char* const kSwitchNames[] = { - sandbox::policy::switches::kNoSandbox, - // TODO(crbug.com/1052397): Revisit the macro expression once build flag switch - // of lacros-chrome is complete. --#if defined(OS_LINUX) && !BUILDFLAG(IS_CHROMEOS_ASH) && \ -- !BUILDFLAG(IS_CHROMEOS_LACROS) -+#if defined(OS_BSD) || (defined(OS_LINUX) && !BUILDFLAG(IS_CHROMEOS_ASH) && \ -+ !BUILDFLAG(IS_CHROMEOS_LACROS)) - switches::kDisableDevShmUsage, - #endif - #if defined(OS_WIN) -@@ -295,7 +295,7 @@ static const char* const kSwitchNames[] = { +@@ -254,6 +254,7 @@ static const char* const kSwitchNames[] = { + switches::kEnableBackgroundThreadPool, + switches::kEnableGpuRasterization, + switches::kEnableLogging, ++ switches::kDisableUnveil, + switches::kEnableDeJelly, + switches::kDeJellyScreenWidth, + switches::kDocumentTransitionSlowdownFactor, +@@ -295,7 +296,7 @@ static const char* const kSwitchNames[] = { switches::kOzoneDumpFile, switches::kDisableBufferBWCompression, #endif -#if defined(OS_LINUX) +#if defined(OS_LINUX) || defined(OS_BSD) switches::kX11Display, switches::kNoXshm, #endif -@@ -1135,7 +1135,7 @@ bool GpuProcessHost::LaunchGpuProcess() { - std::unique_ptr cmd_line = - std::make_unique(base::CommandLine::NO_PROGRAM); - #else --#if defined(OS_LINUX) || defined(OS_CHROMEOS) -+#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD) - int child_flags = gpu_launcher.empty() ? ChildProcessHost::CHILD_ALLOW_SELF - : ChildProcessHost::CHILD_NORMAL; - #elif defined(OS_MAC) diff --git a/www/chromium/files/patch-content_browser_media_media__keys__listener__manager__impl.cc b/www/chromium/files/patch-content_browser_media_media__keys__listener__manager__impl.cc index 342e42856190..e350d938e941 100644 --- a/www/chromium/files/patch-content_browser_media_media__keys__listener__manager__impl.cc +++ b/www/chromium/files/patch-content_browser_media_media__keys__listener__manager__impl.cc @@ -1,11 +1,11 @@ ---- content/browser/media/media_keys_listener_manager_impl.cc.orig 2021-04-22 08:10:30 UTC +--- content/browser/media/media_keys_listener_manager_impl.cc.orig 2022-02-07 13:39:41 UTC +++ content/browser/media/media_keys_listener_manager_impl.cc -@@ -225,7 +225,7 @@ void MediaKeysListenerManagerImpl::StartListeningForMe - +@@ -226,7 +226,7 @@ void MediaKeysListenerManagerImpl::StartListeningForMe // TODO(crbug.com/1052397): Revisit once build flag switch of lacros-chrome is // complete. --#if (defined(OS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS)) || defined(OS_WIN) || \ -+#if (defined(OS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS)) || defined(OS_WIN) || defined(OS_BSD) || \ - defined(OS_MAC) + #if (defined(OS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS)) || defined(OS_WIN) || \ +- defined(OS_MAC) ++ defined(OS_MAC) || defined(OS_BSD) system_media_controls_ = system_media_controls::SystemMediaControls::Create( media::AudioManager::GetGlobalAppName()); + #endif diff --git a/www/chromium/files/patch-content_browser_memory_swap__metrics__driver__impl__linux.cc b/www/chromium/files/patch-content_browser_memory_swap__metrics__driver__impl__linux.cc index 21211938b13b..0ff52eb54e68 100644 --- a/www/chromium/files/patch-content_browser_memory_swap__metrics__driver__impl__linux.cc +++ b/www/chromium/files/patch-content_browser_memory_swap__metrics__driver__impl__linux.cc @@ -1,27 +1,16 @@ ---- content/browser/memory/swap_metrics_driver_impl_linux.cc.orig 2021-04-14 18:41:02 UTC +--- content/browser/memory/swap_metrics_driver_impl_linux.cc.orig 2022-02-07 13:39:41 UTC +++ content/browser/memory/swap_metrics_driver_impl_linux.cc -@@ -43,6 +43,7 @@ SwapMetricsDriverImplLinux::~SwapMetricsDriverImplLinu - +@@ -44,9 +44,13 @@ SwapMetricsDriverImplLinux::~SwapMetricsDriverImplLinu SwapMetricsDriver::SwapMetricsUpdateResult SwapMetricsDriverImplLinux::UpdateMetricsInternal(base::TimeDelta interval) { -+#if !defined(OS_BSD) base::VmStatInfo vmstat; ++#if !defined(OS_BSD) 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; ++ return SwapMetricsDriver::SwapMetricsUpdateResult::kSwapMetricsUpdateFailed; +#endif - } - } // namespace content + uint64_t in_counts = vmstat.pswpin - last_pswpin_; + uint64_t out_counts = vmstat.pswpout - last_pswpout_; diff --git a/www/chromium/files/patch-content_browser_ppapi__plugin__process__host.cc b/www/chromium/files/patch-content_browser_ppapi__plugin__process__host.cc deleted file mode 100644 index 0445d8d84e9f..000000000000 --- a/www/chromium/files/patch-content_browser_ppapi__plugin__process__host.cc +++ /dev/null @@ -1,11 +0,0 @@ ---- content/browser/ppapi_plugin_process_host.cc.orig 2021-12-14 11:45:05 UTC -+++ content/browser/ppapi_plugin_process_host.cc -@@ -305,7 +305,7 @@ bool PpapiPluginProcessHost::Init(const PepperPluginIn - base::CommandLine::StringType plugin_launcher = - browser_command_line.GetSwitchValueNative(switches::kPpapiPluginLauncher); - --#if defined(OS_LINUX) || defined(OS_CHROMEOS) -+#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD) - int flags = plugin_launcher.empty() ? ChildProcessHost::CHILD_ALLOW_SELF : - ChildProcessHost::CHILD_NORMAL; - #else diff --git a/www/chromium/files/patch-content_browser_renderer__host_delegated__frame__host.cc b/www/chromium/files/patch-content_browser_renderer__host_delegated__frame__host.cc index c04a8e6a50e1..67c7d3773e7a 100644 --- a/www/chromium/files/patch-content_browser_renderer__host_delegated__frame__host.cc +++ b/www/chromium/files/patch-content_browser_renderer__host_delegated__frame__host.cc @@ -1,11 +1,11 @@ ---- content/browser/renderer_host/delegated_frame_host.cc.orig 2021-09-24 04:26:05 UTC +--- content/browser/renderer_host/delegated_frame_host.cc.orig 2022-02-07 13:39:41 UTC +++ content/browser/renderer_host/delegated_frame_host.cc -@@ -271,7 +271,7 @@ void DelegatedFrameHost::EmbedSurface( +@@ -288,7 +288,7 @@ void DelegatedFrameHost::EmbedSurface( if (!primary_surface_id || primary_surface_id->local_surface_id() != local_surface_id_) { -#if defined(OS_WIN) || defined(OS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS) +#if defined(OS_WIN) || defined(OS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS) || defined(OS_BSD) // On Windows and Linux, we would like to produce new content as soon as // possible or the OS will create an additional black gutter. Until we can // block resize on surface synchronization on these platforms, we will not diff --git a/www/chromium/files/patch-content_browser_renderer__host_render__message__filter.h b/www/chromium/files/patch-content_browser_renderer__host_render__message__filter.h index 080e12ac43ac..706eedb080ef 100644 --- a/www/chromium/files/patch-content_browser_renderer__host_render__message__filter.h +++ b/www/chromium/files/patch-content_browser_renderer__host_render__message__filter.h @@ -1,19 +1,19 @@ ---- content/browser/renderer_host/render_message_filter.h.orig 2021-12-31 00:57:32 UTC +--- content/browser/renderer_host/render_message_filter.h.orig 2022-02-07 13:39:41 UTC +++ content/browser/renderer_host/render_message_filter.h -@@ -78,14 +78,14 @@ class CONTENT_EXPORT RenderMessageFilter +@@ -78,14 +78,14 @@ class RenderMessageFilter void GenerateRoutingID(GenerateRoutingIDCallback routing_id) override; void GenerateFrameRoutingID(GenerateFrameRoutingIDCallback callback) override; void HasGpuProcess(HasGpuProcessCallback callback) override; -#if defined(OS_LINUX) || defined(OS_CHROMEOS) +#if defined(OS_LINUX) || defined(OS_CHROMEOS) || 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) || defined(OS_CHROMEOS) +#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD) void SetThreadPriorityOnFileThread(base::PlatformThreadId ns_tid, base::ThreadPriority priority); #endif diff --git a/www/chromium/files/patch-content_browser_renderer__host_render__process__host__impl.cc b/www/chromium/files/patch-content_browser_renderer__host_render__process__host__impl.cc index f50e5de8dc3f..7ff643489df9 100644 --- a/www/chromium/files/patch-content_browser_renderer__host_render__process__host__impl.cc +++ b/www/chromium/files/patch-content_browser_renderer__host_render__process__host__impl.cc @@ -1,67 +1,37 @@ ---- content/browser/renderer_host/render_process_host_impl.cc.orig 2021-12-31 00:57:32 UTC +--- content/browser/renderer_host/render_process_host_impl.cc.orig 2022-02-07 13:39:41 UTC +++ content/browser/renderer_host/render_process_host_impl.cc -@@ -196,7 +196,7 @@ +@@ -197,7 +197,7 @@ #include "third_party/blink/public/mojom/android_font_lookup/android_font_lookup.mojom.h" #endif -#if defined(OS_LINUX) || defined(OS_CHROMEOS) +#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD) #include #include "components/services/font/public/mojom/font_service.mojom.h" // nogncheck -@@ -1327,7 +1327,7 @@ static constexpr size_t kUnknownPlatformProcessLimit = +@@ -1217,7 +1217,7 @@ static constexpr size_t kUnknownPlatformProcessLimit = // to indicate failure and std::numeric_limits::max() to indicate // unlimited. size_t GetPlatformProcessLimit() { -#if defined(OS_LINUX) || defined(OS_CHROMEOS) +#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD) struct rlimit limit; if (getrlimit(RLIMIT_NPROC, &limit) != 0) return kUnknownPlatformProcessLimit; -@@ -1338,7 +1338,7 @@ size_t GetPlatformProcessLimit() { - #else - // TODO(https://crbug.com/104689): Implement on other platforms. - return kUnknownPlatformProcessLimit; --#endif // defined(OS_LINUX) || defined(OS_CHROMEOS) -+#endif // defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD) - } - #endif // !defined(OS_ANDROID) && !BUILDFLAG(IS_CHROMEOS_ASH) - -@@ -1414,7 +1414,7 @@ class RenderProcessHostImpl::IOThreadHostImpl : public +@@ -1304,7 +1304,7 @@ class RenderProcessHostImpl::IOThreadHostImpl : public return; } -#if defined(OS_LINUX) || defined(OS_CHROMEOS) +#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD) if (auto font_receiver = receiver.As()) { ConnectToFontService(std::move(font_receiver)); return; -@@ -1843,7 +1843,7 @@ bool RenderProcessHostImpl::Init() { - renderer_prefix = - browser_command_line.GetSwitchValueNative(switches::kRendererCmdPrefix); - --#if defined(OS_LINUX) || defined(OS_CHROMEOS) -+#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD) - int flags = renderer_prefix.empty() ? ChildProcessHost::CHILD_ALLOW_SELF - : ChildProcessHost::CHILD_NORMAL; - #elif defined(OS_MAC) -@@ -3353,8 +3353,8 @@ void RenderProcessHostImpl::PropagateBrowserCommandLin - switches::kDisableInProcessStackTraces, - sandbox::policy::switches::kDisableSeccompFilterSandbox, - sandbox::policy::switches::kNoSandbox, --#if defined(OS_LINUX) && !BUILDFLAG(IS_CHROMEOS_ASH) && \ -- !BUILDFLAG(IS_CHROMEOS_LACROS) -+#if defined(OS_BSD) || (defined(OS_LINUX) && !BUILDFLAG(IS_CHROMEOS_ASH) && \ -+ !BUILDFLAG(IS_CHROMEOS_LACROS)) - switches::kDisableDevShmUsage, - #endif - #if defined(OS_MAC) -@@ -5019,6 +5019,8 @@ void RenderProcessHostImpl::OnProcessLaunched() { - // TODO(https://crbug.com/875933): Fix initial priority on Android to - // reflect |priority_.is_background()|. - DCHECK_EQ(blink::kLaunchingProcessIsBackgrounded, !priority_.visible); -+#elif defined(OS_BSD) -+ priority_.visible = true; - #else - priority_.visible = - !child_process_launcher_->GetProcess().IsProcessBackgrounded(); +@@ -3306,6 +3306,7 @@ void RenderProcessHostImpl::PropagateBrowserCommandLin + switches::kDisableSpeechAPI, + switches::kDisableThreadedCompositing, + switches::kDisableTouchDragDrop, ++ switches::kDisableUnveil, + switches::kDisableV8IdleTasks, + switches::kDisableVideoCaptureUseGpuMemoryBuffer, + switches::kDisableWebGLImageChromium, diff --git a/www/chromium/files/patch-content_browser_renderer__host_render__process__host__impl.h b/www/chromium/files/patch-content_browser_renderer__host_render__process__host__impl.h new file mode 100644 index 000000000000..19c66094a27b --- /dev/null +++ b/www/chromium/files/patch-content_browser_renderer__host_render__process__host__impl.h @@ -0,0 +1,11 @@ +--- content/browser/renderer_host/render_process_host_impl.h.orig 2022-02-07 13:39:41 UTC ++++ content/browser/renderer_host/render_process_host_impl.h +@@ -461,7 +461,7 @@ class CONTENT_EXPORT RenderProcessHostImpl + // Sets this RenderProcessHost to be guest only. For Testing only. + void SetForGuestsOnlyForTesting(); + +-#if defined(OS_POSIX) && !defined(OS_ANDROID) && !defined(OS_MAC) ++#if defined(OS_POSIX) && !defined(OS_ANDROID) && !defined(OS_MAC) && !defined(OS_BSD) + // Launch the zygote early in the browser startup. + static void EarlyZygoteLaunch(); + #endif // defined(OS_POSIX) && !defined(OS_ANDROID) && !defined(OS_MAC) diff --git a/www/chromium/files/patch-content_browser_renderer__host_render__widget__host__view__aura.cc b/www/chromium/files/patch-content_browser_renderer__host_render__widget__host__view__aura.cc index 51c20c1adb79..af0c6d752162 100644 --- a/www/chromium/files/patch-content_browser_renderer__host_render__widget__host__view__aura.cc +++ b/www/chromium/files/patch-content_browser_renderer__host_render__widget__host__view__aura.cc @@ -1,47 +1,47 @@ ---- content/browser/renderer_host/render_widget_host_view_aura.cc.orig 2021-12-31 00:57:32 UTC +--- content/browser/renderer_host/render_widget_host_view_aura.cc.orig 2022-02-07 13:39:41 UTC +++ content/browser/renderer_host/render_widget_host_view_aura.cc -@@ -112,7 +112,7 @@ +@@ -114,7 +114,7 @@ #include "ui/gfx/gdi_util.h" #endif -#if defined(OS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS) +#if defined(OS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS) || defined(OS_BSD) #include "content/browser/accessibility/browser_accessibility_auralinux.h" #include "ui/base/ime/linux/text_edit_command_auralinux.h" #include "ui/base/ime/linux/text_edit_key_bindings_delegate_auralinux.h" @@ -479,7 +479,7 @@ gfx::NativeViewAccessible RenderWidgetHostViewAura::Ge if (manager) return ToBrowserAccessibilityWin(manager->GetRoot())->GetCOM(); -#elif defined(OS_LINUX) +#elif defined(OS_LINUX) || defined(OS_BSD) BrowserAccessibilityManager* manager = host()->GetOrCreateRootBrowserAccessibilityManager(); if (manager && manager->GetRoot()) -@@ -1530,7 +1530,7 @@ bool RenderWidgetHostViewAura::ShouldDoLearning() { +@@ -1579,7 +1579,7 @@ bool RenderWidgetHostViewAura::ShouldDoLearning() { return GetTextInputManager() && GetTextInputManager()->should_do_learning(); } -#if defined(OS_WIN) || defined(OS_LINUX) || defined(OS_CHROMEOS) +#if defined(OS_WIN) || defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD) bool RenderWidgetHostViewAura::SetCompositionFromExistingText( const gfx::Range& range, const std::vector& ui_ime_text_spans) { -@@ -2343,7 +2343,7 @@ bool RenderWidgetHostViewAura::NeedsInputGrab() { +@@ -2396,7 +2396,7 @@ bool RenderWidgetHostViewAura::NeedsInputGrab() { } bool RenderWidgetHostViewAura::NeedsMouseCapture() { -#if defined(OS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS) +#if defined(OS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS) || defined(OS_BSD) return NeedsInputGrab(); #else return false; -@@ -2520,7 +2520,7 @@ void RenderWidgetHostViewAura::ForwardKeyboardEventWit +@@ -2573,7 +2573,7 @@ void RenderWidgetHostViewAura::ForwardKeyboardEventWit if (!target_host) return; -#if defined(OS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS) +#if defined(OS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS) || defined(OS_BSD) ui::TextEditKeyBindingsDelegateAuraLinux* keybinding_delegate = ui::GetTextEditKeyBindingsDelegate(); std::vector commands; diff --git a/www/chromium/files/patch-content_browser_renderer__host_render__widget__host__view__aura.h b/www/chromium/files/patch-content_browser_renderer__host_render__widget__host__view__aura.h index a6cc240e02f8..9ac4ded78fec 100644 --- a/www/chromium/files/patch-content_browser_renderer__host_render__widget__host__view__aura.h +++ b/www/chromium/files/patch-content_browser_renderer__host_render__widget__host__view__aura.h @@ -1,11 +1,11 @@ ---- content/browser/renderer_host/render_widget_host_view_aura.h.orig 2021-12-16 15:02:50 UTC +--- content/browser/renderer_host/render_widget_host_view_aura.h.orig 2022-02-07 13:39:41 UTC +++ content/browser/renderer_host/render_widget_host_view_aura.h -@@ -236,7 +236,7 @@ class CONTENT_EXPORT RenderWidgetHostViewAura +@@ -235,7 +235,7 @@ class CONTENT_EXPORT RenderWidgetHostViewAura ukm::SourceId GetClientSourceForMetrics() const override; bool ShouldDoLearning() override; -#if defined(OS_WIN) || defined(OS_LINUX) || defined(OS_CHROMEOS) +#if defined(OS_WIN) || defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD) bool SetCompositionFromExistingText( const gfx::Range& range, const std::vector& ui_ime_text_spans) override; diff --git a/www/chromium/files/patch-content_browser_sandbox__host__linux.cc b/www/chromium/files/patch-content_browser_sandbox__host__linux.cc new file mode 100644 index 000000000000..e8b60e9099f4 --- /dev/null +++ b/www/chromium/files/patch-content_browser_sandbox__host__linux.cc @@ -0,0 +1,18 @@ +--- content/browser/sandbox_host_linux.cc.orig 2022-02-07 13:39:41 UTC ++++ content/browser/sandbox_host_linux.cc +@@ -45,6 +45,7 @@ void SandboxHostLinux::Init() { + // Instead, it replies on a temporary socket provided by the caller. + PCHECK(0 == shutdown(browser_socket, SHUT_WR)) << "shutdown"; + ++#if !defined(OS_BSD) + int pipefds[2]; + CHECK(0 == pipe(pipefds)); + const int child_lifeline_fd = pipefds[0]; +@@ -55,6 +56,7 @@ void SandboxHostLinux::Init() { + ipc_thread_ = std::make_unique( + ipc_handler_.get(), "sandbox_ipc_thread"); + ipc_thread_->Start(); ++#endif + } + + } // namespace content diff --git a/www/chromium/files/patch-content_browser_scheduler_responsiveness_native__event__observer.cc b/www/chromium/files/patch-content_browser_scheduler_responsiveness_native__event__observer.cc index 4a5a561d4718..e5049e7d975e 100644 --- a/www/chromium/files/patch-content_browser_scheduler_responsiveness_native__event__observer.cc +++ b/www/chromium/files/patch-content_browser_scheduler_responsiveness_native__event__observer.cc @@ -1,29 +1,20 @@ ---- content/browser/scheduler/responsiveness/native_event_observer.cc.orig 2021-04-14 18:41:02 UTC +--- content/browser/scheduler/responsiveness/native_event_observer.cc.orig 2022-02-07 13:39:41 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) || defined(OS_CHROMEOS) +#if defined(OS_LINUX) || defined(OS_CHROMEOS) || 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) || defined(OS_CHROMEOS) +#if defined(OS_LINUX) || defined(OS_CHROMEOS) || 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) || defined(OS_CHROMEOS) -+#endif // defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD) - - #if defined(OS_WIN) - void NativeEventObserver::RegisterObserver() { diff --git a/www/chromium/files/patch-content_browser_scheduler_responsiveness_native__event__observer.h b/www/chromium/files/patch-content_browser_scheduler_responsiveness_native__event__observer.h index 3bd36f5e9e80..c03dd587921c 100644 --- a/www/chromium/files/patch-content_browser_scheduler_responsiveness_native__event__observer.h +++ b/www/chromium/files/patch-content_browser_scheduler_responsiveness_native__event__observer.h @@ -1,47 +1,47 @@ ---- content/browser/scheduler/responsiveness/native_event_observer.h.orig 2021-12-14 11:45:05 UTC +--- content/browser/scheduler/responsiveness/native_event_observer.h.orig 2022-02-07 13:39:41 UTC +++ content/browser/scheduler/responsiveness/native_event_observer.h -@@ -16,7 +16,7 @@ +@@ -15,7 +15,7 @@ #include "content/public/browser/native_event_processor_observer_mac.h" #endif -#if defined(OS_LINUX) || defined(OS_CHROMEOS) +#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD) #include "ui/aura/window_event_dispatcher_observer.h" #endif -@@ -41,7 +41,7 @@ namespace responsiveness { +@@ -40,7 +40,7 @@ namespace responsiveness { class CONTENT_EXPORT NativeEventObserver #if defined(OS_MAC) : public NativeEventProcessorObserver -#elif defined(OS_LINUX) || defined(OS_CHROMEOS) +#elif defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD) : public aura::WindowEventDispatcherObserver #elif defined(OS_WIN) : public base::MessagePumpForUI::Observer -@@ -58,7 +58,7 @@ class CONTENT_EXPORT NativeEventObserver +@@ -57,7 +57,7 @@ class CONTENT_EXPORT NativeEventObserver NativeEventObserver(WillRunEventCallback will_run_event_callback, DidRunEventCallback did_run_event_callback); -#if defined(OS_LINUX) || defined(OS_CHROMEOS) +#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD) NativeEventObserver(const NativeEventObserver&) = delete; NativeEventObserver& operator=(const NativeEventObserver&) = delete; -@@ -74,7 +74,7 @@ class CONTENT_EXPORT NativeEventObserver +@@ -73,7 +73,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) || defined(OS_CHROMEOS) +#elif defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD) // aura::WindowEventDispatcherObserver overrides: void OnWindowEventDispatcherStartedProcessing( aura::WindowEventDispatcher* dispatcher, -@@ -91,7 +91,7 @@ class CONTENT_EXPORT NativeEventObserver +@@ -90,7 +90,7 @@ class CONTENT_EXPORT NativeEventObserver void RegisterObserver(); void DeregisterObserver(); -#if defined(OS_LINUX) || defined(OS_CHROMEOS) +#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD) struct EventInfo { const void* unique_id; }; diff --git a/www/chromium/files/patch-content_browser_utility__process__host.cc b/www/chromium/files/patch-content_browser_utility__process__host.cc deleted file mode 100644 index 4c500a668f4d..000000000000 --- a/www/chromium/files/patch-content_browser_utility__process__host.cc +++ /dev/null @@ -1,22 +0,0 @@ ---- content/browser/utility_process_host.cc.orig 2021-12-31 00:57:32 UTC -+++ content/browser/utility_process_host.cc -@@ -69,7 +69,7 @@ UtilityProcessHost::UtilityProcessHost() - - UtilityProcessHost::UtilityProcessHost(std::unique_ptr client) - : sandbox_type_(sandbox::mojom::Sandbox::kUtility), --#if defined(OS_LINUX) || defined(OS_CHROMEOS) -+#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD) - child_flags_(ChildProcessHost::CHILD_ALLOW_SELF), - #else - child_flags_(ChildProcessHost::CHILD_NORMAL), -@@ -229,8 +229,8 @@ bool UtilityProcessHost::StartProcess() { - sandbox::policy::switches::kNoSandbox, - // TODO(crbug.com/1052397): Revisit the macro expression once build flag switch - // of lacros-chrome is complete. --#if defined(OS_LINUX) && !BUILDFLAG(IS_CHROMEOS_ASH) && \ -- !BUILDFLAG(IS_CHROMEOS_LACROS) -+#if defined(OS_BSD) || (defined(OS_LINUX) && !BUILDFLAG(IS_CHROMEOS_ASH) && \ -+ !BUILDFLAG(IS_CHROMEOS_LACROS)) - switches::kDisableDevShmUsage, - #endif - #if defined(OS_MAC) diff --git a/www/chromium/files/patch-content_browser_utility__sandbox__delegate.cc b/www/chromium/files/patch-content_browser_utility__sandbox__delegate.cc new file mode 100644 index 000000000000..97e9de6ca546 --- /dev/null +++ b/www/chromium/files/patch-content_browser_utility__sandbox__delegate.cc @@ -0,0 +1,11 @@ +--- content/browser/utility_sandbox_delegate.cc.orig 2022-02-07 13:39:41 UTC ++++ content/browser/utility_sandbox_delegate.cc +@@ -61,7 +61,7 @@ UtilitySandboxedProcessLauncherDelegate:: + #if BUILDFLAG(ENABLE_PLUGINS) + sandbox_type_ == sandbox::mojom::Sandbox::kPpapi || + #endif +-#if defined(OS_FUCHSIA) ++#if defined(OS_FUCHSIA) || defined(OS_BSD) + sandbox_type_ == sandbox::mojom::Sandbox::kVideoCapture || + #endif + #if BUILDFLAG(IS_CHROMEOS_ASH) diff --git a/www/chromium/files/patch-content_browser_web__contents_web__contents__view__aura.cc b/www/chromium/files/patch-content_browser_web__contents_web__contents__view__aura.cc index a53eb82cdfa0..a7b50122b941 100644 --- a/www/chromium/files/patch-content_browser_web__contents_web__contents__view__aura.cc +++ b/www/chromium/files/patch-content_browser_web__contents_web__contents__view__aura.cc @@ -1,29 +1,29 @@ ---- content/browser/web_contents/web_contents_view_aura.cc.orig 2021-12-31 00:57:32 UTC +--- content/browser/web_contents/web_contents_view_aura.cc.orig 2022-02-07 13:39:41 UTC +++ content/browser/web_contents/web_contents_view_aura.cc @@ -159,7 +159,7 @@ class WebDragSourceAura : public content::WebContentsO - aura::Window* window_; + raw_ptr window_; }; -#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_WIN) +#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_WIN) || defined(OS_BSD) // Fill out the OSExchangeData with a file contents, synthesizing a name if // necessary. void PrepareDragForFileContents(const DropData& drop_data, @@ -242,7 +242,7 @@ void PrepareDragData(const DropData& drop_data, if (!drop_data.download_metadata.empty()) PrepareDragForDownload(drop_data, provider, web_contents); #endif -#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_WIN) +#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_WIN) || defined(OS_BSD) // We set the file contents before the URL because the URL also sets file // contents (to a .URL shortcut). We want to prefer file content data over // a shortcut so we add it first. @@ -1304,7 +1304,7 @@ void WebContentsViewAura::OnMouseEvent(ui::MouseEvent* // Linux window managers like to handle raise-on-click themselves. If we // raise-on-click manually, this may override user settings that prevent // focus-stealing. -#if !defined(OS_LINUX) && !defined(OS_CHROMEOS) +#if !defined(OS_LINUX) && !defined(OS_CHROMEOS) && !defined(OS_BSD) // It is possible for the web-contents to be destroyed while it is being // activated. Use a weak-ptr to track whether that happened or not. // More in https://crbug.com/1040725 diff --git a/www/chromium/files/patch-content_browser_webui_web__ui__main__frame__observer.cc b/www/chromium/files/patch-content_browser_webui_web__ui__main__frame__observer.cc new file mode 100644 index 000000000000..73fcc7dd72ae --- /dev/null +++ b/www/chromium/files/patch-content_browser_webui_web__ui__main__frame__observer.cc @@ -0,0 +1,38 @@ +--- content/browser/webui/web_ui_main_frame_observer.cc.orig 2022-02-07 13:39:41 UTC ++++ content/browser/webui/web_ui_main_frame_observer.cc +@@ -11,7 +11,7 @@ + #include "content/browser/webui/web_ui_impl.h" + #include "content/public/browser/navigation_handle.h" + +-#if defined(OS_LINUX) || defined(OS_CHROMEOS) ++#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD) + #include "base/callback_helpers.h" + #include "base/feature_list.h" + #include "base/logging.h" +@@ -30,7 +30,7 @@ namespace content { + + namespace { + +-#if defined(OS_LINUX) || defined(OS_CHROMEOS) ++#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD) + // Remove the pieces of the URL we don't want to send back with the error + // reports. In particular, do not send query or fragments as those can have + // privacy-sensitive information in them. +@@ -66,7 +66,7 @@ void WebUIMainFrameObserver::DidFinishNavigation( + web_ui_->DisallowJavascriptOnAllHandlers(); + } + +-#if defined(OS_LINUX) || defined(OS_CHROMEOS) ++#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD) + void WebUIMainFrameObserver::OnDidAddMessageToConsole( + RenderFrameHost* source_frame, + blink::mojom::ConsoleMessageLevel log_level, +@@ -183,7 +183,7 @@ void WebUIMainFrameObserver::ReadyToCommitNavigation( + + // TODO(crbug.com/1129544) This is currently disabled due to Windows DLL + // thunking issues. Fix & re-enable. +-#if defined(OS_LINUX) || defined(OS_CHROMEOS) ++#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD) + MaybeEnableWebUIJavaScriptErrorReporting(navigation_handle); + #endif // defined(OS_LINUX) || defined(OS_CHROMEOS) + } diff --git a/www/chromium/files/patch-content_browser_webui_web__ui__main__frame__observer.h b/www/chromium/files/patch-content_browser_webui_web__ui__main__frame__observer.h new file mode 100644 index 000000000000..a470b9d4ad8a --- /dev/null +++ b/www/chromium/files/patch-content_browser_webui_web__ui__main__frame__observer.h @@ -0,0 +1,20 @@ +--- content/browser/webui/web_ui_main_frame_observer.h.orig 2022-02-07 13:39:41 UTC ++++ content/browser/webui/web_ui_main_frame_observer.h +@@ -45,7 +45,7 @@ class CONTENT_EXPORT WebUIMainFrameObserver : public W + + // TODO(crbug.com/1129544) This is currently disabled due to Windows DLL + // thunking issues. Fix & re-enable. +-#if defined(OS_LINUX) || defined(OS_CHROMEOS) ++#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD) + // On official Google builds, capture and report JavaScript error messages on + // WebUI surfaces back to Google. This allows us to fix JavaScript errors and + // exceptions. +@@ -61,7 +61,7 @@ class CONTENT_EXPORT WebUIMainFrameObserver : public W + void ReadyToCommitNavigation(NavigationHandle* navigation_handle) override; + + private: +-#if defined(OS_LINUX) || defined(OS_CHROMEOS) ++#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD) + void MaybeEnableWebUIJavaScriptErrorReporting( + NavigationHandle* navigation_handle); + diff --git a/www/chromium/files/patch-content_browser_zygote__host_zygote__host__impl__linux.cc b/www/chromium/files/patch-content_browser_zygote__host_zygote__host__impl__linux.cc index f716a45bf74b..b0ef8401edc6 100644 --- a/www/chromium/files/patch-content_browser_zygote__host_zygote__host__impl__linux.cc +++ b/www/chromium/files/patch-content_browser_zygote__host_zygote__host__impl__linux.cc @@ -1,72 +1,70 @@ ---- content/browser/zygote_host/zygote_host_impl_linux.cc.orig 2021-10-01 01:36:48 UTC +--- content/browser/zygote_host/zygote_host_impl_linux.cc.orig 2022-02-07 13:39:41 UTC +++ content/browser/zygote_host/zygote_host_impl_linux.cc -@@ -26,6 +26,7 @@ +@@ -28,6 +28,7 @@ namespace content { - namespace content { - -+#if !defined(OS_BSD) namespace { ++#if !defined(OS_BSD) // Receive a fixed message on fd and return the sender's PID. -@@ -51,6 +52,7 @@ bool ReceiveFixedMessage(int fd, + // Returns true if the message received matches the expected message. + bool ReceiveFixedMessage(int fd, +@@ -49,6 +50,7 @@ bool ReceiveFixedMessage(int fd, + return false; + return true; } ++#endif } // namespace -+#endif - // static - ZygoteHost* ZygoteHost::GetInstance() { -@@ -58,10 +60,14 @@ ZygoteHost* ZygoteHost::GetInstance() { +@@ -58,9 +60,13 @@ ZygoteHost* ZygoteHost::GetInstance() { } ZygoteHostImpl::ZygoteHostImpl() +#if !defined(OS_BSD) : use_namespace_sandbox_(false), use_suid_sandbox_(false), use_suid_sandbox_for_adj_oom_score_(false), - sandbox_binary_(), +#else -+ : sandbox_binary_(), ++ : +#endif + sandbox_binary_(), zygote_pids_lock_(), zygote_pids_() {} - @@ -73,6 +79,7 @@ ZygoteHostImpl* ZygoteHostImpl::GetInstance() { } void ZygoteHostImpl::Init(const base::CommandLine& command_line) { +#if !defined(OS_BSD) if (command_line.HasSwitch(sandbox::policy::switches::kNoSandbox)) { return; } @@ -123,6 +130,7 @@ void ZygoteHostImpl::Init(const base::CommandLine& com "you can try using --" << sandbox::policy::switches::kNoSandbox << "."; } +#endif } void ZygoteHostImpl::AddZygotePid(pid_t pid) { -@@ -147,6 +155,10 @@ pid_t ZygoteHostImpl::LaunchZygote( +@@ -147,6 +155,7 @@ pid_t ZygoteHostImpl::LaunchZygote( base::CommandLine* cmd_line, base::ScopedFD* control_fd, base::FileHandleMappingVector additional_remapped_fds) { -+#if defined(OS_BSD) -+ NOTIMPLEMENTED(); -+ return -1; -+#else ++#if !defined(OS_BSD) int fds[2]; CHECK_EQ(0, socketpair(AF_UNIX, SOCK_SEQPACKET, 0, fds)); CHECK(base::UnixDomainSocket::EnableReceiveProcessId(fds[0])); -@@ -214,9 +226,10 @@ pid_t ZygoteHostImpl::LaunchZygote( +@@ -214,9 +223,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/chromium/files/patch-content_common_BUILD.gn b/www/chromium/files/patch-content_common_BUILD.gn index 243a258164a8..f15d3ea1da02 100644 --- a/www/chromium/files/patch-content_common_BUILD.gn +++ b/www/chromium/files/patch-content_common_BUILD.gn @@ -1,33 +1,12 @@ ---- content/common/BUILD.gn.orig 2021-12-31 00:57:32 UTC +--- content/common/BUILD.gn.orig 2022-02-07 13:39:41 UTC +++ content/common/BUILD.gn -@@ -342,7 +342,7 @@ source_set("common") { - sources -= [ "cursors/webcursor_aura.cc" ] - } - -- if (is_linux || is_chromeos) { -+ if ((is_linux || is_chromeos) && !is_bsd) { - sources += [ - "sandbox_init_linux.cc", - "zygote/sandbox_support_linux.cc", -@@ -357,6 +357,12 @@ source_set("common") { - ] - } - -+ if (is_bsd) { -+ deps += [ -+ "//third_party/fontconfig", -+ ] -+ } -+ - if (use_zygote_handle) { - sources += [ - "zygote/zygote_handle_impl_linux.h", -@@ -406,7 +412,7 @@ source_set("common") { +@@ -407,6 +407,9 @@ if (is_linux || is_chromeos) { + public = [ "set_process_title_linux.h" ] + sources = [ "set_process_title_linux.cc" ] + deps = [ "//base" ] ++ if (is_bsd) { ++ sources -= [ "set_process_title_linux.cc" ] ++ } } } --if (is_linux || is_chromeos) { -+if ((is_linux || is_chromeos) && !is_bsd) { - source_set("set_process_title_linux") { - public = [ "set_process_title_linux.h" ] - sources = [ "set_process_title_linux.cc" ] diff --git a/www/chromium/files/patch-content_common_sandbox__init__linux.cc b/www/chromium/files/patch-content_common_sandbox__init__linux.cc new file mode 100644 index 000000000000..c0b7b47a210f --- /dev/null +++ b/www/chromium/files/patch-content_common_sandbox__init__linux.cc @@ -0,0 +1,19 @@ +--- content/common/sandbox_init_linux.cc.orig 2022-02-07 13:39:41 UTC ++++ content/common/sandbox_init_linux.cc +@@ -16,11 +16,15 @@ namespace content { + + bool InitializeSandbox(std::unique_ptr policy, + base::ScopedFD proc_fd) { ++#if !defined(OS_BSD) + return sandbox::policy::SandboxSeccompBPF::StartSandboxWithExternalPolicy( + std::move(policy), std::move(proc_fd)); ++#else ++ return false; ++#endif + } + +-#if !defined(OS_NACL_NONSFI) ++#if !defined(OS_NACL_NONSFI) && !defined(OS_BSD) + std::unique_ptr GetBPFSandboxBaselinePolicy() { + return sandbox::policy::SandboxSeccompBPF::GetBaselinePolicy(); + } diff --git a/www/chromium/files/patch-content_common_user__agent.cc b/www/chromium/files/patch-content_common_user__agent.cc index 6d100d165503..8aa7aa116e87 100644 --- a/www/chromium/files/patch-content_common_user__agent.cc +++ b/www/chromium/files/patch-content_common_user__agent.cc @@ -1,17 +1,19 @@ ---- content/common/user_agent.cc.orig 2021-09-14 01:51:56 UTC +--- content/common/user_agent.cc.orig 2022-02-07 13:39:41 UTC +++ content/common/user_agent.cc -@@ -249,6 +249,14 @@ std::string BuildOSCpuInfoFromOSVersionAndCpuType(cons +@@ -252,6 +252,16 @@ std::string BuildOSCpuInfoFromOSVersionAndCpuType(cons ); #endif +#if defined(OS_BSD) +#if defined(__x86_64__) + base::StringAppendF(&os_cpu, "; Linux x86_64"); ++#elif defined(__aarch64__) ++ base::StringAppendF(&os_cpu, "; Linux aarch64"); +#else + base::StringAppendF(&os_cpu, "; Linux i686"); +#endif +#endif + return os_cpu; } diff --git a/www/chromium/files/patch-content_gpu_BUILD.gn b/www/chromium/files/patch-content_gpu_BUILD.gn deleted file mode 100644 index 0d5a7a8fa912..000000000000 --- a/www/chromium/files/patch-content_gpu_BUILD.gn +++ /dev/null @@ -1,11 +0,0 @@ ---- content/gpu/BUILD.gn.orig 2021-12-31 00:57: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_linux && -- (!is_chromecast || is_cast_desktop_build)) { -+ (!is_chromecast || is_cast_desktop_build) && !is_bsd) { - configs += [ "//build/config/linux/dri" ] - } - } diff --git a/www/chromium/files/patch-content_gpu_gpu__main.cc b/www/chromium/files/patch-content_gpu_gpu__main.cc index 26a2ecf40168..9e7739c92e9c 100644 --- a/www/chromium/files/patch-content_gpu_gpu__main.cc +++ b/www/chromium/files/patch-content_gpu_gpu__main.cc @@ -1,56 +1,73 @@ ---- content/gpu/gpu_main.cc.orig 2021-12-31 00:57:32 UTC +--- content/gpu/gpu_main.cc.orig 2022-02-07 13:39:41 UTC +++ content/gpu/gpu_main.cc -@@ -89,6 +89,11 @@ - #include "sandbox/policy/sandbox_type.h" +@@ -83,7 +83,7 @@ + #include "sandbox/win/src/sandbox.h" #endif -+#if defined(OS_FREEBSD) -+#include "content/public/common/sandbox_init.h" -+#include "sandbox/policy/freebsd/sandbox_freebsd.h" -+#endif -+ - #if defined(OS_MAC) - #include "base/message_loop/message_pump_mac.h" - #include "components/metal_util/device_removal.h" -@@ -109,6 +114,8 @@ namespace { +-#if defined(OS_LINUX) || defined(OS_CHROMEOS) ++#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD) + #include "content/gpu/gpu_sandbox_hook_linux.h" + #include "content/public/common/sandbox_init.h" + #include "sandbox/policy/linux/sandbox_linux.h" +@@ -106,7 +106,7 @@ namespace content { + + namespace { + +-#if defined(OS_LINUX) || defined(OS_CHROMEOS) ++#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD) bool StartSandboxLinux(gpu::GpuWatchdogThread*, const gpu::GPUInfo*, const gpu::GpuPreferences&); -+#elif defined(OS_FREEBSD) -+bool StartSandboxFreeBSD(); - #elif defined(OS_WIN) - bool StartSandboxWindows(const sandbox::SandboxInterfaceInfo*); - #endif -@@ -169,6 +176,8 @@ class ContentSandboxHelper : public gpu::GpuSandboxHel +@@ -168,7 +168,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) || defined(OS_CHROMEOS) +-#if defined(OS_LINUX) || defined(OS_CHROMEOS) ++#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD) return StartSandboxLinux(watchdog_thread, gpu_info, gpu_prefs); -+#elif defined(OS_BSD) -+ return StartSandboxFreeBSD(); #elif defined(OS_WIN) return StartSandboxWindows(sandbox_info_); - #elif defined(OS_MAC) -@@ -263,7 +272,7 @@ int GpuMain(const MainFunctionParams& parameters) { +@@ -264,7 +264,7 @@ int GpuMain(MainFunctionParams parameters) { std::make_unique( gpu_preferences.message_pump_type); } -#elif defined(OS_LINUX) || defined(OS_CHROMEOS) +#elif defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD) #error "Unsupported Linux platform." #elif defined(OS_MAC) // Cross-process CoreAnimation requires a CFRunLoop to function at all, and -@@ -446,6 +455,14 @@ bool StartSandboxLinux(gpu::GpuWatchdogThread* watchdo +@@ -407,17 +407,19 @@ int GpuMain(MainFunctionParams parameters) { + + namespace { + +-#if defined(OS_LINUX) || defined(OS_CHROMEOS) ++#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD) + bool StartSandboxLinux(gpu::GpuWatchdogThread* watchdog_thread, + const gpu::GPUInfo* gpu_info, + const gpu::GpuPreferences& gpu_prefs) { + TRACE_EVENT0("gpu,startup", "Initialize sandbox"); + ++#if !defined(OS_BSD) + if (watchdog_thread) { + // SandboxLinux needs to be able to ensure that the thread + // has really been stopped. + sandbox::policy::SandboxLinux::GetInstance()->StopThread(watchdog_thread); + } ++#endif + + // SandboxLinux::InitializeSandbox() must always be called + // with only one thread. +@@ -438,11 +440,13 @@ bool StartSandboxLinux(gpu::GpuWatchdogThread* watchdo + *base::CommandLine::ForCurrentProcess()), + base::BindOnce(GpuProcessPreSandboxHook), sandbox_options); + ++#if !defined(OS_BSD) + if (watchdog_thread) { + base::Thread::Options thread_options; + thread_options.timer_slack = base::TIMER_SLACK_MAXIMUM; + watchdog_thread->StartWithOptions(std::move(thread_options)); + } ++#endif + return res; } - #endif // defined(OS_LINUX) || defined(OS_CHROMEOS) -+ -+#if defined(OS_FREEBSD) -+bool StartSandboxFreeBSD() { -+ return sandbox::policy::SandboxFreeBSD::GetInstance()->InitializeSandbox( -+ sandbox::policy::SandboxTypeFromCommandLine( -+ *base::CommandLine::ForCurrentProcess())); -+} -+#endif // defined(OS_FREEBSD) - - #if defined(OS_WIN) - bool StartSandboxWindows(const sandbox::SandboxInterfaceInfo* sandbox_info) { diff --git a/www/chromium/files/patch-content_gpu_gpu__sandbox__hook__linux.cc b/www/chromium/files/patch-content_gpu_gpu__sandbox__hook__linux.cc index 25321df57de9..b6184245fe81 100644 --- a/www/chromium/files/patch-content_gpu_gpu__sandbox__hook__linux.cc +++ b/www/chromium/files/patch-content_gpu_gpu__sandbox__hook__linux.cc @@ -1,31 +1,70 @@ ---- content/gpu/gpu_sandbox_hook_linux.cc.orig 2021-12-31 00:57:32 UTC +--- content/gpu/gpu_sandbox_hook_linux.cc.orig 2022-02-07 13:39:41 UTC +++ content/gpu/gpu_sandbox_hook_linux.cc -@@ -89,6 +89,12 @@ static const char kLibTegraPath[] = "/usr/lib64/libteg - static const char kLibV4l2Path[] = "/usr/lib64/libv4l2.so"; - static const char kLibV4lEncPluginPath[] = - "/usr/lib64/libv4l/plugins/libv4l-encplugin.so"; -+#elif defined(OS_BSD) -+static const char kLibGlesPath[] = "/usr/local/lib/libGLESv2.so.2"; -+static const char kLibEglPath[] = "/usr/local/lib/libEGL.so.1"; -+static const char kLibV4l2Path[] = "/usr/local/lib/libv4l2.so"; -+static const char kLibV4lEncPluginPath[] = -+ "/usr/local/lib/libv4l/plugins/libv4l-encplugin.so"; - #else - static const char kLibGlesPath[] = "/usr/lib/libGLESv2.so.2"; - static const char kLibEglPath[] = "/usr/lib/libEGL.so.1"; -@@ -401,6 +407,7 @@ std::vector FilePermissionsForGp +@@ -101,6 +101,7 @@ static const char kLibV4lEncPluginPath[] = + + constexpr int dlopen_flag = RTLD_NOW | RTLD_GLOBAL | RTLD_NODELETE; + ++#if !defined(OS_BSD) + void AddV4L2GpuPermissions( + std::vector* permissions, + const sandbox::policy::SandboxSeccompBPF::Options& options) { +@@ -395,8 +396,10 @@ std::vector FilePermissionsForGp + AddStandardGpuPermissions(&permissions); + return permissions; } ++#endif void LoadArmGpuLibraries() { +#if !defined(OS_BSD) // Preload the Mali library. if (UseChromecastSandboxAllowlist()) { for (const char* path : kAllowedChromecastPaths) { -@@ -433,6 +440,7 @@ void LoadArmGpuLibraries() { +@@ -438,6 +441,7 @@ void LoadArmGpuLibraries() { dlopen(driver_paths[i], dlopen_flag); } } +#endif } bool LoadAmdGpuLibraries() { +@@ -501,12 +505,14 @@ void LoadV4L2Libraries( + } + + void LoadChromecastV4L2Libraries() { ++#if !defined(OS_BSD) + for (const char* path : kAllowedChromecastPaths) { + const std::string library_path(std::string(path) + + std::string("libvpcodec.so")); + if (dlopen(library_path.c_str(), dlopen_flag)) + break; + } ++#endif + } + + bool LoadLibrariesForGpu( +@@ -533,6 +539,7 @@ bool LoadLibrariesForGpu( + return true; + } + ++#if !defined(OS_BSD) + sandbox::syscall_broker::BrokerCommandSet CommandSetForGPU( + const sandbox::policy::SandboxLinux::Options& options) { + sandbox::syscall_broker::BrokerCommandSet command_set; +@@ -555,13 +562,17 @@ bool BrokerProcessPreSandboxHook( + SetProcessTitleFromCommandLine(nullptr); + return true; + } ++#endif + + } // namespace + + bool GpuProcessPreSandboxHook(sandbox::policy::SandboxLinux::Options options) { ++ NOTIMPLEMENTED(); ++#if !defined(OS_BSD) + sandbox::policy::SandboxLinux::GetInstance()->StartBrokerProcess( + CommandSetForGPU(options), FilePermissionsForGpu(options), + base::BindOnce(BrokerProcessPreSandboxHook), options); ++#endif + + if (!LoadLibrariesForGpu(options)) + return false; diff --git a/www/chromium/files/patch-content_ppapi__plugin_ppapi__blink__platform__impl.h b/www/chromium/files/patch-content_ppapi__plugin_ppapi__blink__platform__impl.h index 9f08c443149f..a42d82a79a8e 100644 --- a/www/chromium/files/patch-content_ppapi__plugin_ppapi__blink__platform__impl.h +++ b/www/chromium/files/patch-content_ppapi__plugin_ppapi__blink__platform__impl.h @@ -1,25 +1,25 @@ ---- content/ppapi_plugin/ppapi_blink_platform_impl.h.orig 2021-12-14 11:45:05 UTC +--- content/ppapi_plugin/ppapi_blink_platform_impl.h.orig 2022-02-07 13:39:41 UTC +++ content/ppapi_plugin/ppapi_blink_platform_impl.h -@@ -13,7 +13,7 @@ +@@ -12,7 +12,7 @@ #include "build/build_config.h" #include "content/child/blink_platform_impl.h" -#if defined(OS_LINUX) || defined(OS_CHROMEOS) +#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD) #include "components/services/font/public/cpp/font_loader.h" #include "third_party/skia/include/core/SkRefCnt.h" #endif -@@ -40,11 +40,11 @@ class PpapiBlinkPlatformImpl : public BlinkPlatformImp +@@ -39,11 +39,11 @@ class PpapiBlinkPlatformImpl : public BlinkPlatformImp blink::WebThemeEngine* ThemeEngine() override; private: -#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_MAC) +#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_MAC) || defined(OS_BSD) std::unique_ptr sandbox_support_; #endif -#if defined(OS_LINUX) || defined(OS_CHROMEOS) +#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD) sk_sp font_loader_; #endif }; diff --git a/www/chromium/files/patch-content_ppapi__plugin_ppapi__plugin__main.cc b/www/chromium/files/patch-content_ppapi__plugin_ppapi__plugin__main.cc index 1d3352e38e0d..beed530dae9a 100644 --- a/www/chromium/files/patch-content_ppapi__plugin_ppapi__plugin__main.cc +++ b/www/chromium/files/patch-content_ppapi__plugin_ppapi__plugin__main.cc @@ -1,23 +1,24 @@ ---- content/ppapi_plugin/ppapi_plugin_main.cc.orig 2021-12-31 00:57:32 UTC +--- content/ppapi_plugin/ppapi_plugin_main.cc.orig 2022-02-07 13:39:41 UTC +++ content/ppapi_plugin/ppapi_plugin_main.cc -@@ -50,6 +50,10 @@ - #include "sandbox/policy/linux/sandbox_linux.h" - #include "sandbox/policy/sandbox_type.h" +@@ -54,6 +54,12 @@ + #include "gin/v8_initializer.h" #endif -+#if defined(OS_FREEBSD) + ++#if defined(OS_OPENBSD) +#include "content/public/common/sandbox_init.h" -+#include "sandbox/policy/freebsd/sandbox_freebsd.h" ++#include "sandbox/policy/openbsd/sandbox_openbsd.h" ++#include "sandbox/policy/sandbox_type.h" +#endif ++ + #if defined(OS_POSIX) && !defined(OS_ANDROID) + #include + #endif +@@ -135,7 +141,7 @@ int PpapiPluginMain(MainFunctionParams parameters) { + gin::V8Initializer::LoadV8Snapshot(); + #endif - #ifdef V8_USE_EXTERNAL_STARTUP_DATA - #include "gin/v8_initializer.h" -@@ -141,6 +145,9 @@ int PpapiPluginMain(const MainFunctionParams& paramete +-#if defined(OS_LINUX) || defined(OS_CHROMEOS) ++#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_OPENBSD) + sandbox::policy::SandboxLinux::GetInstance()->InitializeSandbox( sandbox::policy::SandboxTypeFromCommandLine(command_line), sandbox::policy::SandboxLinux::PreSandboxHook(), - sandbox::policy::SandboxLinux::Options()); -+#elif defined(OS_FREEBSD) -+ sandbox::policy::SandboxFreeBSD::GetInstance()->InitializeSandbox( -+ sandbox::policy::SandboxTypeFromCommandLine(command_line)); - #endif - - ChildProcess ppapi_process; diff --git a/www/chromium/files/patch-content_public_app_content__main__delegate.cc b/www/chromium/files/patch-content_public_app_content__main__delegate.cc deleted file mode 100644 index 71bb4fc762c8..000000000000 --- a/www/chromium/files/patch-content_public_app_content__main__delegate.cc +++ /dev/null @@ -1,17 +0,0 @@ ---- content/public/app/content_main_delegate.cc.orig 2021-04-14 18:41:03 UTC -+++ content/public/app/content_main_delegate.cc -@@ -24,12 +24,12 @@ int ContentMainDelegate::RunProcess( - return -1; - } - --#if defined(OS_LINUX) || defined(OS_CHROMEOS) -+#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD) - - void ContentMainDelegate::ZygoteStarting( - std::vector>* delegates) {} - --#endif // defined(OS_LINUX) || defined(OS_CHROMEOS) -+#endif // defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD) - - int ContentMainDelegate::TerminateForFatalInitializationError() { - CHECK(false); diff --git a/www/chromium/files/patch-content_public_app_content__main__delegate.h b/www/chromium/files/patch-content_public_app_content__main__delegate.h deleted file mode 100644 index 04c4aef49366..000000000000 --- a/www/chromium/files/patch-content_public_app_content__main__delegate.h +++ /dev/null @@ -1,20 +0,0 @@ ---- content/public/app/content_main_delegate.h.orig 2021-09-14 01:51:56 UTC -+++ content/public/app/content_main_delegate.h -@@ -53,7 +53,7 @@ class CONTENT_EXPORT ContentMainDelegate { - // Called right before the process exits. - virtual void ProcessExiting(const std::string& process_type) {} - --#if defined(OS_LINUX) || defined(OS_CHROMEOS) -+#if defined(OS_LINUX) || defined(OS_CHROMEOS) || 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|. -@@ -62,7 +62,7 @@ class CONTENT_EXPORT ContentMainDelegate { - - // Called every time the zygote process forks. - virtual void ZygoteForked() {} --#endif // defined(OS_LINUX) || defined(OS_CHROMEOS) -+#endif // defined(OS_LINUX) || defined(OS_CHROMEOS) || 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/chromium/files/patch-content_public_browser_font__access__context.h b/www/chromium/files/patch-content_public_browser_font__access__context.h index e79ddde041ef..994a0092a2d0 100644 --- a/www/chromium/files/patch-content_public_browser_font__access__context.h +++ b/www/chromium/files/patch-content_public_browser_font__access__context.h @@ -1,11 +1,11 @@ ---- content/public/browser/font_access_context.h.orig 2021-04-14 18:41:03 UTC +--- content/public/browser/font_access_context.h.orig 2022-02-07 13:39:41 UTC +++ content/public/browser/font_access_context.h -@@ -10,7 +10,7 @@ - #include "content/common/content_export.h" +@@ -11,7 +11,7 @@ #include "third_party/blink/public/mojom/font_access/font_access.mojom.h" --#if defined(OS_WIN) || defined(OS_LINUX) || defined(OS_CHROMEOS) || \ -+#if defined(OS_WIN) || defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD) || \ - defined(OS_MAC) + #if defined(OS_WIN) || defined(OS_LINUX) || defined(OS_CHROMEOS) || \ +- defined(OS_MAC) || defined(OS_FUCHSIA) ++ defined(OS_MAC) || defined(OS_FUCHSIA) || defined(OS_BSD) #define PLATFORM_HAS_LOCAL_FONT_ENUMERATION_IMPL 1 #endif + diff --git a/www/chromium/files/patch-content_public_common_child__process__host.h b/www/chromium/files/patch-content_public_common_child__process__host.h deleted file mode 100644 index 558a38e812d7..000000000000 --- a/www/chromium/files/patch-content_public_common_child__process__host.h +++ /dev/null @@ -1,11 +0,0 @@ ---- content/public/common/child_process_host.h.orig 2021-04-14 18:41:03 UTC -+++ content/public/common/child_process_host.h -@@ -81,7 +81,7 @@ class CONTENT_EXPORT ChildProcessHost : public IPC::Se - // No special behavior requested. - CHILD_NORMAL = 0, - --#if defined(OS_LINUX) || defined(OS_CHROMEOS) -+#if defined(OS_LINUX) || defined(OS_CHROMEOS) || 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/chromium/files/patch-content_public_common_common__param__traits__macros.h b/www/chromium/files/patch-content_public_common_common__param__traits__macros.h index 6f9be9826016..4a3b12361bdc 100644 --- a/www/chromium/files/patch-content_public_common_common__param__traits__macros.h +++ b/www/chromium/files/patch-content_public_common_common__param__traits__macros.h @@ -1,11 +1,11 @@ ---- content/public/common/common_param_traits_macros.h.orig 2021-09-14 01:51:57 UTC +--- content/public/common/common_param_traits_macros.h.orig 2022-02-07 13:39:41 UTC +++ content/public/common/common_param_traits_macros.h -@@ -122,7 +122,7 @@ IPC_STRUCT_TRAITS_BEGIN(blink::RendererPreferences) +@@ -127,7 +127,7 @@ IPC_STRUCT_TRAITS_BEGIN(blink::RendererPreferences) IPC_STRUCT_TRAITS_MEMBER(accept_languages) IPC_STRUCT_TRAITS_MEMBER(plugin_fullscreen_allowed) IPC_STRUCT_TRAITS_MEMBER(caret_browsing_enabled) -#if defined(OS_LINUX) || defined(OS_CHROMEOS) +#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD) IPC_STRUCT_TRAITS_MEMBER(system_font_family_name) #endif #if defined(OS_WIN) diff --git a/www/chromium/files/patch-content_public_common_content__constants.cc b/www/chromium/files/patch-content_public_common_content__constants.cc deleted file mode 100644 index c5c4202b74b8..000000000000 --- a/www/chromium/files/patch-content_public_common_content__constants.cc +++ /dev/null @@ -1,11 +0,0 @@ ---- content/public/common/content_constants.cc.orig 2021-12-31 00:57:32 UTC -+++ content/public/common/content_constants.cc -@@ -48,7 +48,7 @@ std::string GetCorsExemptRequestedWithHeaderName() { - return base::JoinString(pieces, "-"); - } - --#if defined(OS_LINUX) || defined(OS_CHROMEOS) -+#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD) - const int kLowestRendererOomScore = 300; - const int kHighestRendererOomScore = 1000; - diff --git a/www/chromium/files/patch-content_public_common_content__constants.h b/www/chromium/files/patch-content_public_common_content__constants.h deleted file mode 100644 index 103f553816f6..000000000000 --- a/www/chromium/files/patch-content_public_common_content__constants.h +++ /dev/null @@ -1,11 +0,0 @@ ---- content/public/common/content_constants.h.orig 2021-12-31 00:57:32 UTC -+++ content/public/common/content_constants.h -@@ -59,7 +59,7 @@ CONTENT_EXPORT extern const char kCorsExemptPurposeHea - // it at run time. - CONTENT_EXPORT std::string GetCorsExemptRequestedWithHeaderName(); - --#if defined(OS_LINUX) || defined(OS_CHROMEOS) -+#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD) - // The OOM score adj constants - // The highest and lowest assigned OOM score adjustment (oom_score_adj) for - // renderers and extensions used by the OomPriority Manager. diff --git a/www/chromium/files/patch-content_public_common_content__features.cc b/www/chromium/files/patch-content_public_common_content__features.cc index 45abe10ce3a8..b79ae14e5a3a 100644 --- a/www/chromium/files/patch-content_public_common_content__features.cc +++ b/www/chromium/files/patch-content_public_common_content__features.cc @@ -1,49 +1,68 @@ ---- content/public/common/content_features.cc.orig 2022-01-20 10:35:57 UTC +--- content/public/common/content_features.cc.orig 2022-02-07 13:39:41 UTC +++ content/public/common/content_features.cc -@@ -51,7 +51,7 @@ const base::Feature kAudioServiceOutOfProcess { +@@ -50,7 +50,7 @@ const base::Feature kAudioServiceOutOfProcess { + "AudioServiceOutOfProcess", // TODO(crbug.com/1052397): Remove !IS_CHROMEOS_LACROS once lacros starts being // built with OS_CHROMEOS instead of OS_LINUX. - #if defined(OS_WIN) || defined(OS_MAC) || \ -- (defined(OS_LINUX) && !BUILDFLAG(IS_CHROMEOS_LACROS)) -+ (defined(OS_LINUX) && !BUILDFLAG(IS_CHROMEOS_LACROS)) || defined(OS_BSD) +-#if defined(OS_WIN) || defined(OS_MAC) || \ ++#if defined(OS_WIN) || defined(OS_MAC) || defined(OS_BSD) || \ + (defined(OS_LINUX) && !BUILDFLAG(IS_CHROMEOS_LACROS)) + base::FEATURE_ENABLED_BY_DEFAULT + #else +@@ -62,7 +62,7 @@ const base::Feature kAudioServiceOutOfProcess { + // kAudioServiceOutOfProcess feature is enabled. + const base::Feature kAudioServiceSandbox { + "AudioServiceSandbox", +-#if defined(OS_WIN) || defined(OS_MAC) || defined(OS_FUCHSIA) ++#if defined(OS_WIN) || defined(OS_MAC) || defined(OS_FUCHSIA) || defined(OS_BSD) base::FEATURE_ENABLED_BY_DEFAULT #else base::FEATURE_DISABLED_BY_DEFAULT -@@ -934,13 +934,13 @@ const base::Feature kWebAssemblyBaseline{"WebAssemblyB +@@ -973,7 +973,7 @@ const base::Feature kWebAssemblyBaseline{"WebAssemblyB const base::Feature kWebAssemblyCodeProtection{ "WebAssemblyCodeProtection", base::FEATURE_DISABLED_BY_DEFAULT}; -#if (defined(OS_LINUX) || defined(OS_CHROMEOS)) && defined(ARCH_CPU_X86_64) +#if (defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD)) && defined(ARCH_CPU_X86_64) // Use memory protection keys in userspace (PKU) (if available) to protect code // JITed for WebAssembly. Fall back to traditional memory protection if // WebAssemblyCodeProtection is also enabled. - const base::Feature kWebAssemblyCodeProtectionPku{ - "WebAssemblyCodeProtectionPku", base::FEATURE_DISABLED_BY_DEFAULT}; --#endif // (defined(OS_LINUX) || defined(OS_CHROMEOS)) && -+#endif // (defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD)) && - // defined(ARCH_CPU_X86_64) - - // Enable WebAssembly lazy compilation (JIT on first call). -@@ -959,9 +959,9 @@ const base::Feature kWebAssemblyTiering{"WebAssemblyTi - // Enable WebAssembly trap handler. +@@ -1003,7 +1003,7 @@ const base::Feature kWebAssemblyTiering{"WebAssemblyTi const base::Feature kWebAssemblyTrapHandler { "WebAssemblyTrapHandler", --#if ((defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_WIN) || \ + #if ((defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_WIN) || \ - defined(OS_MAC)) && \ -- defined(ARCH_CPU_X86_64)) || \ -+#if ((defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_WIN) || defined(OS_BSD) || \ -+ defined(OS_MAC)) && \ -+ defined(ARCH_CPU_X86_64)) || \ ++ defined(OS_MAC) || defined(OS_BSD)) && \ + defined(ARCH_CPU_X86_64)) || \ (defined(OS_MAC) && defined(ARCH_CPU_ARM64)) base::FEATURE_ENABLED_BY_DEFAULT - #else -@@ -987,7 +987,7 @@ const base::Feature kWebAuthCable { +@@ -1025,7 +1025,7 @@ const base::Feature kWebAuthCable { // TODO(crbug.com/1052397): Revisit the macro expression once build flag switch // of lacros-chrome is complete. // If updating this, also update kWebAuthCableServerLink. -#if BUILDFLAG(IS_CHROMEOS_LACROS) || defined(OS_LINUX) +#if BUILDFLAG(IS_CHROMEOS_LACROS) || defined(OS_LINUX) || defined(OS_BSD) base::FEATURE_DISABLED_BY_DEFAULT #else base::FEATURE_ENABLED_BY_DEFAULT +@@ -1093,7 +1093,11 @@ const base::Feature kWebUIReportOnlyTrustedTypes{ + + // Controls whether the WebUSB API is enabled: + // https://wicg.github.io/webusb ++#if defined(OS_BSD) ++const base::Feature kWebUsb{"WebUSB", base::FEATURE_DISABLED_BY_DEFAULT}; ++#else + const base::Feature kWebUsb{"WebUSB", base::FEATURE_ENABLED_BY_DEFAULT}; ++#endif + + // Controls whether the WebXR Device API is enabled. + const base::Feature kWebXr{"WebXR", base::FEATURE_ENABLED_BY_DEFAULT}; +@@ -1193,7 +1197,7 @@ const base::Feature kRetryGetVideoCaptureDeviceInfos{ + + #endif // defined(OS_MAC) + +-#if defined(OS_LINUX) || defined(OS_CHROMEOS) ++#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD) + // If the JavaScript on a WebUI page has an error (such as an unhandled + // exception), report that error back the crash reporting infrastructure, same + // as we do for program crashes. diff --git a/www/chromium/files/patch-content_public_common_content__features.h b/www/chromium/files/patch-content_public_common_content__features.h index 739bbe0a37cf..cd1ccfb881c4 100644 --- a/www/chromium/files/patch-content_public_common_content__features.h +++ b/www/chromium/files/patch-content_public_common_content__features.h @@ -1,14 +1,20 @@ ---- content/public/common/content_features.h.orig 2022-01-20 10:35:57 UTC +--- content/public/common/content_features.h.orig 2022-02-07 13:39:41 UTC +++ content/public/common/content_features.h -@@ -240,9 +240,9 @@ CONTENT_EXPORT extern const base::Feature +@@ -248,7 +248,7 @@ CONTENT_EXPORT extern const base::Feature CONTENT_EXPORT extern const base::Feature kWebAppWindowControlsOverlay; CONTENT_EXPORT extern const base::Feature kWebAssemblyBaseline; CONTENT_EXPORT extern const base::Feature kWebAssemblyCodeProtection; -#if (defined(OS_LINUX) || defined(OS_CHROMEOS)) && defined(ARCH_CPU_X86_64) +#if (defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD)) && defined(ARCH_CPU_X86_64) CONTENT_EXPORT extern const base::Feature kWebAssemblyCodeProtectionPku; --#endif // (defined(OS_LINUX) || defined(OS_CHROMEOS)) && -+#endif // (defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD)) && + #endif // (defined(OS_LINUX) || defined(OS_CHROMEOS)) && // defined(ARCH_CPU_X86_64) - CONTENT_EXPORT extern const base::Feature kWebAssemblyLazyCompilation; - CONTENT_EXPORT extern const base::Feature kWebAssemblySimd; +@@ -306,7 +306,7 @@ CONTENT_EXPORT extern const base::Feature kMacSyscallS + CONTENT_EXPORT extern const base::Feature kRetryGetVideoCaptureDeviceInfos; + #endif // defined(OS_MAC) + +-#if defined(OS_LINUX) || defined(OS_CHROMEOS) ++#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD) + CONTENT_EXPORT extern const base::Feature kSendWebUIJavaScriptErrorReports; + CONTENT_EXPORT extern const char + kSendWebUIJavaScriptErrorReportsSendToProductionVariation[]; diff --git a/www/chromium/files/patch-content_public_common_content__switches.cc b/www/chromium/files/patch-content_public_common_content__switches.cc index b5336e7b85a1..16b231ce8840 100644 --- a/www/chromium/files/patch-content_public_common_content__switches.cc +++ b/www/chromium/files/patch-content_public_common_content__switches.cc @@ -1,11 +1,20 @@ ---- content/public/common/content_switches.cc.orig 2021-12-31 00:57:32 UTC +--- content/public/common/content_switches.cc.orig 2022-02-07 13:39:41 UTC +++ content/public/common/content_switches.cc -@@ -1000,7 +1000,7 @@ const char kEnableAutomation[] = "enable-automation"; +@@ -386,6 +386,8 @@ const char kEnableGpuMemoryBufferVideoFrames[] = + // builds. + const char kEnableLogging[] = "enable-logging"; + ++const char kDisableUnveil[] = "disable-unveil"; ++ + // Enables the type, downlinkMax attributes of the NetInfo API. Also, enables + // triggering of change attribute of the NetInfo API when there is a change in + // the connection type. +@@ -1006,7 +1008,7 @@ const char kEnableAutomation[] = "enable-automation"; // TODO(crbug.com/1052397): Revisit the macro expression once build flag switch // of lacros-chrome is complete. -#if defined(OS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS) +#if defined(OS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS) || defined(OS_BSD) // 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/chromium/files/patch-content_public_common_content__switches.h b/www/chromium/files/patch-content_public_common_content__switches.h index f85227cb3263..cd68ba47f34b 100644 --- a/www/chromium/files/patch-content_public_common_content__switches.h +++ b/www/chromium/files/patch-content_public_common_content__switches.h @@ -1,11 +1,19 @@ ---- content/public/common/content_switches.h.orig 2021-12-31 00:57:32 UTC +--- content/public/common/content_switches.h.orig 2022-02-07 13:39:41 UTC +++ content/public/common/content_switches.h -@@ -274,7 +274,7 @@ CONTENT_EXPORT extern const char kRendererWaitForJavaD +@@ -114,6 +114,7 @@ CONTENT_EXPORT extern const char kEnableBlinkTestFeatu + CONTENT_EXPORT extern const char kEnableGpuMemoryBufferVideoFrames[]; + CONTENT_EXPORT extern const char kEnableLCDText[]; + CONTENT_EXPORT extern const char kEnableLogging[]; ++CONTENT_EXPORT extern const char kDisableUnveil[]; + CONTENT_EXPORT extern const char kEnableNetworkInformationDownlinkMax[]; + CONTENT_EXPORT extern const char kEnableCanvas2DLayers[]; + CONTENT_EXPORT extern const char kEnableCanvasContextLostInBackground[]; +@@ -276,7 +277,7 @@ CONTENT_EXPORT extern const char kRendererWaitForJavaD // TODO(crbug.com/1052397): Revisit the macro expression once build flag switch // of lacros-chrome is complete. -#if defined(OS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS) +#if defined(OS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS) || defined(OS_BSD) CONTENT_EXPORT extern const char kEnableSpeechDispatcher[]; #endif diff --git a/www/chromium/files/patch-content_public_common_use__zoom__for__dsf__policy.cc b/www/chromium/files/patch-content_public_common_use__zoom__for__dsf__policy.cc index e0d2156d885f..c034ab5b60c9 100644 --- a/www/chromium/files/patch-content_public_common_use__zoom__for__dsf__policy.cc +++ b/www/chromium/files/patch-content_public_common_use__zoom__for__dsf__policy.cc @@ -1,11 +1,11 @@ ---- content/public/common/use_zoom_for_dsf_policy.cc.orig 2021-04-14 18:41:03 UTC +--- content/public/common/use_zoom_for_dsf_policy.cc.orig 2022-02-07 13:39:41 UTC +++ content/public/common/use_zoom_for_dsf_policy.cc -@@ -25,7 +25,7 @@ const base::Feature kUseZoomForDsfEnabledByDefault{ - #endif +@@ -26,7 +26,7 @@ const base::Feature kUseZoomForDsfEnabledByDefault{ bool IsUseZoomForDSFEnabledByDefault() { --#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_FUCHSIA) -+#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_FUCHSIA) || defined(OS_BSD) + #if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_FUCHSIA) || \ +- defined(OS_MAC) ++ defined(OS_MAC) || defined(OS_BSD) return true; #elif defined(OS_WIN) || defined(OS_ANDROID) return base::FeatureList::IsEnabled(kUseZoomForDsfEnabledByDefault); diff --git a/www/chromium/files/patch-content_public_test_browser__test__base.cc b/www/chromium/files/patch-content_public_test_browser__test__base.cc deleted file mode 100644 index 2a4a6e16d5f9..000000000000 --- a/www/chromium/files/patch-content_public_test_browser__test__base.cc +++ /dev/null @@ -1,13 +0,0 @@ ---- content/public/test/browser_test_base.cc.orig 2021-12-14 11:45:05 UTC -+++ content/public/test/browser_test_base.cc -@@ -110,6 +110,10 @@ - #include "ui/views/test/event_generator_delegate_mac.h" - #endif - -+#if defined(OS_FREEBSD) -+#include -+#endif -+ - #if defined(OS_POSIX) - #include "base/process/process_handle.h" - #endif diff --git a/www/chromium/files/patch-content_public_test_content__browser__test.cc b/www/chromium/files/patch-content_public_test_content__browser__test.cc deleted file mode 100644 index 9d4d81709a75..000000000000 --- a/www/chromium/files/patch-content_public_test_content__browser__test.cc +++ /dev/null @@ -1,29 +0,0 @@ ---- content/public/test/content_browser_test.cc.orig 2021-09-14 01:51:57 UTC -+++ content/public/test/content_browser_test.cc -@@ -30,7 +30,7 @@ - - // TODO(crbug.com/1052397): Revisit the macro expression once build flag switch - // of lacros-chrome is complete. --#if BUILDFLAG(IS_CHROMEOS_LACROS) || defined(OS_LINUX) -+#if BUILDFLAG(IS_CHROMEOS_LACROS) || defined(OS_LINUX) || defined(OS_BSD) - #include "ui/base/ime/init/input_method_initializer.h" - #endif - -@@ -93,7 +93,7 @@ void ContentBrowserTest::SetUp() { - // LinuxInputMethodContextFactory has to be initialized. - // TODO(crbug.com/1052397): Revisit the macro expression once build flag switch - // of lacros-chrome is complete. --#if BUILDFLAG(IS_CHROMEOS_LACROS) || defined(OS_LINUX) -+#if BUILDFLAG(IS_CHROMEOS_LACROS) || defined(OS_LINUX) || defined(OS_BSD) - ui::InitializeInputMethodForTesting(); - #endif - -@@ -108,7 +108,7 @@ void ContentBrowserTest::TearDown() { - // LinuxInputMethodContextFactory has to be shutdown. - // TODO(crbug.com/1052397): Revisit the macro expression once build flag switch - // of lacros-chrome is complete. --#if BUILDFLAG(IS_CHROMEOS_LACROS) || defined(OS_LINUX) -+#if BUILDFLAG(IS_CHROMEOS_LACROS) || defined(OS_LINUX) || defined(OS_BSD) - ui::ShutdownInputMethodForTesting(); - #endif - } diff --git a/www/chromium/files/patch-content_public_test_mock__render__thread.cc b/www/chromium/files/patch-content_public_test_mock__render__thread.cc deleted file mode 100644 index a65ed7e9bc8f..000000000000 --- a/www/chromium/files/patch-content_public_test_mock__render__thread.cc +++ /dev/null @@ -1,11 +0,0 @@ ---- content/public/test/mock_render_thread.cc.orig 2021-12-14 11:45:05 UTC -+++ content/public/test/mock_render_thread.cc -@@ -63,7 +63,7 @@ class MockRenderMessageFilterImpl : public mojom::Rend - std::move(callback).Run(false); - } - --#if defined(OS_LINUX) || defined(OS_CHROMEOS) -+#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD) - void SetThreadPriority(int32_t platform_thread_id, - base::ThreadPriority thread_priority) override {} - #endif diff --git a/www/chromium/files/patch-content_renderer_render__process__impl.cc b/www/chromium/files/patch-content_renderer_render__process__impl.cc index af43ed70249d..37cc726442ff 100644 --- a/www/chromium/files/patch-content_renderer_render__process__impl.cc +++ b/www/chromium/files/patch-content_renderer_render__process__impl.cc @@ -1,35 +1,29 @@ ---- content/renderer/render_process_impl.cc.orig 2021-12-31 00:57:32 UTC +--- content/renderer/render_process_impl.cc.orig 2022-02-07 13:39:41 UTC +++ content/renderer/render_process_impl.cc @@ -47,7 +47,7 @@ #if defined(OS_WIN) #include "base/win/win_util.h" #endif -#if (defined(OS_LINUX) || defined(OS_CHROMEOS)) && defined(ARCH_CPU_X86_64) +#if (defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD)) && defined(ARCH_CPU_X86_64) #include "v8/include/v8-wasm-trap-handler-posix.h" #endif -@@ -146,12 +146,12 @@ RenderProcessImpl::RenderProcessImpl() +@@ -146,7 +146,7 @@ RenderProcessImpl::RenderProcessImpl() SetV8FlagIfNotFeature(features::kWebAssemblyCodeProtection, "--no-wasm-write-protect-code-memory"); -#if (defined(OS_LINUX) || defined(OS_CHROMEOS)) && defined(ARCH_CPU_X86_64) +#if (defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD)) && defined(ARCH_CPU_X86_64) SetV8FlagIfFeature(features::kWebAssemblyCodeProtectionPku, "--wasm-memory-protection-keys"); SetV8FlagIfNotFeature(features::kWebAssemblyCodeProtectionPku, - "--no-wasm-memory-protection-keys"); --#endif // (defined(OS_LINUX) || defined(OS_CHROMEOS)) && -+#endif // (defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD)) && - // defined(ARCH_CPU_X86_64) - - SetV8FlagIfFeature(features::kWebAssemblyLazyCompilation, @@ -240,7 +240,7 @@ RenderProcessImpl::RenderProcessImpl() - SetV8FlagIfFeature(features::kWebAssemblyTiering, "--wasm-tier-up"); - SetV8FlagIfNotFeature(features::kWebAssemblyTiering, "--no-wasm-tier-up"); + SetV8FlagIfFeature(features::kWebAssemblyDynamicTiering, + "--wasm-dynamic-tiering"); -#if (defined(OS_LINUX) || defined(OS_CHROMEOS)) && defined(ARCH_CPU_X86_64) +#if (defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD)) && defined(ARCH_CPU_X86_64) if (base::FeatureList::IsEnabled(features::kWebAssemblyTrapHandler)) { if (command_line->HasSwitch(switches::kEnableCrashpad) || command_line->HasSwitch(switches::kEnableCrashReporter) || diff --git a/www/chromium/files/patch-content_renderer_render__thread__impl.cc b/www/chromium/files/patch-content_renderer_render__thread__impl.cc index 2a910a4c5866..6f28be87f7a0 100644 --- a/www/chromium/files/patch-content_renderer_render__thread__impl.cc +++ b/www/chromium/files/patch-content_renderer_render__thread__impl.cc @@ -1,65 +1,47 @@ ---- content/renderer/render_thread_impl.cc.orig 2022-01-20 10:35:57 UTC +--- content/renderer/render_thread_impl.cc.orig 2022-02-07 13:39:41 UTC +++ content/renderer/render_thread_impl.cc -@@ -190,7 +190,7 @@ +@@ -188,7 +188,7 @@ #if defined(OS_MAC) #include -#else -+#elif !defined(OS_BSD) ++#elif !defined(OS_OPENBSD) #include #endif -@@ -723,7 +723,7 @@ void RenderThreadImpl::Init() { - compositor_thread_pipeline_.get())); - } +@@ -701,7 +701,7 @@ void RenderThreadImpl::Init() { + DCHECK(parsed_num_raster_threads) << string_value; + DCHECK_GT(num_raster_threads, 0); -#if defined(OS_LINUX) || defined(OS_CHROMEOS) +#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD) categorized_worker_pool_->SetBackgroundingCallback( main_thread_scheduler_->DefaultTaskRunner(), base::BindOnce( -@@ -746,7 +746,7 @@ void RenderThreadImpl::Init() { +@@ -724,7 +724,7 @@ void RenderThreadImpl::Init() { base::DiscardableMemoryAllocator::SetInstance( discardable_memory_allocator_.get()); -#if defined(OS_LINUX) || defined(OS_CHROMEOS) +#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD) if (base::FeatureList::IsEnabled( blink::features::kBlinkCompositorUseDisplayThreadPriority)) { render_message_filter()->SetThreadPriority( -@@ -1077,22 +1077,22 @@ media::GpuVideoAcceleratorFactories* RenderThreadImpl: +@@ -1057,7 +1057,7 @@ media::GpuVideoAcceleratorFactories* RenderThreadImpl: const bool enable_video_decode_accelerator = -#if defined(OS_LINUX) +#if defined(OS_LINUX) || defined(OS_BSD) base::FeatureList::IsEnabled(media::kVaapiVideoDecodeLinux) && #else !cmd_line->HasSwitch(switches::kDisableAcceleratedVideoDecode) && --#endif // defined(OS_LINUX) -+#endif // defined(OS_LINUX) || defined(OS_BSD) - (gpu_channel_host->gpu_feature_info() - .status_values[gpu::GPU_FEATURE_TYPE_ACCELERATED_VIDEO_DECODE] == - gpu::kGpuFeatureStatusEnabled); +@@ -1068,7 +1068,7 @@ media::GpuVideoAcceleratorFactories* RenderThreadImpl: const bool enable_video_encode_accelerator = -#if defined(OS_LINUX) +#if defined(OS_LINUX) || defined(OS_BSD) base::FeatureList::IsEnabled(media::kVaapiVideoEncodeLinux) && #else !cmd_line->HasSwitch(switches::kDisableAcceleratedVideoEncode) && --#endif // defined(OS_LINUX) -+#endif // defined(OS_LINUX) || defined(OS_BSD) - (gpu_channel_host->gpu_feature_info() - .status_values[gpu::GPU_FEATURE_TYPE_ACCELERATED_VIDEO_ENCODE] == - gpu::kGpuFeatureStatusEnabled); -@@ -1105,7 +1105,7 @@ media::GpuVideoAcceleratorFactories* RenderThreadImpl: - !cmd_line->HasSwitch(switches::kDisableGpuMemoryBufferVideoFrames); - #else - cmd_line->HasSwitch(switches::kEnableGpuMemoryBufferVideoFrames); --#endif // defined(OS_MAC) || defined(OS_LINUX) || defined(OS_CHROMEOS) || -+#endif // defined(OS_MAC) || defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD) - // defined(OS_WIN) - const bool enable_media_stream_gpu_memory_buffers = - enable_gpu_memory_buffers && diff --git a/www/chromium/files/patch-content_renderer_renderer__blink__platform__impl.cc b/www/chromium/files/patch-content_renderer_renderer__blink__platform__impl.cc index 0dd013d335f5..33c8fc748011 100644 --- a/www/chromium/files/patch-content_renderer_renderer__blink__platform__impl.cc +++ b/www/chromium/files/patch-content_renderer_renderer__blink__platform__impl.cc @@ -1,47 +1,48 @@ ---- content/renderer/renderer_blink_platform_impl.cc.orig 2021-12-31 00:57:32 UTC +--- content/renderer/renderer_blink_platform_impl.cc.orig 2022-02-07 13:39:41 UTC +++ content/renderer/renderer_blink_platform_impl.cc @@ -108,7 +108,7 @@ #if defined(OS_MAC) #include "content/child/child_process_sandbox_support_impl_mac.h" -#elif defined(OS_LINUX) || defined(OS_CHROMEOS) +#elif defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD) #include "content/child/child_process_sandbox_support_impl_linux.h" #endif @@ -177,7 +177,7 @@ RendererBlinkPlatformImpl::RendererBlinkPlatformImpl( main_thread_scheduler_(main_thread_scheduler) { // RenderThread may not exist in some tests. if (RenderThreadImpl::current()) { -#if defined(OS_LINUX) || defined(OS_CHROMEOS) +#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD) mojo::PendingRemote font_service; RenderThreadImpl::current()->BindHostReceiver( font_service.InitWithNewPipeAndPassReceiver()); @@ -187,7 +187,7 @@ RendererBlinkPlatformImpl::RendererBlinkPlatformImpl( #endif } -#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_MAC) +#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_MAC) || defined(OS_BSD) if (sandboxEnabled()) { #if defined(OS_MAC) sandbox_support_ = std::make_unique(); -@@ -261,7 +261,7 @@ RendererBlinkPlatformImpl::WrapSharedURLLoaderFactory( +@@ -261,7 +261,8 @@ RendererBlinkPlatformImpl::WrapSharedURLLoaderFactory( /*terminate_sync_load_event=*/nullptr); } -#if defined(OS_LINUX) || defined(OS_CHROMEOS) -+#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD) ++// pledge ++#if (defined(OS_LINUX) || defined(OS_CHROMEOS)) && !defined(OS_BSD) void RendererBlinkPlatformImpl::SetDisplayThreadPriority( base::PlatformThreadId thread_id) { if (RenderThreadImpl* render_thread = RenderThreadImpl::current()) { -@@ -276,7 +276,7 @@ blink::BlameContext* RendererBlinkPlatformImpl::GetTop +@@ -276,7 +277,7 @@ blink::BlameContext* RendererBlinkPlatformImpl::GetTop } blink::WebSandboxSupport* RendererBlinkPlatformImpl::GetSandboxSupport() { -#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_MAC) +#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_MAC) || defined(OS_BSD) return sandbox_support_.get(); #else // These platforms do not require sandbox support. diff --git a/www/chromium/files/patch-content_renderer_renderer__blink__platform__impl.h b/www/chromium/files/patch-content_renderer_renderer__blink__platform__impl.h index f370847f0dd0..ad10482ead1d 100644 --- a/www/chromium/files/patch-content_renderer_renderer__blink__platform__impl.h +++ b/www/chromium/files/patch-content_renderer_renderer__blink__platform__impl.h @@ -1,38 +1,29 @@ ---- content/renderer/renderer_blink_platform_impl.h.orig 2021-12-31 00:57:32 UTC +--- content/renderer/renderer_blink_platform_impl.h.orig 2022-02-07 13:39:41 UTC +++ content/renderer/renderer_blink_platform_impl.h -@@ -31,7 +31,7 @@ +@@ -29,7 +29,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) || defined(OS_CHROMEOS) +#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD) #include "components/services/font/public/cpp/font_loader.h" // nogncheck #include "third_party/skia/include/core/SkRefCnt.h" // nogncheck #endif -@@ -200,7 +200,7 @@ class CONTENT_EXPORT RendererBlinkPlatformImpl : publi - const blink::WebURL& top_document_web_url) override; - gpu::GpuMemoryBufferManager* GetGpuMemoryBufferManager() override; - blink::WebString ConvertIDNToUnicode(const blink::WebString& host) override; --#if defined(OS_LINUX) || defined(OS_CHROMEOS) -+#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD) - void SetDisplayThreadPriority(base::PlatformThreadId thread_id) override; - #endif - blink::BlameContext* GetTopLevelBlameContext() override; -@@ -277,7 +277,7 @@ class CONTENT_EXPORT RendererBlinkPlatformImpl : publi +@@ -274,7 +274,7 @@ class CONTENT_EXPORT RendererBlinkPlatformImpl : publi void Collect3DContextInformation(blink::Platform::GraphicsInfo* gl_info, const gpu::GPUInfo& gpu_info) const; -#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_MAC) +#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_MAC) || defined(OS_BSD) std::unique_ptr sandbox_support_; #endif -@@ -301,7 +301,7 @@ class CONTENT_EXPORT RendererBlinkPlatformImpl : publi +@@ -298,7 +298,7 @@ class CONTENT_EXPORT RendererBlinkPlatformImpl : publi mojo::SharedRemote code_cache_host_ GUARDED_BY(code_cache_host_lock_); -#if defined(OS_LINUX) || defined(OS_CHROMEOS) +#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD) sk_sp font_loader_; #endif diff --git a/www/chromium/files/patch-content_renderer_renderer__main__platform__delegate__linux.cc b/www/chromium/files/patch-content_renderer_renderer__main__platform__delegate__linux.cc index 4ae89c96030a..67135dd09692 100644 --- a/www/chromium/files/patch-content_renderer_renderer__main__platform__delegate__linux.cc +++ b/www/chromium/files/patch-content_renderer_renderer__main__platform__delegate__linux.cc @@ -1,23 +1,18 @@ ---- content/renderer/renderer_main_platform_delegate_linux.cc.orig 2021-12-31 00:57:32 UTC +--- content/renderer/renderer_main_platform_delegate_linux.cc.orig 2022-02-07 13:39:41 UTC +++ content/renderer/renderer_main_platform_delegate_linux.cc -@@ -31,6 +31,11 @@ void RendererMainPlatformDelegate::PlatformUninitializ - } - - bool RendererMainPlatformDelegate::EnableSandbox() { -+#if defined(OS_FREEBSD) -+ sandbox::policy::Sandbox::Initialize( -+ sandbox::policy::SandboxTypeFromCommandLine( -+ *base::CommandLine::ForCurrentProcess())); -+#else - // The setuid sandbox is started in the zygote process: zygote_main_linux.cc - // https://chromium.googlesource.com/chromium/src/+/main/docs/linux/suid_sandbox.md - // -@@ -66,7 +71,7 @@ bool RendererMainPlatformDelegate::EnableSandbox() { +@@ -45,6 +45,7 @@ bool RendererMainPlatformDelegate::EnableSandbox() { + // any renderer has been started. + // Here, we test that the status of SeccompBpf in the renderer is consistent + // with what SandboxLinux::GetStatus() said we would do. ++#if !defined(OS_BSD) + auto* linux_sandbox = sandbox::policy::SandboxLinux::GetInstance(); + if (linux_sandbox->GetStatus() & sandbox::policy::SandboxLinux::kSeccompBPF) { + CHECK(linux_sandbox->seccomp_bpf_started()); +@@ -66,6 +67,7 @@ bool RendererMainPlatformDelegate::EnableSandbox() { CHECK_EQ(errno, EPERM); } #endif // __x86_64__ -- -+#endif // OS_FREEBSD ++#endif + return true; } - diff --git a/www/chromium/files/patch-content_shell_BUILD.gn b/www/chromium/files/patch-content_shell_BUILD.gn index e227b01975b5..fc8ffc6a2b73 100644 --- a/www/chromium/files/patch-content_shell_BUILD.gn +++ b/www/chromium/files/patch-content_shell_BUILD.gn @@ -1,47 +1,11 @@ ---- content/shell/BUILD.gn.orig 2021-12-31 00:57:33 UTC +--- content/shell/BUILD.gn.orig 2022-02-07 13:39:41 UTC +++ content/shell/BUILD.gn -@@ -90,7 +90,7 @@ static_library("content_shell_app") { - "//content/web_test:web_test_renderer", - ] - } -- if (!is_fuchsia) { -+ if (!is_fuchsia && !is_bsd) { - deps += [ - "//components/crash/core/app", - "//components/crash/core/app:test_support", -@@ -277,7 +277,7 @@ static_library("content_shell_lib") { - - if (is_fuchsia) { - deps += [ "//third_party/fuchsia-sdk/sdk/fidl/fuchsia.ui.policy" ] -- } else { -+ } else if (!is_bsd) { - deps += [ - "//components/crash/content/browser", - "//components/crash/core/app", -@@ -540,7 +540,7 @@ if (is_android) { - if (is_win) { - data_deps += - [ "//third_party/crashpad/crashpad/handler:crashpad_handler" ] -- } else if (is_linux || is_chromeos) { -+ } else if ((is_linux || is_chromeos) && !is_bsd) { - data_deps += [ "//components/crash/core/app:chrome_crashpad_handler" ] - } - -@@ -848,7 +848,7 @@ group("content_shell_crash_test") { - mac_bin_path + "otool-classic", - ] - } -- if (is_posix) { -+ if (is_posix && !is_bsd) { - data += [ - "//components/crash/content/tools/generate_breakpad_symbols.py", - "//components/crash/content/tools/dmp2minidump.py", -@@ -857,7 +857,7 @@ group("content_shell_crash_test") { +@@ -869,7 +869,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/chromium/files/patch-content_shell_app_shell__main__delegate.cc b/www/chromium/files/patch-content_shell_app_shell__main__delegate.cc index a5bc977f9f4c..3081382eea42 100644 --- a/www/chromium/files/patch-content_shell_app_shell__main__delegate.cc +++ b/www/chromium/files/patch-content_shell_app_shell__main__delegate.cc @@ -1,29 +1,11 @@ ---- content/shell/app/shell_main_delegate.cc.orig 2021-09-14 01:51:57 UTC +--- content/shell/app/shell_main_delegate.cc.orig 2022-02-07 13:39:41 UTC +++ content/shell/app/shell_main_delegate.cc -@@ -193,7 +193,7 @@ bool ShellMainDelegate::ShouldCreateFeatureList() { - - void ShellMainDelegate::PreSandboxStartup() { - #if defined(ARCH_CPU_ARM_FAMILY) && \ -- (defined(OS_ANDROID) || defined(OS_LINUX) || defined(OS_CHROMEOS)) -+ (defined(OS_ANDROID) || defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD)) - // Create an instance of the CPU class to parse /proc/cpuinfo and cache - // cpu_brand info. - base::CPU cpu_info; -@@ -202,7 +202,7 @@ void ShellMainDelegate::PreSandboxStartup() { - // Disable platform crash handling and initialize the crash reporter, if - // requested. - // TODO(crbug.com/1226159): Implement crash reporter integration for Fuchsia. --#if !defined(OS_FUCHSIA) -+#if !defined(OS_FUCHSIA) && !defined(OS_BSD) - if (base::CommandLine::ForCurrentProcess()->HasSwitch( - switches::kEnableCrashReporter)) { - std::string process_type = -@@ -218,7 +218,7 @@ void ShellMainDelegate::PreSandboxStartup() { +@@ -211,7 +211,7 @@ void ShellMainDelegate::PreSandboxStartup() { + // Reporting for sub-processes will be initialized in ZygoteForked. + if (process_type != switches::kZygoteProcess) { + crash_reporter::InitializeCrashpad(process_type.empty(), process_type); +-#if defined(OS_LINUX) || defined(OS_CHROMEOS) ++#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD) + crash_reporter::SetFirstChanceExceptionHandler( + v8::TryHandleWebAssemblyTrapPosix); #endif - } - } --#endif // !defined(OS_FUCHSIA) -+#endif // !defined(OS_FUCHSIA) && !defined(OS_BSD) - - crash_reporter::InitializeCrashKeys(); - diff --git a/www/chromium/files/patch-content_shell_browser_shell__browser__main__parts.cc b/www/chromium/files/patch-content_shell_browser_shell__browser__main__parts.cc index 18f652d4e25c..7b1010e06148 100644 --- a/www/chromium/files/patch-content_shell_browser_shell__browser__main__parts.cc +++ b/www/chromium/files/patch-content_shell_browser_shell__browser__main__parts.cc @@ -1,20 +1,20 @@ ---- content/shell/browser/shell_browser_main_parts.cc.orig 2021-12-31 00:57:33 UTC +--- content/shell/browser/shell_browser_main_parts.cc.orig 2022-02-07 13:39:41 UTC +++ content/shell/browser/shell_browser_main_parts.cc @@ -49,7 +49,7 @@ #include "net/base/network_change_notifier.h" #endif -#if defined(USE_AURA) && (defined(OS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS)) -+#if defined(USE_AURA) && (defined(OS_LINUX) || defined(OS_BSD) || BUILDFLAG(IS_CHROMEOS_LACROS)) ++#if defined(USE_AURA) && (defined(OS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS) || defined(OS_BSD)) #include "ui/base/ime/init/input_method_initializer.h" #endif -@@ -128,7 +128,7 @@ void ShellBrowserMainParts::PostCreateMainMessageLoop( +@@ -129,7 +129,7 @@ void ShellBrowserMainParts::PostCreateMainMessageLoop( } int ShellBrowserMainParts::PreEarlyInitialization() { -#if defined(USE_AURA) && (defined(OS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS)) +#if defined(USE_AURA) && (defined(OS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS) || defined(OS_BSD)) ui::InitializeInputMethodForTesting(); #endif #if defined(OS_ANDROID) diff --git a/www/chromium/files/patch-content_shell_browser_shell__paths.cc b/www/chromium/files/patch-content_shell_browser_shell__paths.cc index 0c22bf6aa031..e5313259cb28 100644 --- a/www/chromium/files/patch-content_shell_browser_shell__paths.cc +++ b/www/chromium/files/patch-content_shell_browser_shell__paths.cc @@ -1,20 +1,20 @@ ---- content/shell/browser/shell_paths.cc.orig 2021-09-24 18:48:29 UTC +--- content/shell/browser/shell_paths.cc.orig 2022-02-07 13:39:41 UTC +++ content/shell/browser/shell_paths.cc -@@ -12,7 +12,7 @@ +@@ -13,7 +13,7 @@ - #if defined(OS_WIN) - #include "base/base_paths_win.h" + #if defined(OS_FUCHSIA) + #include "base/fuchsia/file_utils.h" -#elif defined(OS_LINUX) || defined(OS_CHROMEOS) +#elif defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD) #include "base/nix/xdg_util.h" - #elif defined(OS_MAC) - #include "base/base_paths_mac.h" -@@ -28,7 +28,7 @@ bool GetDefaultUserDataDirectory(base::FilePath* resul + #endif + +@@ -25,7 +25,7 @@ bool GetDefaultUserDataDirectory(base::FilePath* resul #if defined(OS_WIN) CHECK(base::PathService::Get(base::DIR_LOCAL_APP_DATA, result)); *result = result->Append(std::wstring(L"content_shell")); -#elif defined(OS_LINUX) || defined(OS_CHROMEOS) +#elif defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD) std::unique_ptr env(base::Environment::Create()); base::FilePath config_dir(base::nix::GetXDGDirectory( env.get(), base::nix::kXdgConfigHomeEnvVar, base::nix::kDotConfigDir)); diff --git a/www/chromium/files/patch-content_test_BUILD.gn b/www/chromium/files/patch-content_test_BUILD.gn index 2592d470b39d..38dc56055adc 100644 --- a/www/chromium/files/patch-content_test_BUILD.gn +++ b/www/chromium/files/patch-content_test_BUILD.gn @@ -1,37 +1,20 @@ ---- content/test/BUILD.gn.orig 2021-12-31 00:57:33 UTC +--- content/test/BUILD.gn.orig 2022-02-07 13:39:41 UTC +++ content/test/BUILD.gn -@@ -1593,10 +1593,12 @@ test("content_browsertests") { - } - - if (is_linux || is_chromeos) { -- sources += [ -- "../browser/utility_process_sandbox_browsertest.cc", -- "../browser/zygote_host/zygote_browsertest.cc", -- ] -+ if (!is_bsd) { -+ sources += [ -+ "../browser/utility_process_sandbox_browsertest.cc", -+ "../browser/zygote_host/zygote_browsertest.cc", -+ ] -+ } - deps += [ - "//printing/buildflags", - "//ui/gfx:test_support", -@@ -1865,7 +1867,7 @@ static_library("run_all_unittests") { +@@ -1878,7 +1878,7 @@ static_library("run_all_unittests") { ":test_support", "//base/test:test_support", ] - if (is_linux || is_chromeos) { + if ((is_linux || is_chromeos) && !is_bsd) { deps += [ "//content/common:set_process_title_linux" ] } } -@@ -2774,7 +2776,7 @@ test("content_unittests") { +@@ -2806,7 +2806,7 @@ test("content_unittests") { deps += [ "//third_party/boringssl" ] } - if (is_linux || is_chromeos) { + if ((is_linux || is_chromeos) && !is_bsd) { sources += [ "../common/set_process_title_linux_unittest.cc" ] deps += [ "//content/common:set_process_title_linux" ] } diff --git a/www/chromium/files/patch-content_test_content__test__suite.cc b/www/chromium/files/patch-content_test_content__test__suite.cc deleted file mode 100644 index b03f2e2e9b7f..000000000000 --- a/www/chromium/files/patch-content_test_content__test__suite.cc +++ /dev/null @@ -1,18 +0,0 @@ ---- content/test/content_test_suite.cc.orig 2021-12-31 00:57:33 UTC -+++ content/test/content_test_suite.cc -@@ -85,6 +85,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(); -@@ -92,6 +93,7 @@ void ContentTestSuite::Initialize() { - gpu_feature_info->disabled_extensions); - gl::init::InitializeExtensionSettingsOneOffPlatform(); - } -+#endif - // TestEventListeners repeater event propagation is disabled in death test - // child process. - if (command_line->HasSwitch("gtest_internal_run_death_test")) { diff --git a/www/chromium/files/patch-content_utility_BUILD.gn b/www/chromium/files/patch-content_utility_BUILD.gn deleted file mode 100644 index d96b4f38513b..000000000000 --- a/www/chromium/files/patch-content_utility_BUILD.gn +++ /dev/null @@ -1,11 +0,0 @@ ---- content/utility/BUILD.gn.orig 2021-12-14 11:45:06 UTC -+++ content/utility/BUILD.gn -@@ -103,7 +103,7 @@ source_set("utility") { - deps += [ "//services/proxy_resolver:lib" ] - } - -- if (is_linux || is_chromeos) { -+ if ((is_linux || is_chromeos) && !is_bsd) { - deps += [ - "//content/utility/speech:speech_recognition_sandbox_hook", - "//services/network:network_sandbox_hook", diff --git a/www/chromium/files/patch-content_utility_services.cc b/www/chromium/files/patch-content_utility_services.cc new file mode 100644 index 000000000000..5e46ea9659c4 --- /dev/null +++ b/www/chromium/files/patch-content_utility_services.cc @@ -0,0 +1,20 @@ +--- content/utility/services.cc.orig 2022-02-07 13:39:41 UTC ++++ content/utility/services.cc +@@ -68,7 +68,7 @@ + extern sandbox::TargetServices* g_utility_target_services; + #endif // defined(OS_WIN) + +-#if defined(OS_LINUX) || defined(OS_CHROMEOS) ++#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD) + #include "sandbox/linux/services/libc_interceptor.h" + #include "sandbox/policy/mojom/sandbox.mojom.h" + #include "sandbox/policy/sandbox_type.h" +@@ -206,7 +206,7 @@ auto RunAudio(mojo::PendingReceiver GetSodaFilePermissio + } + + } // namespace ++#endif + + bool SpeechRecognitionPreSandboxHook( + sandbox::policy::SandboxLinux::Options options) { ++#if !defined(OS_BSD) + #if BUILDFLAG(ENABLE_SODA) + base::FilePath test_binary_path = GetSodaTestBinaryPath(); + DVLOG(0) << "SODA test binary path: " << test_binary_path.value().c_str(); +@@ -77,6 +82,7 @@ bool SpeechRecognitionPreSandboxHook( + sandbox::policy::SandboxLinux::PreSandboxHook(), + options); + instance->EngageNamespaceSandboxIfPossible(); ++#endif + + return true; + } diff --git a/www/chromium/files/patch-content_utility_speech_speech__recognition__sandbox__hook__linux.h b/www/chromium/files/patch-content_utility_speech_speech__recognition__sandbox__hook__linux.h new file mode 100644 index 000000000000..77c79a0e7c8d --- /dev/null +++ b/www/chromium/files/patch-content_utility_speech_speech__recognition__sandbox__hook__linux.h @@ -0,0 +1,14 @@ +--- content/utility/speech/speech_recognition_sandbox_hook_linux.h.orig 2022-02-07 13:39:41 UTC ++++ content/utility/speech/speech_recognition_sandbox_hook_linux.h +@@ -5,7 +5,11 @@ + #ifndef CONTENT_UTILITY_SPEECH_SPEECH_RECOGNITION_SANDBOX_HOOK_LINUX_H_ + #define CONTENT_UTILITY_SPEECH_SPEECH_RECOGNITION_SANDBOX_HOOK_LINUX_H_ + ++#if defined(OS_BSD) ++#include "sandbox/policy/openbsd/sandbox_openbsd.h" ++#else + #include "sandbox/policy/linux/sandbox_linux.h" ++#endif + + namespace speech { + diff --git a/www/chromium/files/patch-content_utility_utility__blink__platform__with__sandbox__support__impl.h b/www/chromium/files/patch-content_utility_utility__blink__platform__with__sandbox__support__impl.h index 236da2abd09f..bea16be55d63 100644 --- a/www/chromium/files/patch-content_utility_utility__blink__platform__with__sandbox__support__impl.h +++ b/www/chromium/files/patch-content_utility_utility__blink__platform__with__sandbox__support__impl.h @@ -1,24 +1,24 @@ ---- content/utility/utility_blink_platform_with_sandbox_support_impl.h.orig 2021-12-14 11:45:06 UTC +--- content/utility/utility_blink_platform_with_sandbox_support_impl.h.orig 2022-02-07 13:39:41 UTC +++ content/utility/utility_blink_platform_with_sandbox_support_impl.h -@@ -11,7 +11,7 @@ +@@ -10,7 +10,7 @@ #include "build/build_config.h" #include "third_party/blink/public/platform/platform.h" -#if defined(OS_LINUX) || defined(OS_CHROMEOS) +#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD) #include "components/services/font/public/cpp/font_loader.h" // nogncheck #include "third_party/skia/include/core/SkRefCnt.h" // nogncheck #endif -@@ -39,10 +39,10 @@ class UtilityBlinkPlatformWithSandboxSupportImpl : pub +@@ -38,10 +38,10 @@ class UtilityBlinkPlatformWithSandboxSupportImpl : pub blink::WebSandboxSupport* GetSandboxSupport() override; private: -#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_MAC) +#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_MAC) || defined(OS_BSD) std::unique_ptr sandbox_support_; #endif -#if defined(OS_LINUX) || defined(OS_CHROMEOS) +#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD) sk_sp font_loader_; #endif }; diff --git a/www/chromium/files/patch-content_utility_utility__main.cc b/www/chromium/files/patch-content_utility_utility__main.cc index 7e15498ab952..cf4428749ae7 100644 --- a/www/chromium/files/patch-content_utility_utility__main.cc +++ b/www/chromium/files/patch-content_utility_utility__main.cc @@ -1,14 +1,55 @@ ---- content/utility/utility_main.cc.orig 2021-12-31 00:57:33 UTC +--- content/utility/utility_main.cc.orig 2022-02-07 13:39:41 UTC +++ content/utility/utility_main.cc -@@ -115,6 +115,11 @@ int UtilityMain(const MainFunctionParams& parameters) - } - } +@@ -31,16 +31,22 @@ + #include "third_party/icu/source/common/unicode/unistr.h" + #include "third_party/icu/source/i18n/unicode/timezone.h" -+#if defined(OS_FREEBSD) -+ sandbox::policy::Sandbox::Initialize( -+ sandbox::policy::SandboxTypeFromCommandLine(parameters.command_line)); +-#if defined(OS_LINUX) || defined(OS_CHROMEOS) ++#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD) + #include "content/utility/speech/speech_recognition_sandbox_hook_linux.h" + #if BUILDFLAG(ENABLE_PRINTING) + #include "printing/sandbox/print_backend_sandbox_hook_linux.h" + #endif ++#if !defined(OS_BSD) + #include "sandbox/policy/linux/sandbox_linux.h" ++#endif + #include "services/audio/audio_sandbox_hook_linux.h" + #include "services/network/network_sandbox_hook_linux.h" + #endif + ++#if defined(OS_BSD) ++#include "sandbox/policy/openbsd/sandbox_openbsd.h" +#endif + - #if defined(OS_LINUX) || defined(OS_CHROMEOS) + #if BUILDFLAG(IS_CHROMEOS_ASH) + #include "ash/services/ime/ime_sandbox_hook.h" + #include "chromeos/assistant/buildflags.h" +@@ -121,7 +127,7 @@ int UtilityMain(MainFunctionParams parameters) { + } + } + +-#if defined(OS_LINUX) || defined(OS_CHROMEOS) ++#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD) // Initializes the sandbox before any threads are created. // TODO(jorgelo): move this after GTK initialization when we enable a strict + // Seccomp-BPF policy. +@@ -165,6 +171,7 @@ int UtilityMain(MainFunctionParams parameters) { + default: + break; + } ++#if !defined(OS_BSD) + if (parameters.zygote_child || !pre_sandbox_hook.is_null()) { + sandbox::policy::SandboxLinux::Options sandbox_options; + #if BUILDFLAG(IS_CHROMEOS_ASH) +@@ -180,6 +187,11 @@ int UtilityMain(MainFunctionParams parameters) { + sandbox::policy::Sandbox::Initialize( + sandbox_type, std::move(pre_sandbox_hook), sandbox_options); + } ++#else ++ sandbox::policy::Sandbox::Initialize( ++ sandbox_type, std::move(pre_sandbox_hook), ++ sandbox::policy::SandboxLinux::Options()); ++#endif + #elif defined(OS_WIN) + g_utility_target_services = parameters.sandbox_info->target_services; + #endif diff --git a/www/chromium/files/patch-content_zygote_BUILD.gn b/www/chromium/files/patch-content_zygote_BUILD.gn new file mode 100644 index 000000000000..b9c3d8fe8cdc --- /dev/null +++ b/www/chromium/files/patch-content_zygote_BUILD.gn @@ -0,0 +1,11 @@ +--- content/zygote/BUILD.gn.orig 2022-02-07 13:39:41 UTC ++++ content/zygote/BUILD.gn +@@ -5,7 +5,7 @@ + import("//build/config/nacl/config.gni") + import("//content/public/common/zygote/features.gni") + +-if (is_linux || is_chromeos) { ++if ((is_linux || is_chromeos) && !is_bsd) { + source_set("zygote") { + sources = [ + "zygote_linux.cc", diff --git a/www/chromium/files/patch-content_zygote_zygote__linux.cc b/www/chromium/files/patch-content_zygote_zygote__linux.cc index a7434c704502..a9459a80819d 100644 --- a/www/chromium/files/patch-content_zygote_zygote__linux.cc +++ b/www/chromium/files/patch-content_zygote_zygote__linux.cc @@ -1,16 +1,15 @@ ---- content/zygote/zygote_linux.cc.orig 2021-09-24 04:26:06 UTC +--- content/zygote/zygote_linux.cc.orig 2022-02-07 13:39:41 UTC +++ content/zygote/zygote_linux.cc -@@ -1,7 +1,7 @@ +@@ -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 "content/zygote/zygote_linux.h" - #include -@@ -650,3 +650,4 @@ bool Zygote::HandleGetSandboxStatus(int fd, base::Pick +@@ -650,3 +651,4 @@ bool Zygote::HandleGetSandboxStatus(int fd, base::Pick } } // namespace content +#endif diff --git a/www/chromium/files/patch-content_zygote_zygote__main__linux.cc b/www/chromium/files/patch-content_zygote_zygote__main__linux.cc index d79d70201cb0..91c7bc1e35f7 100644 --- a/www/chromium/files/patch-content_zygote_zygote__main__linux.cc +++ b/www/chromium/files/patch-content_zygote_zygote__main__linux.cc @@ -1,48 +1,64 @@ ---- content/zygote/zygote_main_linux.cc.orig 2021-04-14 18:41:03 UTC +--- content/zygote/zygote_main_linux.cc.orig 2022-02-07 13:39:41 UTC +++ content/zygote/zygote_main_linux.cc @@ -11,7 +11,9 @@ #include #include #include +#if !defined(OS_BSD) #include +#endif #include #include #include -@@ -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) { +@@ -40,7 +42,9 @@ + #include "sandbox/linux/services/thread_helpers.h" + #include "sandbox/linux/suid/client/setuid_sandbox_client.h" + #include "sandbox/policy/linux/sandbox_debug_handling_linux.h" +#if !defined(OS_BSD) - DCHECK(setuid_sandbox); - DCHECK(setuid_sandbox->IsSuidSandboxChild()); + #include "sandbox/policy/linux/sandbox_linux.h" ++#endif + #include "sandbox/policy/sandbox.h" + #include "sandbox/policy/switches.h" + #include "third_party/icu/source/i18n/unicode/timezone.h" +@@ -49,6 +53,7 @@ namespace content { -@@ -131,6 +134,9 @@ static bool EnterSuidSandbox(sandbox::SetuidSandboxCli + namespace { - CHECK(sandbox::policy::SandboxDebugHandling::SetDumpableStatusAndHandlers()); - return true; -+#else -+ return false; -+#endif // !defined(OS_BSD) ++#if !defined(OS_BSD) + void CloseFds(const std::vector& fds) { + for (const auto& it : fds) { + PCHECK(0 == IGNORE_EINTR(close(it))); +@@ -66,9 +71,11 @@ base::OnceClosure ClosureFromTwoClosures(base::OnceClo + }, + std::move(one), std::move(two)); } ++#endif - static void DropAllCapabilities(int proc_fd) { -@@ -176,6 +182,7 @@ static void EnterLayerOneSandbox(sandbox::policy::Sand + } // namespace + ++#if !defined(OS_BSD) + // This function triggers the static and lazy construction of objects that need + // to be created before imposing the sandbox. + static void ZygotePreSandboxInit() { +@@ -173,9 +180,11 @@ static void EnterLayerOneSandbox(sandbox::policy::Sand + CHECK(!using_layer1_sandbox); + } + } ++#endif bool ZygoteMain( std::vector> fork_delegates) { +#if !defined(OS_BSD) sandbox::SetAmZygoteOrRenderer(true, GetSandboxFD()); auto* linux_sandbox = sandbox::policy::SandboxLinux::GetInstance(); -@@ -240,6 +247,9 @@ bool ZygoteMain( +@@ -240,6 +249,9 @@ bool ZygoteMain( // This function call can return multiple times, once per fork(). return zygote.ProcessRequests(); +#else + return false; -+#endif // !defined(OS_BSD) ++#endif } } // namespace content diff --git a/www/chromium/files/patch-device_bluetooth_BUILD.gn b/www/chromium/files/patch-device_bluetooth_BUILD.gn deleted file mode 100644 index 596c6eb70237..000000000000 --- a/www/chromium/files/patch-device_bluetooth_BUILD.gn +++ /dev/null @@ -1,11 +0,0 @@ ---- device/bluetooth/BUILD.gn.orig 2021-12-14 11:45:06 UTC -+++ device/bluetooth/BUILD.gn -@@ -308,7 +308,7 @@ component("bluetooth") { - ] - } - -- if (is_chromeos || is_linux) { -+ if ((is_chromeos || is_linux) && !is_bsd) { - if (use_bluez) { - if (!force_cast_bluetooth) { - sources += [ "bluetooth_adapter_chromeos.cc" ] diff --git a/www/chromium/files/patch-device_gamepad_hid__writer__linux.cc b/www/chromium/files/patch-device_gamepad_hid__writer__linux.cc index 784ed63be98f..5208c5251dbc 100644 --- a/www/chromium/files/patch-device_gamepad_hid__writer__linux.cc +++ b/www/chromium/files/patch-device_gamepad_hid__writer__linux.cc @@ -1,11 +1,11 @@ ---- device/gamepad/hid_writer_linux.cc.orig 2021-04-14 18:41:03 UTC +--- device/gamepad/hid_writer_linux.cc.orig 2022-02-07 13:39:41 UTC +++ device/gamepad/hid_writer_linux.cc -@@ -4,6 +4,8 @@ - - #include "device/gamepad/hid_writer_linux.h" +@@ -2,6 +2,8 @@ + // Use of this source code is governed by a BSD-style license that can be + // found in the LICENSE file. +#include + - #include "base/posix/eintr_wrapper.h" + #include "device/gamepad/hid_writer_linux.h" - namespace device { + #include "base/posix/eintr_wrapper.h" diff --git a/www/chromium/files/patch-extensions_browser_api_declarative__webrequest_webrequest__action.cc b/www/chromium/files/patch-extensions_browser_api_declarative__webrequest_webrequest__action.cc deleted file mode 100644 index af8c790160d4..000000000000 --- a/www/chromium/files/patch-extensions_browser_api_declarative__webrequest_webrequest__action.cc +++ /dev/null @@ -1,14 +0,0 @@ ---- extensions/browser/api/declarative_webrequest/webrequest_action.cc.orig 2021-07-19 18:45:16 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 -+#else - #include "third_party/re2/src/re2/re2.h" -+#endif - - using extension_web_request_api_helpers::EventResponseDelta; - diff --git a/www/chromium/files/patch-extensions_browser_api_messaging_message__service.cc b/www/chromium/files/patch-extensions_browser_api_messaging_message__service.cc index 6789e1b8927b..0440d715fc59 100644 --- a/www/chromium/files/patch-extensions_browser_api_messaging_message__service.cc +++ b/www/chromium/files/patch-extensions_browser_api_messaging_message__service.cc @@ -1,35 +1,20 @@ ---- extensions/browser/api/messaging/message_service.cc.orig 2021-12-14 11:45:06 UTC +--- extensions/browser/api/messaging/message_service.cc.orig 2022-02-07 13:39:41 UTC +++ extensions/browser/api/messaging/message_service.cc @@ -74,7 +74,7 @@ namespace { - const char kReceivingEndDoesntExistError[] = "Could not establish connection. Receiving end does not exist."; --#if defined(OS_WIN) || defined(OS_MAC) || defined(OS_LINUX) || \ -+#if defined(OS_WIN) || defined(OS_MAC) || defined(OS_LINUX) || defined(OS_BSD) || \ - defined(OS_CHROMEOS) + #if defined(OS_WIN) || defined(OS_MAC) || defined(OS_LINUX) || \ +- defined(OS_CHROMEOS) ++ defined(OS_CHROMEOS) || defined(OS_BSD) const char kMissingPermissionError[] = "Access to native messaging requires nativeMessaging permission."; + const char kProhibitedByPoliciesError[] = @@ -439,7 +439,7 @@ void MessageService::OpenChannelToNativeApp( - if (!opener_port->IsValidPort()) return; --#if defined(OS_WIN) || defined(OS_MAC) || defined(OS_LINUX) || \ -+#if defined(OS_WIN) || defined(OS_MAC) || defined(OS_LINUX) || defined(OS_BSD) || \ - defined(OS_CHROMEOS) + #if defined(OS_WIN) || defined(OS_MAC) || defined(OS_LINUX) || \ +- defined(OS_CHROMEOS) ++ defined(OS_CHROMEOS) || defined(OS_BSD) bool has_permission = extension->permissions_data()->HasAPIPermission( mojom::APIPermissionID::kNativeMessaging); -@@ -493,12 +493,12 @@ void MessageService::OpenChannelToNativeApp( - channel->opener->IncrementLazyKeepaliveCount(); - - AddChannel(std::move(channel), receiver_port_id); --#else // !(defined(OS_WIN) || defined(OS_MAC) || defined(OS_LINUX) || -+#else // !(defined(OS_WIN) || defined(OS_MAC) || defined(OS_LINUX) || defined(OS_BSD) || - // defined(OS_CHROMEOS)) - const char kNativeMessagingNotSupportedError[] = - "Native Messaging is not supported on this platform."; - opener_port->DispatchOnDisconnect(kNativeMessagingNotSupportedError); --#endif // !(defined(OS_WIN) || defined(OS_MAC) || defined(OS_LINUX) || -+#endif // !(defined(OS_WIN) || defined(OS_MAC) || defined(OS_LINUX) || defined(OS_BSD) || - // defined(OS_CHROMEOS)) - } - + if (!has_permission) { diff --git a/www/chromium/files/patch-extensions_browser_api_web__request_form__data__parser.cc b/www/chromium/files/patch-extensions_browser_api_web__request_form__data__parser.cc deleted file mode 100644 index 96b605cf72ae..000000000000 --- a/www/chromium/files/patch-extensions_browser_api_web__request_form__data__parser.cc +++ /dev/null @@ -1,14 +0,0 @@ ---- extensions/browser/api/web_request/form_data_parser.cc.orig 2021-07-19 18:45:16 UTC -+++ extensions/browser/api/web_request/form_data_parser.cc -@@ -17,7 +17,11 @@ - #include "base/values.h" - #include "net/base/escape.h" - #include "net/http/http_request_headers.h" -+#if defined(OS_BSD) -+#include -+#else - #include "third_party/re2/src/re2/re2.h" -+#endif - - using base::DictionaryValue; - using base::ListValue; diff --git a/www/chromium/files/patch-extensions_browser_browser__context__keyed__service__factories.cc b/www/chromium/files/patch-extensions_browser_browser__context__keyed__service__factories.cc index c34950bfeb2c..6dba1684b015 100644 --- a/www/chromium/files/patch-extensions_browser_browser__context__keyed__service__factories.cc +++ b/www/chromium/files/patch-extensions_browser_browser__context__keyed__service__factories.cc @@ -1,11 +1,11 @@ ---- extensions/browser/browser_context_keyed_service_factories.cc.orig 2021-07-19 18:45:16 UTC +--- extensions/browser/browser_context_keyed_service_factories.cc.orig 2022-02-07 13:39:41 UTC +++ extensions/browser/browser_context_keyed_service_factories.cc -@@ -88,7 +88,7 @@ void EnsureBrowserContextKeyedServiceFactoriesBuilt() - HidDeviceManager::GetFactoryInstance(); +@@ -89,7 +89,7 @@ void EnsureBrowserContextKeyedServiceFactoriesBuilt() IdleManagerFactory::GetInstance(); ManagementAPI::GetFactoryInstance(); --#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_WIN) || \ -+#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_WIN) || defined(OS_BSD) || \ - defined(OS_MAC) + #if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_WIN) || \ +- defined(OS_MAC) ++ defined(OS_MAC) || defined(OS_BSD) NetworkingPrivateEventRouterFactory::GetInstance(); #endif + PowerAPI::GetFactoryInstance(); diff --git a/www/chromium/files/patch-extensions_browser_extension__prefs.cc b/www/chromium/files/patch-extensions_browser_extension__prefs.cc index 1fd6811777e4..290ffac3509a 100644 --- a/www/chromium/files/patch-extensions_browser_extension__prefs.cc +++ b/www/chromium/files/patch-extensions_browser_extension__prefs.cc @@ -1,11 +1,11 @@ ---- extensions/browser/extension_prefs.cc.orig 2021-12-31 00:57:34 UTC +--- extensions/browser/extension_prefs.cc.orig 2022-02-07 13:39:41 UTC +++ extensions/browser/extension_prefs.cc -@@ -2260,7 +2260,7 @@ void ExtensionPrefs::RegisterProfilePrefs( +@@ -2252,7 +2252,7 @@ void ExtensionPrefs::RegisterProfilePrefs( registry->RegisterStringPref(pref_names::kLastChromeVersion, std::string()); registry->RegisterDictionaryPref(kInstallSignature); registry->RegisterListPref(kExternalUninstalls); -#if defined(OS_WIN) || defined(OS_MAC) || defined(OS_LINUX) +#if defined(OS_WIN) || defined(OS_MAC) || defined(OS_LINUX) || defined(OS_BSD) registry->RegisterBooleanPref(pref_names::kChromeAppsEnabled, false); #endif registry->RegisterBooleanPref(pref_names::kU2fSecurityKeyApiEnabled, false); diff --git a/www/chromium/files/patch-extensions_common_api___permission__features.json b/www/chromium/files/patch-extensions_common_api___permission__features.json index f8bceeb9accc..037478cd165d 100644 --- a/www/chromium/files/patch-extensions_common_api___permission__features.json +++ b/www/chromium/files/patch-extensions_common_api___permission__features.json @@ -1,20 +1,29 @@ ---- extensions/common/api/_permission_features.json.orig 2021-12-31 00:57:34 UTC +--- extensions/common/api/_permission_features.json.orig 2022-02-07 13:39:41 UTC +++ extensions/common/api/_permission_features.json +@@ -134,7 +134,7 @@ + { + "channel": "stable", + "extension_types": ["platform_app"], +- "platforms": ["chromeos", "win", "mac", "linux"], ++ "platforms": ["chromeos", "win", "mac", "linux", "openbsd"], + "allowlist": [ + "1C93BD3CF875F4A73C0B2A163BB8FBDA8B8B3D80", // http://crbug.com/387169 + "A3BC37E2148AC4E99BE4B16AF9D42DD1E592BBBE", // http://crbug.com/387169 @@ -445,7 +445,7 @@ }, { "channel": "stable", "extension_types": ["extension", "legacy_packaged_app", "platform_app"], - "platforms": ["chromeos", "mac", "win", "linux", "fuchsia"], -+ "platforms": ["chromeos", "mac", "win", "linux", "fuchsia", "bsd"], ++ "platforms": ["chromeos", "mac", "win", "linux", "fuchsia", "openbsd"], "allowlist": [ "0DE0F05680A4A056BCEC864ED8DDA84296F82B40", // http://crbug.com/434651 "1C93BD3CF875F4A73C0B2A163BB8FBDA8B8B3D80", // http://crbug.com/293683 @@ -481,7 +481,7 @@ "networkingPrivate": { "channel": "stable", "extension_types": ["extension", "legacy_packaged_app", "platform_app"], - "platforms": ["chromeos", "mac", "win", "linux", "fuchsia"], -+ "platforms": ["chromeos", "mac", "win", "linux", "fuchsia", "bsd"], ++ "platforms": ["chromeos", "mac", "win", "linux", "fuchsia", "openbsd"], "allowlist": [ // DO NOT ADD ANY MORE ENTRIES HERE. // networkingPrivate is being migrated to networking.onc. diff --git a/www/chromium/files/patch-extensions_common_api_runtime.json b/www/chromium/files/patch-extensions_common_api_runtime.json deleted file mode 100644 index 2a0df60736a6..000000000000 --- a/www/chromium/files/patch-extensions_common_api_runtime.json +++ /dev/null @@ -1,11 +0,0 @@ ---- extensions/common/api/runtime.json.orig 2021-09-24 04:26:06 UTC -+++ extensions/common/api/runtime.json -@@ -77,7 +77,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/chromium/files/patch-extensions_common_features_feature.cc b/www/chromium/files/patch-extensions_common_features_feature.cc index 269b20ec107f..58152ea08295 100644 --- a/www/chromium/files/patch-extensions_common_features_feature.cc +++ b/www/chromium/files/patch-extensions_common_features_feature.cc @@ -1,11 +1,11 @@ ---- extensions/common/features/feature.cc.orig 2021-04-14 18:41:04 UTC +--- extensions/common/features/feature.cc.orig 2022-02-07 13:39:41 UTC +++ extensions/common/features/feature.cc -@@ -26,7 +26,7 @@ Feature::Platform Feature::GetCurrentPlatform() { - return LACROS_PLATFORM; - #elif BUILDFLAG(IS_CHROMEOS_ASH) && !BUILDFLAG(IS_CHROMEOS_LACROS) - return CHROMEOS_PLATFORM; --#elif defined(OS_LINUX) -+#elif defined(OS_LINUX) || defined(OS_BSD) - return LINUX_PLATFORM; - #elif defined(OS_MAC) - return MACOSX_PLATFORM; +@@ -34,6 +34,8 @@ Feature::Platform Feature::GetCurrentPlatform() { + return WIN_PLATFORM; + #elif defined(OS_FUCHSIA) + return FUCHSIA_PLATFORM; ++#elif defined(OS_BSD) ++ return LINUX_PLATFORM; + #else + return UNSPECIFIED_PLATFORM; + #endif diff --git a/www/chromium/files/patch-extensions_common_stack__frame.cc b/www/chromium/files/patch-extensions_common_stack__frame.cc deleted file mode 100644 index 36b8c5a07d8c..000000000000 --- a/www/chromium/files/patch-extensions_common_stack__frame.cc +++ /dev/null @@ -1,14 +0,0 @@ ---- extensions/common/stack_frame.cc.orig 2021-05-12 22:05:54 UTC -+++ extensions/common/stack_frame.cc -@@ -8,7 +8,11 @@ - #include - - #include "base/strings/utf_string_conversions.h" -+#if defined(OS_BSD) -+#include -+#else - #include "third_party/re2/src/re2/re2.h" -+#endif - - namespace extensions { - diff --git a/www/chromium/files/patch-extensions_renderer_bindings_api__binding__util.cc b/www/chromium/files/patch-extensions_renderer_bindings_api__binding__util.cc index 06e2345dda1d..dbe57dcbb69a 100644 --- a/www/chromium/files/patch-extensions_renderer_bindings_api__binding__util.cc +++ b/www/chromium/files/patch-extensions_renderer_bindings_api__binding__util.cc @@ -1,11 +1,11 @@ ---- extensions/renderer/bindings/api_binding_util.cc.orig 2021-12-14 11:45:06 UTC +--- extensions/renderer/bindings/api_binding_util.cc.orig 2022-02-07 13:39:41 UTC +++ extensions/renderer/bindings/api_binding_util.cc -@@ -140,6 +140,8 @@ std::string GetPlatformString() { - return "win"; - #elif defined(OS_FUCHSIA) - return "fuchsia"; -+#elif defined(OS_BSD) -+ return "bsd"; - #else - NOTREACHED(); - return std::string(); +@@ -132,7 +132,7 @@ std::string GetPlatformString() { + return "lacros"; + #elif BUILDFLAG(IS_CHROMEOS_ASH) && !BUILDFLAG(IS_CHROMEOS_LACROS) + return "chromeos"; +-#elif defined(OS_LINUX) ++#elif defined(OS_LINUX) || defined(OS_BSD) + return "linux"; + #elif defined(OS_MAC) + return "mac"; diff --git a/www/chromium/files/patch-extensions_shell_BUILD.gn b/www/chromium/files/patch-extensions_shell_BUILD.gn deleted file mode 100644 index 18d0a4af0db5..000000000000 --- a/www/chromium/files/patch-extensions_shell_BUILD.gn +++ /dev/null @@ -1,31 +0,0 @@ ---- extensions/shell/BUILD.gn.orig 2021-12-31 00:57:34 UTC -+++ extensions/shell/BUILD.gn -@@ -206,16 +206,24 @@ source_set("app_shell_lib") { - } - - if (is_linux || is_chromeos_lacros) { -+ if (!is_bsd) { -+ sources += [ -+ "app/shell_crash_reporter_client.cc", -+ "app/shell_crash_reporter_client.h", -+ ] -+ } - sources += [ -- "app/shell_crash_reporter_client.cc", -- "app/shell_crash_reporter_client.h", - "browser/api/file_system/shell_file_system_delegate.cc", - "browser/api/file_system/shell_file_system_delegate.h", - ] -+ if (!is_bsd) { -+ deps += [ -+ "//components/crash/core/app", -+ "//components/crash/core/common", -+ ] -+ } - deps += [ - "//build:branding_buildflags", -- "//components/crash/core/app", -- "//components/crash/core/common", - "//components/upload_list", - "//components/version_info:generate_version_info", - ] diff --git a/www/chromium/files/patch-extensions_shell_browser_shell__browser__main__parts.cc b/www/chromium/files/patch-extensions_shell_browser_shell__browser__main__parts.cc new file mode 100644 index 000000000000..6fcf0af77142 --- /dev/null +++ b/www/chromium/files/patch-extensions_shell_browser_shell__browser__main__parts.cc @@ -0,0 +1,11 @@ +--- extensions/shell/browser/shell_browser_main_parts.cc.orig 2022-02-07 13:39:41 UTC ++++ extensions/shell/browser/shell_browser_main_parts.cc +@@ -152,7 +152,7 @@ void ShellBrowserMainParts::PostCreateMainMessageLoop( + switches::kAppShellAllowRoaming)) { + network_controller_->SetCellularAllowRoaming(true); + } +-#elif defined(OS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS) ++#elif defined(OS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS) || defined(OS_BSD) + // app_shell doesn't need GTK, so the fake input method context can work. + // See crbug.com/381852 and revision fb69f142. + // TODO(michaelpg): Verify this works for target environments. diff --git a/www/chromium/files/patch-extensions_shell_browser_shell__extensions__api__client.cc b/www/chromium/files/patch-extensions_shell_browser_shell__extensions__api__client.cc index 8430a925fdfe..308e89d6aab9 100644 --- a/www/chromium/files/patch-extensions_shell_browser_shell__extensions__api__client.cc +++ b/www/chromium/files/patch-extensions_shell_browser_shell__extensions__api__client.cc @@ -1,20 +1,11 @@ ---- extensions/shell/browser/shell_extensions_api_client.cc.orig 2021-04-14 18:41:04 UTC +--- extensions/shell/browser/shell_extensions_api_client.cc.orig 2022-02-07 13:39:41 UTC +++ extensions/shell/browser/shell_extensions_api_client.cc -@@ -19,7 +19,7 @@ - - // TODO(crbug.com/1052397): Revisit the macro expression once build flag switch - // of lacros-chrome is complete. --#if defined(OS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS) -+#if defined(OS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS) || defined(OS_BSD) - #include "extensions/shell/browser/api/file_system/shell_file_system_delegate.h" - #endif - @@ -57,7 +57,7 @@ ShellExtensionsAPIClient::CreateDisplayInfoProvider() // TODO(crbug.com/1052397): Revisit the macro expression once build flag switch // of lacros-chrome is complete. -#if defined(OS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS) +#if defined(OS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS) || defined(OS_BSD) FileSystemDelegate* ShellExtensionsAPIClient::GetFileSystemDelegate() { if (!file_system_delegate_) file_system_delegate_ = std::make_unique(); diff --git a/www/chromium/files/patch-extensions_shell_common_switches.cc b/www/chromium/files/patch-extensions_shell_common_switches.cc new file mode 100644 index 000000000000..dda8a183d3ee --- /dev/null +++ b/www/chromium/files/patch-extensions_shell_common_switches.cc @@ -0,0 +1,11 @@ +--- extensions/shell/common/switches.cc.orig 2022-02-07 13:39:41 UTC ++++ extensions/shell/common/switches.cc +@@ -22,7 +22,7 @@ const char kAppShellPreferredNetwork[] = "app-shell-pr + + // TODO(crbug.com/1052397): Revisit the macro expression once build flag switch + // of lacros-chrome is complete. +-#if defined(OS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS) ++#if defined(OS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS) || defined(OS_BSD) + // The directory breakpad should store minidumps in. + const char kCrashDumpsDir[] = "crash-dumps-dir"; + diff --git a/www/chromium/files/patch-extensions_shell_common_switches.h b/www/chromium/files/patch-extensions_shell_common_switches.h new file mode 100644 index 000000000000..9e75e9414503 --- /dev/null +++ b/www/chromium/files/patch-extensions_shell_common_switches.h @@ -0,0 +1,11 @@ +--- extensions/shell/common/switches.h.orig 2022-02-07 13:39:41 UTC ++++ extensions/shell/common/switches.h +@@ -20,7 +20,7 @@ extern const char kAppShellPreferredNetwork[]; + #endif + // TODO(crbug.com/1052397): Revisit the macro expression once build flag switch + // of lacros-chrome is complete. +-#if defined(OS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS) ++#if defined(OS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS) || defined(OS_BSD) + extern const char kCrashDumpsDir[]; + extern const char kEnableReporting[]; + #endif diff --git a/www/chromium/files/patch-google__apis_gcm_engine_heartbeat__manager.cc b/www/chromium/files/patch-google__apis_gcm_engine_heartbeat__manager.cc index 1e248c24ea4a..f02440d40794 100644 --- a/www/chromium/files/patch-google__apis_gcm_engine_heartbeat__manager.cc +++ b/www/chromium/files/patch-google__apis_gcm_engine_heartbeat__manager.cc @@ -1,53 +1,29 @@ ---- google_apis/gcm/engine/heartbeat_manager.cc.orig 2021-12-14 11:45:06 UTC +--- google_apis/gcm/engine/heartbeat_manager.cc.orig 2022-02-07 13:39:41 UTC +++ google_apis/gcm/engine/heartbeat_manager.cc -@@ -32,13 +32,13 @@ const int kMinClientHeartbeatIntervalMs = 1000 * 30; +@@ -32,7 +32,7 @@ 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) || BUILDFLAG(IS_CHROMEOS_LACROS) +#if defined(OS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS) || 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) || BUILDFLAG(IS_CHROMEOS_LACROS) -+#endif // defined(OS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS) || defined(OS_BSD) - - } // namespace - @@ -192,7 +192,7 @@ void HeartbeatManager::RestartTimer() { base::BindRepeating(&HeartbeatManager::OnHeartbeatTriggered, weak_ptr_factory_.GetWeakPtr())); -#if defined(OS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS) +#if defined(OS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS) || 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. -@@ -201,7 +201,7 @@ void HeartbeatManager::RestartTimer() { - base::BindOnce(&HeartbeatManager::CheckForMissedHeartbeat, - weak_ptr_factory_.GetWeakPtr()), - base::Milliseconds(kHeartbeatMissedCheckMs)); --#endif // defined(OS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS) -+#endif // defined(OS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS) || defined(OS_BSD) - } - - void HeartbeatManager::CheckForMissedHeartbeat() { -@@ -217,14 +217,14 @@ void HeartbeatManager::CheckForMissedHeartbeat() { +@@ -217,7 +217,7 @@ void HeartbeatManager::CheckForMissedHeartbeat() { return; } -#if defined(OS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS) +#if defined(OS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS) || defined(OS_BSD) // Otherwise check again later. io_task_runner_->PostDelayedTask( FROM_HERE, - base::BindOnce(&HeartbeatManager::CheckForMissedHeartbeat, - weak_ptr_factory_.GetWeakPtr()), - base::Milliseconds(kHeartbeatMissedCheckMs)); --#endif // defined(OS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS) -+#endif // defined(OS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS) || defined(OS_BSD) - } - - void HeartbeatManager::UpdateHeartbeatInterval() { diff --git a/www/chromium/files/patch-gpu_command__buffer_common_gpu__memory__buffer__support.cc b/www/chromium/files/patch-gpu_command__buffer_common_gpu__memory__buffer__support.cc index 3fe23481fcb9..8f62d22ca390 100644 --- a/www/chromium/files/patch-gpu_command__buffer_common_gpu__memory__buffer__support.cc +++ b/www/chromium/files/patch-gpu_command__buffer_common_gpu__memory__buffer__support.cc @@ -1,20 +1,20 @@ ---- gpu/command_buffer/common/gpu_memory_buffer_support.cc.orig 2021-12-31 00:57:34 UTC +--- gpu/command_buffer/common/gpu_memory_buffer_support.cc.orig 2022-02-07 13:39:41 UTC +++ gpu/command_buffer/common/gpu_memory_buffer_support.cc -@@ -133,7 +133,7 @@ gfx::Size GetPlaneSize(gfx::BufferPlane plane, const g - uint32_t GetPlatformSpecificTextureTarget() { +@@ -134,7 +134,7 @@ uint32_t GetPlatformSpecificTextureTarget() { #if defined(OS_MAC) return macos_specific_texture_target; --#elif defined(OS_ANDROID) || defined(OS_LINUX) || defined(OS_CHROMEOS) || \ -+#elif defined(OS_ANDROID) || defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD) || \ - defined(OS_WIN) + #elif defined(OS_ANDROID) || defined(OS_LINUX) || defined(OS_CHROMEOS) || \ +- defined(OS_WIN) ++ defined(OS_WIN) || defined(OS_BSD) return GL_TEXTURE_EXTERNAL_OES; #elif defined(OS_FUCHSIA) -@@ -165,7 +165,7 @@ GPU_EXPORT uint32_t GetBufferTextureTarget(gfx::Buffer - GPU_EXPORT bool NativeBufferNeedsPlatformSpecificTextureTarget( + return GL_TEXTURE_2D; +@@ -166,7 +166,7 @@ GPU_EXPORT bool NativeBufferNeedsPlatformSpecificTextu gfx::BufferFormat format, gfx::BufferPlane plane) { --#if defined(USE_OZONE) || defined(OS_LINUX) || defined(OS_CHROMEOS) || \ -+#if defined(USE_OZONE) || defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD) || \ - defined(OS_WIN) + #if defined(USE_OZONE) || defined(OS_LINUX) || defined(OS_CHROMEOS) || \ +- defined(OS_WIN) ++ defined(OS_WIN) || 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/chromium/files/patch-gpu_command__buffer_service_external__vk__image__backing.cc b/www/chromium/files/patch-gpu_command__buffer_service_external__vk__image__backing.cc index 119db5a0c737..84058edc6972 100644 --- a/www/chromium/files/patch-gpu_command__buffer_service_external__vk__image__backing.cc +++ b/www/chromium/files/patch-gpu_command__buffer_service_external__vk__image__backing.cc @@ -1,38 +1,29 @@ ---- gpu/command_buffer/service/external_vk_image_backing.cc.orig 2021-12-31 00:57:34 UTC +--- gpu/command_buffer/service/external_vk_image_backing.cc.orig 2022-02-07 13:39:41 UTC +++ gpu/command_buffer/service/external_vk_image_backing.cc @@ -31,7 +31,7 @@ #include "ui/gl/gl_version_info.h" #include "ui/gl/scoped_binders.h" -#if (defined(OS_LINUX) || defined(OS_CHROMEOS)) && BUILDFLAG(USE_DAWN) +#if (defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD)) && BUILDFLAG(USE_DAWN) #include "gpu/command_buffer/service/external_vk_image_dawn_representation.h" #endif -@@ -560,7 +560,7 @@ ExternalVkImageBacking::ProduceDawn(SharedImageManager +@@ -564,7 +564,7 @@ ExternalVkImageBacking::ProduceDawn(SharedImageManager MemoryTypeTracker* tracker, WGPUDevice wgpuDevice, WGPUBackendType backend_type) { -#if (defined(OS_LINUX) || defined(OS_CHROMEOS)) && BUILDFLAG(USE_DAWN) +#if (defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD)) && BUILDFLAG(USE_DAWN) auto wgpu_format = viz::ToWGPUFormat(format()); if (wgpu_format == WGPUTextureFormat_Undefined) { -@@ -579,7 +579,7 @@ ExternalVkImageBacking::ProduceDawn(SharedImageManager - - return std::make_unique( - manager, this, tracker, wgpuDevice, wgpu_format, std::move(memory_fd)); --#else // (!defined(OS_LINUX) && !defined(OS_CHROMEOS)) || !BUILDFLAG(USE_DAWN) -+#else // (!defined(OS_LINUX) && !defined(OS_CHROMEOS) && !defined(OS_BSD)) || !BUILDFLAG(USE_DAWN) - NOTIMPLEMENTED_LOG_ONCE(); - return nullptr; - #endif -@@ -592,7 +592,7 @@ GLuint ExternalVkImageBacking::ProduceGLTextureInterna +@@ -596,7 +596,7 @@ GLuint ExternalVkImageBacking::ProduceGLTextureInterna gl::GLApi* api = gl::g_current_gl_context; absl::optional memory_object; if (!use_separate_gl_texture()) { -#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_ANDROID) +#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_ANDROID) || defined(OS_BSD) auto memory_fd = image_->GetMemoryFd(); if (!memory_fd.is_valid()) return 0; diff --git a/www/chromium/files/patch-gpu_command__buffer_service_program__manager.cc b/www/chromium/files/patch-gpu_command__buffer_service_program__manager.cc deleted file mode 100644 index a2c2525f0c25..000000000000 --- a/www/chromium/files/patch-gpu_command__buffer_service_program__manager.cc +++ /dev/null @@ -1,14 +0,0 @@ ---- gpu/command_buffer/service/program_manager.cc.orig 2021-07-19 18:45:17 UTC -+++ gpu/command_buffer/service/program_manager.cc -@@ -29,7 +29,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 -+#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/chromium/files/patch-gpu_command__buffer_service_shared__image__factory.cc b/www/chromium/files/patch-gpu_command__buffer_service_shared__image__factory.cc index 02ec88601b71..5033739dc49f 100644 --- a/www/chromium/files/patch-gpu_command__buffer_service_shared__image__factory.cc +++ b/www/chromium/files/patch-gpu_command__buffer_service_shared__image__factory.cc @@ -1,37 +1,34 @@ ---- gpu/command_buffer/service/shared_image_factory.cc.orig 2021-12-31 00:57:34 UTC +--- gpu/command_buffer/service/shared_image_factory.cc.orig 2022-02-07 13:39:41 UTC +++ gpu/command_buffer/service/shared_image_factory.cc -@@ -33,12 +33,12 @@ - #include "ui/gl/gl_implementation.h" +@@ -34,11 +34,11 @@ + #include "ui/gl/gl_switches.h" #include "ui/gl/trace_util.h" -#if defined(OS_LINUX) && defined(USE_OZONE) && BUILDFLAG(ENABLE_VULKAN) +#if (defined(OS_LINUX) || defined(OS_BSD)) && defined(USE_OZONE) && BUILDFLAG(ENABLE_VULKAN) - #include "ui/base/ui_base_features.h" // nogncheck #include "ui/ozone/public/ozone_platform.h" #endif -#if (defined(OS_LINUX) || defined(OS_FUCHSIA) || defined(OS_WIN)) && \ +#if (defined(OS_LINUX) || defined(OS_FUCHSIA) || defined(OS_WIN) || defined(OS_BSD)) && \ BUILDFLAG(ENABLE_VULKAN) #include "gpu/command_buffer/service/external_vk_image_factory.h" - #elif defined(OS_ANDROID) && BUILDFLAG(ENABLE_VULKAN) -@@ -74,8 +74,8 @@ + #include "gpu/command_buffer/service/shared_image_backing_factory_angle_vulkan.h" +@@ -75,7 +75,7 @@ namespace gpu { -#if defined(OS_LINUX) && !BUILDFLAG(IS_CHROMEOS_ASH) && \ -- !BUILDFLAG(IS_CHROMEOS_LACROS) && !BUILDFLAG(IS_CHROMECAST) && \ -+#if (defined(OS_LINUX) || defined(OS_BSD)) && !BUILDFLAG(IS_CHROMEOS_ASH) && \ -+ !BUILDFLAG(IS_CHROMEOS_LACROS) && !BUILDFLAG(IS_CHROMECAST) && \ ++#if (defined(OS_LINUX) || defined(OS_BSD)) && !BUILDFLAG(IS_CHROMEOS_ASH) && \ + !BUILDFLAG(IS_CHROMEOS_LACROS) && !BUILDFLAG(IS_CHROMECAST) && \ BUILDFLAG(ENABLE_VULKAN) - namespace { -@@ -177,7 +177,7 @@ SharedImageFactory::SharedImageFactory( +@@ -173,7 +173,7 @@ SharedImageFactory::SharedImageFactory( // |gr_context_type|. if (gr_context_type_ == GrContextType::kVulkan) { #if BUILDFLAG(ENABLE_VULKAN) -#if defined(OS_LINUX) && !BUILDFLAG(IS_CHROMEOS_ASH) && \ +#if (defined(OS_LINUX) || defined(OS_BSD)) && !BUILDFLAG(IS_CHROMEOS_ASH) && \ !BUILDFLAG(IS_CHROMEOS_LACROS) && !BUILDFLAG(IS_CHROMECAST) // Desktop Linux, not ChromeOS. - if (ShouldUseExternalVulkanImageFactory()) { + if (base::FeatureList::IsEnabled(features::kVulkanFromANGLE)) { diff --git a/www/chromium/files/patch-gpu_command__buffer_service_webgpu__decoder__impl.cc b/www/chromium/files/patch-gpu_command__buffer_service_webgpu__decoder__impl.cc index 50f0167f95f2..2a5e8eab866b 100644 --- a/www/chromium/files/patch-gpu_command__buffer_service_webgpu__decoder__impl.cc +++ b/www/chromium/files/patch-gpu_command__buffer_service_webgpu__decoder__impl.cc @@ -1,17 +1,11 @@ ---- gpu/command_buffer/service/webgpu_decoder_impl.cc.orig 2021-12-31 00:57:34 UTC +--- gpu/command_buffer/service/webgpu_decoder_impl.cc.orig 2022-02-07 13:39:41 UTC +++ gpu/command_buffer/service/webgpu_decoder_impl.cc -@@ -1015,12 +1015,12 @@ error::Error WebGPUDecoderImpl::HandleRequestAdapter( - static_cast(c.request_adapter_serial); +@@ -1021,7 +1021,7 @@ error::Error WebGPUDecoderImpl::HandleRequestAdapter( + } if (gr_context_type_ != GrContextType::kVulkan) { -#if defined(OS_LINUX) +#if defined(OS_LINUX) || defined(OS_BSD) SendAdapterProperties(request_adapter_serial, -1, nullptr, "WebGPU on Linux requires command-line flag " "--enable-features=Vulkan,UseSkiaRenderer"); - return error::kNoError; --#endif // defined(OS_LINUX) -+#endif // defined(OS_LINUX) || defined(OS_BSD) - } - - int32_t requested_adapter_index = GetPreferredAdapterIndex(power_preference); diff --git a/www/chromium/files/patch-gpu_command__buffer_tests_gl__copy__texture__CHROMIUM__unittest.cc b/www/chromium/files/patch-gpu_command__buffer_tests_gl__copy__texture__CHROMIUM__unittest.cc deleted file mode 100644 index 7f387b57a925..000000000000 --- a/www/chromium/files/patch-gpu_command__buffer_tests_gl__copy__texture__CHROMIUM__unittest.cc +++ /dev/null @@ -1,31 +0,0 @@ ---- gpu/command_buffer/tests/gl_copy_texture_CHROMIUM_unittest.cc.orig 2021-04-14 18:41:04 UTC -+++ gpu/command_buffer/tests/gl_copy_texture_CHROMIUM_unittest.cc -@@ -258,7 +258,7 @@ void getExpectedColorAndMask(GLenum src_internal_forma - - setColor(adjusted_color[0], adjusted_color[1], adjusted_color[2], - alpha_value, expected_color); --#if defined(OS_MAC) || defined(OS_LINUX) || defined(OS_CHROMEOS) -+#if defined(OS_MAC) || defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD) - // The alpha channel values for LUMINANCE_ALPHA source don't work OK - // on Mac or Linux, so skip comparison of those, see crbug.com/926579 - setColor(1, 1, 1, src_internal_format != GL_LUMINANCE_ALPHA, -@@ -637,8 +637,8 @@ class GLCopyTextureCHROMIUMES3Test : public GLCopyText - - bool ShouldSkipNorm16() const { - DCHECK(!ShouldSkipTest()); --#if (defined(OS_MAC) || defined(OS_WIN) || defined(OS_LINUX) || \ -- defined(OS_CHROMEOS)) && \ -+#if (defined(OS_MAC) || defined(OS_WIN) || defined(OS_LINUX) || defined(OS_BSD) || \ -+ defined(OS_CHROMEOS)) && \ - (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. -@@ -650,7 +650,7 @@ class GLCopyTextureCHROMIUMES3Test : public GLCopyText - - bool ShouldSkipRGBA16ToRGB10A2() const { - DCHECK(!ShouldSkipTest()); --#if (defined(OS_MAC) || defined(OS_LINUX) || defined(OS_CHROMEOS)) && \ -+#if (defined(OS_MAC) || defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD)) && \ - (defined(ARCH_CPU_X86) || defined(ARCH_CPU_X86_64)) - // // TODO(crbug.com/1046873): Fails on mac and linux intel. - return true; diff --git a/www/chromium/files/patch-gpu_command__buffer_tests_gl__test__utils.cc b/www/chromium/files/patch-gpu_command__buffer_tests_gl__test__utils.cc deleted file mode 100644 index a61648c704e1..000000000000 --- a/www/chromium/files/patch-gpu_command__buffer_tests_gl__test__utils.cc +++ /dev/null @@ -1,20 +0,0 @@ ---- gpu/command_buffer/tests/gl_test_utils.cc.orig 2021-05-12 22:05:54 UTC -+++ gpu/command_buffer/tests/gl_test_utils.cc -@@ -24,7 +24,7 @@ - #include "ui/gl/gl_version_info.h" - #include "ui/gl/init/gl_factory.h" - --#if defined(OS_LINUX) || defined(OS_CHROMEOS) -+#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD) - #include "ui/gl/gl_image_native_pixmap.h" - #endif - -@@ -453,7 +453,7 @@ void GpuCommandBufferTestEGL::RestoreGLDefault() { - window_system_binding_info_ = gl::GLWindowSystemBindingInfo(); - } - --#if defined(OS_LINUX) || defined(OS_CHROMEOS) -+#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD) - scoped_refptr - GpuCommandBufferTestEGL::CreateGLImageNativePixmap(gfx::BufferFormat format, - gfx::Size size, diff --git a/www/chromium/files/patch-gpu_command__buffer_tests_gl__test__utils.h b/www/chromium/files/patch-gpu_command__buffer_tests_gl__test__utils.h deleted file mode 100644 index dd35a8d9d348..000000000000 --- a/www/chromium/files/patch-gpu_command__buffer_tests_gl__test__utils.h +++ /dev/null @@ -1,11 +0,0 @@ ---- gpu/command_buffer/tests/gl_test_utils.h.orig 2021-04-14 18:41:04 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) || defined(OS_CHROMEOS) -+#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD) - // Create GLImageNativePixmap filled in with the given pixels. - scoped_refptr CreateGLImageNativePixmap( - gfx::BufferFormat format, diff --git a/www/chromium/files/patch-gpu_command__buffer_tests_webgpu__test.cc b/www/chromium/files/patch-gpu_command__buffer_tests_webgpu__test.cc deleted file mode 100644 index 5e72802cca01..000000000000 --- a/www/chromium/files/patch-gpu_command__buffer_tests_webgpu__test.cc +++ /dev/null @@ -1,22 +0,0 @@ ---- gpu/command_buffer/tests/webgpu_test.cc.orig 2021-04-14 18:41:04 UTC -+++ gpu/command_buffer/tests/webgpu_test.cc -@@ -48,8 +48,8 @@ bool WebGPUTest::WebGPUSupported() const { - - bool WebGPUTest::WebGPUSharedImageSupported() const { - // Currently WebGPUSharedImage is only implemented on Mac, Linux and Windows --#if (defined(OS_MAC) || defined(OS_LINUX) || defined(OS_CHROMEOS) || \ -- defined(OS_WIN)) && \ -+#if (defined(OS_MAC) || defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD) || \ -+ defined(OS_WIN)) && \ - BUILDFLAG(USE_DAWN) - return true; - #else -@@ -64,7 +64,7 @@ void WebGPUTest::SetUp() { - - gpu::GpuPreferences gpu_preferences; - gpu_preferences.enable_webgpu = true; --#if (defined(OS_LINUX) || defined(OS_CHROMEOS)) && BUILDFLAG(USE_DAWN) -+#if (defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD)) && BUILDFLAG(USE_DAWN) - gpu_preferences.use_vulkan = gpu::VulkanImplementationName::kNative; - gpu_preferences.gr_context_type = gpu::GrContextType::kVulkan; - #elif defined(OS_WIN) diff --git a/www/chromium/files/patch-gpu_config_gpu__control__list.cc b/www/chromium/files/patch-gpu_config_gpu__control__list.cc index ef3336dc947b..e75c2244ff3c 100644 --- a/www/chromium/files/patch-gpu_config_gpu__control__list.cc +++ b/www/chromium/files/patch-gpu_config_gpu__control__list.cc @@ -1,32 +1,20 @@ ---- gpu/config/gpu_control_list.cc.orig 2021-09-24 04:26:07 UTC +--- gpu/config/gpu_control_list.cc.orig 2022-02-07 13:39:41 UTC +++ gpu/config/gpu_control_list.cc -@@ -19,7 +19,11 @@ - #include "build/build_config.h" - #include "build/chromeos_buildflags.h" - #include "gpu/config/gpu_util.h" -+#if defined(OS_BSD) -+#include -+#else - #include "third_party/re2/src/re2/re2.h" -+#endif // defined(OS_BSD) - - namespace gpu { - namespace { -@@ -262,7 +266,7 @@ bool GpuControlList::More::GLVersionInfoMismatch( +@@ -276,7 +276,7 @@ bool GpuControlList::More::GLVersionInfoMismatch( GpuControlList::GLType GpuControlList::More::GetDefaultGLType() { - #if BUILDFLAG(IS_CHROMEOS_ASH) + #if defined(OS_CHROMEOS) return kGLTypeGL; --#elif (defined(OS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS)) || \ -+#elif (defined(OS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS)) || defined(OS_BSD) || \ - defined(OS_OPENBSD) +-#elif defined(OS_LINUX) || defined(OS_OPENBSD) ++#elif defined(OS_LINUX) || defined(OS_BSD) return kGLTypeGL; #elif defined(OS_MAC) -@@ -768,7 +772,7 @@ GpuControlList::OsType GpuControlList::GetOsType() { + return kGLTypeGL; +@@ -781,7 +781,7 @@ GpuControlList::OsType GpuControlList::GetOsType() { return kOsAndroid; #elif defined(OS_FUCHSIA) return kOsFuchsia; --#elif (defined(OS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS)) || \ -+#elif (defined(OS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS)) || defined(OS_BSD) || \ - defined(OS_OPENBSD) +-#elif defined(OS_LINUX) || defined(OS_OPENBSD) ++#elif defined(OS_LINUX) || defined(OS_BSD) return kOsLinux; #elif defined(OS_MAC) + return kOsMacosx; diff --git a/www/chromium/files/patch-gpu_config_gpu__test__config.cc b/www/chromium/files/patch-gpu_config_gpu__test__config.cc index 2cdcd3775ee2..56b64af4a0af 100644 --- a/www/chromium/files/patch-gpu_config_gpu__test__config.cc +++ b/www/chromium/files/patch-gpu_config_gpu__test__config.cc @@ -1,11 +1,11 @@ ---- gpu/config/gpu_test_config.cc.orig 2021-04-14 18:41:04 UTC +--- gpu/config/gpu_test_config.cc.orig 2022-02-07 13:39:41 UTC +++ gpu/config/gpu_test_config.cc -@@ -28,7 +28,7 @@ namespace { - GPUTestConfig::OS GetCurrentOS() { +@@ -29,7 +29,7 @@ GPUTestConfig::OS GetCurrentOS() { #if BUILDFLAG(IS_CHROMEOS_ASH) return GPUTestConfig::kOsChromeOS; --#elif (defined(OS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS)) || \ -+#elif (defined(OS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS)) || defined(OS_BSD) || \ - defined(OS_OPENBSD) + #elif (defined(OS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS)) || \ +- defined(OS_OPENBSD) ++ defined(OS_BSD) return GPUTestConfig::kOsLinux; #elif defined(OS_WIN) + int32_t major_version = 0; diff --git a/www/chromium/files/patch-gpu_ipc_common_gpu__memory__buffer__support.cc b/www/chromium/files/patch-gpu_ipc_common_gpu__memory__buffer__support.cc index c37c248303fb..f5c0b2e2342a 100644 --- a/www/chromium/files/patch-gpu_ipc_common_gpu__memory__buffer__support.cc +++ b/www/chromium/files/patch-gpu_ipc_common_gpu__memory__buffer__support.cc @@ -1,47 +1,20 @@ ---- gpu/ipc/common/gpu_memory_buffer_support.cc.orig 2021-12-14 11:45:06 UTC +--- gpu/ipc/common/gpu_memory_buffer_support.cc.orig 2022-02-07 13:39:41 UTC +++ gpu/ipc/common/gpu_memory_buffer_support.cc -@@ -17,7 +17,7 @@ - #include "gpu/ipc/common/gpu_memory_buffer_impl_io_surface.h" - #endif - --#if defined(OS_LINUX) || defined(OS_CHROMEOS) -+#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD) - #include "ui/gfx/client_native_pixmap_factory.h" - #include "ui/gfx/linux/client_native_pixmap_factory_dmabuf.h" - #endif -@@ -27,7 +27,7 @@ +@@ -21,7 +21,7 @@ #include "ui/ozone/public/ozone_platform.h" #endif -#if defined(USE_OZONE) || defined(OS_LINUX) || defined(OS_CHROMEOS) +#if defined(USE_OZONE) || defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD) #include "gpu/ipc/common/gpu_memory_buffer_impl_native_pixmap.h" #endif -@@ -53,7 +53,7 @@ GpuMemoryBufferSupport::GpuMemoryBufferSupport() { - return; - } - #endif --#if defined(OS_LINUX) || defined(OS_CHROMEOS) -+#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD) - client_native_pixmap_factory_.reset( - gfx::CreateClientNativePixmapFactoryDmabuf()); - #endif -@@ -67,7 +67,7 @@ GpuMemoryBufferSupport::GetNativeGpuMemoryBufferType() +@@ -50,7 +50,7 @@ GpuMemoryBufferSupport::GetNativeGpuMemoryBufferType() return gfx::IO_SURFACE_BUFFER; #elif defined(OS_ANDROID) return gfx::ANDROID_HARDWARE_BUFFER; -#elif defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(USE_OZONE) -+#elif defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD) || defined(USE_OZONE) ++#elif defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(USE_OZONE) || defined(OS_BSD) return gfx::NATIVE_PIXMAP; #elif defined(OS_WIN) return gfx::DXGI_SHARED_HANDLE; -@@ -208,7 +208,7 @@ GpuMemoryBufferSupport::CreateGpuMemoryBufferImplFromH - return GpuMemoryBufferImplIOSurface::CreateFromHandle( - std::move(handle), size, format, usage, std::move(callback)); - #endif --#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(USE_OZONE) -+#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD) || defined(USE_OZONE) - case gfx::NATIVE_PIXMAP: - return GpuMemoryBufferImplNativePixmap::CreateFromHandle( - client_native_pixmap_factory(), std::move(handle), size, format, diff --git a/www/chromium/files/patch-gpu_ipc_common_gpu__memory__buffer__support.h b/www/chromium/files/patch-gpu_ipc_common_gpu__memory__buffer__support.h index bba3248909cd..2e18faa9add8 100644 --- a/www/chromium/files/patch-gpu_ipc_common_gpu__memory__buffer__support.h +++ b/www/chromium/files/patch-gpu_ipc_common_gpu__memory__buffer__support.h @@ -1,29 +1,11 @@ ---- gpu/ipc/common/gpu_memory_buffer_support.h.orig 2021-12-14 11:45:06 UTC +--- gpu/ipc/common/gpu_memory_buffer_support.h.orig 2022-02-07 13:39:41 UTC +++ gpu/ipc/common/gpu_memory_buffer_support.h -@@ -18,7 +18,7 @@ +@@ -17,7 +17,7 @@ #include "ui/gfx/geometry/size.h" #include "ui/gfx/gpu_memory_buffer.h" -#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(USE_OZONE) -+#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD) || defined(USE_OZONE) ++#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(USE_OZONE) || defined(OS_BSD) namespace gfx { class ClientNativePixmapFactory; } -@@ -46,7 +46,7 @@ class GPU_EXPORT GpuMemoryBufferSupport { - bool IsNativeGpuMemoryBufferConfigurationSupported(gfx::BufferFormat format, - gfx::BufferUsage usage); - --#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(USE_OZONE) -+#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD) || defined(USE_OZONE) - gfx::ClientNativePixmapFactory* client_native_pixmap_factory() { - return client_native_pixmap_factory_.get(); - } -@@ -74,7 +74,7 @@ class GPU_EXPORT GpuMemoryBufferSupport { - scoped_refptr pool = nullptr); - - private: --#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(USE_OZONE) -+#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD) || defined(USE_OZONE) - std::unique_ptr client_native_pixmap_factory_; - #endif - }; diff --git a/www/chromium/files/patch-gpu_ipc_service_gpu__init.cc b/www/chromium/files/patch-gpu_ipc_service_gpu__init.cc index 06b90f4eef76..bd779592117a 100644 --- a/www/chromium/files/patch-gpu_ipc_service_gpu__init.cc +++ b/www/chromium/files/patch-gpu_ipc_service_gpu__init.cc @@ -1,137 +1,83 @@ ---- gpu/ipc/service/gpu_init.cc.orig 2021-12-31 00:57:34 UTC +--- gpu/ipc/service/gpu_init.cc.orig 2022-02-07 13:39:41 UTC +++ gpu/ipc/service/gpu_init.cc -@@ -123,7 +123,7 @@ void InitializePlatformOverlaySettings(GPUInfo* gpu_in +@@ -122,7 +122,7 @@ void InitializePlatformOverlaySettings(GPUInfo* gpu_in } #if BUILDFLAG(IS_CHROMEOS_LACROS) || \ - (defined(OS_LINUX) && !BUILDFLAG(IS_CHROMECAST)) -+ (defined(OS_LINUX) && !BUILDFLAG(IS_CHROMECAST)) || defined(OS_BSD) ++ (defined(OS_LINUX) && !BUILDFLAG(IS_CHROMECAST)) && !defined(OS_BSD) bool CanAccessNvidiaDeviceFile() { bool res = true; base::ScopedBlockingCall scoped_blocking_call(FROM_HERE, -@@ -134,7 +134,7 @@ bool CanAccessNvidiaDeviceFile() { - } - return res; - } --#endif // BUILDFLAG(IS_CHROMEOS_LACROS) || (defined(OS_LINUX) && -+#endif // BUILDFLAG(IS_CHROMEOS_LACROS) || defined(OS_BSD) || (defined(OS_LINUX) && - // !BUILDFLAG(IS_CHROMECAST)) - - class GpuWatchdogInit { -@@ -221,7 +221,7 @@ bool GpuInit::InitializeAndStartSandbox(base::CommandL +@@ -220,7 +220,7 @@ bool GpuInit::InitializeAndStartSandbox(base::CommandL device_perf_info_ = device_perf_info; } -#if defined(OS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS) -+#if defined(OS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS) || defined(OS_BSD) ++#if defined(OS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS) && !defined(OS_BSD) if (gpu_info_.gpu.vendor_id == 0x10de && // NVIDIA gpu_info_.gpu.driver_vendor == "NVIDIA" && !CanAccessNvidiaDeviceFile()) return false; -@@ -285,7 +285,7 @@ bool GpuInit::InitializeAndStartSandbox(base::CommandL +@@ -284,7 +284,7 @@ bool GpuInit::InitializeAndStartSandbox(base::CommandL delayed_watchdog_enable = true; #endif -#if defined(OS_LINUX) || defined(OS_CHROMEOS) +#if defined(OS_LINUX) || defined(OS_CHROMEOS) || 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. -@@ -325,7 +325,7 @@ bool GpuInit::InitializeAndStartSandbox(base::CommandL +@@ -324,7 +324,7 @@ bool GpuInit::InitializeAndStartSandbox(base::CommandL } bool attempted_startsandbox = false; -#if defined(OS_LINUX) || defined(OS_CHROMEOS) +#if defined(OS_LINUX) || defined(OS_CHROMEOS) || 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. -@@ -334,7 +334,7 @@ bool GpuInit::InitializeAndStartSandbox(base::CommandL - watchdog_thread_.get(), &gpu_info_, gpu_preferences_); - attempted_startsandbox = true; - } --#endif // defined(OS_LINUX) || defined(OS_CHROMEOS) -+#endif // defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD) - - base::TimeTicks before_initialize_one_off = base::TimeTicks::Now(); - -@@ -376,7 +376,7 @@ bool GpuInit::InitializeAndStartSandbox(base::CommandL +@@ -373,7 +373,7 @@ bool GpuInit::InitializeAndStartSandbox(base::CommandL } if (gl_initialized && gl_use_swiftshader_ && !gl::IsSoftwareGLImplementation(gl::GetGLImplementationParts())) { -#if defined(OS_LINUX) || defined(OS_CHROMEOS) +#if defined(OS_LINUX) || defined(OS_CHROMEOS) || 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 - SaveHardwareGpuInfoAndGpuFeatureInfo(); - gl::init::ShutdownGL(true); - gl_initialized = false; --#endif // defined(OS_LINUX) || defined(OS_CHROMEOS) -+#endif // defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD) - } - - if (!gl_initialized) { -@@ -410,7 +410,7 @@ bool GpuInit::InitializeAndStartSandbox(base::CommandL +@@ -407,7 +407,7 @@ bool GpuInit::InitializeAndStartSandbox(base::CommandL } } -#if defined(OS_LINUX) || defined(OS_CHROMEOS) +#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD) // The ContentSandboxHelper is currently the only one implementation of // GpuSandboxHelper and it has no dependency. Except on Linux where // VaapiWrapper checks the GL implementation to determine which display -@@ -477,7 +477,7 @@ bool GpuInit::InitializeAndStartSandbox(base::CommandL +@@ -474,7 +474,7 @@ bool GpuInit::InitializeAndStartSandbox(base::CommandL command_line, gpu_feature_info_, gpu_preferences_.disable_software_rasterizer, false); if (gl_use_swiftshader_) { -#if defined(OS_LINUX) || defined(OS_CHROMEOS) +#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD) VLOG(1) << "Quit GPU process launch to fallback to SwiftShader cleanly " << "on Linux"; return false; -@@ -492,7 +492,7 @@ bool GpuInit::InitializeAndStartSandbox(base::CommandL - << "failed"; - return false; - } --#endif // defined(OS_LINUX) || defined(OS_CHROMEOS) -+#endif // defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD) - } - } else { // gl_use_swiftshader_ == true - switch (gpu_preferences_.use_vulkan) { -@@ -568,7 +568,7 @@ bool GpuInit::InitializeAndStartSandbox(base::CommandL +@@ -575,7 +575,7 @@ bool GpuInit::InitializeAndStartSandbox(base::CommandL InitializePlatformOverlaySettings(&gpu_info_, gpu_feature_info_); -#if defined(OS_LINUX) || defined(OS_CHROMEOS) +#if defined(OS_LINUX) || defined(OS_CHROMEOS) || 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. -@@ -587,7 +587,7 @@ bool GpuInit::InitializeAndStartSandbox(base::CommandL - return false; - } - } --#endif // defined(OS_LINUX) || defined(OS_CHROMEOS) -+#endif // defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD) - - if (gl_use_swiftshader_) { - AdjustInfoToSwiftShader(); -@@ -810,7 +810,7 @@ void GpuInit::InitializeInProcess(base::CommandLine* c +@@ -813,7 +813,7 @@ void GpuInit::InitializeInProcess(base::CommandLine* c InitializePlatformOverlaySettings(&gpu_info_, gpu_feature_info_); -#if defined(OS_LINUX) || defined(OS_CHROMEOS) +#if defined(OS_LINUX) || defined(OS_CHROMEOS) || 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. -@@ -831,7 +831,7 @@ void GpuInit::InitializeInProcess(base::CommandLine* c - } - } - } --#endif // defined(OS_LINUX) || defined(OS_CHROMEOS) -+#endif // defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD) - - if (gl_use_swiftshader_) { - AdjustInfoToSwiftShader(); diff --git a/www/chromium/files/patch-gpu_ipc_service_gpu__watchdog__thread.cc b/www/chromium/files/patch-gpu_ipc_service_gpu__watchdog__thread.cc deleted file mode 100644 index 14afbe252fb6..000000000000 --- a/www/chromium/files/patch-gpu_ipc_service_gpu__watchdog__thread.cc +++ /dev/null @@ -1,47 +0,0 @@ ---- gpu/ipc/service/gpu_watchdog_thread.cc.orig 2022-01-20 10:35:58 UTC -+++ gpu/ipc/service/gpu_watchdog_thread.cc -@@ -88,7 +88,7 @@ GpuWatchdogThread::GpuWatchdogThread(base::TimeDelta t - } - #endif - --#if defined(USE_X11) -+#if defined(USE_X11) && !defined(OS_BSD) - tty_file_ = base::OpenFile( - base::FilePath(FILE_PATH_LITERAL("/sys/class/tty/tty0/active")), "r"); - UpdateActiveTTY(); -@@ -116,7 +116,7 @@ GpuWatchdogThread::~GpuWatchdogThread() { - CloseHandle(watched_thread_handle_); - #endif - --#if defined(USE_X11) -+#if defined(USE_X11) && !defined(OS_BSD) - if (tty_file_) - fclose(tty_file_); - #endif -@@ -451,7 +451,7 @@ void GpuWatchdogThread::OnWatchdogTimeout() { - if (foregrounded_event_) - num_of_timeout_after_foregrounded_++; - --#if defined(USE_X11) -+#if defined(USE_X11) && !defined(OS_BSD) - UpdateActiveTTY(); - #endif - -@@ -719,7 +719,7 @@ bool GpuWatchdogThread::WithinOneMinFromForegrounded() - return foregrounded_event_ && num_of_timeout_after_foregrounded_ <= count; - } - --#if defined(USE_X11) -+#if defined(USE_X11) && !defined(OS_BSD) - void GpuWatchdogThread::UpdateActiveTTY() { - last_active_tty_ = active_tty_; - -@@ -736,7 +736,7 @@ void GpuWatchdogThread::UpdateActiveTTY() { - #endif - - bool GpuWatchdogThread::ContinueOnNonHostX11ServerTty() { --#if defined(USE_X11) -+#if defined(USE_X11) && !defined(OS_BSD) - if (host_tty_ == -1 || active_tty_ == -1) - return false; - diff --git a/www/chromium/files/patch-gpu_ipc_service_gpu__watchdog__thread.h b/www/chromium/files/patch-gpu_ipc_service_gpu__watchdog__thread.h deleted file mode 100644 index bd718d460c37..000000000000 --- a/www/chromium/files/patch-gpu_ipc_service_gpu__watchdog__thread.h +++ /dev/null @@ -1,20 +0,0 @@ ---- gpu/ipc/service/gpu_watchdog_thread.h.orig 2022-01-20 10:35:58 UTC -+++ gpu/ipc/service/gpu_watchdog_thread.h -@@ -192,7 +192,7 @@ class GPU_IPC_SERVICE_EXPORT GpuWatchdogThread - bool WithinOneMinFromPowerResumed(); - bool WithinOneMinFromForegrounded(); - --#if defined(USE_X11) -+#if defined(USE_X11) && !defined(OS_BSD) - void UpdateActiveTTY(); - #endif - // The watchdog continues when it's not on the TTY of our host X11 server. -@@ -264,7 +264,7 @@ class GPU_IPC_SERVICE_EXPORT GpuWatchdogThread - bool less_than_full_thread_time_after_capped_ = false; - #endif - --#if defined(USE_X11) -+#if defined(USE_X11) && !defined(OS_BSD) - FILE* tty_file_ = nullptr; - int host_tty_ = -1; - int active_tty_ = -1; diff --git a/www/chromium/files/patch-gpu_ipc_service_x__util.h b/www/chromium/files/patch-gpu_ipc_service_x__util.h new file mode 100644 index 000000000000..e4b7ffb44ab7 --- /dev/null +++ b/www/chromium/files/patch-gpu_ipc_service_x__util.h @@ -0,0 +1,16 @@ +--- gpu/ipc/service/x_util.h.orig 2022-02-07 13:39:41 UTC ++++ gpu/ipc/service/x_util.h +@@ -11,11 +11,11 @@ + #include "build/build_config.h" + #include "gpu/ipc/service/gpu_config.h" + +-#if defined(OS_LINUX) ++#if defined(OS_LINUX) || defined(OS_BSD) + #include "ui/ozone/buildflags.h" + #endif + +-#if defined(OS_LINUX) ++#if defined(OS_LINUX) || defined(OS_BSD) + #if BUILDFLAG(OZONE_PLATFORM_X11) + + namespace gpu { diff --git a/www/chromium/files/patch-gpu_vulkan_vulkan__device__queue.cc b/www/chromium/files/patch-gpu_vulkan_vulkan__device__queue.cc index 7cd44e3f131c..927bc47e895e 100644 --- a/www/chromium/files/patch-gpu_vulkan_vulkan__device__queue.cc +++ b/www/chromium/files/patch-gpu_vulkan_vulkan__device__queue.cc @@ -1,11 +1,20 @@ ---- gpu/vulkan/vulkan_device_queue.cc.orig 2022-01-21 13:34:10 UTC +--- gpu/vulkan/vulkan_device_queue.cc.orig 2022-02-07 13:39:41 UTC +++ gpu/vulkan/vulkan_device_queue.cc -@@ -80,7 +80,7 @@ bool VulkanDeviceQueue::Initialize( +@@ -85,7 +85,7 @@ bool VulkanDeviceQueue::Initialize( // In dual-CPU cases, we cannot detect the active GPU correctly on Linux, // so don't select GPU device based on the |gpu_info|. -#if !defined(OS_LINUX) +#if !defined(OS_LINUX) && !defined(OS_BSD) // If gpu_info is provided, the device should match it. if (gpu_info && (device_properties.vendorID != gpu_info->gpu.vendor_id || device_properties.deviceID != gpu_info->gpu.device_id)) { +@@ -230,7 +230,7 @@ bool VulkanDeviceQueue::Initialize( + enabled_device_features_2_ = {VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FEATURES_2}; + + // Android, Fuchsia, and Linux(VaapiVideoDecoder) need YCbCr sampler support. +-#if defined(OS_ANDROID) || defined(OS_FUCHSIA) || defined(OS_LINUX) ++#if defined(OS_ANDROID) || defined(OS_FUCHSIA) || defined(OS_LINUX) || defined(OS_BSD) + if (!physical_device_info.feature_sampler_ycbcr_conversion) { + LOG(ERROR) << "samplerYcbcrConversion is not supported."; + return false; diff --git a/www/chromium/files/patch-gpu_vulkan_vulkan__device__queue.h b/www/chromium/files/patch-gpu_vulkan_vulkan__device__queue.h new file mode 100644 index 000000000000..1b866b529c0f --- /dev/null +++ b/www/chromium/files/patch-gpu_vulkan_vulkan__device__queue.h @@ -0,0 +1,11 @@ +--- gpu/vulkan/vulkan_device_queue.h.orig 2022-02-07 13:39:41 UTC ++++ gpu/vulkan/vulkan_device_queue.h +@@ -153,7 +153,7 @@ class COMPONENT_EXPORT(VULKAN) VulkanDeviceQueue { + + bool allow_protected_memory_ = false; + +-#if defined(OS_ANDROID) || defined(OS_FUCHSIA) || defined(OS_LINUX) ++#if defined(OS_ANDROID) || defined(OS_FUCHSIA) || defined(OS_LINUX) || defined(OS_BSD) + VkPhysicalDeviceSamplerYcbcrConversionFeatures + sampler_ycbcr_conversion_features_{ + VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SAMPLER_YCBCR_CONVERSION_FEATURES}; diff --git a/www/chromium/files/patch-gpu_vulkan_vulkan__function__pointers.cc b/www/chromium/files/patch-gpu_vulkan_vulkan__function__pointers.cc index 8f528127340f..e605e0ce5a0d 100644 --- a/www/chromium/files/patch-gpu_vulkan_vulkan__function__pointers.cc +++ b/www/chromium/files/patch-gpu_vulkan_vulkan__function__pointers.cc @@ -1,56 +1,29 @@ ---- gpu/vulkan/vulkan_function_pointers.cc.orig 2021-12-14 11:45:06 UTC +--- gpu/vulkan/vulkan_function_pointers.cc.orig 2022-02-07 13:39:41 UTC +++ gpu/vulkan/vulkan_function_pointers.cc -@@ -906,7 +906,7 @@ bool VulkanFunctionPointers::BindDeviceFunctionPointer +@@ -912,7 +912,7 @@ bool VulkanFunctionPointers::BindDeviceFunctionPointer } #endif // defined(OS_ANDROID) -#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_ANDROID) +#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_ANDROID) || defined(OS_BSD) if (gfx::HasExtension(enabled_extensions, VK_KHR_EXTERNAL_SEMAPHORE_FD_EXTENSION_NAME)) { vkGetSemaphoreFdKHR = reinterpret_cast( -@@ -925,7 +925,7 @@ bool VulkanFunctionPointers::BindDeviceFunctionPointer - return false; - } - } --#endif // defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_ANDROID) -+#endif // defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_ANDROID) || defined(OS_BSD) - - #if defined(OS_WIN) - if (gfx::HasExtension(enabled_extensions, -@@ -950,7 +950,7 @@ bool VulkanFunctionPointers::BindDeviceFunctionPointer +@@ -956,7 +956,7 @@ bool VulkanFunctionPointers::BindDeviceFunctionPointer } #endif // defined(OS_WIN) -#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_ANDROID) +#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_ANDROID) || defined(OS_BSD) if (gfx::HasExtension(enabled_extensions, VK_KHR_EXTERNAL_MEMORY_FD_EXTENSION_NAME)) { vkGetMemoryFdKHR = reinterpret_cast( -@@ -970,7 +970,7 @@ bool VulkanFunctionPointers::BindDeviceFunctionPointer - return false; - } - } --#endif // defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_ANDROID) -+#endif // defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_ANDROID) || defined(OS_BSD) - - #if defined(OS_WIN) - if (gfx::HasExtension(enabled_extensions, -@@ -1120,7 +1120,7 @@ bool VulkanFunctionPointers::BindDeviceFunctionPointer +@@ -1126,7 +1126,7 @@ bool VulkanFunctionPointers::BindDeviceFunctionPointer } } -#if defined(OS_LINUX) || defined(OS_CHROMEOS) +#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD) if (gfx::HasExtension(enabled_extensions, VK_EXT_IMAGE_DRM_FORMAT_MODIFIER_EXTENSION_NAME)) { vkGetImageDrmFormatModifierPropertiesEXT = -@@ -1133,7 +1133,7 @@ bool VulkanFunctionPointers::BindDeviceFunctionPointer - return false; - } - } --#endif // defined(OS_LINUX) || defined(OS_CHROMEOS) -+#endif // defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD) - - return true; - } diff --git a/www/chromium/files/patch-gpu_vulkan_vulkan__function__pointers.h b/www/chromium/files/patch-gpu_vulkan_vulkan__function__pointers.h index 196d90be0302..598a8d7e5f70 100644 --- a/www/chromium/files/patch-gpu_vulkan_vulkan__function__pointers.h +++ b/www/chromium/files/patch-gpu_vulkan_vulkan__function__pointers.h @@ -1,96 +1,63 @@ ---- gpu/vulkan/vulkan_function_pointers.h.orig 2021-09-14 01:51:58 UTC +--- gpu/vulkan/vulkan_function_pointers.h.orig 2022-02-07 13:39:41 UTC +++ gpu/vulkan/vulkan_function_pointers.h -@@ -242,10 +242,10 @@ struct COMPONENT_EXPORT(VULKAN) VulkanFunctionPointers +@@ -243,7 +243,7 @@ struct COMPONENT_EXPORT(VULKAN) VulkanFunctionPointers vkGetAndroidHardwareBufferPropertiesANDROID; #endif // defined(OS_ANDROID) -#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_ANDROID) +#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_ANDROID) || defined(OS_BSD) VulkanFunction vkGetSemaphoreFdKHR; VulkanFunction vkImportSemaphoreFdKHR; --#endif // defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_ANDROID) -+#endif // defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_ANDROID) || defined(OS_BSD) - - #if defined(OS_WIN) - VulkanFunction vkGetSemaphoreWin32HandleKHR; -@@ -253,10 +253,10 @@ struct COMPONENT_EXPORT(VULKAN) VulkanFunctionPointers + #endif // defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_ANDROID) +@@ -254,7 +254,7 @@ struct COMPONENT_EXPORT(VULKAN) VulkanFunctionPointers vkImportSemaphoreWin32HandleKHR; #endif // defined(OS_WIN) -#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_ANDROID) +#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_ANDROID) || defined(OS_BSD) VulkanFunction vkGetMemoryFdKHR; VulkanFunction vkGetMemoryFdPropertiesKHR; --#endif // defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_ANDROID) -+#endif // defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_ANDROID) || defined(OS_BSD) - - #if defined(OS_WIN) - VulkanFunction vkGetMemoryWin32HandleKHR; -@@ -293,10 +293,10 @@ struct COMPONENT_EXPORT(VULKAN) VulkanFunctionPointers + #endif // defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_ANDROID) +@@ -294,7 +294,7 @@ struct COMPONENT_EXPORT(VULKAN) VulkanFunctionPointers VulkanFunction vkGetSwapchainImagesKHR; VulkanFunction vkQueuePresentKHR; -#if defined(OS_LINUX) || defined(OS_CHROMEOS) +#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD) VulkanFunction vkGetImageDrmFormatModifierPropertiesEXT; --#endif // defined(OS_LINUX) || defined(OS_CHROMEOS) -+#endif // defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD) - }; - - } // namespace gpu -@@ -1008,7 +1008,7 @@ ALWAYS_INLINE VkResult vkGetAndroidHardwareBufferPrope + #endif // defined(OS_LINUX) || defined(OS_CHROMEOS) +@@ -1009,7 +1009,7 @@ ALWAYS_INLINE VkResult vkGetAndroidHardwareBufferPrope } #endif // defined(OS_ANDROID) -#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_ANDROID) +#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_ANDROID) || defined(OS_BSD) ALWAYS_INLINE VkResult vkGetSemaphoreFdKHR(VkDevice device, const VkSemaphoreGetFdInfoKHR* pGetFdInfo, -@@ -1022,7 +1022,7 @@ ALWAYS_INLINE VkResult vkImportSemaphoreFdKHR( - return gpu::GetVulkanFunctionPointers()->vkImportSemaphoreFdKHR( - device, pImportSemaphoreFdInfo); - } --#endif // defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_ANDROID) -+#endif // defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_ANDROID) || defined(OS_BSD) - - #if defined(OS_WIN) - ALWAYS_INLINE VkResult vkGetSemaphoreWin32HandleKHR( -@@ -1041,7 +1041,7 @@ vkImportSemaphoreWin32HandleKHR(VkDevice device, +@@ -1042,7 +1042,7 @@ vkImportSemaphoreWin32HandleKHR(VkDevice device, } #endif // defined(OS_WIN) -#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_ANDROID) +#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_ANDROID) || defined(OS_BSD) ALWAYS_INLINE VkResult vkGetMemoryFdKHR(VkDevice device, const VkMemoryGetFdInfoKHR* pGetFdInfo, int* pFd) { -@@ -1056,7 +1056,7 @@ vkGetMemoryFdPropertiesKHR(VkDevice device, - return gpu::GetVulkanFunctionPointers()->vkGetMemoryFdPropertiesKHR( - device, handleType, fd, pMemoryFdProperties); - } --#endif // defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_ANDROID) -+#endif // defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_ANDROID) || defined(OS_BSD) - - #if defined(OS_WIN) - ALWAYS_INLINE VkResult vkGetMemoryWin32HandleKHR( -@@ -1151,7 +1151,7 @@ ALWAYS_INLINE VkResult vkQueuePresentKHR(VkQueue queue +@@ -1152,7 +1152,7 @@ ALWAYS_INLINE VkResult vkQueuePresentKHR(VkQueue queue pPresentInfo); } -#if defined(OS_LINUX) || defined(OS_CHROMEOS) +#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD) ALWAYS_INLINE VkResult vkGetImageDrmFormatModifierPropertiesEXT( VkDevice device, VkImage image, -@@ -1159,6 +1159,6 @@ ALWAYS_INLINE VkResult vkGetImageDrmFormatModifierProp - return gpu::GetVulkanFunctionPointers() - ->vkGetImageDrmFormatModifierPropertiesEXT(device, image, pProperties); +@@ -1162,4 +1162,4 @@ ALWAYS_INLINE VkResult vkGetImageDrmFormatModifierProp } --#endif // defined(OS_LINUX) || defined(OS_CHROMEOS) -+#endif // defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD) + #endif // defined(OS_LINUX) || defined(OS_CHROMEOS) -#endif // GPU_VULKAN_VULKAN_FUNCTION_POINTERS_H_ \ No newline at end of file +#endif // GPU_VULKAN_VULKAN_FUNCTION_POINTERS_H_ diff --git a/www/chromium/files/patch-gpu_vulkan_vulkan__image.cc b/www/chromium/files/patch-gpu_vulkan_vulkan__image.cc index 43fae053a0c2..b63c4b9ea1b0 100644 --- a/www/chromium/files/patch-gpu_vulkan_vulkan__image.cc +++ b/www/chromium/files/patch-gpu_vulkan_vulkan__image.cc @@ -1,11 +1,11 @@ ---- gpu/vulkan/vulkan_image.cc.orig 2021-09-14 01:51:58 UTC +--- gpu/vulkan/vulkan_image.cc.orig 2022-02-07 13:39:41 UTC +++ gpu/vulkan/vulkan_image.cc -@@ -326,7 +326,7 @@ bool VulkanImage::InitializeWithExternalMemory( +@@ -325,7 +325,7 @@ bool VulkanImage::InitializeWithExternalMemory( // TODO(crbug.com/1052397): Revisit once build flag switch of lacros-chrome is // complete. -#if defined(OS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS) +#if defined(OS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS) || defined(OS_BSD) VkPhysicalDeviceImageDrmFormatModifierInfoEXT modifier_info = { .sType = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_DRM_FORMAT_MODIFIER_INFO_EXT, diff --git a/www/chromium/files/patch-gpu_vulkan_vulkan__image.h b/www/chromium/files/patch-gpu_vulkan_vulkan__image.h index 842790f888f5..f3517366d38e 100644 --- a/www/chromium/files/patch-gpu_vulkan_vulkan__image.h +++ b/www/chromium/files/patch-gpu_vulkan_vulkan__image.h @@ -1,20 +1,20 @@ ---- gpu/vulkan/vulkan_image.h.orig 2021-09-14 01:51:58 UTC +--- gpu/vulkan/vulkan_image.h.orig 2022-02-07 13:39:41 UTC +++ gpu/vulkan/vulkan_image.h -@@ -85,7 +85,7 @@ class COMPONENT_EXPORT(VULKAN) VulkanImage { +@@ -86,7 +86,7 @@ class COMPONENT_EXPORT(VULKAN) VulkanImage { VkImageUsageFlags usage, VkImageCreateFlags flags); -#if defined(OS_LINUX) || defined(OS_CHROMEOS) +#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD) static std::unique_ptr CreateWithExternalMemoryAndModifiers( VulkanDeviceQueue* device_queue, const gfx::Size& size, -@@ -168,7 +168,7 @@ class COMPONENT_EXPORT(VULKAN) VulkanImage { +@@ -169,7 +169,7 @@ class COMPONENT_EXPORT(VULKAN) VulkanImage { VkImageTiling image_tiling, uint32_t queue_family_index); -#if defined(OS_LINUX) || defined(OS_CHROMEOS) +#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD) bool InitializeWithExternalMemoryAndModifiers(VulkanDeviceQueue* device_queue, const gfx::Size& size, VkFormat format, diff --git a/www/chromium/files/patch-gpu_vulkan_x_vulkan__implementation__x11.cc b/www/chromium/files/patch-gpu_vulkan_x_vulkan__implementation__x11.cc new file mode 100644 index 000000000000..07cb63f7e4e8 --- /dev/null +++ b/www/chromium/files/patch-gpu_vulkan_x_vulkan__implementation__x11.cc @@ -0,0 +1,14 @@ +--- gpu/vulkan/x/vulkan_implementation_x11.cc.orig 2022-02-07 13:39:41 UTC ++++ gpu/vulkan/x/vulkan_implementation_x11.cc +@@ -72,7 +72,11 @@ bool VulkanImplementationX11::InitializeVulkanInstance + + path = path.Append("libvk_swiftshader.so"); + } else { ++#if defined(OS_BSD) ++ path = base::FilePath("libvulkan.so"); ++#else + path = base::FilePath("libvulkan.so.1"); ++#endif + } + + VulkanFunctionPointers* vulkan_function_pointers = diff --git a/www/chromium/files/patch-headless_BUILD.gn b/www/chromium/files/patch-headless_BUILD.gn deleted file mode 100644 index f8fe2192dfc3..000000000000 --- a/www/chromium/files/patch-headless_BUILD.gn +++ /dev/null @@ -1,56 +0,0 @@ ---- headless/BUILD.gn.orig 2021-12-31 00:57:34 UTC -+++ headless/BUILD.gn -@@ -290,7 +290,7 @@ source_set("headless_shared_sources") { - sources += generated_devtools_api - sources += get_target_outputs(":protocol_sources") - -- if (!is_fuchsia) { -+ if (!is_fuchsia && !is_bsd) { - sources += [ - "lib/headless_crash_reporter_client.cc", - "lib/headless_crash_reporter_client.h", -@@ -309,7 +309,7 @@ source_set("headless_shared_sources") { - "//url", - ] - -- if (!is_fuchsia) { -+ if (!is_fuchsia && !is_bsd) { - deps += [ - "//components/crash/content/browser", - "//components/crash/core/app", -@@ -499,7 +499,7 @@ component("headless_non_renderer") { - "//v8", - ] - -- if (!is_fuchsia) { -+ if (!is_fuchsia && !is_bsd) { - deps += [ - "//components/crash/content/browser", - "//components/crash/core/app", -@@ -642,7 +642,7 @@ if (!is_component_build) { - ] - } - -- if (is_mac || is_win || is_linux || is_chromeos) { -+ if ((is_mac || is_win || is_linux || is_chromeos) && !is_bsd) { - deps += [ "//components/crash/core/app" ] - } - } -@@ -887,7 +887,7 @@ static_library("headless_shell_lib") { - public_deps += [ ":headless_non_renderer" ] - } - -- if (!is_fuchsia) { -+ if (!is_fuchsia && !is_bsd) { - deps += [ "//components/crash/content/browser" ] - } - -@@ -918,7 +918,7 @@ static_library("headless_shell_lib") { - deps += [ "//components/os_crypt" ] - } - -- if (is_win || (is_posix && !is_mac)) { -+ if (is_win || (is_posix && !is_mac && !is_bsd)) { - deps += [ "//components/crash/core/app" ] - } - diff --git a/www/chromium/files/patch-headless_lib_browser_headless__content__browser__client.cc b/www/chromium/files/patch-headless_lib_browser_headless__content__browser__client.cc index 905c528c4b1b..6b0fa743ac51 100644 --- a/www/chromium/files/patch-headless_lib_browser_headless__content__browser__client.cc +++ b/www/chromium/files/patch-headless_lib_browser_headless__content__browser__client.cc @@ -1,11 +1,11 @@ ---- headless/lib/browser/headless_content_browser_client.cc.orig 2021-12-31 00:57:34 UTC +--- headless/lib/browser/headless_content_browser_client.cc.orig 2022-02-07 13:39:41 UTC +++ headless/lib/browser/headless_content_browser_client.cc -@@ -310,7 +310,7 @@ void HeadlessContentBrowserClient::AppendExtraCommandL - process_type, child_process_id); - } +@@ -230,7 +230,7 @@ HeadlessContentBrowserClient::GetGeneratedCodeCacheSet + return content::GeneratedCodeCacheSettings(true, 0, context->GetPath()); + } --#if defined(OS_LINUX) || defined(OS_CHROMEOS) -+#if defined(OS_LINUX) || defined(OS_CHROMEOS) || 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(sandbox::policy::switches::kNoSandbox)) { +-#if defined(OS_POSIX) && !defined(OS_MAC) ++#if defined(OS_POSIX) && !defined(OS_MAC) && !defined(OS_BSD) + void HeadlessContentBrowserClient::GetAdditionalMappedFilesForChildProcess( + const base::CommandLine& command_line, + int child_process_id, diff --git a/www/chromium/files/patch-headless_lib_browser_headless__content__browser__client.h b/www/chromium/files/patch-headless_lib_browser_headless__content__browser__client.h new file mode 100644 index 000000000000..8359b9a052d8 --- /dev/null +++ b/www/chromium/files/patch-headless_lib_browser_headless__content__browser__client.h @@ -0,0 +1,11 @@ +--- headless/lib/browser/headless_content_browser_client.h.orig 2022-02-07 13:39:41 UTC ++++ headless/lib/browser/headless_content_browser_client.h +@@ -48,7 +48,7 @@ class HeadlessContentBrowserClient : public content::C + override; + content::GeneratedCodeCacheSettings GetGeneratedCodeCacheSettings( + content::BrowserContext* context) override; +-#if defined(OS_POSIX) && !defined(OS_MAC) ++#if defined(OS_POSIX) && !defined(OS_MAC) && !defined(OS_BSD) + void GetAdditionalMappedFilesForChildProcess( + const base::CommandLine& command_line, + int child_process_id, diff --git a/www/chromium/files/patch-headless_lib_browser_headless__web__contents__impl.cc b/www/chromium/files/patch-headless_lib_browser_headless__web__contents__impl.cc index 6b8e4e8c8f88..a9ed6d98377f 100644 --- a/www/chromium/files/patch-headless_lib_browser_headless__web__contents__impl.cc +++ b/www/chromium/files/patch-headless_lib_browser_headless__web__contents__impl.cc @@ -1,11 +1,11 @@ ---- headless/lib/browser/headless_web_contents_impl.cc.orig 2021-09-14 01:51:58 UTC +--- headless/lib/browser/headless_web_contents_impl.cc.orig 2022-02-07 13:39:41 UTC +++ headless/lib/browser/headless_web_contents_impl.cc -@@ -59,7 +59,7 @@ namespace headless { +@@ -57,7 +57,7 @@ namespace headless { namespace { void UpdatePrefsFromSystemSettings(blink::RendererPreferences* prefs) { -#if defined(OS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS) || defined(OS_WIN) +#if defined(OS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS) || defined(OS_WIN) || defined(OS_BSD) content::UpdateFontRendererPreferencesFromSystemSettings(prefs); #endif diff --git a/www/chromium/files/patch-headless_lib_headless__content__main__delegate.cc b/www/chromium/files/patch-headless_lib_headless__content__main__delegate.cc deleted file mode 100644 index 5fea26959bea..000000000000 --- a/www/chromium/files/patch-headless_lib_headless__content__main__delegate.cc +++ /dev/null @@ -1,11 +0,0 @@ ---- headless/lib/headless_content_main_delegate.cc.orig 2021-12-14 11:45:07 UTC -+++ headless/lib/headless_content_main_delegate.cc -@@ -318,7 +318,7 @@ void HeadlessContentMainDelegate::InitCrashReporter( - const base::CommandLine& command_line) { - if (command_line.HasSwitch(::switches::kDisableBreakpad)) - return; --#if defined(OS_FUCHSIA) -+#if defined(OS_FUCHSIA) || defined(OS_BSD) - // TODO(crbug.com/1226159): Implement this when crash reporting/Breakpad are - // available in Fuchsia. - NOTIMPLEMENTED(); diff --git a/www/chromium/files/patch-headless_lib_headless__macros.h b/www/chromium/files/patch-headless_lib_headless__macros.h index ed7e86e7904d..01558c9ce926 100644 --- a/www/chromium/files/patch-headless_lib_headless__macros.h +++ b/www/chromium/files/patch-headless_lib_headless__macros.h @@ -1,13 +1,11 @@ ---- headless/lib/headless_macros.h.orig 2021-04-14 18:41:04 UTC +--- headless/lib/headless_macros.h.orig 2022-02-07 13:39:41 UTC +++ headless/lib/headless_macros.h -@@ -7,8 +7,8 @@ +@@ -7,7 +7,7 @@ #include "build/build_config.h" -#if defined(OS_POSIX) && !defined(OS_MAC) +#if defined(OS_POSIX) && !defined(OS_MAC) && !defined(OS_BSD) #define HEADLESS_USE_BREAKPAD --#endif // defined(OS_POSIX) && !defined(OS_MAC) -+#endif // defined(OS_POSIX) && !defined(OS_MAC) && !defined(OS_BSD) + #endif // defined(OS_POSIX) && !defined(OS_MAC) - #endif // HEADLESS_LIB_HEADLESS_MACROS_H_ diff --git a/www/chromium/files/patch-ipc_ipc__channel__common.cc b/www/chromium/files/patch-ipc_ipc__channel__common.cc index fafc6492e9ee..ff145e32967b 100644 --- a/www/chromium/files/patch-ipc_ipc__channel__common.cc +++ b/www/chromium/files/patch-ipc_ipc__channel__common.cc @@ -1,20 +1,11 @@ ---- ipc/ipc_channel_common.cc.orig 2021-04-14 18:41:05 UTC +--- ipc/ipc_channel_common.cc.orig 2022-02-07 13:39:41 UTC +++ ipc/ipc_channel_common.cc @@ -10,7 +10,7 @@ namespace IPC { -#if defined(OS_LINUX) || defined(OS_CHROMEOS) +#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD) namespace { int g_global_pid = 0; -@@ -26,7 +26,7 @@ int Channel::GetGlobalPid() { - return g_global_pid; - } - --#endif // defined(OS_LINUX) || defined(OS_CHROMEOS) -+#endif // defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD) - - // static - std::unique_ptr Channel::CreateClient( diff --git a/www/chromium/files/patch-ipc_ipc__channel__mojo.cc b/www/chromium/files/patch-ipc_ipc__channel__mojo.cc index bd3d40f22a3a..73249fbea14a 100644 --- a/www/chromium/files/patch-ipc_ipc__channel__mojo.cc +++ b/www/chromium/files/patch-ipc_ipc__channel__mojo.cc @@ -1,15 +1,11 @@ ---- ipc/ipc_channel_mojo.cc.orig 2021-09-14 01:51:58 UTC +--- ipc/ipc_channel_mojo.cc.orig 2022-02-07 13:39:41 UTC +++ ipc/ipc_channel_mojo.cc -@@ -112,10 +112,10 @@ class ThreadSafeChannelProxy : public mojo::ThreadSafe +@@ -112,7 +112,7 @@ class ThreadSafeChannelProxy : public mojo::ThreadSafe }; base::ProcessId GetSelfPID() { -#if defined(OS_LINUX) || defined(OS_CHROMEOS) +#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD) if (int global_pid = Channel::GetGlobalPid()) return global_pid; --#endif // defined(OS_LINUX) || defined(OS_CHROMEOS) -+#endif // defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD) - #if defined(OS_NACL) - return -1; - #else + #endif // defined(OS_LINUX) || defined(OS_CHROMEOS) diff --git a/www/chromium/files/patch-media_BUILD.gn b/www/chromium/files/patch-media_BUILD.gn index 0793472965b6..bbae2e9760e3 100644 --- a/www/chromium/files/patch-media_BUILD.gn +++ b/www/chromium/files/patch-media_BUILD.gn @@ -1,12 +1,12 @@ ---- media/BUILD.gn.orig 2021-12-14 11:45:07 UTC +--- media/BUILD.gn.orig 2022-02-07 13:39:41 UTC +++ media/BUILD.gn -@@ -72,6 +72,9 @@ config("media_config") { +@@ -75,6 +75,9 @@ config("media_config") { defines += [ "DLOPEN_PULSEAUDIO" ] } } + if (use_sndio) { + defines += [ "USE_SNDIO" ] + } if (use_cras) { defines += [ "USE_CRAS" ] } diff --git a/www/chromium/files/patch-media_audio_BUILD.gn b/www/chromium/files/patch-media_audio_BUILD.gn index 1ec5352e21d1..a36f2fe174eb 100644 --- a/www/chromium/files/patch-media_audio_BUILD.gn +++ b/www/chromium/files/patch-media_audio_BUILD.gn @@ -1,29 +1,24 @@ ---- media/audio/BUILD.gn.orig 2021-12-31 00:57:35 UTC +--- media/audio/BUILD.gn.orig 2022-02-07 13:39:41 UTC +++ media/audio/BUILD.gn -@@ -237,7 +237,7 @@ source_set("audio") { +@@ -237,9 +237,20 @@ source_set("audio") { ] } - if (is_linux || is_chromeos) { + if ((is_linux || is_chromeos) && !use_sndio) { sources += [ "linux/audio_manager_linux.cc" ] } - -@@ -302,6 +302,17 @@ source_set("audio") { - } else { - deps += [ ":libpulse_stubs" ] - } -+ } + + if (use_sndio) { + libs += [ "sndio" ] + sources += [ -+ "openbsd/audio_manager_openbsd.cc", ++ "sndio/audio_manager_sndio.cc", + "sndio/sndio_input.cc", + "sndio/sndio_input.h", + "sndio/sndio_output.cc", -+ "sndio/sndio_output.h", ++ "sndio/sndio_output.h" + ] - } ++ } - if (is_fuchsia) { + if (use_alsa) { + libs += [ "asound" ] diff --git a/www/chromium/files/patch-media_audio_alsa_audio__manager__alsa.cc b/www/chromium/files/patch-media_audio_alsa_audio__manager__alsa.cc deleted file mode 100644 index 54c380e5f318..000000000000 --- a/www/chromium/files/patch-media_audio_alsa_audio__manager__alsa.cc +++ /dev/null @@ -1,54 +0,0 @@ ---- media/audio/alsa/audio_manager_alsa.cc.orig 2021-04-14 18:41:05 UTC -+++ media/audio/alsa/audio_manager_alsa.cc -@@ -89,7 +89,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) { -@@ -101,7 +103,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, -@@ -184,7 +188,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; - } -@@ -206,7 +214,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++) { -@@ -230,7 +240,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/chromium/files/patch-media_audio_audio__features.cc b/www/chromium/files/patch-media_audio_audio__features.cc index 2101043b9d32..996b37a6b07c 100644 --- a/www/chromium/files/patch-media_audio_audio__features.cc +++ b/www/chromium/files/patch-media_audio_audio__features.cc @@ -1,11 +1,11 @@ ---- media/audio/audio_features.cc.orig 2021-04-14 18:41:05 UTC +--- media/audio/audio_features.cc.orig 2022-02-07 13:39:41 UTC +++ media/audio/audio_features.cc -@@ -12,7 +12,7 @@ namespace features { - // detected. It will be restarted when needed. +@@ -13,7 +13,7 @@ namespace features { const base::Feature kAudioServiceOutOfProcessKillAtHang{ "AudioServiceOutOfProcessKillAtHang", --#if defined(OS_WIN) || defined(OS_MAC) || defined(OS_LINUX) || \ -+#if defined(OS_WIN) || defined(OS_MAC) || defined(OS_LINUX) || defined(OS_BSD) || \ - defined(OS_CHROMEOS) + #if defined(OS_WIN) || defined(OS_MAC) || defined(OS_LINUX) || \ +- defined(OS_CHROMEOS) ++ defined(OS_CHROMEOS) || defined(OS_BSD) base::FEATURE_ENABLED_BY_DEFAULT #else + base::FEATURE_DISABLED_BY_DEFAULT diff --git a/www/chromium/files/patch-media_audio_audio__input__device.cc b/www/chromium/files/patch-media_audio_audio__input__device.cc index 1d6842a37e9f..dfc9bc78d53c 100644 --- a/www/chromium/files/patch-media_audio_audio__input__device.cc +++ b/www/chromium/files/patch-media_audio_audio__input__device.cc @@ -1,11 +1,11 @@ ---- media/audio/audio_input_device.cc.orig 2021-12-14 11:45:07 UTC +--- media/audio/audio_input_device.cc.orig 2022-02-07 13:39:41 UTC +++ media/audio/audio_input_device.cc -@@ -255,7 +255,7 @@ void AudioInputDevice::OnStreamCreated( +@@ -259,7 +259,7 @@ void AudioInputDevice::OnStreamCreated( // here. See comments in AliveChecker and PowerObserverHelper for details and // todos. if (detect_dead_stream_ == DeadStreamDetection::kEnabled) { -#if defined(OS_LINUX) || defined(OS_CHROMEOS) +#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD) const bool stop_at_first_alive_notification = true; const bool pause_check_during_suspend = false; #else diff --git a/www/chromium/files/patch-media_audio_audio__output__proxy__unittest.cc b/www/chromium/files/patch-media_audio_audio__output__proxy__unittest.cc deleted file mode 100644 index 6cddf663cbd7..000000000000 --- a/www/chromium/files/patch-media_audio_audio__output__proxy__unittest.cc +++ /dev/null @@ -1,11 +0,0 @@ ---- media/audio/audio_output_proxy_unittest.cc.orig 2021-04-14 18:41:05 UTC -+++ media/audio/audio_output_proxy_unittest.cc -@@ -412,7 +412,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(NULL))); -+ .WillRepeatedly(Return(static_cast(NULL))); - - EXPECT_CALL(callback_, OnError(_)).Times(2); - diff --git a/www/chromium/files/patch-media_audio_sndio_audio__manager__sndio.cc b/www/chromium/files/patch-media_audio_sndio_audio__manager__sndio.cc new file mode 100644 index 000000000000..6714e1ab446d --- /dev/null +++ b/www/chromium/files/patch-media_audio_sndio_audio__manager__sndio.cc @@ -0,0 +1,180 @@ +--- media/audio/sndio/audio_manager_sndio.cc.orig 2022-02-07 13:39:41 UTC ++++ media/audio/sndio/audio_manager_sndio.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/sndio/audio_manager_sndio.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 SndioAudioIO { ++ 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 AudioManagerSndio::HasAudioOutputDevices() { ++ return true; ++} ++ ++bool AudioManagerSndio::HasAudioInputDevices() { ++ return true; ++} ++ ++void AudioManagerSndio::GetAudioInputDeviceNames( ++ AudioDeviceNames* device_names) { ++ DCHECK(device_names->empty()); ++ AddDefaultDevice(device_names); ++} ++ ++void AudioManagerSndio::GetAudioOutputDeviceNames( ++ AudioDeviceNames* device_names) { ++ AddDefaultDevice(device_names); ++} ++ ++#if defined(USE_SNDIO) ++const char* AudioManagerSndio::GetName() { ++ return "SNDIO"; ++} ++#endif ++ ++AudioParameters AudioManagerSndio::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); ++} ++ ++AudioManagerSndio::AudioManagerSndio(std::unique_ptr audio_thread, ++ AudioLogFactory* audio_log_factory) ++ : AudioManagerBase(std::move(audio_thread), ++ audio_log_factory) { ++ DLOG(WARNING) << "AudioManagerSndio"; ++ SetMaxOutputStreamsAllowed(kMaxOutputStreams); ++} ++ ++AudioManagerSndio::~AudioManagerSndio() { ++ Shutdown(); ++} ++ ++AudioOutputStream* AudioManagerSndio::MakeLinearOutputStream( ++ const AudioParameters& params, ++ const LogCallback& log_callback) { ++ DCHECK_EQ(AudioParameters::AUDIO_PCM_LINEAR, params.format()); ++ return MakeOutputStream(params); ++} ++ ++AudioOutputStream* AudioManagerSndio::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* AudioManagerSndio::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* AudioManagerSndio::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 AudioManagerSndio::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* AudioManagerSndio::MakeInputStream( ++ const AudioParameters& params) { ++ DLOG(WARNING) << "MakeInputStream"; ++ return new SndioAudioInputStream(this, ++ AudioDeviceDescription::kDefaultDeviceId, params); ++} ++ ++AudioOutputStream* AudioManagerSndio::MakeOutputStream( ++ const AudioParameters& params) { ++ DLOG(WARNING) << "MakeOutputStream"; ++ return new SndioAudioOutputStream(params, this); ++} ++#endif ++ ++std::unique_ptr CreateAudioManager( ++ std::unique_ptr audio_thread, ++ AudioLogFactory* audio_log_factory) { ++ DLOG(WARNING) << "CreateAudioManager"; ++#if defined(USE_SNDIO) ++ UMA_HISTOGRAM_ENUMERATION("Media.SndioAudioIO", kSndio, kAudioIOMax + 1); ++ return std::make_unique(std::move(audio_thread), ++ audio_log_factory); ++#else ++ return std::make_unique(std::move(audio_thread), ++ audio_log_factory); ++#endif ++ ++} ++ ++} // namespace media diff --git a/www/chromium/files/patch-media_audio_sndio_audio__manager__sndio.h b/www/chromium/files/patch-media_audio_sndio_audio__manager__sndio.h new file mode 100644 index 000000000000..33428cfc37d1 --- /dev/null +++ b/www/chromium/files/patch-media_audio_sndio_audio__manager__sndio.h @@ -0,0 +1,69 @@ +--- media/audio/sndio/audio_manager_sndio.h.orig 2022-02-07 13:39:41 UTC ++++ media/audio/sndio/audio_manager_sndio.h +@@ -0,0 +1,66 @@ ++// 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_AUDIO_MANAGER_SNDIO_H_ ++#define MEDIA_AUDIO_SNDIO_AUDIO_MANAGER_SNDIO_H_ ++ ++#include ++ ++#include "base/compiler_specific.h" ++#include "base/memory/ref_counted.h" ++#include "base/threading/thread.h" ++#include "media/audio/audio_manager_base.h" ++ ++namespace media { ++ ++class MEDIA_EXPORT AudioManagerSndio : public AudioManagerBase { ++ public: ++ AudioManagerSndio(std::unique_ptr audio_thread, ++ AudioLogFactory* audio_log_factory); ++ ++ AudioManagerSndio(const AudioManagerSndio&) = delete; ++ AudioManagerSndio& operator=(const AudioManagerSndio&) = delete; ++ ++ ~AudioManagerSndio() 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); ++}; ++ ++} // namespace media ++ ++#endif // MEDIA_AUDIO_SNDIO_AUDIO_MANAGER_SNDIO_H_ diff --git a/www/chromium/files/patch-media_audio_sndio_sndio__input.cc b/www/chromium/files/patch-media_audio_sndio_sndio__input.cc new file mode 100644 index 000000000000..a88f63e7f7cf --- /dev/null +++ b/www/chromium/files/patch-media_audio_sndio_sndio__input.cc @@ -0,0 +1,203 @@ +--- media/audio/sndio/sndio_input.cc.orig 2022-02-07 13:39:41 UTC ++++ media/audio/sndio/sndio_input.cc +@@ -0,0 +1,200 @@ ++// 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 "media/base/audio_timestamp_helper.h" ++#include "media/audio/sndio/audio_manager_sndio.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(arg); ++ ++ self->hw_delay += delta; ++} ++ ++void *SndioAudioInputStream::ThreadEntry(void *arg) { ++ SndioAudioInputStream* self = static_cast(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(); ++} ++ ++AudioInputStream::OpenOutcome SndioAudioInputStream::Open() { ++ struct sio_par par; ++ int sig; ++ ++ if (state != kClosed) ++ return OpenOutcome::kFailed; ++ ++ if (params.format() != AudioParameters::AUDIO_PCM_LINEAR && ++ params.format() != AudioParameters::AUDIO_PCM_LOW_LATENCY) { ++ LOG(WARNING) << "Unsupported audio format."; ++ return OpenOutcome::kFailed; ++ } ++ ++ 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 OpenOutcome::kFailed; ++ } ++ ++ 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 OpenOutcome::kSuccess; ++bad_close: ++ sio_close(hdl); ++ return OpenOutcome::kFailed; ++} ++ ++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(reinterpret_cast(buffer), nframes); ++ ++ ++ // invoke callback ++ callback->OnData(audio_bus.get(), base::TimeTicks::Now() - delay, 1.); ++ } ++} ++ ++} // namespace media diff --git a/www/chromium/files/patch-media_audio_sndio_sndio__input.h b/www/chromium/files/patch-media_audio_sndio_sndio__input.h new file mode 100644 index 000000000000..b5684256703a --- /dev/null +++ b/www/chromium/files/patch-media_audio_sndio_sndio__input.h @@ -0,0 +1,94 @@ +--- media/audio/sndio/sndio_input.h.orig 2022-02-07 13:39:41 UTC ++++ media/audio/sndio/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 ++#include ++#include ++ ++#include "base/compiler_specific.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 { ++ 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(const SndioAudioInputStream&) = delete; ++ SndioAudioInputStream& operator=(const SndioAudioInputStream&) = delete; ++ ++ ~SndioAudioInputStream() override; ++ ++ // Implementation of AudioInputStream. ++ OpenOutcome 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 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; ++}; ++ ++} // namespace media ++ ++#endif // MEDIA_AUDIO_SNDIO_SNDIO_INPUT_H_ diff --git a/www/chromium/files/patch-media_audio_sndio_sndio__output.cc b/www/chromium/files/patch-media_audio_sndio_sndio__output.cc new file mode 100644 index 000000000000..2f9a72be63ef --- /dev/null +++ b/www/chromium/files/patch-media_audio_sndio_sndio__output.cc @@ -0,0 +1,186 @@ +--- media/audio/sndio/sndio_output.cc.orig 2022-02-07 13:39:41 UTC ++++ media/audio/sndio/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(arg); ++ ++ self->hw_delay -= delta; ++} ++ ++void SndioAudioOutputStream::OnVolCallback(void *arg, unsigned int vol) { ++ SndioAudioOutputStream* self = static_cast(arg); ++ ++ self->vol = vol; ++} ++ ++void *SndioAudioOutputStream::ThreadEntry(void *arg) { ++ SndioAudioOutputStream* self = static_cast(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, reinterpret_cast(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/chromium/files/patch-media_audio_sndio_sndio__output.h b/www/chromium/files/patch-media_audio_sndio_sndio__output.h new file mode 100644 index 000000000000..bb8603b68d9c --- /dev/null +++ b/www/chromium/files/patch-media_audio_sndio_sndio__output.h @@ -0,0 +1,91 @@ +--- media/audio/sndio/sndio_output.h.orig 2022-02-07 13:39:41 UTC ++++ media/audio/sndio/sndio_output.h +@@ -0,0 +1,88 @@ ++// 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 ++#include ++ ++#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); ++ ++ SndioAudioOutputStream(const SndioAudioOutputStream&) = delete; ++ SndioAudioOutputStream& operator=(const SndioAudioOutputStream&) = delete; ++ ++ 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 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; ++}; ++ ++} // namespace media ++ ++#endif // MEDIA_AUDIO_SNDIO_SNDIO_OUTPUT_H_ diff --git a/www/chromium/files/patch-media_base_audio__latency.cc b/www/chromium/files/patch-media_base_audio__latency.cc index 9f716ec07a99..1ef4e3d460b1 100644 --- a/www/chromium/files/patch-media_base_audio__latency.cc +++ b/www/chromium/files/patch-media_base_audio__latency.cc @@ -1,11 +1,11 @@ ---- media/base/audio_latency.cc.orig 2021-04-14 18:41:05 UTC +--- media/base/audio_latency.cc.orig 2022-02-07 13:39:41 UTC +++ media/base/audio_latency.cc -@@ -134,7 +134,7 @@ int AudioLatency::GetRtcBufferSize(int sample_rate, in - return frames_per_buffer; +@@ -135,7 +135,7 @@ int AudioLatency::GetRtcBufferSize(int sample_rate, in } --#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_MAC) || \ -+#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_MAC) || defined(OS_BSD) || \ - defined(OS_FUCHSIA) + #if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_MAC) || \ +- defined(OS_FUCHSIA) ++ 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/chromium/files/patch-media_base_media__switches.cc b/www/chromium/files/patch-media_base_media__switches.cc index ae9cc1d3b9ef..a95f80f66592 100644 --- a/www/chromium/files/patch-media_base_media__switches.cc +++ b/www/chromium/files/patch-media_base_media__switches.cc @@ -1,56 +1,47 @@ ---- media/base/media_switches.cc.orig 2021-12-31 00:57:35 UTC +--- media/base/media_switches.cc.orig 2022-02-07 13:39:41 UTC +++ media/base/media_switches.cc @@ -9,7 +9,7 @@ #include "build/chromeos_buildflags.h" #include "components/system_media_controls/linux/buildflags/buildflags.h" -#if defined(OS_LINUX) +#if defined(OS_LINUX) || defined(OS_BSD) #include "base/cpu.h" #endif -@@ -418,7 +418,7 @@ const base::Feature kGav1VideoDecoder{"Gav1VideoDecode - // Show toolbar button that opens dialog for controlling media sessions. +@@ -397,7 +397,7 @@ const base::Feature kGav1VideoDecoder{"Gav1VideoDecode const base::Feature kGlobalMediaControls { "GlobalMediaControls", --#if defined(OS_WIN) || defined(OS_MAC) || defined(OS_LINUX) || \ -+#if defined(OS_WIN) || defined(OS_MAC) || defined(OS_LINUX) || defined(OS_BSD) || \ - BUILDFLAG(IS_CHROMEOS_LACROS) + #if defined(OS_WIN) || defined(OS_MAC) || defined(OS_LINUX) || \ +- BUILDFLAG(IS_CHROMEOS_LACROS) ++ BUILDFLAG(IS_CHROMEOS_LACROS) || defined(OS_BSD) base::FEATURE_ENABLED_BY_DEFAULT #else -@@ -455,7 +455,7 @@ constexpr base::FeatureParam DuplicateFDs( - const std::vector& fds); - --#endif // defined(OS_LINUX) || defined(OS_CHROMEOS) -+#endif // defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD) - - } // namespace media - diff --git a/www/chromium/files/patch-media_base_video__frame.cc b/www/chromium/files/patch-media_base_video__frame.cc index 35f0f18e9efd..d1ccf88a17ef 100644 --- a/www/chromium/files/patch-media_base_video__frame.cc +++ b/www/chromium/files/patch-media_base_video__frame.cc @@ -1,83 +1,74 @@ ---- media/base/video_frame.cc.orig 2021-12-14 11:45:07 UTC +--- media/base/video_frame.cc.orig 2022-02-07 13:39:41 UTC +++ media/base/video_frame.cc @@ -73,7 +73,7 @@ std::string VideoFrame::StorageTypeToString( return "OWNED_MEMORY"; case VideoFrame::STORAGE_SHMEM: return "SHMEM"; -#if defined(OS_LINUX) || defined(OS_CHROMEOS) +#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD) case VideoFrame::STORAGE_DMABUFS: return "DMABUFS"; #endif @@ -90,7 +90,7 @@ std::string VideoFrame::StorageTypeToString( // static bool VideoFrame::IsStorageTypeMappable(VideoFrame::StorageType storage_type) { return -#if defined(OS_LINUX) || defined(OS_CHROMEOS) +#if defined(OS_LINUX) || defined(OS_CHROMEOS) || 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 && @@ -278,7 +278,7 @@ static absl::optional GetDefaultLayo return VideoFrameLayout::CreateWithPlanes(format, coded_size, planes); } -#if defined(OS_LINUX) || defined(OS_CHROMEOS) +#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD) // This class allows us to embed a vector into a scoped_refptr, and // thus to have several VideoFrames share the same set of DMABUF FDs. class VideoFrame::DmabufHolder -@@ -296,7 +296,7 @@ class VideoFrame::DmabufHolder - friend class base::RefCountedThreadSafe; - ~DmabufHolder() = default; - }; --#endif // defined(OS_LINUX) || defined(OS_CHROMEOS) -+#endif // defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD) - - // static - bool VideoFrame::IsValidConfig(VideoPixelFormat format, @@ -617,7 +617,7 @@ scoped_refptr VideoFrame::WrapExternalGpuM for (size_t i = 0; i < num_planes; ++i) planes[i].stride = gpu_memory_buffer->stride(i); uint64_t modifier = gfx::NativePixmapHandle::kNoModifier; -#if defined(OS_LINUX) || defined(OS_CHROMEOS) +#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD) if (gpu_memory_buffer->GetType() == gfx::NATIVE_PIXMAP) { const auto gmb_handle = gpu_memory_buffer->CloneHandle(); if (gmb_handle.is_null() || @@ -663,7 +663,7 @@ scoped_refptr VideoFrame::WrapExternalGpuM return frame; } -#if defined(OS_LINUX) || defined(OS_CHROMEOS) +#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD) // static scoped_refptr VideoFrame::WrapExternalDmabufs( const VideoFrameLayout& layout, @@ -887,7 +887,7 @@ scoped_refptr VideoFrame::WrapVideoFrame( } } -#if defined(OS_LINUX) || defined(OS_CHROMEOS) +#if defined(OS_LINUX) || defined(OS_CHROMEOS) || 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_; @@ -1253,7 +1253,7 @@ const gpu::MailboxHolder& VideoFrame::mailbox_holder( : mailbox_holders_[texture_index]; } -#if defined(OS_LINUX) || defined(OS_CHROMEOS) +#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD) const std::vector& VideoFrame::DmabufFds() const { DCHECK_EQ(storage_type_, STORAGE_DMABUFS); @@ -1365,7 +1365,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) || defined(OS_CHROMEOS) +#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD) dmabuf_fds_(base::MakeRefCounted()), #endif timestamp_(timestamp), diff --git a/www/chromium/files/patch-media_base_video__frame.h b/www/chromium/files/patch-media_base_video__frame.h index 1cd188d1aff6..717fec355b15 100644 --- a/www/chromium/files/patch-media_base_video__frame.h +++ b/www/chromium/files/patch-media_base_video__frame.h @@ -1,50 +1,47 @@ ---- media/base/video_frame.h.orig 2021-12-14 11:45:07 UTC +--- media/base/video_frame.h.orig 2022-02-07 13:39:41 UTC +++ media/base/video_frame.h -@@ -39,9 +39,9 @@ +@@ -40,7 +40,7 @@ #include "base/mac/scoped_cftyperef.h" #endif // defined(OS_MAC) -#if defined(OS_LINUX) || defined(OS_CHROMEOS) +#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD) #include "base/files/scoped_file.h" --#endif // defined(OS_LINUX) || defined(OS_CHROMEOS) -+#endif // defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD) + #endif // defined(OS_LINUX) || defined(OS_CHROMEOS) - namespace gfx { - class GpuMemoryBuffer; -@@ -81,7 +81,7 @@ class MEDIA_EXPORT VideoFrame : public base::RefCounte +@@ -82,7 +82,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) || defined(OS_CHROMEOS) +#if defined(OS_LINUX) || defined(OS_CHROMEOS) || 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 -@@ -275,7 +275,7 @@ class MEDIA_EXPORT VideoFrame : public base::RefCounte +@@ -276,7 +276,7 @@ class MEDIA_EXPORT VideoFrame : public base::RefCounte ReleaseMailboxAndGpuMemoryBufferCB mailbox_holder_and_gmb_release_cb, base::TimeDelta timestamp); -#if defined(OS_LINUX) || defined(OS_CHROMEOS) +#if defined(OS_LINUX) || defined(OS_CHROMEOS) || 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 -@@ -534,7 +534,7 @@ class MEDIA_EXPORT VideoFrame : public base::RefCounte +@@ -535,7 +535,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) || defined(OS_CHROMEOS) +#if defined(OS_LINUX) || defined(OS_CHROMEOS) || 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 -@@ -741,7 +741,7 @@ class MEDIA_EXPORT VideoFrame : public base::RefCounte +@@ -742,7 +742,7 @@ class MEDIA_EXPORT VideoFrame : public base::RefCounte // GPU memory buffer, if this frame is STORAGE_GPU_MEMORY_BUFFER. std::unique_ptr gpu_memory_buffer_; -#if defined(OS_LINUX) || defined(OS_CHROMEOS) +#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD) class DmabufHolder; // Dmabufs for the frame, used when storage is STORAGE_DMABUFS. Size is either diff --git a/www/chromium/files/patch-media_capture_video_create__video__capture__device__factory.cc b/www/chromium/files/patch-media_capture_video_create__video__capture__device__factory.cc index d4bbc8e2df7e..dc26310907a5 100644 --- a/www/chromium/files/patch-media_capture_video_create__video__capture__device__factory.cc +++ b/www/chromium/files/patch-media_capture_video_create__video__capture__device__factory.cc @@ -1,20 +1,20 @@ ---- media/capture/video/create_video_capture_device_factory.cc.orig 2021-09-14 01:51:58 UTC +--- media/capture/video/create_video_capture_device_factory.cc.orig 2022-02-07 13:39:41 UTC +++ media/capture/video/create_video_capture_device_factory.cc -@@ -11,7 +11,7 @@ +@@ -12,7 +12,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) || BUILDFLAG(IS_CHROMEOS_LACROS) +#if defined(OS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS) || defined(OS_BSD) #include "media/capture/video/linux/video_capture_device_factory_linux.h" #elif BUILDFLAG(IS_CHROMEOS_ASH) #include "media/capture/video/chromeos/public/cros_features.h" -@@ -53,7 +53,7 @@ CreateFakeVideoCaptureDeviceFactory() { +@@ -55,7 +55,7 @@ CreateFakeVideoCaptureDeviceFactory() { std::unique_ptr CreatePlatformSpecificVideoCaptureDeviceFactory( scoped_refptr ui_task_runner) { -#if defined(OS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS) +#if defined(OS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS) || defined(OS_BSD) return std::make_unique(ui_task_runner); #elif BUILDFLAG(IS_CHROMEOS_ASH) - return std::make_unique(ui_task_runner); + if (base::SysInfo::IsRunningOnChromeOS()) diff --git a/www/chromium/files/patch-media_capture_video_fake__video__capture__device__factory.cc b/www/chromium/files/patch-media_capture_video_fake__video__capture__device__factory.cc index 6144e7334176..b030733a4af1 100644 --- a/www/chromium/files/patch-media_capture_video_fake__video__capture__device__factory.cc +++ b/www/chromium/files/patch-media_capture_video_fake__video__capture__device__factory.cc @@ -1,11 +1,11 @@ ---- media/capture/video/fake_video_capture_device_factory.cc.orig 2021-04-14 18:41:05 UTC +--- media/capture/video/fake_video_capture_device_factory.cc.orig 2022-02-07 13:39:41 UTC +++ media/capture/video/fake_video_capture_device_factory.cc -@@ -208,7 +208,7 @@ void FakeVideoCaptureDeviceFactory::GetDevicesInfo( +@@ -213,7 +213,7 @@ void FakeVideoCaptureDeviceFactory::GetDevicesInfo( int entry_index = 0; for (const auto& entry : devices_config_) { VideoCaptureApi api = -#if defined(OS_LINUX) || defined(OS_CHROMEOS) +#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD) VideoCaptureApi::LINUX_V4L2_SINGLE_PLANE; #elif defined(OS_MAC) VideoCaptureApi::MACOSX_AVFOUNDATION; diff --git a/www/chromium/files/patch-media_capture_video_linux_fake__v4l2__impl.h b/www/chromium/files/patch-media_capture_video_linux_fake__v4l2__impl.h new file mode 100644 index 000000000000..d69a68cc9b49 --- /dev/null +++ b/www/chromium/files/patch-media_capture_video_linux_fake__v4l2__impl.h @@ -0,0 +1,11 @@ +--- media/capture/video/linux/fake_v4l2_impl.h.orig 2022-02-07 13:39:41 UTC ++++ media/capture/video/linux/fake_v4l2_impl.h +@@ -36,7 +36,7 @@ class CAPTURE_EXPORT FakeV4L2Impl : public V4L2Capture + // Implementation of V4L2CaptureDevice interface: + int open(const char* device_name, int flags) override; + int close(int fd) override; +- int ioctl(int fd, int request, void* argp) override; ++ int ioctl(int fd, unsigned long request, void* argp) override; + void* mmap(void* start, + size_t length, + int prot, diff --git a/www/chromium/files/patch-media_capture_video_linux_v4l2__capture__delegate.cc b/www/chromium/files/patch-media_capture_video_linux_v4l2__capture__delegate.cc index 862dabf52fb0..c59998c5fc7f 100644 --- a/www/chromium/files/patch-media_capture_video_linux_v4l2__capture__delegate.cc +++ b/www/chromium/files/patch-media_capture_video_linux_v4l2__capture__delegate.cc @@ -1,26 +1,44 @@ ---- media/capture/video/linux/v4l2_capture_delegate.cc.orig 2021-05-12 22:05:55 UTC +--- media/capture/video/linux/v4l2_capture_delegate.cc.orig 2022-02-07 13:39:41 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 #include +#endif #include #include #include @@ -25,10 +27,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. +@@ -660,7 +662,7 @@ base::WeakPtr V4L2CaptureDelegate + + V4L2CaptureDelegate::~V4L2CaptureDelegate() = default; + +-bool V4L2CaptureDelegate::RunIoctl(int request, void* argp) { ++bool V4L2CaptureDelegate::RunIoctl(unsigned int request, void* argp) { + int num_retries = 0; + for (; DoIoctl(request, argp) < 0 && num_retries < kMaxIOCtrlRetries; + ++num_retries) { +@@ -670,7 +672,7 @@ bool V4L2CaptureDelegate::RunIoctl(int request, void* + return num_retries != kMaxIOCtrlRetries; + } + +-int V4L2CaptureDelegate::DoIoctl(int request, void* argp) { ++int V4L2CaptureDelegate::DoIoctl(unsigned int request, void* argp) { + return HANDLE_EINTR(v4l2_->ioctl(device_fd_.get(), request, argp)); + } + diff --git a/www/chromium/files/patch-media_capture_video_linux_v4l2__capture__delegate.h b/www/chromium/files/patch-media_capture_video_linux_v4l2__capture__delegate.h new file mode 100644 index 000000000000..5e05b1ac62c1 --- /dev/null +++ b/www/chromium/files/patch-media_capture_video_linux_v4l2__capture__delegate.h @@ -0,0 +1,15 @@ +--- media/capture/video/linux/v4l2_capture_delegate.h.orig 2022-02-07 13:39:41 UTC ++++ media/capture/video/linux/v4l2_capture_delegate.h +@@ -84,10 +84,10 @@ class CAPTURE_EXPORT V4L2CaptureDelegate final { + // device file descriptor or (re)starting streaming, can fail but works after + // retrying (https://crbug.com/670262). Returns false if the |request| ioctl + // fails too many times. +- bool RunIoctl(int request, void* argp); ++ bool RunIoctl(unsigned int request, void* argp); + + // Simple wrapper to do HANDLE_EINTR(v4l2_->ioctl(device_fd_.get(), ...)). +- int DoIoctl(int request, void* argp); ++ int DoIoctl(unsigned int request, void* argp); + + // Creates a mojom::RangePtr with the (min, max, current, step) values of the + // control associated with |control_id|. Returns an empty Range otherwise. diff --git a/www/chromium/files/patch-media_capture_video_linux_v4l2__capture__device.h b/www/chromium/files/patch-media_capture_video_linux_v4l2__capture__device.h new file mode 100644 index 000000000000..cbba776523a9 --- /dev/null +++ b/www/chromium/files/patch-media_capture_video_linux_v4l2__capture__device.h @@ -0,0 +1,11 @@ +--- media/capture/video/linux/v4l2_capture_device.h.orig 2022-02-07 13:39:41 UTC ++++ media/capture/video/linux/v4l2_capture_device.h +@@ -21,7 +21,7 @@ class CAPTURE_EXPORT V4L2CaptureDevice + public: + virtual int open(const char* device_name, int flags) = 0; + virtual int close(int fd) = 0; +- virtual int ioctl(int fd, int request, void* argp) = 0; ++ virtual int ioctl(int fd, unsigned long request, void* argp) = 0; + virtual void* mmap(void* start, + size_t length, + int prot, diff --git a/www/chromium/files/patch-media_capture_video_linux_v4l2__capture__device__impl.cc b/www/chromium/files/patch-media_capture_video_linux_v4l2__capture__device__impl.cc new file mode 100644 index 000000000000..902427b862a2 --- /dev/null +++ b/www/chromium/files/patch-media_capture_video_linux_v4l2__capture__device__impl.cc @@ -0,0 +1,11 @@ +--- media/capture/video/linux/v4l2_capture_device_impl.cc.orig 2022-02-07 13:39:41 UTC ++++ media/capture/video/linux/v4l2_capture_device_impl.cc +@@ -22,7 +22,7 @@ int V4L2CaptureDeviceImpl::close(int fd) { + return ::close(fd); + } + +-int V4L2CaptureDeviceImpl::ioctl(int fd, int request, void* argp) { ++int V4L2CaptureDeviceImpl::ioctl(int fd, unsigned long request, void* argp) { + return ::ioctl(fd, request, argp); + } + diff --git a/www/chromium/files/patch-media_capture_video_linux_v4l2__capture__device__impl.h b/www/chromium/files/patch-media_capture_video_linux_v4l2__capture__device__impl.h new file mode 100644 index 000000000000..21a77244eca8 --- /dev/null +++ b/www/chromium/files/patch-media_capture_video_linux_v4l2__capture__device__impl.h @@ -0,0 +1,11 @@ +--- media/capture/video/linux/v4l2_capture_device_impl.h.orig 2022-02-07 13:39:41 UTC ++++ media/capture/video/linux/v4l2_capture_device_impl.h +@@ -19,7 +19,7 @@ class CAPTURE_EXPORT V4L2CaptureDeviceImpl : public V4 + public: + int open(const char* device_name, int flags) override; + int close(int fd) override; +- int ioctl(int fd, int request, void* argp) override; ++ int ioctl(int fd, unsigned long request, void* argp) override; + void* mmap(void* start, + size_t length, + int prot, diff --git a/www/chromium/files/patch-media_capture_video_linux_video__capture__device__factory__linux.cc b/www/chromium/files/patch-media_capture_video_linux_video__capture__device__factory__linux.cc new file mode 100644 index 000000000000..1a8f69f296de --- /dev/null +++ b/www/chromium/files/patch-media_capture_video_linux_video__capture__device__factory__linux.cc @@ -0,0 +1,45 @@ +--- media/capture/video/linux/video_capture_device_factory_linux.cc.orig 2022-02-07 13:39:41 UTC ++++ media/capture/video/linux/video_capture_device_factory_linux.cc +@@ -72,6 +72,9 @@ class DevVideoFilePathsDeviceProvider + : public VideoCaptureDeviceFactoryLinux::DeviceProvider { + public: + void GetDeviceIds(std::vector* target_container) override { ++#if defined(OS_OPENBSD) ++ target_container->emplace_back("/dev/video"); ++#else + const base::FilePath path("/dev/"); + base::FileEnumerator enumerator(path, false, base::FileEnumerator::FILES, + "video*"); +@@ -79,9 +82,13 @@ class DevVideoFilePathsDeviceProvider + const base::FileEnumerator::FileInfo info = enumerator.GetInfo(); + target_container->emplace_back(path.value() + info.GetName().value()); + } ++#endif + } + + std::string GetDeviceModelId(const std::string& device_id) override { ++#if defined(OS_OPENBSD) ++ return std::string(); ++#endif + const std::string file_name = ExtractFileNameFromDeviceId(device_id); + std::string usb_id; + const std::string vid_path = +@@ -99,6 +106,9 @@ class DevVideoFilePathsDeviceProvider + } + + std::string GetDeviceDisplayName(const std::string& device_id) override { ++#if defined(OS_OPENBSD) ++ return std::string(); ++#endif + const std::string file_name = ExtractFileNameFromDeviceId(device_id); + const std::string interface_path = + base::StringPrintf(kInterfacePathTemplate, file_name.c_str()); +@@ -213,7 +223,7 @@ void VideoCaptureDeviceFactoryLinux::GetDevicesInfo( + std::move(callback).Run(std::move(devices_info)); + } + +-int VideoCaptureDeviceFactoryLinux::DoIoctl(int fd, int request, void* argp) { ++int VideoCaptureDeviceFactoryLinux::DoIoctl(int fd, unsigned int request, void* argp) { + return HANDLE_EINTR(v4l2_->ioctl(fd, request, argp)); + } + diff --git a/www/chromium/files/patch-media_capture_video_linux_video__capture__device__factory__linux.h b/www/chromium/files/patch-media_capture_video_linux_video__capture__device__factory__linux.h new file mode 100644 index 000000000000..bc45a932e4e2 --- /dev/null +++ b/www/chromium/files/patch-media_capture_video_linux_video__capture__device__factory__linux.h @@ -0,0 +1,11 @@ +--- media/capture/video/linux/video_capture_device_factory_linux.h.orig 2022-02-07 13:39:41 UTC ++++ media/capture/video/linux/video_capture_device_factory_linux.h +@@ -52,7 +52,7 @@ class CAPTURE_EXPORT VideoCaptureDeviceFactoryLinux + + private: + // Simple wrapper to do HANDLE_EINTR(v4l2_->ioctl(fd, ...)). +- int DoIoctl(int fd, int request, void* argp); ++ int DoIoctl(int fd, unsigned int request, void* argp); + + VideoCaptureControlSupport GetControlSupport(int fd); + bool GetControlSupport(int fd, int control_id); diff --git a/www/chromium/files/patch-media_filters_vp9__parser.h b/www/chromium/files/patch-media_filters_vp9__parser.h deleted file mode 100644 index 644782f9a56c..000000000000 --- a/www/chromium/files/patch-media_filters_vp9__parser.h +++ /dev/null @@ -1,10 +0,0 @@ ---- media/filters/vp9_parser.h.orig 2021-04-14 18:41:05 UTC -+++ media/filters/vp9_parser.h -@@ -14,6 +14,7 @@ - - #include - #include -+#include - #include - - #include diff --git a/www/chromium/files/patch-media_formats_common_offset__byte__queue.cc b/www/chromium/files/patch-media_formats_common_offset__byte__queue.cc deleted file mode 100644 index dfd36f6aac39..000000000000 --- a/www/chromium/files/patch-media_formats_common_offset__byte__queue.cc +++ /dev/null @@ -1,20 +0,0 @@ ---- media/formats/common/offset_byte_queue.cc.orig 2021-04-14 18:41:05 UTC -+++ media/formats/common/offset_byte_queue.cc -@@ -47,13 +47,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/chromium/files/patch-media_formats_common_offset__byte__queue.h b/www/chromium/files/patch-media_formats_common_offset__byte__queue.h deleted file mode 100644 index fa54f8cda1d5..000000000000 --- a/www/chromium/files/patch-media_formats_common_offset__byte__queue.h +++ /dev/null @@ -1,22 +0,0 @@ ---- media/formats/common/offset_byte_queue.h.orig 2021-12-14 11:45:07 UTC -+++ media/formats/common/offset_byte_queue.h -@@ -40,15 +40,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/chromium/files/patch-media_formats_mp2t_es__parser__adts.cc b/www/chromium/files/patch-media_formats_mp2t_es__parser__adts.cc deleted file mode 100644 index fe51ca7c984b..000000000000 --- a/www/chromium/files/patch-media_formats_mp2t_es__parser__adts.cc +++ /dev/null @@ -1,26 +0,0 @@ ---- media/formats/mp2t/es_parser_adts.cc.orig 2021-04-14 18:41:05 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/chromium/files/patch-media_formats_mp2t_es__parser__mpeg1audio.cc b/www/chromium/files/patch-media_formats_mp2t_es__parser__mpeg1audio.cc deleted file mode 100644 index c4fe35fdeb2a..000000000000 --- a/www/chromium/files/patch-media_formats_mp2t_es__parser__mpeg1audio.cc +++ /dev/null @@ -1,26 +0,0 @@ ---- media/formats/mp2t/es_parser_mpeg1audio.cc.orig 2021-04-14 18:41:05 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; -@@ -155,7 +155,7 @@ bool EsParserMpeg1Audio::LookForMpeg1AudioFrame( - return true; - } - -- es_queue_->Pop(max_offset); -+ es_queue_->Pop(_max_offset); - return false; - } - diff --git a/www/chromium/files/patch-media_gpu_buffer__validation.cc b/www/chromium/files/patch-media_gpu_buffer__validation.cc index 5163b5907ae4..8e76b441fbeb 100644 --- a/www/chromium/files/patch-media_gpu_buffer__validation.cc +++ b/www/chromium/files/patch-media_gpu_buffer__validation.cc @@ -1,48 +1,29 @@ ---- media/gpu/buffer_validation.cc.orig 2021-04-14 18:41:05 UTC +--- media/gpu/buffer_validation.cc.orig 2022-02-07 13:39:41 UTC +++ media/gpu/buffer_validation.cc -@@ -12,15 +12,15 @@ +@@ -12,7 +12,7 @@ #include "ui/gfx/geometry/size.h" #include "ui/gfx/gpu_memory_buffer.h" -#if defined(OS_LINUX) || defined(OS_CHROMEOS) +#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD) #include #include --#endif // defined(OS_LINUX) || defined(OS_CHROMEOS) -+#endif // defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD) - + #endif // defined(OS_LINUX) || defined(OS_CHROMEOS) +@@ -20,7 +20,7 @@ namespace media { bool GetFileSize(const int fd, size_t* size) { -#if defined(OS_LINUX) || defined(OS_CHROMEOS) +#if defined(OS_LINUX) || defined(OS_CHROMEOS) || 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) || defined(OS_CHROMEOS) -+#endif // defined(OS_LINUX) || defined(OS_CHROMEOS) || 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) || defined(OS_CHROMEOS) +#if defined(OS_LINUX) || defined(OS_CHROMEOS) || 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) || defined(OS_CHROMEOS) -+#endif // defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD) - } - - } // namespace media diff --git a/www/chromium/files/patch-media_gpu_chromeos_video__decoder__pipeline.cc b/www/chromium/files/patch-media_gpu_chromeos_video__decoder__pipeline.cc new file mode 100644 index 000000000000..36a16df84531 --- /dev/null +++ b/www/chromium/files/patch-media_gpu_chromeos_video__decoder__pipeline.cc @@ -0,0 +1,20 @@ +--- media/gpu/chromeos/video_decoder_pipeline.cc.orig 2022-02-07 13:39:41 UTC ++++ media/gpu/chromeos/video_decoder_pipeline.cc +@@ -644,7 +644,7 @@ VideoDecoderPipeline::PickDecoderOutputFormat( + } + } + +-#if defined(OS_LINUX) ++#if defined(OS_LINUX) || defined(OS_BSD) + // Linux should always use a custom allocator (to allocate buffers using + // libva) and a PlatformVideoFramePool. + CHECK(allocator.has_value()); +@@ -665,7 +665,7 @@ VideoDecoderPipeline::PickDecoderOutputFormat( + #error "Unsupported platform" + #endif + +-#if defined(OS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS) ++#if defined(OS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS) || defined(OS_BSD) + // viable_candidate should always be set unless using L1 protected content, + // which isn't an option on linux or lacros. + CHECK(viable_candidate); diff --git a/www/chromium/files/patch-media_gpu_vaapi_vaapi__video__decoder.cc b/www/chromium/files/patch-media_gpu_vaapi_vaapi__video__decoder.cc new file mode 100644 index 000000000000..3bc43fbc9207 --- /dev/null +++ b/www/chromium/files/patch-media_gpu_vaapi_vaapi__video__decoder.cc @@ -0,0 +1,11 @@ +--- media/gpu/vaapi/vaapi_video_decoder.cc.orig 2022-02-07 13:39:41 UTC ++++ media/gpu/vaapi/vaapi_video_decoder.cc +@@ -771,7 +771,7 @@ void VaapiVideoDecoder::ApplyResolutionChangeWithScree + const gfx::Size decoder_natural_size = + aspect_ratio_.GetNaturalSize(decoder_visible_rect); + +-#if defined(OS_LINUX) ++#if defined(OS_LINUX) || defined(OS_BSD) + absl::optional allocator = + base::BindRepeating(&AllocateCustomFrameProxy, weak_this_); + std::vector candidates = { diff --git a/www/chromium/files/patch-media_gpu_vaapi_vaapi__wrapper.cc b/www/chromium/files/patch-media_gpu_vaapi_vaapi__wrapper.cc index 1de41a7426ea..0f391052a339 100644 --- a/www/chromium/files/patch-media_gpu_vaapi_vaapi__wrapper.cc +++ b/www/chromium/files/patch-media_gpu_vaapi_vaapi__wrapper.cc @@ -1,11 +1,11 @@ ---- media/gpu/vaapi/vaapi_wrapper.cc.orig 2021-12-31 00:57:35 UTC +--- media/gpu/vaapi/vaapi_wrapper.cc.orig 2022-02-07 13:39:41 UTC +++ media/gpu/vaapi/vaapi_wrapper.cc -@@ -554,7 +554,7 @@ VADisplayState::VADisplayState() +@@ -553,7 +553,7 @@ VADisplayState::VADisplayState() bool VADisplayState::Initialize() { base::AutoLock auto_lock(va_lock_); -#if defined(USE_OZONE) && defined(OS_LINUX) +#if defined(USE_OZONE) && (defined(OS_LINUX) || defined(OS_BSD)) // TODO(crbug.com/1116701): add vaapi support for other Ozone platforms on // Linux. See comment in OzonePlatform::PlatformProperties::supports_vaapi // for more details. This will also require revisiting everything that's diff --git a/www/chromium/files/patch-media_media__options.gni b/www/chromium/files/patch-media_media__options.gni index 4df038aefc52..328c50c9511b 100644 --- a/www/chromium/files/patch-media_media__options.gni +++ b/www/chromium/files/patch-media_media__options.gni @@ -1,12 +1,27 @@ ---- media/media_options.gni.orig 2021-09-24 04:26:08 UTC +--- media/media_options.gni.orig 2022-02-07 13:39:41 UTC +++ media/media_options.gni -@@ -113,6 +113,9 @@ declare_args() { +@@ -124,9 +124,12 @@ 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 && +- if (is_posix && !is_android && !is_mac && ++ if (is_posix && !is_android && !is_mac && !is_bsd && + (!is_chromecast || is_cast_desktop_build || is_cast_audio_only)) { + use_alsa = true + +@@ -141,6 +144,10 @@ declare_args() { + if (!use_cras && !is_chromecast && !is_asan && !is_tsan) { + use_pulseaudio = true + } ++ } ++ if (is_openbsd) { ++ use_sndio = true ++ use_pulseaudio = false + } + } + diff --git a/www/chromium/files/patch-media_mojo_mojom_video__frame__mojom__traits.cc b/www/chromium/files/patch-media_mojo_mojom_video__frame__mojom__traits.cc index 9a91f584166f..5dd71edd4620 100644 --- a/www/chromium/files/patch-media_mojo_mojom_video__frame__mojom__traits.cc +++ b/www/chromium/files/patch-media_mojo_mojom_video__frame__mojom__traits.cc @@ -1,14 +1,11 @@ ---- media/mojo/mojom/video_frame_mojom_traits.cc.orig 2021-05-12 22:05:56 UTC +--- media/mojo/mojom/video_frame_mojom_traits.cc.orig 2022-02-07 13:39:41 UTC +++ media/mojo/mojom/video_frame_mojom_traits.cc -@@ -21,9 +21,9 @@ +@@ -21,7 +21,7 @@ #include "ui/gfx/mojom/color_space_mojom_traits.h" #include "ui/gfx/mojom/hdr_metadata_mojom_traits.h" -#if defined(OS_LINUX) || defined(OS_CHROMEOS) +#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD) #include "base/posix/eintr_wrapper.h" --#endif // defined(OS_LINUX) || defined(OS_CHROMEOS) -+#endif // defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD) - - namespace mojo { + #endif // defined(OS_LINUX) || defined(OS_CHROMEOS) diff --git a/www/chromium/files/patch-media_video_fake__gpu__memory__buffer.cc b/www/chromium/files/patch-media_video_fake__gpu__memory__buffer.cc index c62e63479ada..682ae16771c3 100644 --- a/www/chromium/files/patch-media_video_fake__gpu__memory__buffer.cc +++ b/www/chromium/files/patch-media_video_fake__gpu__memory__buffer.cc @@ -1,47 +1,38 @@ ---- media/video/fake_gpu_memory_buffer.cc.orig 2021-09-14 01:51:59 UTC +--- media/video/fake_gpu_memory_buffer.cc.orig 2022-02-07 13:39:41 UTC +++ media/video/fake_gpu_memory_buffer.cc @@ -10,7 +10,7 @@ #include "media/base/format_utils.h" #include "media/base/video_frame.h" -#if defined(OS_LINUX) || defined(OS_CHROMEOS) +#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD) #include #include #include @@ -48,7 +48,7 @@ class FakeGpuMemoryBufferImpl : public gpu::GpuMemoryB } // namespace -#if defined(OS_LINUX) || defined(OS_CHROMEOS) +#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD) base::ScopedFD GetDummyFD() { base::ScopedFD fd(open("/dev/zero", O_RDWR)); DCHECK(fd.is_valid()); @@ -78,7 +78,7 @@ FakeGpuMemoryBuffer::FakeGpuMemoryBuffer(const gfx::Si static base::AtomicSequenceNumber buffer_id_generator; handle_.id = gfx::GpuMemoryBufferId(buffer_id_generator.GetNext()); -#if defined(OS_LINUX) || defined(OS_CHROMEOS) +#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD) for (size_t i = 0; i < VideoFrame::NumPlanes(video_pixel_format_); i++) { const gfx::Size plane_size_in_bytes = VideoFrame::PlaneSize(video_pixel_format_, i, size_); -@@ -87,7 +87,7 @@ FakeGpuMemoryBuffer::FakeGpuMemoryBuffer(const gfx::Si - GetDummyFD()); - } - handle_.native_pixmap_handle.modifier = modifier; --#endif // defined(OS_LINUX) || defined(OS_CHROMEOS) -+#endif // defined(OS_LINUX) || defined(OS_CHROMEOS) || 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) || defined(OS_CHROMEOS) +#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD) handle.native_pixmap_handle = gfx::CloneHandleForIPC(handle_.native_pixmap_handle); #endif diff --git a/www/chromium/files/patch-media_video_video__encode__accelerator__adapter__test.cc b/www/chromium/files/patch-media_video_video__encode__accelerator__adapter__test.cc deleted file mode 100644 index 0d8ccfe067b2..000000000000 --- a/www/chromium/files/patch-media_video_video__encode__accelerator__adapter__test.cc +++ /dev/null @@ -1,11 +0,0 @@ ---- media/video/video_encode_accelerator_adapter_test.cc.orig 2021-09-24 04:26:08 UTC -+++ media/video/video_encode_accelerator_adapter_test.cc -@@ -337,7 +337,7 @@ TEST_P(VideoEncodeAcceleratorAdapterTest, TwoFramesRes - - vea()->SetEncodingCallback(base::BindLambdaForTesting( - [&](BitstreamBuffer&, bool keyframe, scoped_refptr frame) { --#if defined(OS_LINUX) || defined(OS_CHROMEOS) -+#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD) - EXPECT_EQ(frame->format(), - IsYuvPlanar(pixel_format) ? pixel_format : PIXEL_FORMAT_I420); - #else diff --git a/www/chromium/files/patch-third__party_blink_renderer_modules_mediastream_media__stream__audio__processor.cc b/www/chromium/files/patch-media_webrtc_audio__processor.cc similarity index 63% rename from www/chromium/files/patch-third__party_blink_renderer_modules_mediastream_media__stream__audio__processor.cc rename to www/chromium/files/patch-media_webrtc_audio__processor.cc index 0e269edabd49..c9d3ba7f8543 100644 --- a/www/chromium/files/patch-third__party_blink_renderer_modules_mediastream_media__stream__audio__processor.cc +++ b/www/chromium/files/patch-media_webrtc_audio__processor.cc @@ -1,11 +1,11 @@ ---- third_party/blink/renderer/modules/mediastream/media_stream_audio_processor.cc.orig 2022-01-21 13:38:48 UTC -+++ third_party/blink/renderer/modules/mediastream/media_stream_audio_processor.cc -@@ -677,7 +677,7 @@ absl::optional MediaStreamAudioProcessor::Proc +--- media/webrtc/audio_processor.cc.orig 2022-02-07 13:39:41 UTC ++++ media/webrtc/audio_processor.cc +@@ -542,7 +542,7 @@ absl::optional AudioProcessor::ProcessData( // controller. #if defined(OS_WIN) || defined(OS_MAC) DCHECK_LE(volume, 1.0); -#elif defined(OS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS) || defined(OS_OPENBSD) +#elif defined(OS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS) || defined(OS_BSD) // We have a special situation on Linux where the microphone volume can be // "higher than maximum". The input volume slider in the sound preference // allows the user to set a scaling that is higher than 100%. It means that diff --git a/www/chromium/files/patch-mojo_core_channel.cc b/www/chromium/files/patch-mojo_core_channel.cc new file mode 100644 index 000000000000..6d3394e1b71a --- /dev/null +++ b/www/chromium/files/patch-mojo_core_channel.cc @@ -0,0 +1,14 @@ +--- mojo/core/channel.cc.orig 2022-02-07 13:39:41 UTC ++++ mojo/core/channel.cc +@@ -62,7 +62,11 @@ const size_t kMaxUnusedReadBufferCapacity = 4096; + // Fuchsia: The zx_channel_write() API supports up to 64 handles. + const size_t kMaxAttachedHandles = 64; + ++#if defined(__i386__) && defined(OS_FREEBSD) ++const size_t kChannelMessageAlignment = 4; ++#else + static_assert(alignof(std::max_align_t) >= kChannelMessageAlignment, ""); ++#endif + Channel::AlignedBuffer MakeAlignedBuffer(size_t size) { + // Generic allocators (such as malloc) return a pointer that is suitably + // aligned for storing any type of object with a fundamental alignment diff --git a/www/chromium/files/patch-mojo_core_channel.h b/www/chromium/files/patch-mojo_core_channel.h deleted file mode 100644 index 2112b1c2fe72..000000000000 --- a/www/chromium/files/patch-mojo_core_channel.h +++ /dev/null @@ -1,14 +0,0 @@ ---- mojo/core/channel.h.orig 2021-04-28 14:44:22 UTC -+++ mojo/core/channel.h -@@ -22,7 +22,11 @@ - namespace mojo { - namespace core { - -+#if defined(__i386__) && defined(OS_FREEBSD) -+const size_t kChannelMessageAlignment = 4; -+#else - const size_t kChannelMessageAlignment = 8; -+#endif - - constexpr bool IsAlignedForChannelMessage(size_t n) { - return n % kChannelMessageAlignment == 0; diff --git a/www/chromium/files/patch-mojo_core_embedder_features.h b/www/chromium/files/patch-mojo_core_embedder_features.h new file mode 100644 index 000000000000..0ce643694ffd --- /dev/null +++ b/www/chromium/files/patch-mojo_core_embedder_features.h @@ -0,0 +1,11 @@ +--- mojo/core/embedder/features.h.orig 2022-02-07 13:39:41 UTC ++++ mojo/core/embedder/features.h +@@ -14,7 +14,7 @@ namespace mojo { + namespace core { + + #if defined(OS_POSIX) && !defined(OS_NACL) && !defined(OS_MAC) +-#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_ANDROID) ++#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_ANDROID) || defined(OS_BSD) + COMPONENT_EXPORT(MOJO_CORE_EMBEDDER_FEATURES) + extern const base::Feature kMojoLinuxChannelSharedMem; + diff --git a/www/chromium/files/patch-mojo_public_c_system_thunks.cc b/www/chromium/files/patch-mojo_public_c_system_thunks.cc index 95fd459e0170..799396b668ec 100644 --- a/www/chromium/files/patch-mojo_public_c_system_thunks.cc +++ b/www/chromium/files/patch-mojo_public_c_system_thunks.cc @@ -1,46 +1,38 @@ ---- mojo/public/c/system/thunks.cc.orig 2021-07-19 18:45:18 UTC +--- mojo/public/c/system/thunks.cc.orig 2022-02-07 13:39:41 UTC +++ mojo/public/c/system/thunks.cc -@@ -20,7 +20,7 @@ +@@ -19,7 +19,7 @@ #include "mojo/public/c/system/core.h" #include "mojo/public/c/system/macros.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/scoped_native_library.h" -@@ -68,7 +68,7 @@ class CoreLibraryInitializer { +@@ -67,7 +67,7 @@ class CoreLibraryInitializer { ~CoreLibraryInitializer() = default; MojoResult LoadLibrary(base::FilePath library_path) { -#if defined(OS_CHROMEOS) || defined(OS_LINUX) || defined(OS_WIN) +#if defined(OS_CHROMEOS) || defined(OS_LINUX) || defined(OS_WIN) || defined(OS_BSD) if (library_ && library_->is_valid()) return MOJO_RESULT_OK; -@@ -82,7 +82,7 @@ class CoreLibraryInitializer { +@@ -81,7 +81,7 @@ class CoreLibraryInitializer { if (library_path.empty()) { // 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) -@@ -126,13 +126,13 @@ class CoreLibraryInitializer { - - library_ = std::move(library); - return MOJO_RESULT_OK; --#else // defined(OS_CHROMEOS) || defined(OS_LINUX) || defined(OS_WIN) -+#else // defined(OS_CHROMEOS) || defined(OS_LINUX) || defined(OS_WIN) || defined(OS_BSD) - return MOJO_RESULT_UNIMPLEMENTED; --#endif // defined(OS_CHROMEOS) || defined(OS_LINUX) || defined(OS_WIN) -+#endif // defined(OS_CHROMEOS) || defined(OS_LINUX) || defined(OS_WIN) || defined(OS_BSD) +@@ -131,7 +131,7 @@ class CoreLibraryInitializer { } private: -#if defined(OS_CHROMEOS) || defined(OS_LINUX) || defined(OS_WIN) +#if defined(OS_CHROMEOS) || defined(OS_LINUX) || defined(OS_WIN) || defined(OS_BSD) absl::optional library_; #endif }; diff --git a/www/chromium/files/patch-mojo_public_tools_bindings_mojom.gni b/www/chromium/files/patch-mojo_public_tools_bindings_mojom.gni new file mode 100644 index 000000000000..c5f2c44ec0e0 --- /dev/null +++ b/www/chromium/files/patch-mojo_public_tools_bindings_mojom.gni @@ -0,0 +1,19 @@ +--- mojo/public/tools/bindings/mojom.gni.orig 2022-02-07 13:39:41 UTC ++++ mojo/public/tools/bindings/mojom.gni +@@ -688,6 +688,16 @@ template("mojom") { + enabled_features += [ "is_win" ] + } + ++ if (is_openbsd) { ++ enabled_features += [ "is_openbsd" ] ++ enabled_features += [ "is_bsd" ] ++ } ++ ++ if (is_freebsd) { ++ enabled_features += [ "is_freebsd" ] ++ enabled_features += [ "is_bsd" ] ++ } ++ + action(parser_target_name) { + script = mojom_parser_script + inputs = mojom_parser_sources + [ build_metadata_filename ] diff --git a/www/chromium/files/patch-net_BUILD.gn b/www/chromium/files/patch-net_BUILD.gn index ebecbccd0fca..e7a1fa60cfd2 100644 --- a/www/chromium/files/patch-net_BUILD.gn +++ b/www/chromium/files/patch-net_BUILD.gn @@ -1,60 +1,54 @@ ---- net/BUILD.gn.orig 2021-12-31 00:57:36 UTC +--- net/BUILD.gn.orig 2022-02-07 13:39:41 UTC +++ net/BUILD.gn @@ -100,7 +100,7 @@ net_configs = [ "//build/config/compiler:wexit_time_destructors", ] -if (is_linux || is_chromeos) { +if ((is_linux || is_chromeos) && !is_bsd) { net_configs += [ "//build/config/linux:libresolv" ] } -@@ -1203,7 +1203,7 @@ component("net") { - ] - } - -- if (is_linux || is_chromeos || is_android) { -+ if ((is_linux || is_chromeos || is_android) && !is_bsd) { - sources += [ - "base/address_tracker_linux.cc", - "base/address_tracker_linux.h", -@@ -1213,6 +1213,12 @@ component("net") { +@@ -1213,6 +1213,15 @@ component("net") { ] } + if (is_bsd) { -+ sources += [ -+ "base/platform_mime_util_linux.cc", ++ sources -= [ ++ "base/address_tracker_linux.cc", ++ "base/address_tracker_linux.h", ++ "base/network_change_notifier_linux.cc", ++ "base/network_interfaces_linux.cc", + ] + } + if (is_mac) { sources += [ "base/network_notification_thread_mac.cc", -@@ -1345,7 +1351,7 @@ component("net") { +@@ -1345,7 +1354,7 @@ component("net") { } } - if (is_android || is_chromeos_ash) { + if (is_android || is_chromeos_ash || is_bsd) { sources += [ "base/network_change_notifier_posix.cc", "base/network_change_notifier_posix.h", -@@ -1378,7 +1384,7 @@ component("net") { +@@ -1378,7 +1387,7 @@ component("net") { } # Use getifaddrs() on POSIX platforms, except Linux. - if (is_posix && !is_linux && !is_chromeos) { + if ((is_posix && !is_linux && !is_chromeos) || is_bsd) { sources += [ "base/network_interfaces_getifaddrs.cc", "base/network_interfaces_getifaddrs.h", -@@ -4729,7 +4735,7 @@ test("net_unittests") { +@@ -4713,7 +4722,7 @@ test("net_unittests") { } # Use getifaddrs() on POSIX platforms, except Linux and Android. - if (is_posix && !is_linux && !is_chromeos && !is_android) { -+ if ((is_posix && !is_linux && !is_chromeos && !is_android) || is_bsd) { ++ if (is_posix && !is_linux && !is_chromeos && !is_android && !is_bsd) { sources += [ "base/network_interfaces_getifaddrs_unittest.cc" ] } diff --git a/www/chromium/files/patch-net_base_address__tracker__linux.cc b/www/chromium/files/patch-net_base_address__tracker__linux.cc index 119d45df71da..00af00cca4b7 100644 --- a/www/chromium/files/patch-net_base_address__tracker__linux.cc +++ b/www/chromium/files/patch-net_base_address__tracker__linux.cc @@ -1,83 +1,410 @@ ---- net/base/address_tracker_linux.cc.orig 2021-09-24 04:26:08 UTC +--- net/base/address_tracker_linux.cc.orig 2022-02-07 13:39:41 UTC +++ net/base/address_tracker_linux.cc -@@ -5,7 +5,9 @@ - #include "net/base/address_tracker_linux.h" +@@ -28,125 +28,10 @@ + namespace net { + namespace internal { - #include -+#if !defined(OS_BSD) - #include -+#endif - #include - #include - #include -@@ -191,6 +193,7 @@ void AddressTrackerLinux::Init() { - DCHECK_LT(base::android::BuildInfo::GetInstance()->sdk_int(), - base::android::SDK_VERSION_P); - #endif -+#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"; -@@ -275,6 +278,10 @@ void AddressTrackerLinux::Init() { - base::BindRepeating(&AddressTrackerLinux::OnFileCanReadWithoutBlocking, - base::Unretained(this))); - } -+#else // !OS_FREEBSD +-namespace { +- +-// Some kernel functions such as wireless_send_event and rtnetlink_ifinfo_prep +-// may send spurious messages over rtnetlink. RTM_NEWLINK messages where +-// ifi_change == 0 and rta_type == IFLA_WIRELESS should be ignored. +-bool IgnoreWirelessChange(const struct ifinfomsg* msg, int length) { +- for (const struct rtattr* attr = IFLA_RTA(msg); RTA_OK(attr, length); +- attr = RTA_NEXT(attr, length)) { +- if (attr->rta_type == IFLA_WIRELESS && msg->ifi_change == 0) +- return true; +- } +- return false; +-} +- +-// Retrieves address from NETLINK address message. +-// Sets |really_deprecated| for IPv6 addresses with preferred lifetimes of 0. +-// Precondition: |header| must already be validated with NLMSG_OK. +-bool GetAddress(const struct nlmsghdr* header, +- int header_length, +- IPAddress* out, +- bool* really_deprecated) { +- if (really_deprecated) +- *really_deprecated = false; +- +- // Extract the message and update |header_length| to be the number of +- // remaining bytes. +- const struct ifaddrmsg* msg = +- reinterpret_cast(NLMSG_DATA(header)); +- header_length -= NLMSG_HDRLEN; +- +- size_t address_length = 0; +- switch (msg->ifa_family) { +- case AF_INET: +- address_length = IPAddress::kIPv4AddressSize; +- break; +- case AF_INET6: +- address_length = IPAddress::kIPv6AddressSize; +- break; +- default: +- // Unknown family. +- return false; +- } +- // Use IFA_ADDRESS unless IFA_LOCAL is present. This behavior here is based on +- // getaddrinfo in glibc (check_pf.c). Judging from kernel implementation of +- // NETLINK, IPv4 addresses have only the IFA_ADDRESS attribute, while IPv6 +- // have the IFA_LOCAL attribute. +- uint8_t* address = NULL; +- uint8_t* local = NULL; +- int length = IFA_PAYLOAD(header); +- if (length > header_length) { +- LOG(ERROR) << "ifaddrmsg length exceeds bounds"; +- return false; +- } +- for (const struct rtattr* attr = +- reinterpret_cast(IFA_RTA(msg)); +- RTA_OK(attr, length); attr = RTA_NEXT(attr, length)) { +- switch (attr->rta_type) { +- case IFA_ADDRESS: +- if (RTA_PAYLOAD(attr) < address_length) { +- LOG(ERROR) << "attr does not have enough bytes to read an address"; +- return false; +- } +- address = reinterpret_cast(RTA_DATA(attr)); +- break; +- case IFA_LOCAL: +- if (RTA_PAYLOAD(attr) < address_length) { +- LOG(ERROR) << "attr does not have enough bytes to read an address"; +- return false; +- } +- local = reinterpret_cast(RTA_DATA(attr)); +- break; +- case IFA_CACHEINFO: { +- if (RTA_PAYLOAD(attr) < sizeof(struct ifa_cacheinfo)) { +- LOG(ERROR) +- << "attr does not have enough bytes to read an ifa_cacheinfo"; +- return false; +- } +- const struct ifa_cacheinfo* cache_info = +- reinterpret_cast(RTA_DATA(attr)); +- if (really_deprecated) +- *really_deprecated = (cache_info->ifa_prefered == 0); +- } break; +- default: +- break; +- } +- } +- if (local) +- address = local; +- if (!address) +- return false; +- *out = IPAddress(address, address_length); +- return true; +-} +- +-// SafelyCastNetlinkMsgData performs a bounds check before casting |header|'s +-// data to a |T*|. When the bounds check fails, returns nullptr. +-template +-T* SafelyCastNetlinkMsgData(const struct nlmsghdr* header, int length) { +- DCHECK(NLMSG_OK(header, static_cast<__u32>(length))); +- if (length <= 0 || static_cast(length) < NLMSG_HDRLEN + sizeof(T)) +- return nullptr; +- return reinterpret_cast(NLMSG_DATA(header)); +-} +- +-} // namespace +- + // static + char* AddressTrackerLinux::GetInterfaceName(int interface_index, char* buf) { +- memset(buf, 0, IFNAMSIZ); +- base::ScopedFD ioctl_socket = GetSocketForIoctl(); +- if (!ioctl_socket.is_valid()) +- return buf; +- +- struct ifreq ifr = {}; +- ifr.ifr_ifindex = interface_index; +- +- if (ioctl(ioctl_socket.get(), SIOCGIFNAME, &ifr) == 0) +- strncpy(buf, ifr.ifr_name, IFNAMSIZ - 1); +- return buf; ++ NOTIMPLEMENTED(); ++ return NULL; + } + + AddressTrackerLinux::AddressTrackerLinux() +@@ -183,98 +68,8 @@ AddressTrackerLinux::AddressTrackerLinux( + AddressTrackerLinux::~AddressTrackerLinux() = default; + + void AddressTrackerLinux::Init() { +-#if defined(OS_ANDROID) +- // RTM_GETLINK stopped working in Android 11 (see +- // https://developer.android.com/preview/privacy/mac-address), +- // so AddressTrackerLinux should not be used in later versions +- // of Android. Chromium code doesn't need it past Android P. +- DCHECK_LT(base::android::BuildInfo::GetInstance()->sdk_int(), +- base::android::SDK_VERSION_P); +-#endif +- netlink_fd_.reset(socket(AF_NETLINK, SOCK_RAW, NETLINK_ROUTE)); +- if (!netlink_fd_.is_valid()) { +- PLOG(ERROR) << "Could not create NETLINK socket"; +- AbortAndForceOnline(); +- return; +- } +- +- int rv; +- +- if (tracking_) { +- // Request notifications. +- struct sockaddr_nl addr = {}; +- addr.nl_family = AF_NETLINK; +- addr.nl_pid = 0; // Let the kernel select a unique value. +- // TODO(szym): Track RTMGRP_LINK as well for ifi_type, +- // http://crbug.com/113993 +- addr.nl_groups = +- RTMGRP_IPV4_IFADDR | RTMGRP_IPV6_IFADDR | RTMGRP_NOTIFY | RTMGRP_LINK; +- rv = bind(netlink_fd_.get(), reinterpret_cast(&addr), +- sizeof(addr)); +- if (rv < 0) { +- PLOG(ERROR) << "Could not bind NETLINK socket"; +- AbortAndForceOnline(); +- return; +- } +- } +- +- // Request dump of addresses. +- struct sockaddr_nl peer = {}; +- peer.nl_family = AF_NETLINK; +- +- struct { +- struct nlmsghdr header; +- struct rtgenmsg msg; +- } request = {}; +- +- request.header.nlmsg_len = NLMSG_LENGTH(sizeof(request.msg)); +- request.header.nlmsg_type = RTM_GETADDR; +- request.header.nlmsg_flags = NLM_F_REQUEST | NLM_F_DUMP; +- request.header.nlmsg_pid = 0; // This field is opaque to netlink. +- request.msg.rtgen_family = AF_UNSPEC; +- +- rv = HANDLE_EINTR( +- sendto(netlink_fd_.get(), &request, request.header.nlmsg_len, 0, +- reinterpret_cast(&peer), sizeof(peer))); +- if (rv < 0) { +- PLOG(ERROR) << "Could not send NETLINK request"; +- AbortAndForceOnline(); +- return; +- } +- +- // Consume pending message to populate the AddressMap, but don't notify. +- // Sending another request without first reading responses results in EBUSY. +- bool address_changed; +- bool link_changed; +- bool tunnel_changed; +- ReadMessages(&address_changed, &link_changed, &tunnel_changed); +- +- // Request dump of link state +- request.header.nlmsg_type = RTM_GETLINK; +- +- rv = HANDLE_EINTR( +- sendto(netlink_fd_.get(), &request, request.header.nlmsg_len, 0, +- reinterpret_cast(&peer), sizeof(peer))); +- if (rv < 0) { +- PLOG(ERROR) << "Could not send NETLINK request"; +- AbortAndForceOnline(); +- return; +- } +- +- // Consume pending message to populate links_online_, but don't notify. +- ReadMessages(&address_changed, &link_changed, &tunnel_changed); +- { +- AddressTrackerAutoLock lock(*this, connection_type_lock_); +- connection_type_initialized_ = true; +- connection_type_initialized_cv_.Broadcast(); +- } +- +- if (tracking_) { +- watcher_ = base::FileDescriptorWatcher::WatchReadable( +- netlink_fd_.get(), +- base::BindRepeating(&AddressTrackerLinux::OnFileCanReadWithoutBlocking, +- base::Unretained(this))); +- } + NOTIMPLEMENTED(); + AbortAndForceOnline(); -+#endif // !OS_FREEBSD } bool AddressTrackerLinux::DidTrackingInitSucceedForTesting() const { -@@ -291,6 +298,7 @@ void AddressTrackerLinux::AbortAndForceOnline() { +@@ -291,25 +86,6 @@ 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_; -@@ -309,6 +317,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 - +-AddressTrackerLinux::AddressMap AddressTrackerLinux::GetAddressMap() const { +- AddressTrackerAutoLock lock(*this, address_map_lock_); +- return address_map_; +-} +- +-std::unordered_set AddressTrackerLinux::GetOnlineLinks() const { +- AddressTrackerAutoLock lock(*this, online_links_lock_); +- return online_links_; +-} +- +-bool AddressTrackerLinux::IsInterfaceIgnored(int interface_index) const { +- if (ignored_interfaces_.empty()) +- return false; +- +- char buf[IFNAMSIZ] = {0}; +- const char* interface_name = get_interface_name_(interface_index, buf); +- return ignored_interfaces_.find(interface_name) != ignored_interfaces_.end(); +-} +- NetworkChangeNotifier::ConnectionType AddressTrackerLinux::GetCurrentConnectionType() { -@@ -367,6 +376,7 @@ void AddressTrackerLinux::HandleMessage(const char* bu + // http://crbug.com/125097 +@@ -367,118 +143,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|. -@@ -479,6 +489,9 @@ void AddressTrackerLinux::HandleMessage(const char* bu - break; - } - } -+#else // !OS_FREEBSD +- DCHECK(buffer); +- // Note that NLMSG_NEXT decrements |length| to reflect the number of bytes +- // remaining in |buffer|. +- for (const struct nlmsghdr* header = +- reinterpret_cast(buffer); +- length >= 0 && NLMSG_OK(header, static_cast<__u32>(length)); +- header = NLMSG_NEXT(header, length)) { +- // The |header| pointer should never precede |buffer|. +- DCHECK_LE(buffer, reinterpret_cast(header)); +- switch (header->nlmsg_type) { +- case NLMSG_DONE: +- return; +- case NLMSG_ERROR: { +- const struct nlmsgerr* msg = +- SafelyCastNetlinkMsgData(header, length); +- if (msg == nullptr) +- return; +- LOG(ERROR) << "Unexpected netlink error " << msg->error << "."; +- } return; +- case RTM_NEWADDR: { +- IPAddress address; +- bool really_deprecated; +- const struct ifaddrmsg* msg = +- SafelyCastNetlinkMsgData(header, length); +- if (msg == nullptr) +- return; +- if (IsInterfaceIgnored(msg->ifa_index)) +- break; +- if (GetAddress(header, length, &address, &really_deprecated)) { +- struct ifaddrmsg msg_copy = *msg; +- AddressTrackerAutoLock lock(*this, address_map_lock_); +- // Routers may frequently (every few seconds) output the IPv6 ULA +- // prefix which can cause the linux kernel to frequently output two +- // back-to-back messages, one without the deprecated flag and one with +- // the deprecated flag but both with preferred lifetimes of 0. Avoid +- // interpretting this as an actual change by canonicalizing the two +- // messages by setting the deprecated flag based on the preferred +- // lifetime also. http://crbug.com/268042 +- if (really_deprecated) +- msg_copy.ifa_flags |= IFA_F_DEPRECATED; +- // Only indicate change if the address is new or ifaddrmsg info has +- // changed. +- auto it = address_map_.find(address); +- if (it == address_map_.end()) { +- address_map_.insert(it, std::make_pair(address, msg_copy)); +- *address_changed = true; +- } else if (memcmp(&it->second, &msg_copy, sizeof(msg_copy))) { +- it->second = msg_copy; +- *address_changed = true; +- } +- } +- } break; +- case RTM_DELADDR: { +- IPAddress address; +- const struct ifaddrmsg* msg = +- SafelyCastNetlinkMsgData(header, length); +- if (msg == nullptr) +- return; +- if (IsInterfaceIgnored(msg->ifa_index)) +- break; +- if (GetAddress(header, length, &address, nullptr)) { +- AddressTrackerAutoLock lock(*this, address_map_lock_); +- if (address_map_.erase(address)) +- *address_changed = true; +- } +- } break; +- case RTM_NEWLINK: { +- const struct ifinfomsg* msg = +- SafelyCastNetlinkMsgData(header, length); +- if (msg == nullptr) +- return; +- if (IsInterfaceIgnored(msg->ifi_index)) +- break; +- if (IgnoreWirelessChange(msg, IFLA_PAYLOAD(header))) { +- VLOG(2) << "Ignoring RTM_NEWLINK message"; +- break; +- } +- if (!(msg->ifi_flags & IFF_LOOPBACK) && (msg->ifi_flags & IFF_UP) && +- (msg->ifi_flags & IFF_LOWER_UP) && (msg->ifi_flags & IFF_RUNNING)) { +- AddressTrackerAutoLock lock(*this, online_links_lock_); +- if (online_links_.insert(msg->ifi_index).second) { +- *link_changed = true; +- if (IsTunnelInterface(msg->ifi_index)) +- *tunnel_changed = true; +- } +- } else { +- AddressTrackerAutoLock lock(*this, online_links_lock_); +- if (online_links_.erase(msg->ifi_index)) { +- *link_changed = true; +- if (IsTunnelInterface(msg->ifi_index)) +- *tunnel_changed = true; +- } +- } +- } break; +- case RTM_DELLINK: { +- const struct ifinfomsg* msg = +- SafelyCastNetlinkMsgData(header, length); +- if (msg == nullptr) +- return; +- if (IsInterfaceIgnored(msg->ifi_index)) +- break; +- AddressTrackerAutoLock lock(*this, online_links_lock_); +- if (online_links_.erase(msg->ifi_index)) { +- *link_changed = true; +- if (IsTunnelInterface(msg->ifi_index)) +- *tunnel_changed = true; +- } +- } break; +- default: +- break; +- } +- } + NOTIMPLEMENTED(); -+#endif // !OS_FREEBSD } void AddressTrackerLinux::OnFileCanReadWithoutBlocking() { -@@ -506,6 +519,7 @@ bool AddressTrackerLinux::IsTunnelInterfaceName(const +@@ -506,31 +171,7 @@ bool AddressTrackerLinux::IsTunnelInterfaceName(const } void AddressTrackerLinux::UpdateCurrentConnectionType() { -+#if !defined(OS_FREEBSD) - AddressTrackerLinux::AddressMap address_map = GetAddressMap(); - std::unordered_set online_links = GetOnlineLinks(); - -@@ -531,6 +545,9 @@ void AddressTrackerLinux::UpdateCurrentConnectionType( - - AddressTrackerAutoLock lock(*this, connection_type_lock_); - current_connection_type_ = type; -+#else +- AddressTrackerLinux::AddressMap address_map = GetAddressMap(); +- std::unordered_set 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(); -+#endif } int AddressTrackerLinux::GetThreadsWaitingForConnectionTypeInitForTesting() { diff --git a/www/chromium/files/patch-net_base_address__tracker__linux__unittest.cc b/www/chromium/files/patch-net_base_address__tracker__linux__unittest.cc deleted file mode 100644 index a90f63f3db2a..000000000000 --- a/www/chromium/files/patch-net_base_address__tracker__linux__unittest.cc +++ /dev/null @@ -1,14 +0,0 @@ ---- net/base/address_tracker_linux_unittest.cc.orig 2021-09-24 04:26:08 UTC -+++ net/base/address_tracker_linux_unittest.cc -@@ -4,7 +4,11 @@ - - #include "net/base/address_tracker_linux.h" - -+#if defined(OS_LINUX) - #include -+#else -+#include -+#endif - #include - - #include diff --git a/www/chromium/files/patch-net_base_network__change__notifier.cc b/www/chromium/files/patch-net_base_network__change__notifier.cc index 53ea3374cf14..116322ec7085 100644 --- a/www/chromium/files/patch-net_base_network__change__notifier.cc +++ b/www/chromium/files/patch-net_base_network__change__notifier.cc @@ -1,39 +1,26 @@ ---- net/base/network_change_notifier.cc.orig 2021-12-14 11:45:08 UTC +--- net/base/network_change_notifier.cc.orig 2022-02-07 13:39:41 UTC +++ net/base/network_change_notifier.cc @@ -38,7 +38,7 @@ #include "net/base/network_change_notifier_linux.h" #elif defined(OS_APPLE) #include "net/base/network_change_notifier_mac.h" -#elif BUILDFLAG(IS_CHROMEOS_ASH) || defined(OS_ANDROID) +#elif BUILDFLAG(IS_CHROMEOS_ASH) || 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" -@@ -314,6 +314,9 @@ std::unique_ptr NetworkChangeNo - #elif defined(OS_FUCHSIA) - return std::make_unique( - /*require_wlan=*/false); -+#elif defined(OS_BSD) -+ return std::make_unique( -+ /*dns_config_notifier*/nullptr); - #else - NOTIMPLEMENTED(); - return NULL; -@@ -497,7 +500,7 @@ const char* NetworkChangeNotifier::ConnectionTypeToStr - return kConnectionTypeNames[type]; - } - --#if defined(OS_LINUX) || defined(OS_CHROMEOS) -+#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD) - // static - const internal::AddressTrackerLinux* - NetworkChangeNotifier::GetAddressTracker() { -@@ -805,7 +808,7 @@ NetworkChangeNotifier::NetworkChangeNotifier( - } - } - --#if defined(OS_LINUX) || defined(OS_CHROMEOS) -+#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD) - const internal::AddressTrackerLinux* - NetworkChangeNotifier::GetAddressTrackerInternal() const { - return NULL; +@@ -303,9 +303,13 @@ std::unique_ptr NetworkChangeNo + // service in a separate process. + return std::make_unique(initial_type, + initial_subtype); +-#elif BUILDFLAG(IS_CHROMEOS_ASH) ++#elif BUILDFLAG(IS_CHROMEOS_ASH) || defined(OS_BSD) ++#if !defined(OS_BSD) + return std::make_unique(initial_type, + initial_subtype); ++#else ++ return NULL; ++#endif + #elif defined(OS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS) + return std::make_unique( + std::unordered_set()); diff --git a/www/chromium/files/patch-net_base_network__change__notifier.h b/www/chromium/files/patch-net_base_network__change__notifier.h deleted file mode 100644 index 716388fa670b..000000000000 --- a/www/chromium/files/patch-net_base_network__change__notifier.h +++ /dev/null @@ -1,20 +0,0 @@ ---- net/base/network_change_notifier.h.orig 2021-12-14 11:45:08 UTC -+++ net/base/network_change_notifier.h -@@ -416,7 +416,7 @@ class NET_EXPORT NetworkChangeNotifier { - // Chrome net code. - static SystemDnsConfigChangeNotifier* GetSystemDnsConfigNotifier(); - --#if defined(OS_LINUX) || defined(OS_CHROMEOS) -+#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD) - // Returns the AddressTrackerLinux if present. - static const internal::AddressTrackerLinux* GetAddressTracker(); - #endif -@@ -573,7 +573,7 @@ class NET_EXPORT NetworkChangeNotifier { - SystemDnsConfigChangeNotifier* system_dns_config_notifier = nullptr, - bool omit_observers_in_constructor_for_testing = false); - --#if defined(OS_LINUX) || defined(OS_CHROMEOS) -+#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD) - // Returns the AddressTrackerLinux if present. - // TODO(szym): Retrieve AddressMap from NetworkState. http://crbug.com/144212 - virtual const internal::AddressTrackerLinux* diff --git a/www/chromium/files/patch-net_base_network__interfaces__posix.cc b/www/chromium/files/patch-net_base_network__interfaces__posix.cc deleted file mode 100644 index 33279e1137c7..000000000000 --- a/www/chromium/files/patch-net_base_network__interfaces__posix.cc +++ /dev/null @@ -1,17 +0,0 @@ ---- net/base/network_interfaces_posix.cc.orig 2021-04-14 18:41:06 UTC -+++ net/base/network_interfaces_posix.cc -@@ -4,8 +4,14 @@ - - #include "net/base/network_interfaces_posix.h" - -+#include "build/build_config.h" -+ - #include - #include -+ -+#if defined(OS_BSD) -+#include -+#endif - - #include - #include diff --git a/www/chromium/files/patch-net_base_network__interfaces__posix.h b/www/chromium/files/patch-net_base_network__interfaces__posix.h new file mode 100644 index 000000000000..cb3379e3ba8d --- /dev/null +++ b/www/chromium/files/patch-net_base_network__interfaces__posix.h @@ -0,0 +1,11 @@ +--- net/base/network_interfaces_posix.h.orig 2022-02-07 13:39:41 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 ++ + #include + + struct sockaddr; diff --git a/www/chromium/files/patch-net_cert_cert__verify__proc.h b/www/chromium/files/patch-net_cert_cert__verify__proc.h index 7b4182435d7e..932fa0cf1327 100644 --- a/www/chromium/files/patch-net_cert_cert__verify__proc.h +++ b/www/chromium/files/patch-net_cert_cert__verify__proc.h @@ -1,11 +1,11 @@ ---- net/cert/cert_verify_proc.h.orig 2021-04-14 18:41:06 UTC +--- net/cert/cert_verify_proc.h.orig 2022-02-07 13:39:41 UTC +++ net/cert/cert_verify_proc.h -@@ -66,7 +66,7 @@ class NET_EXPORT CertVerifyProc +@@ -65,7 +65,7 @@ class NET_EXPORT CertVerifyProc kMaxValue = kChainLengthOne }; -#if !(defined(OS_FUCHSIA) || defined(OS_LINUX) || defined(OS_CHROMEOS)) +#if !(defined(OS_FUCHSIA) || defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD)) // Creates and returns a CertVerifyProc that uses the system verifier. // |cert_net_fetcher| may not be used, depending on the implementation. static scoped_refptr CreateSystemVerifyProc( diff --git a/www/chromium/files/patch-net_disk__cache_simple_simple__file__tracker.cc b/www/chromium/files/patch-net_disk__cache_simple_simple__file__tracker.cc new file mode 100644 index 000000000000..8290fcc26da0 --- /dev/null +++ b/www/chromium/files/patch-net_disk__cache_simple_simple__file__tracker.cc @@ -0,0 +1,20 @@ +--- net/disk_cache/simple/simple_file_tracker.cc.orig 2022-02-07 13:39:41 UTC ++++ net/disk_cache/simple/simple_file_tracker.cc +@@ -28,7 +28,17 @@ void RecordFileDescripterLimiterOp(FileDescriptorLimit + } // namespace + + SimpleFileTracker::SimpleFileTracker(int file_limit) ++#if defined(OS_OPENBSD) ++{ ++ // cap the file descriptor limit at 85% of the size of the ++ // file descriptor table and also substract the amount of ++ // currently used file descriptors as this should give us ++ // enough reserve to avoid hitting the limit ++ file_limit_ = (getdtablesize() * 0.85) - getdtablecount(); ++} ++#else + : file_limit_(file_limit) {} ++#endif + + SimpleFileTracker::~SimpleFileTracker() { + DCHECK(lru_.empty()); diff --git a/www/chromium/files/patch-net_dns_BUILD.gn b/www/chromium/files/patch-net_dns_BUILD.gn index b2fb8ade0880..05edcc259af7 100644 --- a/www/chromium/files/patch-net_dns_BUILD.gn +++ b/www/chromium/files/patch-net_dns_BUILD.gn @@ -1,11 +1,11 @@ ---- net/dns/BUILD.gn.orig 2021-12-14 11:45:09 UTC +--- net/dns/BUILD.gn.orig 2022-02-07 13:39:41 UTC +++ net/dns/BUILD.gn -@@ -111,7 +111,7 @@ source_set("dns") { +@@ -112,7 +112,7 @@ source_set("dns") { "dns_config_service_android.cc", "dns_config_service_android.h", ] - } else if (is_linux) { + } else if (is_linux && !is_bsd) { sources += [ "dns_config_service_linux.cc", "dns_config_service_linux.h", diff --git a/www/chromium/files/patch-net_dns_address__sorter__posix.cc b/www/chromium/files/patch-net_dns_address__sorter__posix.cc index cd5db5eb37d6..dda04a22f4b5 100644 --- a/www/chromium/files/patch-net_dns_address__sorter__posix.cc +++ b/www/chromium/files/patch-net_dns_address__sorter__posix.cc @@ -1,12 +1,10 @@ ---- net/dns/address_sorter_posix.cc.orig 2021-12-14 11:45:09 UTC +--- net/dns/address_sorter_posix.cc.orig 2022-02-07 13:39:41 UTC +++ net/dns/address_sorter_posix.cc -@@ -15,7 +15,9 @@ - #include // Must be included before ifaddrs.h. +@@ -17,6 +17,7 @@ #include #include -+#include #include +#include #include #include #endif diff --git a/www/chromium/files/patch-net_dns_dns__config__service__posix__unittest.cc b/www/chromium/files/patch-net_dns_dns__config__service__posix__unittest.cc deleted file mode 100644 index 25521b7f33f0..000000000000 --- a/www/chromium/files/patch-net_dns_dns__config__service__posix__unittest.cc +++ /dev/null @@ -1,11 +0,0 @@ ---- net/dns/dns_config_service_posix_unittest.cc.orig 2021-04-14 18:41:07 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 -- - #include - - #include "base/cancelable_callback.h" diff --git a/www/chromium/files/patch-net_dns_dns__reloader.cc b/www/chromium/files/patch-net_dns_dns__reloader.cc index ce47cdfd1e30..be7806b364b5 100644 --- a/www/chromium/files/patch-net_dns_dns__reloader.cc +++ b/www/chromium/files/patch-net_dns_dns__reloader.cc @@ -1,13 +1,18 @@ ---- net/dns/dns_reloader.cc.orig 2021-04-14 18:41:07 UTC +--- net/dns/dns_reloader.cc.orig 2022-02-07 13:39:41 UTC +++ net/dns/dns_reloader.cc -@@ -7,6 +7,10 @@ - #if defined(OS_POSIX) && !defined(OS_APPLE) && !defined(OS_OPENBSD) && \ +@@ -4,7 +4,7 @@ + + #include "net/dns/dns_reloader.h" + +-#if defined(OS_POSIX) && !defined(OS_APPLE) && !defined(OS_OPENBSD) && \ ++#if defined(OS_POSIX) && !defined(OS_APPLE) && !defined(OS_BSD) && \ !defined(OS_ANDROID) && !defined(OS_FUCHSIA) -+#if defined(OS_FREEBSD) -+#include -+#endif -+ #include +@@ -111,5 +111,5 @@ void DnsReloaderMaybeReload() { + + } // namespace net - #include "base/lazy_instance.h" +-#endif // defined(OS_POSIX) && !defined(OS_APPLE) && !defined(OS_OPENBSD) && ++#endif // defined(OS_POSIX) && !defined(OS_APPLE) && !defined(OS_BSD) && + // !defined(OS_ANDROID) diff --git a/www/chromium/files/patch-net_dns_dns__reloader.h b/www/chromium/files/patch-net_dns_dns__reloader.h new file mode 100644 index 000000000000..e2a65cda4995 --- /dev/null +++ b/www/chromium/files/patch-net_dns_dns__reloader.h @@ -0,0 +1,11 @@ +--- net/dns/dns_reloader.h.orig 2022-02-07 13:39:41 UTC ++++ net/dns/dns_reloader.h +@@ -7,7 +7,7 @@ + + #include "build/build_config.h" + +-#if defined(OS_POSIX) && !defined(OS_APPLE) && !defined(OS_OPENBSD) ++#if defined(OS_POSIX) && !defined(OS_APPLE) && !defined(OS_BSD) + namespace net { + + // Call on the network thread before calling DnsReloaderMaybeReload() anywhere. diff --git a/www/chromium/files/patch-net_dns_host__resolver__manager.cc b/www/chromium/files/patch-net_dns_host__resolver__manager.cc new file mode 100644 index 000000000000..767c44ba8a9e --- /dev/null +++ b/www/chromium/files/patch-net_dns_host__resolver__manager.cc @@ -0,0 +1,11 @@ +--- net/dns/host_resolver_manager.cc.orig 2022-02-07 13:39:41 UTC ++++ net/dns/host_resolver_manager.cc +@@ -2932,7 +2932,7 @@ HostResolverManager::HostResolverManager( + NetworkChangeNotifier::AddConnectionTypeObserver(this); + if (system_dns_config_notifier_) + system_dns_config_notifier_->AddObserver(this); +-#if defined(OS_POSIX) && !defined(OS_APPLE) && !defined(OS_OPENBSD) && \ ++#if defined(OS_POSIX) && !defined(OS_APPLE) && !defined(OS_BSD) && \ + !defined(OS_ANDROID) + EnsureDnsReloaderInit(); + #endif diff --git a/www/chromium/files/patch-net_dns_host__resolver__proc.cc b/www/chromium/files/patch-net_dns_host__resolver__proc.cc index 7bf478f16824..aadadf29fbdf 100644 --- a/www/chromium/files/patch-net_dns_host__resolver__proc.cc +++ b/www/chromium/files/patch-net_dns_host__resolver__proc.cc @@ -1,11 +1,22 @@ ---- net/dns/host_resolver_proc.cc.orig 2021-04-14 18:41:07 UTC +--- net/dns/host_resolver_proc.cc.orig 2022-02-07 13:39:41 UTC +++ net/dns/host_resolver_proc.cc -@@ -176,7 +176,7 @@ int SystemHostResolverCall(const std::string& host, - base::ScopedBlockingCall scoped_blocking_call(FROM_HERE, +@@ -19,10 +19,6 @@ + #include "net/dns/dns_util.h" + #include "net/dns/host_resolver.h" + +-#if defined(OS_OPENBSD) +-#define AI_ADDRCONFIG 0 +-#endif +- + namespace net { + + HostResolverProc* HostResolverProc::default_proc_ = nullptr; +@@ -177,7 +173,7 @@ int SystemHostResolverCall(const std::string& host, base::BlockingType::WILL_BLOCK); --#if defined(OS_POSIX) && !defined(OS_APPLE) && !defined(OS_OPENBSD) && \ -+#if defined(OS_POSIX) && !defined(OS_APPLE) && !defined(OS_BSD) && \ - !defined(OS_ANDROID) && !defined(OS_FUCHSIA) + #if defined(OS_POSIX) && \ +- !(defined(OS_APPLE) || defined(OS_OPENBSD) || defined(OS_ANDROID)) ++ !(defined(OS_APPLE) || defined(OS_BSD) || defined(OS_ANDROID)) DnsReloaderMaybeReload(); #endif + absl::optional ai; diff --git a/www/chromium/files/patch-net_dns_public_resolv__reader.h b/www/chromium/files/patch-net_dns_public_resolv__reader.h index e790b41fac7b..ece1efb2cb55 100644 --- a/www/chromium/files/patch-net_dns_public_resolv__reader.h +++ b/www/chromium/files/patch-net_dns_public_resolv__reader.h @@ -1,10 +1,9 @@ ---- net/dns/public/resolv_reader.h.orig 2022-01-24 13:28:40 UTC +--- net/dns/public/resolv_reader.h.orig 2022-02-07 13:39:41 UTC +++ net/dns/public/resolv_reader.h -@@ -5,6 +5,7 @@ - #ifndef NET_DNS_PUBLIC_RESOLV_READER_H_ - #define NET_DNS_PUBLIC_RESOLV_READER_H_ +@@ -34,4 +34,4 @@ NET_EXPORT absl::optional> Get -+#include - #include + } // namespace net - #include +-#endif // NET_DNS_PUBLIC_RESOLV_READER_H_ +\ No newline at end of file ++#endif // NET_DNS_PUBLIC_RESOLV_READER_H_ diff --git a/www/chromium/files/patch-net_http_http__auth__gssapi__posix.h b/www/chromium/files/patch-net_http_http__auth__gssapi__posix.h index 075238257a0a..94221c705ee7 100644 --- a/www/chromium/files/patch-net_http_http__auth__gssapi__posix.h +++ b/www/chromium/files/patch-net_http_http__auth__gssapi__posix.h @@ -1,12 +1,12 @@ ---- net/http/http_auth_gssapi_posix.h.orig 2021-04-14 18:41:07 UTC +--- net/http/http_auth_gssapi_posix.h.orig 2022-02-07 13:39:41 UTC +++ net/http/http_auth_gssapi_posix.h -@@ -21,6 +21,9 @@ +@@ -20,6 +20,9 @@ + #if defined(OS_APPLE) #include #elif defined(OS_FREEBSD) - #include +#ifndef GSS_C_DELEG_POLICY_FLAG +#define GSS_C_DELEG_POLICY_FLAG 32768 +#endif + #include #else #include - #endif diff --git a/www/chromium/files/patch-net_http_http__network__session.cc b/www/chromium/files/patch-net_http_http__network__session.cc new file mode 100644 index 000000000000..403b740b2954 --- /dev/null +++ b/www/chromium/files/patch-net_http_http__network__session.cc @@ -0,0 +1,12 @@ +--- net/http/http_network_session.cc.orig 2022-02-07 13:39:41 UTC ++++ net/http/http_network_session.cc +@@ -20,7 +20,9 @@ + #include "build/build_config.h" + #include "net/base/features.h" + #include "net/dns/host_resolver.h" ++#if defined(USE_KERBEROS) + #include "net/http/http_auth_handler_factory.h" ++#endif + #include "net/http/http_response_body_drainer.h" + #include "net/http/http_stream_factory.h" + #include "net/http/url_security_manager.h" diff --git a/www/chromium/files/patch-net_nqe_network__quality__estimator__unittest.cc b/www/chromium/files/patch-net_nqe_network__quality__estimator__unittest.cc deleted file mode 100644 index 173ed00eac3d..000000000000 --- a/www/chromium/files/patch-net_nqe_network__quality__estimator__unittest.cc +++ /dev/null @@ -1,15 +0,0 @@ ---- net/nqe/network_quality_estimator_unittest.cc.orig 2021-12-31 00:57:37 UTC -+++ net/nqe/network_quality_estimator_unittest.cc -@@ -2004,9 +2004,9 @@ TEST_F(NetworkQualityEstimatorTest, TestGlobalSocketWa - // ChromeOS is disabled due to crbug.com/986904 - // TODO(crbug.com/1052397): Revisit once build flag switch of lacros-chrome is - // complete. --#if (defined(TCP_INFO) || \ -- (defined(OS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS)) || \ -- defined(OS_ANDROID)) && \ -+#if (defined(TCP_INFO) || \ -+ (defined(OS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS)) || defined(OS_BSD) || \ -+ defined(OS_ANDROID)) && \ - !defined(OS_CHROMEOS) - #define MAYBE_TestTCPSocketRTT TestTCPSocketRTT - #else diff --git a/www/chromium/files/patch-net_proxy__resolution_configured__proxy__resolution__service.cc b/www/chromium/files/patch-net_proxy__resolution_configured__proxy__resolution__service.cc index 222b490cc798..2834beea3489 100644 --- a/www/chromium/files/patch-net_proxy__resolution_configured__proxy__resolution__service.cc +++ b/www/chromium/files/patch-net_proxy__resolution_configured__proxy__resolution__service.cc @@ -1,29 +1,29 @@ ---- net/proxy_resolution/configured_proxy_resolution_service.cc.orig 2021-12-14 11:45:09 UTC +--- net/proxy_resolution/configured_proxy_resolution_service.cc.orig 2022-02-07 13:39:41 UTC +++ net/proxy_resolution/configured_proxy_resolution_service.cc -@@ -51,7 +51,7 @@ +@@ -52,7 +52,7 @@ #elif defined(OS_MAC) #include "net/proxy_resolution/proxy_config_service_mac.h" #include "net/proxy_resolution/proxy_resolver_mac.h" -#elif defined(OS_LINUX) +#elif defined(OS_LINUX) || defined(OS_BSD) #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 { +@@ -64,7 +64,7 @@ namespace net { namespace { -#if defined(OS_WIN) || defined(OS_APPLE) || defined(OS_LINUX) +#if defined(OS_WIN) || defined(OS_APPLE) || defined(OS_LINUX) || defined(OS_BSD) constexpr net::NetworkTrafficAnnotationTag kSystemProxyConfigTrafficAnnotation = net::DefineNetworkTrafficAnnotation("proxy_config_system", R"( semantics { -@@ -1421,7 +1421,7 @@ ConfiguredProxyResolutionService::CreateSystemProxyCon +@@ -1422,7 +1422,7 @@ ConfiguredProxyResolutionService::CreateSystemProxyCon << "profile_io_data.cc::CreateProxyConfigService and this should " << "be used only for examples."; return std::make_unique(); -#elif defined(OS_LINUX) +#elif defined(OS_LINUX) || defined(OS_BSD) std::unique_ptr linux_config_service( new ProxyConfigServiceLinux()); diff --git a/www/chromium/files/patch-net_proxy__resolution_proxy__config__service__linux.cc b/www/chromium/files/patch-net_proxy__resolution_proxy__config__service__linux.cc index aa5560e576ee..6d6781a7bba3 100644 --- a/www/chromium/files/patch-net_proxy__resolution_proxy__config__service__linux.cc +++ b/www/chromium/files/patch-net_proxy__resolution_proxy__config__service__linux.cc @@ -1,40 +1,40 @@ ---- net/proxy_resolution/proxy_config_service_linux.cc.orig 2021-12-14 11:45:09 UTC +--- net/proxy_resolution/proxy_config_service_linux.cc.orig 2022-02-07 13:39:41 UTC +++ net/proxy_resolution/proxy_config_service_linux.cc @@ -6,7 +6,9 @@ #include #include +#if !defined(OS_BSD) #include +#endif #include #include -@@ -507,6 +509,7 @@ bool SettingGetterImplGSettings::CheckVersion( +@@ -506,6 +508,7 @@ bool SettingGetterImplGSettings::CheckVersion( } #endif // defined(USE_GIO) +#if !defined(OS_BSD) // Converts |value| from a decimal string to an int. If there was a failure // parsing, returns |default_value|. int StringToIntOrDefault(base::StringPiece value, int default_value) { -@@ -1008,6 +1011,7 @@ class SettingGetterImplKDE : public ProxyConfigService +@@ -1007,6 +1010,7 @@ class SettingGetterImplKDE : public ProxyConfigService // events on. scoped_refptr file_task_runner_; }; +#endif } // namespace -@@ -1223,9 +1227,11 @@ ProxyConfigServiceLinux::Delegate::Delegate( +@@ -1222,9 +1226,11 @@ 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_ = std::make_unique(env_var_getter_.get()); break; +#endif case base::nix::DESKTOP_ENVIRONMENT_XFCE: case base::nix::DESKTOP_ENVIRONMENT_OTHER: break; diff --git a/www/chromium/files/patch-net_socket_socket__posix.cc b/www/chromium/files/patch-net_socket_socket__posix.cc deleted file mode 100644 index d2c0cc92a099..000000000000 --- a/www/chromium/files/patch-net_socket_socket__posix.cc +++ /dev/null @@ -1,11 +0,0 @@ ---- net/socket/socket_posix.cc.orig 2021-05-12 22:05:57 UTC -+++ net/socket/socket_posix.cc -@@ -519,7 +519,7 @@ void SocketPosix::ReadCompleted() { - } - - int SocketPosix::DoWrite(IOBuffer* buf, int buf_len) { --#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_ANDROID) -+#if defined(OS_LINUX) || defined(OS_CHROMEOS) || 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/chromium/files/patch-net_socket_socks5__client__socket.cc b/www/chromium/files/patch-net_socket_socks5__client__socket.cc index 60dbdad90655..e0540ad7d701 100644 --- a/www/chromium/files/patch-net_socket_socks5__client__socket.cc +++ b/www/chromium/files/patch-net_socket_socks5__client__socket.cc @@ -1,13 +1,12 @@ ---- net/socket/socks5_client_socket.cc.orig 2021-04-14 18:41:07 UTC +--- net/socket/socks5_client_socket.cc.orig 2022-02-07 13:39:41 UTC +++ net/socket/socks5_client_socket.cc -@@ -4,6 +4,10 @@ +@@ -20,6 +20,9 @@ + #include "net/log/net_log_event_type.h" + #include "net/traffic_annotation/network_traffic_annotation.h" - #include "net/socket/socks5_client_socket.h" - -+#if defined(OS_BSD) ++#include +#include -+#endif + - #include + namespace net { - #include "base/bind.h" + const unsigned int SOCKS5ClientSocket::kGreetReadHeaderSize = 2; diff --git a/www/chromium/files/patch-net_socket_tcp__socket__posix.cc b/www/chromium/files/patch-net_socket_tcp__socket__posix.cc deleted file mode 100644 index 619ba508bae1..000000000000 --- a/www/chromium/files/patch-net_socket_tcp__socket__posix.cc +++ /dev/null @@ -1,20 +0,0 @@ ---- net/socket/tcp_socket_posix.cc.orig 2021-05-12 22:05:57 UTC -+++ net/socket/tcp_socket_posix.cc -@@ -90,6 +90,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/chromium/files/patch-net_socket_udp__socket__posix.cc b/www/chromium/files/patch-net_socket_udp__socket__posix.cc index 735676bdf70e..f70c756fa1c6 100644 --- a/www/chromium/files/patch-net_socket_udp__socket__posix.cc +++ b/www/chromium/files/patch-net_socket_udp__socket__posix.cc @@ -1,82 +1,11 @@ ---- net/socket/udp_socket_posix.cc.orig 2021-12-14 11:45:09 UTC +--- net/socket/udp_socket_posix.cc.orig 2022-02-07 13:39:41 UTC +++ net/socket/udp_socket_posix.cc -@@ -75,6 +75,32 @@ const int kActivityMonitorBytesThreshold = 65535; - const int kActivityMonitorMinimumSamplesForThroughputEstimate = 2; - const base::TimeDelta kActivityMonitorMsThreshold = base::Milliseconds(100); - -+#if defined(OS_BSD) -+int GetIPv4AddressFromIndex(int socket, uint32_t index, uint32_t* address) { -+ if (!index) { -+ *address = htonl(INADDR_ANY); -+ return OK; -+ } -+ -+ sockaddr_in* result = nullptr; -+ -+ ifreq ifr; -+ ifr.ifr_addr.sa_family = AF_INET; -+ if (!if_indextoname(index, ifr.ifr_name)) -+ return MapSystemError(errno); -+ int rv = ioctl(socket, SIOCGIFADDR, &ifr); -+ if (rv == -1) -+ return MapSystemError(errno); -+ result = reinterpret_cast(&ifr.ifr_addr); -+ -+ if (!result) -+ return ERR_ADDRESS_INVALID; -+ -+ *address = result->sin_addr.s_addr; -+ return OK; -+} -+#endif -+ - #if defined(OS_MAC) - - // On OSX the file descriptor is guarded to detect the cause of -@@ -625,13 +651,13 @@ int UDPSocketPosix::SetDoNotFragment() { +@@ -636,7 +636,7 @@ int UDPSocketPosix::SetDoNotFragment() { } void UDPSocketPosix::SetMsgConfirm(bool confirm) { -#if !defined(OS_APPLE) +#if !defined(OS_APPLE) && !defined(OS_BSD) if (confirm) { sendto_flags_ |= MSG_CONFIRM; } else { - sendto_flags_ &= ~MSG_CONFIRM; - } --#endif // !defined(OS_APPLE) -+#endif // !defined(OS_APPLE) && !defined(OS_BSD) - } - - int UDPSocketPosix::AllowAddressReuse() { -@@ -926,7 +952,11 @@ int UDPSocketPosix::SetMulticastOptions() { - mreq.imr_ifindex = multicast_interface_; - mreq.imr_address.s_addr = htonl(INADDR_ANY); - int rv = setsockopt(socket_, IPPROTO_IP, IP_MULTICAST_IF, -+#if defined(OS_BSD) -+ reinterpret_cast(&mreq.imr_address.s_addr), sizeof(mreq.imr_address.s_addr)); -+#else - reinterpret_cast(&mreq), sizeof(mreq)); -+#endif - if (rv) - return MapSystemError(errno); - break; -@@ -1027,9 +1057,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/chromium/files/patch-net_socket_udp__socket__posix.h b/www/chromium/files/patch-net_socket_udp__socket__posix.h deleted file mode 100644 index 68c6e5635a0e..000000000000 --- a/www/chromium/files/patch-net_socket_udp__socket__posix.h +++ /dev/null @@ -1,11 +0,0 @@ ---- net/socket/udp_socket_posix.h.orig 2021-04-14 18:41:07 UTC -+++ net/socket/udp_socket_posix.h -@@ -35,7 +35,7 @@ - - #if defined(__ANDROID__) && defined(__aarch64__) - #define HAVE_SENDMMSG 1 --#elif defined(OS_LINUX) || defined(OS_CHROMEOS) -+#elif defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD) - #define HAVE_SENDMMSG 1 - #else - #define HAVE_SENDMMSG 0 diff --git a/www/chromium/files/patch-net_socket_unix__domain__client__socket__posix.cc b/www/chromium/files/patch-net_socket_unix__domain__client__socket__posix.cc deleted file mode 100644 index f9e8bfc74e6c..000000000000 --- a/www/chromium/files/patch-net_socket_unix__domain__client__socket__posix.cc +++ /dev/null @@ -1,11 +0,0 @@ ---- net/socket/unix_domain_client_socket_posix.cc.orig 2021-12-14 11:45:09 UTC -+++ net/socket/unix_domain_client_socket_posix.cc -@@ -60,7 +60,7 @@ bool UnixDomainClientSocket::FillAddress(const std::st - return true; - } - --#if defined(OS_ANDROID) || defined(OS_LINUX) || defined(OS_CHROMEOS) -+#if defined(OS_ANDROID) || defined(OS_LINUX) || defined(OS_CHROMEOS) || 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/chromium/files/patch-net_tools_cert__verify__tool_cert__verify__tool.cc b/www/chromium/files/patch-net_tools_cert__verify__tool_cert__verify__tool.cc index 011c5de12923..40e80dc7b753 100644 --- a/www/chromium/files/patch-net_tools_cert__verify__tool_cert__verify__tool.cc +++ b/www/chromium/files/patch-net_tools_cert__verify__tool_cert__verify__tool.cc @@ -1,38 +1,38 @@ ---- net/tools/cert_verify_tool/cert_verify_tool.cc.orig 2021-12-14 11:45:09 UTC +--- net/tools/cert_verify_tool/cert_verify_tool.cc.orig 2022-02-07 13:39:41 UTC +++ net/tools/cert_verify_tool/cert_verify_tool.cc -@@ -29,7 +29,7 @@ +@@ -30,7 +30,7 @@ #include "net/url_request/url_request_context_builder.h" #include "net/url_request/url_request_context_getter.h" -#if defined(OS_LINUX) || defined(OS_CHROMEOS) +#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD) #include "net/proxy_resolution/proxy_config.h" #include "net/proxy_resolution/proxy_config_service_fixed.h" #endif -@@ -55,7 +55,7 @@ void SetUpOnNetworkThread( +@@ -56,7 +56,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) || defined(OS_CHROMEOS) +#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD) // On Linux, use a fixed ProxyConfigService, since the default one // depends on glib. // -@@ -205,7 +205,7 @@ std::unique_ptr CreateCertVerifyImplFr +@@ -206,7 +206,7 @@ std::unique_ptr CreateCertVerifyImplFr base::StringPiece impl_name, scoped_refptr cert_net_fetcher, RootStoreType root_store_type) { -#if !(defined(OS_FUCHSIA) || defined(OS_LINUX) || defined(OS_CHROMEOS)) -+#if !(defined(OS_FUCHSIA) || defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD)) ++#if !(defined(OS_FUCHSIA) || defined(OS_LINUX) || defined(OS_CHROMEOS)) || defined(OS_BSD) if (impl_name == "platform") { if (root_store_type != RootStoreType::kSystem) { std::cerr << "WARNING: platform verifier not supported with " -@@ -432,7 +432,7 @@ int main(int argc, char** argv) { +@@ -463,7 +463,7 @@ int main(int argc, char** argv) { std::string impls_str = command_line.GetSwitchValueASCII("impls"); if (impls_str.empty()) { // Default value. -#if !(defined(OS_FUCHSIA) || defined(OS_LINUX) || defined(OS_CHROMEOS)) -+#if !(defined(OS_FUCHSIA) || defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD)) ++#if !(defined(OS_FUCHSIA) || defined(OS_LINUX) || defined(OS_CHROMEOS)) || defined(OS_BSD) impls_str = "platform,"; #endif impls_str += "builtin,pathbuilder"; diff --git a/www/chromium/files/patch-net_traffic__annotation_network__traffic__annotation.h b/www/chromium/files/patch-net_traffic__annotation_network__traffic__annotation.h deleted file mode 100644 index 362048087311..000000000000 --- a/www/chromium/files/patch-net_traffic__annotation_network__traffic__annotation.h +++ /dev/null @@ -1,20 +0,0 @@ ---- net/traffic_annotation/network_traffic_annotation.h.orig 2021-12-14 11:45:09 UTC -+++ net/traffic_annotation/network_traffic_annotation.h -@@ -371,7 +371,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 -@@ -384,7 +384,7 @@ struct MutablePartialNetworkTrafficAnnotationTag { - // TRAFFIC_ANNOTATION_FOR_TESTS. - // TODO(crbug.com/1052397): Revisit once build flag switch of lacros-chrome is - // complete. --#if !defined(OS_WIN) && !(defined(OS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS)) -+#if !defined(OS_WIN) && !(defined(OS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS) || defined(OS_BSD)) - - #define NO_TRAFFIC_ANNOTATION_YET \ - net::DefineNetworkTrafficAnnotation("undefined", "Nothing here yet.") diff --git a/www/chromium/files/patch-net_url__request_url__fetcher.h b/www/chromium/files/patch-net_url__request_url__fetcher.h index 984c53f3063c..b39912634bcd 100644 --- a/www/chromium/files/patch-net_url__request_url__fetcher.h +++ b/www/chromium/files/patch-net_url__request_url__fetcher.h @@ -1,13 +1,11 @@ ---- net/url_request/url_fetcher.h.orig 2021-09-14 01:52:00 UTC +--- net/url_request/url_fetcher.h.orig 2022-02-07 13:39:41 UTC +++ net/url_request/url_fetcher.h -@@ -353,8 +353,8 @@ class NET_EXPORT URLFetcher { - // annotations on Linux & Windows. +@@ -354,7 +354,7 @@ class NET_EXPORT URLFetcher { // TODO(crbug.com/1052397): Revisit once build flag switch of lacros-chrome is // complete. --#if (!defined(OS_WIN) && \ + #if (!defined(OS_WIN) && \ - !(defined(OS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS))) || \ -+#if (!defined(OS_WIN) && \ + !(defined(OS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS) || 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. diff --git a/www/chromium/files/patch-net_url__request_url__request__context__builder.cc b/www/chromium/files/patch-net_url__request_url__request__context__builder.cc index 091d7fd1a2e4..5d1f63812ff3 100644 --- a/www/chromium/files/patch-net_url__request_url__request__context__builder.cc +++ b/www/chromium/files/patch-net_url__request_url__request__context__builder.cc @@ -1,20 +1,11 @@ ---- net/url_request/url_request_context_builder.cc.orig 2021-12-14 11:45:09 UTC +--- net/url_request/url_request_context_builder.cc.orig 2022-02-07 13:39:41 UTC +++ net/url_request/url_request_context_builder.cc -@@ -425,7 +425,7 @@ std::unique_ptr URLRequestContextBu +@@ -424,7 +424,7 @@ std::unique_ptr URLRequestContextBu } if (!proxy_resolution_service_) { -#if !defined(OS_LINUX) && !defined(OS_CHROMEOS) && !defined(OS_ANDROID) +#if !defined(OS_LINUX) && !defined(OS_CHROMEOS) && !defined(OS_ANDROID) && !defined(OS_BSD) // TODO(willchan): Switch to using this code when // ConfiguredProxyResolutionService::CreateSystemProxyConfigService()'s // signature doesn't suck. -@@ -434,7 +434,7 @@ std::unique_ptr URLRequestContextBu - ConfiguredProxyResolutionService::CreateSystemProxyConfigService( - base::ThreadTaskRunnerHandle::Get().get()); - } --#endif // !defined(OS_LINUX) && !defined(OS_CHROMEOS) && !defined(OS_ANDROID) -+#endif // !defined(OS_LINUX) && !defined(OS_CHROMEOS) && !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/chromium/files/patch-pdf_font__table__linux.cc b/www/chromium/files/patch-pdf_font__table__linux.cc index 7092421e28b7..38ab54e5a3fd 100644 --- a/www/chromium/files/patch-pdf_font__table__linux.cc +++ b/www/chromium/files/patch-pdf_font__table__linux.cc @@ -1,10 +1,10 @@ ---- pdf/font_table_linux.cc.orig 2021-09-28 13:14:28 UTC +--- pdf/font_table_linux.cc.orig 2022-02-07 13:39:41 UTC +++ pdf/font_table_linux.cc -@@ -4,6 +4,7 @@ - +@@ -5,6 +5,7 @@ #include "pdf/font_table_linux.h" -+#include #include ++#include + #include #include diff --git a/www/chromium/files/patch-pdf_out__of__process__instance.cc b/www/chromium/files/patch-pdf_out__of__process__instance.cc index 55fa41a71dd6..08fa2bec1016 100644 --- a/www/chromium/files/patch-pdf_out__of__process__instance.cc +++ b/www/chromium/files/patch-pdf_out__of__process__instance.cc @@ -1,20 +1,20 @@ ---- pdf/out_of_process_instance.cc.orig 2021-12-31 00:57:37 UTC +--- pdf/out_of_process_instance.cc.orig 2022-02-07 13:39:41 UTC +++ pdf/out_of_process_instance.cc @@ -75,7 +75,7 @@ #include "ui/gfx/geometry/size.h" #include "url/gurl.h" -#if defined(OS_LINUX) || defined(OS_CHROMEOS) +#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD) #include "pdf/ppapi_migration/pdfium_font_linux.h" #endif -@@ -749,7 +749,7 @@ void OutOfProcessInstance::RotateCounterclockwise() { +@@ -735,7 +735,7 @@ void OutOfProcessInstance::RotateCounterclockwise() { } void OutOfProcessInstance::SetLastPluginInstance() { -#if defined(OS_LINUX) || defined(OS_CHROMEOS) +#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD) SetLastPepperInstance(this); #endif } diff --git a/www/chromium/files/patch-ppapi_proxy_file__io__resource.cc b/www/chromium/files/patch-ppapi_proxy_file__io__resource.cc deleted file mode 100644 index 440e8acdfad4..000000000000 --- a/www/chromium/files/patch-ppapi_proxy_file__io__resource.cc +++ /dev/null @@ -1,48 +0,0 @@ ---- ppapi/proxy/file_io_resource.cc.orig 2021-12-14 11:45:09 UTC -+++ ppapi/proxy/file_io_resource.cc -@@ -282,17 +282,19 @@ int32_t FileIOResource::Write(int64_t offset, - - if (check_quota_) { - int64_t increase = 0; -- uint64_t max_offset = 0; -+ // (rene) avoid name collission with /usr/include/vm/vm_map.h on FreeBSD -+ // which also defines max_offset -+ uint64_t _max_offset = 0; - bool append = (open_flags_ & PP_FILEOPENFLAG_APPEND) != 0; - if (append) { - increase = bytes_to_write; - } else { -- max_offset = offset + bytes_to_write; -- if (max_offset > -+ _max_offset = offset + bytes_to_write; -+ if (_max_offset > - static_cast(std::numeric_limits::max())) { - return PP_ERROR_FAILED; // amount calculation would overflow. - } -- increase = static_cast(max_offset) - max_written_offset_; -+ increase = static_cast(_max_offset) - max_written_offset_; - } - - if (increase > 0) { -@@ -312,7 +314,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); -@@ -588,9 +590,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/chromium/files/patch-printing_BUILD.gn b/www/chromium/files/patch-printing_BUILD.gn deleted file mode 100644 index e7cd3cce3b55..000000000000 --- a/www/chromium/files/patch-printing_BUILD.gn +++ /dev/null @@ -1,20 +0,0 @@ ---- printing/BUILD.gn.orig 2021-12-14 11:45:09 UTC -+++ printing/BUILD.gn -@@ -68,7 +68,7 @@ component("printing_base") { - ] - } - --if (enable_oop_printing && (is_linux || is_chromeos)) { -+if (enable_oop_printing && (is_linux || is_chromeos) && !is_bsd) { - source_set("printing_sandbox_hook") { - sources = [ - "sandbox/print_backend_sandbox_hook_linux.cc", -@@ -263,7 +263,7 @@ component("printing") { - } - } - -- if (enable_oop_printing && (is_linux || is_chromeos)) { -+ if (enable_oop_printing && (is_linux || is_chromeos) && !is_bsd) { - deps += [ ":printing_sandbox_hook" ] - } - } diff --git a/www/chromium/files/patch-printing_cups__config__helper.py b/www/chromium/files/patch-printing_cups__config__helper.py deleted file mode 100644 index a2052c2f8cae..000000000000 --- a/www/chromium/files/patch-printing_cups__config__helper.py +++ /dev/null @@ -1,11 +0,0 @@ ---- printing/cups_config_helper.py.orig 2021-04-14 18:41:07 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/chromium/files/patch-printing_mojom_printing__context__mojom__traits.cc b/www/chromium/files/patch-printing_mojom_printing__context__mojom__traits.cc index bf6743a59e57..6a85c8189130 100644 --- a/www/chromium/files/patch-printing_mojom_printing__context__mojom__traits.cc +++ b/www/chromium/files/patch-printing_mojom_printing__context__mojom__traits.cc @@ -1,25 +1,20 @@ ---- printing/mojom/printing_context_mojom_traits.cc.orig 2021-12-16 15:15:32 UTC +--- printing/mojom/printing_context_mojom_traits.cc.orig 2022-02-07 13:39:41 UTC +++ printing/mojom/printing_context_mojom_traits.cc @@ -16,7 +16,7 @@ #include "ui/gfx/geometry/mojom/geometry_mojom_traits.h" #include "ui/gfx/geometry/size.h" -#if defined(OS_LINUX) || defined(OS_CHROMEOS) +#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD) #include "mojo/public/mojom/base/values.mojom.h" #endif -@@ -163,11 +163,11 @@ bool StructTraits< +@@ -162,7 +162,7 @@ bool StructTraits< } out->set_pages_per_sheet(data.pages_per_sheet()); -#if defined(OS_LINUX) || defined(OS_CHROMEOS) +#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD) DCHECK(out->advanced_settings().empty()); if (!data.ReadAdvancedSettings(&out->advanced_settings())) return false; --#endif // defined(OS_LINUX) || defined(OS_CHROMEOS) -+#endif // defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD) - #if defined(OS_CHROMEOS) - out->set_send_user_info(data.send_user_info()); - diff --git a/www/chromium/files/patch-printing_mojom_printing__context__mojom__traits.h b/www/chromium/files/patch-printing_mojom_printing__context__mojom__traits.h index 302711bd37a4..abef324c9456 100644 --- a/www/chromium/files/patch-printing_mojom_printing__context__mojom__traits.h +++ b/www/chromium/files/patch-printing_mojom_printing__context__mojom__traits.h @@ -1,17 +1,11 @@ ---- printing/mojom/printing_context_mojom_traits.h.orig 2021-12-16 15:15:50 UTC +--- printing/mojom/printing_context_mojom_traits.h.orig 2022-02-07 13:39:41 UTC +++ printing/mojom/printing_context_mojom_traits.h -@@ -171,12 +171,12 @@ struct StructTraits #include "base/values.h" --#endif // defined(OS_LINUX) || defined(OS_CHROMEOS) -+#endif // defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD) - - namespace printing { - -@@ -66,9 +66,9 @@ class COMPONENT_EXPORT(PRINTING) PrintSettings { +@@ -66,7 +66,7 @@ class COMPONENT_EXPORT(PRINTING) PrintSettings { } }; -#if defined(OS_LINUX) || defined(OS_CHROMEOS) +#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD) using AdvancedSettings = std::map; --#endif // defined(OS_LINUX) || defined(OS_CHROMEOS) -+#endif // defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD) + #endif // defined(OS_LINUX) || defined(OS_CHROMEOS) - PrintSettings(); - PrintSettings(const PrintSettings&); -@@ -224,12 +224,12 @@ class COMPONENT_EXPORT(PRINTING) PrintSettings { +@@ -221,7 +221,7 @@ class COMPONENT_EXPORT(PRINTING) PrintSettings { pages_per_sheet_ = pages_per_sheet; } -#if defined(OS_LINUX) || defined(OS_CHROMEOS) +#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD) AdvancedSettings& advanced_settings() { return advanced_settings_; } const AdvancedSettings& advanced_settings() const { return advanced_settings_; - } --#endif // defined(OS_LINUX) || defined(OS_CHROMEOS) -+#endif // defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD) - - #if defined(OS_CHROMEOS) - void set_send_user_info(bool send_user_info) { -@@ -328,10 +328,10 @@ class COMPONENT_EXPORT(PRINTING) PrintSettings { +@@ -322,7 +322,7 @@ class COMPONENT_EXPORT(PRINTING) PrintSettings { // Number of pages per sheet. int pages_per_sheet_; -#if defined(OS_LINUX) || defined(OS_CHROMEOS) +#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD) // Advanced settings. AdvancedSettings advanced_settings_; --#endif // defined(OS_LINUX) || defined(OS_CHROMEOS) -+#endif // defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD) - - #if defined(OS_CHROMEOS) - // Whether to send user info. + #endif // defined(OS_LINUX) || defined(OS_CHROMEOS) diff --git a/www/chromium/files/patch-printing_print__settings__conversion.cc b/www/chromium/files/patch-printing_print__settings__conversion.cc index bd809412d24c..0fd0d3497c45 100644 --- a/www/chromium/files/patch-printing_print__settings__conversion.cc +++ b/www/chromium/files/patch-printing_print__settings__conversion.cc @@ -1,20 +1,11 @@ ---- printing/print_settings_conversion.cc.orig 2021-12-14 11:45:09 UTC +--- printing/print_settings_conversion.cc.orig 2022-02-07 13:39:41 UTC +++ printing/print_settings_conversion.cc -@@ -220,7 +220,7 @@ std::unique_ptr PrintSettingsFromJobSet - #endif +@@ -217,7 +217,7 @@ std::unique_ptr PrintSettingsFromJobSet + settings->set_is_modifiable(is_modifiable.value()); } -#if defined(OS_CHROMEOS) || (defined(OS_LINUX) && defined(USE_CUPS)) -+#if defined(OS_CHROMEOS) || ((defined(OS_LINUX) || defined(OS_BSD)) && defined(USE_CUPS)) ++#if defined(OS_CHROMEOS) || ((defined(OS_BSD) || defined(OS_LINUX)) && defined(USE_CUPS)) const base::Value* advanced_settings = job_settings.FindDictKey(kSettingAdvancedSettings); if (advanced_settings) { -@@ -232,7 +232,7 @@ std::unique_ptr PrintSettingsFromJobSet - settings->advanced_settings().emplace(item.first, item.second.Clone()); - } - } --#endif // defined(OS_CHROMEOS) || (defined(OS_LINUX) && defined(USE_CUPS)) -+#endif // defined(OS_CHROMEOS) || ((defined(OS_LINUX) || defined(OS_BSD)) && defined(USE_CUPS)) - - #if defined(OS_CHROMEOS) - bool send_user_info = diff --git a/www/chromium/files/patch-printing_printing__features.cc b/www/chromium/files/patch-printing_printing__features.cc index 6e90028a8d2a..d0c3562efe55 100644 --- a/www/chromium/files/patch-printing_printing__features.cc +++ b/www/chromium/files/patch-printing_printing__features.cc @@ -1,11 +1,11 @@ ---- printing/printing_features.cc.orig 2021-12-14 11:45:09 UTC +--- printing/printing_features.cc.orig 2022-02-07 13:39:41 UTC +++ printing/printing_features.cc -@@ -7,7 +7,7 @@ - #include "build/chromeos_buildflags.h" +@@ -8,7 +8,7 @@ #include "printing/buildflags/buildflags.h" --#if defined(OS_WIN) || defined(OS_MAC) || defined(OS_LINUX) || \ -+#if defined(OS_WIN) || defined(OS_MAC) || defined(OS_LINUX) || defined(OS_BSD) || \ - defined(OS_CHROMEOS) + #if defined(OS_WIN) || defined(OS_MAC) || defined(OS_LINUX) || \ +- defined(OS_CHROMEOS) ++ defined(OS_CHROMEOS) || defined(OS_BSD) #include "base/metrics/field_trial_params.h" #endif + diff --git a/www/chromium/files/patch-printing_sandbox_print__backend__sandbox__hook__linux.cc b/www/chromium/files/patch-printing_sandbox_print__backend__sandbox__hook__linux.cc new file mode 100644 index 000000000000..10e65d6b1120 --- /dev/null +++ b/www/chromium/files/patch-printing_sandbox_print__backend__sandbox__hook__linux.cc @@ -0,0 +1,50 @@ +--- printing/sandbox/print_backend_sandbox_hook_linux.cc.orig 2022-02-07 13:39:41 UTC ++++ printing/sandbox/print_backend_sandbox_hook_linux.cc +@@ -9,20 +9,27 @@ + #include "base/files/file_path.h" + #include "base/files/file_util.h" + #include "base/path_service.h" ++#if !defined(OS_BSD) + #include "sandbox/linux/syscall_broker/broker_command.h" + #include "sandbox/linux/syscall_broker/broker_file_permission.h" + #include "sandbox/policy/linux/sandbox_linux.h" + #include "services/network/network_sandbox_hook_linux.h" ++#else ++#include "sandbox/policy/openbsd/sandbox_openbsd.h" ++#endif + + #if defined(OS_CHROMEOS) && defined(USE_CUPS) + #include "printing/backend/cups_connection_pool.h" + #endif + ++#if !defined(OS_BSD) + using sandbox::syscall_broker::BrokerFilePermission; + using sandbox::syscall_broker::MakeBrokerCommandSet; ++#endif + + namespace printing { + ++#if !defined(OS_BSD) + namespace { + + sandbox::syscall_broker::BrokerCommandSet GetPrintBackendBrokerCommandSet() { +@@ -83,9 +90,11 @@ std::vector GetPrintBackendFileP + } + + } // namespace ++#endif + + bool PrintBackendPreSandboxHook( + sandbox::policy::SandboxLinux::Options options) { ++#if !defined(OS_BSD) + #if defined(OS_CHROMEOS) && defined(USE_CUPS) + // Create the socket connections to the CUPS server before engaging the + // sandbox, since new connections cannot be made after that. +@@ -99,6 +108,7 @@ bool PrintBackendPreSandboxHook( + sandbox::policy::SandboxLinux::PreSandboxHook(), options); + + instance->EngageNamespaceSandboxIfPossible(); ++#endif + return true; + } + diff --git a/www/chromium/files/patch-printing_sandbox_print__backend__sandbox__hook__linux.h b/www/chromium/files/patch-printing_sandbox_print__backend__sandbox__hook__linux.h new file mode 100644 index 000000000000..4e1d839b12d3 --- /dev/null +++ b/www/chromium/files/patch-printing_sandbox_print__backend__sandbox__hook__linux.h @@ -0,0 +1,16 @@ +--- printing/sandbox/print_backend_sandbox_hook_linux.h.orig 2022-02-07 13:39:41 UTC ++++ printing/sandbox/print_backend_sandbox_hook_linux.h +@@ -5,8 +5,13 @@ + #ifndef PRINTING_SANDBOX_PRINT_BACKEND_SANDBOX_HOOK_LINUX_H_ + #define PRINTING_SANDBOX_PRINT_BACKEND_SANDBOX_HOOK_LINUX_H_ + ++#include "build/build_config.h" + #include "base/component_export.h" ++#if defined(OS_BSD) ++#include "sandbox/policy/openbsd/sandbox_openbsd.h" ++#else + #include "sandbox/policy/linux/sandbox_linux.h" ++#endif + + namespace printing { + diff --git a/www/chromium/files/patch-remoting_codec_webrtc__video__encoder__vpx.cc b/www/chromium/files/patch-remoting_codec_webrtc__video__encoder__vpx.cc index 3a0ec9d20d2d..085c668e9f55 100644 --- a/www/chromium/files/patch-remoting_codec_webrtc__video__encoder__vpx.cc +++ b/www/chromium/files/patch-remoting_codec_webrtc__video__encoder__vpx.cc @@ -1,16 +1,11 @@ ---- remoting/codec/webrtc_video_encoder_vpx.cc.orig 2021-04-14 18:41:07 UTC +--- remoting/codec/webrtc_video_encoder_vpx.cc.orig 2022-02-07 13:39:41 UTC +++ remoting/codec/webrtc_video_encoder_vpx.cc -@@ -85,11 +85,11 @@ void SetVp8CodecParameters(vpx_codec_enc_cfg_t* config +@@ -85,7 +85,7 @@ void SetVp8CodecParameters(vpx_codec_enc_cfg_t* config const webrtc::DesktopSize& size) { SetCommonCodecParameters(config, size); -#if defined(OS_LINUX) && !BUILDFLAG(IS_CHROMEOS_LACROS) -+#if defined(OS_BSD) || (defined(OS_LINUX) && !BUILDFLAG(IS_CHROMEOS_LACROS)) ++#if (defined(OS_BSD) || defined(OS_LINUX)) && !BUILDFLAG(IS_CHROMEOS_LACROS) // On Linux, using too many threads for VP8 encoding has been linked to high // CPU usage on machines that are under stress. See http://crbug.com/1151148. config->g_threads = std::min(config->g_threads, 2U); --#endif // defined(OS_LINUX) && !BUILDFLAG(IS_CHROMEOS_LACROS) -+#endif // defined(OS_BSD) || (defined(OS_LINUX) && !BUILDFLAG(IS_CHROMEOS_LACROS)) - - // Value of 2 means using the real time profile. This is basically a - // redundant option since we explicitly select real time mode when doing diff --git a/www/chromium/files/patch-remoting_host_base_switches.cc b/www/chromium/files/patch-remoting_host_base_switches.cc new file mode 100644 index 000000000000..bdf6b220a786 --- /dev/null +++ b/www/chromium/files/patch-remoting_host_base_switches.cc @@ -0,0 +1,11 @@ +--- remoting/host/base/switches.cc.orig 2022-02-07 13:39:41 UTC ++++ remoting/host/base/switches.cc +@@ -23,7 +23,7 @@ const char kProcessTypeEvaluateCapability[] = "evaluat + const char kProcessTypeFileChooser[] = "file_chooser"; + const char kProcessTypeUrlForwarderConfigurator[] = + "url_forwarder_configurator"; +-#if defined(OS_LINUX) || defined(OS_CHROMEOS) ++#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD) + const char kProcessTypeXSessionChooser[] = "xsession_chooser"; + #endif // defined(OS_LINUX) || defined(OS_CHROMEOS) + diff --git a/www/chromium/files/patch-remoting_host_base_switches.h b/www/chromium/files/patch-remoting_host_base_switches.h new file mode 100644 index 000000000000..673f8a22ea3a --- /dev/null +++ b/www/chromium/files/patch-remoting_host_base_switches.h @@ -0,0 +1,11 @@ +--- remoting/host/base/switches.h.orig 2022-02-07 13:39:41 UTC ++++ remoting/host/base/switches.h +@@ -35,7 +35,7 @@ extern const char kProcessTypeRdpDesktopSession[]; + extern const char kProcessTypeEvaluateCapability[]; + extern const char kProcessTypeFileChooser[]; + extern const char kProcessTypeUrlForwarderConfigurator[]; +-#if defined(OS_LINUX) || defined(OS_CHROMEOS) ++#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD) + extern const char kProcessTypeXSessionChooser[]; + #endif // defined(OS_LINUX) || defined(OS_CHROMEOS) + diff --git a/www/chromium/files/patch-remoting_host_chromoting__host.cc b/www/chromium/files/patch-remoting_host_chromoting__host.cc new file mode 100644 index 000000000000..92048a75b4fd --- /dev/null +++ b/www/chromium/files/patch-remoting_host_chromoting__host.cc @@ -0,0 +1,11 @@ +--- remoting/host/chromoting_host.cc.orig 2022-02-07 13:39:41 UTC ++++ remoting/host/chromoting_host.cc +@@ -124,7 +124,7 @@ void ChromotingHost::StartChromotingHostServices() { + DCHECK_CALLED_ON_VALID_SEQUENCE(sequence_checker_); + DCHECK(!ipc_server_); + +-#if defined(OS_LINUX) || defined(OS_WIN) ++#if defined(OS_LINUX) || defined(OS_WIN) || defined(OS_BSD) + ipc_server_ = std::make_unique>( + GetChromotingHostServicesServerName(), this); + ipc_server_->StartServer(); diff --git a/www/chromium/files/patch-remoting_host_chromoting__host__context.cc b/www/chromium/files/patch-remoting_host_chromoting__host__context.cc index 9a556daca441..ffa1d59e4cac 100644 --- a/www/chromium/files/patch-remoting_host_chromoting__host__context.cc +++ b/www/chromium/files/patch-remoting_host_chromoting__host__context.cc @@ -1,16 +1,11 @@ ---- remoting/host/chromoting_host_context.cc.orig 2021-12-14 11:45:09 UTC +--- remoting/host/chromoting_host_context.cc.orig 2022-02-07 13:39:41 UTC +++ remoting/host/chromoting_host_context.cc -@@ -143,11 +143,11 @@ std::unique_ptr ChromotingHostC +@@ -143,7 +143,7 @@ std::unique_ptr ChromotingHostC // on a UI thread. scoped_refptr input_task_runner = AutoThread::CreateWithType("ChromotingInputThread", ui_task_runner, -#if defined(OS_LINUX) || defined(OS_CHROMEOS) +#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD) base::MessagePumpType::UI); #else base::MessagePumpType::IO); --#endif // defined(OS_LINUX) || defined(OS_CHROMEOS) -+#endif // defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD) - - return base::WrapUnique(new ChromotingHostContext( - ui_task_runner, audio_task_runner, file_task_runner, input_task_runner, diff --git a/www/chromium/files/patch-remoting_host_chromoting__host__services__client.cc b/www/chromium/files/patch-remoting_host_chromoting__host__services__client.cc new file mode 100644 index 000000000000..bd3ee531935c --- /dev/null +++ b/www/chromium/files/patch-remoting_host_chromoting__host__services__client.cc @@ -0,0 +1,20 @@ +--- remoting/host/chromoting_host_services_client.cc.orig 2022-02-07 13:39:41 UTC ++++ remoting/host/chromoting_host_services_client.cc +@@ -24,7 +24,7 @@ namespace remoting { + + namespace { + +-#if defined(OS_LINUX) ++#if defined(OS_LINUX) || defined(OS_BSD) + constexpr char kChromeRemoteDesktopSessionEnvVar[] = + "CHROME_REMOTE_DESKTOP_SESSION"; + #endif +@@ -104,7 +104,7 @@ bool ChromotingHostServicesClient::EnsureSessionServic + if (session_services_remote_.is_bound()) { + return true; + } +-#if defined(OS_LINUX) ++#if defined(OS_LINUX) || defined(OS_BSD) + if (!environment_->HasVar(kChromeRemoteDesktopSessionEnvVar)) { + LOG(WARNING) << "Current desktop environment is not remotable."; + return false; diff --git a/www/chromium/files/patch-remoting_host_host__details.cc b/www/chromium/files/patch-remoting_host_host__details.cc index f240ab40b015..776f3dd26092 100644 --- a/www/chromium/files/patch-remoting_host_host__details.cc +++ b/www/chromium/files/patch-remoting_host_host__details.cc @@ -1,11 +1,11 @@ ---- remoting/host/host_details.cc.orig 2021-04-14 18:41:08 UTC +--- remoting/host/host_details.cc.orig 2022-02-07 13:39:41 UTC +++ remoting/host/host_details.cc -@@ -25,6 +25,8 @@ std::string GetHostOperatingSystemName() { +@@ -23,7 +23,7 @@ std::string GetHostOperatingSystemName() { + return "Mac"; + #elif BUILDFLAG(IS_CHROMEOS_ASH) return "ChromeOS"; - #elif defined(OS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS) +-#elif defined(OS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS) ++#elif defined(OS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS) || defined(OS_BSD) return "Linux"; -+#elif defined(OS_FREEBSD) -+ return "FreeBSD"; #elif defined(OS_ANDROID) return "Android"; - #else diff --git a/www/chromium/files/patch-remoting_host_host__main.cc b/www/chromium/files/patch-remoting_host_host__main.cc index bbcac8b69fd5..ac8a319f73d0 100644 --- a/www/chromium/files/patch-remoting_host_host__main.cc +++ b/www/chromium/files/patch-remoting_host_host__main.cc @@ -1,44 +1,29 @@ ---- remoting/host/host_main.cc.orig 2021-09-24 04:26:09 UTC +--- remoting/host/host_main.cc.orig 2022-02-07 13:39:41 UTC +++ remoting/host/host_main.cc -@@ -50,9 +50,9 @@ int FileChooserMain(); +@@ -50,7 +50,7 @@ int FileChooserMain(); int RdpDesktopSessionMain(); int UrlForwarderConfiguratorMain(); #endif // defined(OS_WIN) -#if defined(OS_LINUX) || defined(OS_CHROMEOS) +#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD) int XSessionChooserMain(); --#endif // defined(OS_LINUX) || defined(OS_CHROMEOS) -+#endif // defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD) + #endif // defined(OS_LINUX) || defined(OS_CHROMEOS) - namespace { - -@@ -63,10 +63,14 @@ const char kUsageMessage[] = +@@ -63,7 +63,7 @@ const char kUsageMessage[] = "\n" "Options:\n" -#if defined(OS_LINUX) -+#if defined(OS_LINUX) || defined(OS_FREEBSD) ++#if defined(OS_LINUX) || defined(OS_BSD) " --audio-pipe-name= - Sets the pipe name to capture audio on " -+#if defined(OS_LINUX) "Linux.\n" --#endif // defined(OS_LINUX) -+#else -+ "FreeBSD.\n" -+#endif -+#endif // defined(OS_LINUX) || defined(OS_FREEBSD) - - #if defined(OS_APPLE) - " --list-audio-devices - List all audio devices and their device " -@@ -152,10 +156,10 @@ MainRoutineFn SelectMainRoutine(const std::string& pro + #endif // defined(OS_LINUX) +@@ -152,7 +152,7 @@ MainRoutineFn SelectMainRoutine(const std::string& pro } else if (process_type == kProcessTypeUrlForwarderConfigurator) { main_routine = &UrlForwarderConfiguratorMain; #endif // defined(OS_WIN) -#if defined(OS_LINUX) || defined(OS_CHROMEOS) +#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD) } else if (process_type == kProcessTypeXSessionChooser) { main_routine = &XSessionChooserMain; --#endif // defined(OS_LINUX) || defined(OS_CHROMEOS) -+#endif // defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD) - } - - return main_routine; + #endif // defined(OS_LINUX) || defined(OS_CHROMEOS) diff --git a/www/chromium/files/patch-remoting_host_ipc__constants.cc b/www/chromium/files/patch-remoting_host_ipc__constants.cc new file mode 100644 index 000000000000..5de9e4e688d1 --- /dev/null +++ b/www/chromium/files/patch-remoting_host_ipc__constants.cc @@ -0,0 +1,11 @@ +--- remoting/host/ipc_constants.cc.orig 2022-02-07 13:39:41 UTC ++++ remoting/host/ipc_constants.cc +@@ -16,7 +16,7 @@ namespace remoting { + + namespace { + +-#if !defined(NDEBUG) && defined(OS_LINUX) ++#if !defined(NDEBUG) && (defined(OS_LINUX) || defined(OS_BSD)) + // Use a different IPC name for Linux debug builds so that we can run the host + // directly from out/Debug without interfering with the production host that + // might also be running. diff --git a/www/chromium/files/patch-remoting_host_it2me_it2me__native__messaging__host__main.cc b/www/chromium/files/patch-remoting_host_it2me_it2me__native__messaging__host__main.cc index b400a0295c30..fbb6b259ba8a 100644 --- a/www/chromium/files/patch-remoting_host_it2me_it2me__native__messaging__host__main.cc +++ b/www/chromium/files/patch-remoting_host_it2me_it2me__native__messaging__host__main.cc @@ -1,82 +1,47 @@ ---- remoting/host/it2me/it2me_native_messaging_host_main.cc.orig 2021-12-14 11:45:09 UTC +--- remoting/host/it2me/it2me_native_messaging_host_main.cc.orig 2022-02-07 13:39:41 UTC +++ remoting/host/it2me/it2me_native_messaging_host_main.cc -@@ -30,13 +30,13 @@ - #include "remoting/host/switches.h" +@@ -30,7 +30,7 @@ + #include "remoting/host/resources.h" #include "remoting/host/usage_stats_consent.h" -#if defined(OS_LINUX) || defined(OS_CHROMEOS) +#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD) #include #include "base/linux_util.h" - #include "ui/events/platform/x11/x11_event_source.h" - #include "ui/gfx/x/xlib_support.h" --#endif // defined(OS_LINUX) || defined(OS_CHROMEOS) -+#endif // defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD) - - #if defined(OS_APPLE) - #include "base/mac/mac_util.h" -@@ -78,11 +78,11 @@ bool CurrentProcessHasUiAccess() { +@@ -76,7 +76,7 @@ bool CurrentProcessHasUiAccess() { // Creates a It2MeNativeMessagingHost instance, attaches it to stdin/stdout and // runs the task executor until It2MeNativeMessagingHost signals shutdown. int It2MeNativeMessagingHostMain(int argc, char** argv) { -#if defined(OS_LINUX) || defined(OS_CHROMEOS) +#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD) // Initialize Xlib for multi-threaded use, allowing non-Chromium code to // use X11 safely (such as the WebRTC capturer, GTK ...) x11::InitXlib(); --#endif // defined(OS_LINUX) || defined(OS_CHROMEOS) -+#endif // defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD) - - // This object instance is required by Chrome code (such as - // SingleThreadTaskExecutor). -@@ -123,7 +123,7 @@ int It2MeNativeMessagingHostMain(int argc, char** argv +@@ -121,7 +121,7 @@ int It2MeNativeMessagingHostMain(int argc, char** argv remoting::LoadResources(""); -#if defined(OS_LINUX) || defined(OS_CHROMEOS) +#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD) // Required for any calls into GTK functions, such as the Disconnect and // Continue windows. Calling with nullptr arguments because we don't have // any command line arguments for gtk to consume. -@@ -136,7 +136,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 // defined(OS_LINUX) || defined(OS_CHROMEOS) -+#endif // defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD) - - base::File read_file; - base::File write_file; -@@ -256,7 +256,7 @@ int It2MeNativeMessagingHostMain(int argc, char** argv +@@ -254,7 +254,7 @@ int It2MeNativeMessagingHostMain(int argc, char** argv PolicyWatcher::CreateWithTaskRunner(context->file_task_runner(), context->management_service()); -#if defined(OS_LINUX) || defined(OS_CHROMEOS) +#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD) // Create an X11EventSource on all UI threads, so the global X11 connection // (x11::Connection::Get()) can dispatch X events. auto event_source = -@@ -265,7 +265,7 @@ int It2MeNativeMessagingHostMain(int argc, char** argv - input_task_runner->PostTask(FROM_HERE, base::BindOnce([]() { - new ui::X11EventSource(x11::Connection::Get()); - })); --#endif // defined(OS_LINUX) || defined(OS_CHROMEOS) -+#endif // defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD) - - std::unique_ptr host( - new It2MeNativeMessagingHost(is_process_elevated_, -@@ -278,11 +278,11 @@ int It2MeNativeMessagingHostMain(int argc, char** argv +@@ -276,7 +276,7 @@ int It2MeNativeMessagingHostMain(int argc, char** argv // Run the loop until channel is alive. run_loop.Run(); -#if defined(OS_LINUX) || defined(OS_CHROMEOS) +#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD) input_task_runner->PostTask(FROM_HERE, base::BindOnce([]() { delete ui::X11EventSource::GetInstance(); })); --#endif // defined(OS_LINUX) || defined(OS_CHROMEOS) -+#endif // defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD) - - // Block until tasks blocking shutdown have completed their execution. - base::ThreadPoolInstance::Get()->Shutdown(); diff --git a/www/chromium/files/patch-remoting_host_remote__open__url_remote__open__url__client.cc b/www/chromium/files/patch-remoting_host_remote__open__url_remote__open__url__client.cc index 8329cfc939e3..0bd22272c32c 100644 --- a/www/chromium/files/patch-remoting_host_remote__open__url_remote__open__url__client.cc +++ b/www/chromium/files/patch-remoting_host_remote__open__url_remote__open__url__client.cc @@ -1,20 +1,20 @@ ---- remoting/host/remote_open_url/remote_open_url_client.cc.orig 2021-12-16 15:17:34 UTC +--- remoting/host/remote_open_url/remote_open_url_client.cc.orig 2022-02-07 13:39:41 UTC +++ remoting/host/remote_open_url/remote_open_url_client.cc -@@ -14,7 +14,7 @@ - #include "remoting/base/logging.h" - #include "remoting/host/remote_open_url/remote_open_url_constants.h" +@@ -15,7 +15,7 @@ + #include "remoting/host/mojom/chromoting_host_services.mojom.h" + #include "remoting/host/mojom/remote_url_opener.mojom.h" -#if defined(OS_LINUX) +#if defined(OS_LINUX) || defined(OS_BSD) #include "remoting/host/remote_open_url/remote_open_url_client_delegate_linux.h" #elif defined(OS_WIN) #include "remoting/host/remote_open_url/remote_open_url_client_delegate_win.h" -@@ -27,7 +27,7 @@ namespace { +@@ -28,7 +28,7 @@ namespace { constexpr base::TimeDelta kRequestTimeout = base::Seconds(5); std::unique_ptr CreateDelegate() { -#if defined(OS_LINUX) +#if defined(OS_LINUX) || defined(OS_BSD) return std::make_unique(); #elif defined(OS_WIN) return std::make_unique(); diff --git a/www/chromium/files/patch-remoting_host_remote__open__url_url__forwarder__configurator.cc b/www/chromium/files/patch-remoting_host_remote__open__url_url__forwarder__configurator.cc index a5dbe14c1669..bb806ba9cd59 100644 --- a/www/chromium/files/patch-remoting_host_remote__open__url_url__forwarder__configurator.cc +++ b/www/chromium/files/patch-remoting_host_remote__open__url_url__forwarder__configurator.cc @@ -1,19 +1,11 @@ ---- remoting/host/remote_open_url/url_forwarder_configurator.cc.orig 2021-12-16 15:18:07 UTC +--- remoting/host/remote_open_url/url_forwarder_configurator.cc.orig 2022-02-07 13:39:41 UTC +++ remoting/host/remote_open_url/url_forwarder_configurator.cc -@@ -13,7 +13,7 @@ UrlForwarderConfigurator::UrlForwarderConfigurator() = +@@ -12,7 +12,7 @@ UrlForwarderConfigurator::UrlForwarderConfigurator() = UrlForwarderConfigurator::~UrlForwarderConfigurator() = default; -#if !defined(OS_LINUX) && !defined(OS_WIN) +#if !defined(OS_LINUX) && !defined(OS_WIN) && !defined(OS_BSD) // static std::unique_ptr UrlForwarderConfigurator::Create() { -@@ -23,6 +23,6 @@ std::unique_ptr UrlForwarder - return nullptr; - } - --#endif // !defined(OS_LINUX) && !defined(OS_WIN) -+#endif // !defined(OS_LINUX) && !defined(OS_WIN) && !defined(OS_BSD) - - } // namespace remoting diff --git a/www/chromium/files/patch-remoting_host_remoting__me2me__host.cc b/www/chromium/files/patch-remoting_host_remoting__me2me__host.cc index ac6b069355a7..db087d2757bc 100644 --- a/www/chromium/files/patch-remoting_host_remoting__me2me__host.cc +++ b/www/chromium/files/patch-remoting_host_remoting__me2me__host.cc @@ -1,120 +1,92 @@ ---- remoting/host/remoting_me2me_host.cc.orig 2021-12-31 00:57:37 UTC +--- remoting/host/remoting_me2me_host.cc.orig 2022-02-07 13:39:41 UTC +++ remoting/host/remoting_me2me_host.cc -@@ -124,7 +124,7 @@ +@@ -123,7 +123,7 @@ #include "remoting/host/mac/permission_utils.h" #endif // defined(OS_APPLE) -#if defined(OS_LINUX) || defined(OS_CHROMEOS) +#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD) #include #include "base/linux_util.h" -@@ -132,7 +132,7 @@ - #include "remoting/host/linux/certificate_watcher.h" - #include "ui/events/platform/x11/x11_event_source.h" - #include "ui/gfx/x/xlib_support.h" --#endif // defined(OS_LINUX) || defined(OS_CHROMEOS) -+#endif // defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD) - - #if defined(OS_WIN) - #include -@@ -168,11 +168,11 @@ const char kApplicationName[] = "chromoting"; +@@ -167,7 +167,7 @@ const char kApplicationName[] = "chromoting"; const char kStdinConfigPath[] = "-"; #endif // !defined(REMOTING_MULTI_PROCESS) -#if defined(OS_LINUX) || defined(OS_CHROMEOS) +#if defined(OS_LINUX) || defined(OS_CHROMEOS) || 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) || defined(OS_CHROMEOS) -+#endif // defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD) - - #if defined(OS_POSIX) - // The command line switch used to pass name of the unix domain socket used to -@@ -367,7 +367,7 @@ class HostProcess : public ConfigWatcher::Delegate, +@@ -366,7 +366,7 @@ class HostProcess : public ConfigWatcher::Delegate, std::unique_ptr context_; -#if defined(OS_LINUX) || defined(OS_CHROMEOS) +#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD) // Watch for certificate changes and kill the host when changes occur std::unique_ptr cert_watcher_; #endif -@@ -791,7 +791,7 @@ void HostProcess::CreateAuthenticatorFactory() { +@@ -790,7 +790,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) || defined(OS_CHROMEOS) +#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD) if (!cert_watcher_) { cert_watcher_ = std::make_unique( base::BindRepeating(&HostProcess::ShutdownHost, this, -@@ -906,7 +906,7 @@ void HostProcess::StartOnUiThread() { +@@ -904,7 +904,7 @@ void HostProcess::StartOnUiThread() { base::BindRepeating(&HostProcess::OnPolicyUpdate, base::Unretained(this)), base::BindRepeating(&HostProcess::OnPolicyError, base::Unretained(this))); -#if defined(OS_LINUX) || defined(OS_CHROMEOS) +#if defined(OS_LINUX) || defined(OS_CHROMEOS) || 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()-> -@@ -915,7 +915,7 @@ void HostProcess::StartOnUiThread() { - remoting::AudioCapturerLinux::InitializePipeReader( - context_->audio_task_runner(), audio_pipe_name); - } --#endif // defined(OS_LINUX) || defined(OS_CHROMEOS) -+#endif // defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD) - - #if defined(OS_POSIX) - base::FilePath security_key_socket_name = -@@ -964,7 +964,7 @@ void HostProcess::ShutdownOnUiThread() { +@@ -962,7 +962,7 @@ void HostProcess::ShutdownOnUiThread() { // It is now safe for the HostProcess to be deleted. self_ = nullptr; -#if defined(OS_LINUX) || defined(OS_CHROMEOS) +#if defined(OS_LINUX) || defined(OS_CHROMEOS) || 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. -@@ -1862,7 +1862,7 @@ void HostProcess::CrashHostProcess(const std::string& +@@ -1667,7 +1667,7 @@ void HostProcess::StartHost() { + // The feature is enabled for all Googlers using a supported platform. + desktop_environment_options_.set_enable_remote_open_url(is_googler_); + +-#if defined(OS_LINUX) || !defined(NDEBUG) ++#if (defined(OS_LINUX) || defined(OS_BSD) || !defined(NDEBUG) + // Experimental feature. Enabled on Linux for easier testing. + if (is_googler_) { + desktop_environment_options_.set_enable_remote_webauthn(true); +@@ -1864,7 +1864,7 @@ void HostProcess::CrashHostProcess(const std::string& int HostProcessMain() { HOST_LOG << "Starting host process: version " << STRINGIZE(VERSION); -#if defined(OS_LINUX) || defined(OS_CHROMEOS) +#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD) // Initialize Xlib for multi-threaded use, allowing non-Chromium code to // use X11 safely (such as the WebRTC capturer, GTK ...) x11::InitXlib(); -@@ -1899,7 +1899,7 @@ int HostProcessMain() { +@@ -1901,7 +1901,7 @@ int HostProcessMain() { std::unique_ptr network_change_notifier( net::NetworkChangeNotifier::CreateIfNeeded()); -#if defined(OS_LINUX) || defined(OS_CHROMEOS) +#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD) // Create an X11EventSource on all UI threads, so the global X11 connection // (x11::Connection::Get()) can dispatch X events. auto event_source = -@@ -1908,7 +1908,7 @@ int HostProcessMain() { - input_task_runner->PostTask(FROM_HERE, base::BindOnce([]() { - new ui::X11EventSource(x11::Connection::Get()); - })); --#endif // defined(OS_LINUX) || defined(OS_CHROMEOS) -+#endif // defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD) - - // Create & start the HostProcess using these threads. - // TODO(wez): The HostProcess holds a reference to itself until Shutdown(). -@@ -1920,11 +1920,11 @@ int HostProcessMain() { +@@ -1922,7 +1922,7 @@ int HostProcessMain() { // Run the main (also UI) task executor until the host no longer needs it. run_loop.Run(); -#if defined(OS_LINUX) || defined(OS_CHROMEOS) +#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD) input_task_runner->PostTask(FROM_HERE, base::BindOnce([]() { delete ui::X11EventSource::GetInstance(); })); --#endif // defined(OS_LINUX) || defined(OS_CHROMEOS) -+#endif // defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD) - - // Block until tasks blocking shutdown have completed their execution. - base::ThreadPoolInstance::Get()->Shutdown(); diff --git a/www/chromium/files/patch-remoting_host_setup_start__host__main.cc b/www/chromium/files/patch-remoting_host_setup_start__host__main.cc index 9a284076579c..1c5aacd298ed 100644 --- a/www/chromium/files/patch-remoting_host_setup_start__host__main.cc +++ b/www/chromium/files/patch-remoting_host_setup_start__host__main.cc @@ -1,48 +1,29 @@ ---- remoting/host/setup/start_host_main.cc.orig 2021-09-24 04:26:09 UTC +--- remoting/host/setup/start_host_main.cc.orig 2022-02-07 13:39:41 UTC +++ remoting/host/setup/start_host_main.cc -@@ -32,10 +32,10 @@ +@@ -32,7 +32,7 @@ #include #endif // defined(OS_POSIX) -#if defined(OS_LINUX) +#if defined(OS_LINUX) || defined(OS_BSD) #include "remoting/host/setup/daemon_controller_delegate_linux.h" #include "remoting/host/setup/start_host_as_root.h" --#endif // defined(OS_LINUX) -+#endif // defined(OS_LINUX) || defined(OS_BSD) - - #if defined(OS_WIN) - #include "base/process/process_info.h" -@@ -126,12 +126,12 @@ void OnDone(HostStarter::Result result) { + #endif // defined(OS_LINUX) +@@ -126,7 +126,7 @@ void OnDone(HostStarter::Result result) { } // namespace int StartHostMain(int argc, char** argv) { -#if defined(OS_LINUX) +#if defined(OS_LINUX) || defined(OS_BSD) // Minimize the amount of code that runs as root on Posix systems. if (getuid() == 0) { return remoting::StartHostAsRoot(argc, argv); - } --#endif // defined(OS_LINUX) -+#endif // defined(OS_LINUX) || defined(OS_BSD) - - // google_apis::GetOAuth2ClientID/Secret need a static CommandLine. - base::CommandLine::Init(argc, argv); @@ -163,7 +163,7 @@ int StartHostMain(int argc, char** argv) { // for the account which generated |code|. std::string host_owner = command_line->GetSwitchValueASCII("host-owner"); -#if defined(OS_LINUX) +#if defined(OS_LINUX) || defined(OS_BSD) if (command_line->HasSwitch("no-start")) { // On Linux, registering the host with systemd and starting it is the only // reason start_host requires root. The --no-start options skips that final -@@ -173,7 +173,7 @@ int StartHostMain(int argc, char** argv) { - // controller code, and must be configured on the Linux delegate explicitly. - DaemonControllerDelegateLinux::set_start_host_after_setup(false); - } --#endif // defined(OS_LINUX) -+#endif // defined(OS_LINUX) || defined(OS_BSD) - #if defined(OS_WIN) - // The tool must be run elevated on Windows so the host has access to the - // directories used to store the configuration JSON files. diff --git a/www/chromium/files/patch-remoting_host_switches.cc b/www/chromium/files/patch-remoting_host_switches.cc deleted file mode 100644 index 87e05bf9de7e..000000000000 --- a/www/chromium/files/patch-remoting_host_switches.cc +++ /dev/null @@ -1,14 +0,0 @@ ---- remoting/host/switches.cc.orig 2021-09-24 04:26:09 UTC -+++ remoting/host/switches.cc -@@ -23,9 +23,9 @@ const char kProcessTypeEvaluateCapability[] = "evaluat - const char kProcessTypeFileChooser[] = "file_chooser"; - const char kProcessTypeUrlForwarderConfigurator[] = - "url_forwarder_configurator"; --#if defined(OS_LINUX) || defined(OS_CHROMEOS) -+#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD) - const char kProcessTypeXSessionChooser[] = "xsession_chooser"; --#endif // defined(OS_LINUX) || defined(OS_CHROMEOS) -+#endif // defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD) - - const char kEvaluateCapabilitySwitchName[] = "evaluate-type"; - diff --git a/www/chromium/files/patch-remoting_host_switches.h b/www/chromium/files/patch-remoting_host_switches.h deleted file mode 100644 index 452d306351c4..000000000000 --- a/www/chromium/files/patch-remoting_host_switches.h +++ /dev/null @@ -1,14 +0,0 @@ ---- remoting/host/switches.h.orig 2021-09-24 04:26:09 UTC -+++ remoting/host/switches.h -@@ -35,9 +35,9 @@ extern const char kProcessTypeRdpDesktopSession[]; - extern const char kProcessTypeEvaluateCapability[]; - extern const char kProcessTypeFileChooser[]; - extern const char kProcessTypeUrlForwarderConfigurator[]; --#if defined(OS_LINUX) || defined(OS_CHROMEOS) -+#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD) - extern const char kProcessTypeXSessionChooser[]; --#endif // defined(OS_LINUX) || defined(OS_CHROMEOS) -+#endif // defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD) - - extern const char kEvaluateCapabilitySwitchName[]; - diff --git a/www/chromium/files/patch-remoting_test_it2me__standalone__host.cc b/www/chromium/files/patch-remoting_test_it2me__standalone__host.cc deleted file mode 100644 index 8d99e94b6dea..000000000000 --- a/www/chromium/files/patch-remoting_test_it2me__standalone__host.cc +++ /dev/null @@ -1,11 +0,0 @@ ---- remoting/test/it2me_standalone_host.cc.orig 2021-05-12 22:05:58 UTC -+++ remoting/test/it2me_standalone_host.cc -@@ -50,7 +50,7 @@ It2MeStandaloneHost::It2MeStandaloneHost() - context_->ui_task_runner()), - connection_(base::WrapUnique(new testing::NiceMock())), - session_jid_(kSessionJid), --#if defined(OS_LINUX) || defined(OS_CHROMEOS) -+#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD) - // We cannot support audio capturing for linux, since a pipe name is - // needed to initialize AudioCapturerLinux. - config_(protocol::SessionConfig::ForTest()), diff --git a/www/chromium/files/patch-remoting_test_it2me__standalone__host__main.cc b/www/chromium/files/patch-remoting_test_it2me__standalone__host__main.cc deleted file mode 100644 index 29f1fb241467..000000000000 --- a/www/chromium/files/patch-remoting_test_it2me__standalone__host__main.cc +++ /dev/null @@ -1,34 +0,0 @@ ---- remoting/test/it2me_standalone_host_main.cc.orig 2021-04-14 18:41:08 UTC -+++ remoting/test/it2me_standalone_host_main.cc -@@ -9,19 +9,19 @@ - #include "remoting/proto/event.pb.h" - #include "remoting/test/it2me_standalone_host.h" - --#if defined(OS_LINUX) || defined(OS_CHROMEOS) -+#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD) - #include - - #include "base/linux_util.h" - #include "ui/events/platform/x11/x11_event_source.h" --#endif // defined(OS_LINUX) || defined(OS_CHROMEOS) -+#endif // defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD) - - int main(int argc, const char** argv) { - base::AtExitManager at_exit_manager; - base::CommandLine::Init(argc, argv); - remoting::test::It2MeStandaloneHost host; - --#if defined(OS_LINUX) || defined(OS_CHROMEOS) -+#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD) - // Create an X11EventSource so the global X11 connection - // (x11::Connection::Get()) can dispatch X events. - auto event_source = -@@ -39,7 +39,7 @@ int main(int argc, const 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 // defined(OS_LINUX) || defined(OS_CHROMEOS) -+#endif // defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD) - remoting::LoadResources(""); - host.StartOutputTimer(); - host.Run(); diff --git a/www/chromium/files/patch-sandbox_BUILD.gn b/www/chromium/files/patch-sandbox_BUILD.gn index ce356f104a80..fc1f7ec58a48 100644 --- a/www/chromium/files/patch-sandbox_BUILD.gn +++ b/www/chromium/files/patch-sandbox_BUILD.gn @@ -1,11 +1,11 @@ ---- sandbox/BUILD.gn.orig 2021-04-14 18:41:08 UTC +--- sandbox/BUILD.gn.orig 2022-02-07 13:39:41 UTC +++ sandbox/BUILD.gn @@ -27,7 +27,7 @@ group("sandbox") { "//sandbox/mac:system_services", "//sandbox/mac/mojom", ] - } else if (is_linux || is_chromeos || is_android) { -+ } else if ((is_linux || is_chromeos || is_android) && !is_bsd) { ++ } else if ((is_linux && !is_bsd) || is_chromeos || is_android) { public_deps = [ "//sandbox/linux:sandbox" ] } } diff --git a/www/chromium/files/patch-sandbox_features.gni b/www/chromium/files/patch-sandbox_features.gni index 48a800ab208d..9f5a00868f96 100644 --- a/www/chromium/files/patch-sandbox_features.gni +++ b/www/chromium/files/patch-sandbox_features.gni @@ -1,11 +1,11 @@ ---- sandbox/features.gni.orig 2021-04-14 18:41:08 UTC +--- sandbox/features.gni.orig 2022-02-07 13:39:41 UTC +++ sandbox/features.gni -@@ -8,7 +8,7 @@ import("//build/config/nacl/config.gni") +@@ -6,7 +6,7 @@ # currently. # Do not disable seccomp_bpf anywhere without talking to # security@chromium.org! -use_seccomp_bpf = (is_linux || is_chromeos || is_android) && -+use_seccomp_bpf = (is_linux || is_chromeos || is_android) && !is_bsd && ++use_seccomp_bpf = !is_bsd && (is_linux || is_chromeos || is_android) && (current_cpu == "x86" || current_cpu == "x64" || current_cpu == "arm" || current_cpu == "arm64" || current_cpu == "mipsel" || current_cpu == "mips64el") diff --git a/www/chromium/files/patch-sandbox_linux_BUILD.gn b/www/chromium/files/patch-sandbox_linux_BUILD.gn index b95954427fce..6a4fd43ab003 100644 --- a/www/chromium/files/patch-sandbox_linux_BUILD.gn +++ b/www/chromium/files/patch-sandbox_linux_BUILD.gn @@ -1,20 +1,58 @@ ---- sandbox/linux/BUILD.gn.orig 2021-12-31 00:57:38 UTC +--- sandbox/linux/BUILD.gn.orig 2022-02-07 13:39:41 UTC +++ sandbox/linux/BUILD.gn -@@ -394,7 +394,7 @@ component("sandbox_services") { - deps += [ ":sandbox_services_headers" ] - } +@@ -12,12 +12,12 @@ if (is_android) { + } + + declare_args() { +- compile_suid_client = is_linux || is_chromeos ++ compile_suid_client = (is_linux || is_chromeos) && !is_bsd -- if (is_nacl_nonsfi) { -+ if (is_nacl_nonsfi || is_bsd) { - cflags = [ "-fgnu-inline-asm" ] +- compile_credentials = is_linux || is_chromeos ++ compile_credentials = (is_linux || is_chromeos) && !is_bsd - sources -= [ -@@ -402,6 +402,8 @@ component("sandbox_services") { - "services/init_process_reaper.h", - "services/scoped_process.cc", - "services/scoped_process.h", + # On Android, use plain GTest. +- use_base_test_suite = is_linux || is_chromeos ++ use_base_test_suite = (is_linux || is_chromeos) && !is_bsd + } + + # We have two principal targets: sandbox and sandbox_linux_unittests +@@ -367,6 +367,39 @@ component("sandbox_services") { + sources += [ + "services/libc_interceptor.cc", + "services/libc_interceptor.h", ++ ] ++ } ++ ++ if (is_bsd) { ++ sources -= [ ++ "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", ++ "services/yama.cc", ++ "services/yama.h", ++ "syscall_broker/broker_channel.cc", ++ "syscall_broker/broker_channel.h", ++ "syscall_broker/broker_client.cc", ++ "syscall_broker/broker_client.h", ++ "syscall_broker/broker_command.cc", ++ "syscall_broker/broker_command.h", ++ "syscall_broker/broker_file_permission.cc", ++ "syscall_broker/broker_file_permission.h", ++ "syscall_broker/broker_host.cc", ++ "syscall_broker/broker_host.h", ++ "syscall_broker/broker_permission_list.cc", ++ "syscall_broker/broker_permission_list.h", ++ "syscall_broker/broker_process.cc", ++ "syscall_broker/broker_process.h", ++ "syscall_broker/broker_sandbox_config.cc", ++ "syscall_broker/broker_sandbox_config.h", ++ "syscall_broker/broker_simple_message.cc", ++ "syscall_broker/broker_simple_message.h", ++ "syscall_broker/remote_syscall_arg_handler.cc", ++ "syscall_broker/remote_syscall_arg_handler.h", ++ "syscall_broker/syscall_dispatcher.cc", ++ "syscall_broker/syscall_dispatcher.h", + ] + } + } diff --git a/www/chromium/files/patch-sandbox_linux_services_init__process__reaper.cc b/www/chromium/files/patch-sandbox_linux_services_init__process__reaper.cc index 8671ba97ac80..8ec351166a19 100644 --- a/www/chromium/files/patch-sandbox_linux_services_init__process__reaper.cc +++ b/www/chromium/files/patch-sandbox_linux_services_init__process__reaper.cc @@ -1,15 +1,15 @@ ---- sandbox/linux/services/init_process_reaper.cc.orig 2021-04-14 18:41:08 UTC +--- sandbox/linux/services/init_process_reaper.cc.orig 2022-02-07 13:39:41 UTC +++ sandbox/linux/services/init_process_reaper.cc -@@ -1,6 +1,7 @@ - // Copyright 2013 The Chromium Authors. All rights reserved. +@@ -2,6 +2,7 @@ // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. -+#if 0 ++#if 0 #include "sandbox/linux/services/init_process_reaper.h" + #include @@ -100,3 +101,4 @@ bool CreateInitProcessReaper(base::OnceClosure post_fo } } // namespace sandbox. +#endif diff --git a/www/chromium/files/patch-sandbox_policy_BUILD.gn b/www/chromium/files/patch-sandbox_policy_BUILD.gn index 5bbefe6e9045..0d0b23c9cfdc 100644 --- a/www/chromium/files/patch-sandbox_policy_BUILD.gn +++ b/www/chromium/files/patch-sandbox_policy_BUILD.gn @@ -1,27 +1,39 @@ ---- sandbox/policy/BUILD.gn.orig 2021-12-14 11:45:09 UTC +--- sandbox/policy/BUILD.gn.orig 2022-02-07 13:39:41 UTC +++ sandbox/policy/BUILD.gn @@ -35,7 +35,7 @@ component("policy") { "//sandbox/policy/mojom", ] public_deps = [] - if (is_linux || is_chromeos) { + if ((is_linux || is_chromeos) && !is_bsd) { sources += [ "linux/bpf_audio_policy_linux.cc", "linux/bpf_audio_policy_linux.h", -@@ -88,6 +88,15 @@ component("policy") { +@@ -88,6 +88,27 @@ component("policy") { "//sandbox/linux:sandbox_services", "//sandbox/linux:seccomp_bpf", "//sandbox/linux:suid_sandbox_client", + ] + } -+ if (is_bsd) { ++ if (is_openbsd) { ++ sources += [ ++ "openbsd/sandbox_openbsd.cc", ++ "openbsd/sandbox_openbsd.h", ++ ] ++ deps += [ ++ "//sandbox:sandbox_buildflags", ++ "//ui/gfx/x", ++ ] ++ libs = [ "util" ] ++ } ++ if (is_freebsd) { + sources += [ -+ "freebsd/sandbox_freebsd.h", + "freebsd/sandbox_freebsd.cc", ++ "freebsd/sandbox_freebsd.h", + ] + deps += [ + "//sandbox:sandbox_buildflags", ++ "//ui/gfx/x", ] } if (is_chromeos_ash) { diff --git a/www/chromium/files/patch-sandbox_policy_features.cc b/www/chromium/files/patch-sandbox_policy_features.cc new file mode 100644 index 000000000000..829e48b9fd06 --- /dev/null +++ b/www/chromium/files/patch-sandbox_policy_features.cc @@ -0,0 +1,14 @@ +--- sandbox/policy/features.cc.orig 2022-02-07 13:39:41 UTC ++++ sandbox/policy/features.cc +@@ -16,7 +16,11 @@ namespace features { + // Enables network service sandbox. + // (Only causes an effect when feature kNetworkService is enabled.) + const base::Feature kNetworkServiceSandbox{"NetworkServiceSandbox", ++#if defined(OS_BSD) ++ base::FEATURE_ENABLED_BY_DEFAULT}; ++#else + base::FEATURE_DISABLED_BY_DEFAULT}; ++#endif + #endif // !defined(OS_MAC) && !defined(OS_FUCHSIA) + + #if defined(OS_WIN) diff --git a/www/chromium/files/patch-sandbox_policy_freebsd_sandbox__freebsd.cc b/www/chromium/files/patch-sandbox_policy_freebsd_sandbox__freebsd.cc new file mode 100644 index 000000000000..ef0afef1dbd3 --- /dev/null +++ b/www/chromium/files/patch-sandbox_policy_freebsd_sandbox__freebsd.cc @@ -0,0 +1,250 @@ +--- sandbox/policy/freebsd/sandbox_freebsd.cc.orig 2022-02-07 13:39:41 UTC ++++ sandbox/policy/freebsd/sandbox_freebsd.cc +@@ -0,0 +1,247 @@ ++// 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 "sandbox/policy/openbsd/sandbox_openbsd.h" ++ ++#include ++#include ++#include ++#include ++#include ++#include ++#include ++#include ++ ++#include ++#include ++#include ++#include ++ ++#include "base/bind.h" ++#include "base/callback_helpers.h" ++#include "base/command_line.h" ++#include "base/debug/stack_trace.h" ++#include "base/feature_list.h" ++#include "base/files/file_path.h" ++#include "base/files/file_util.h" ++#include "base/files/scoped_file.h" ++#include "base/logging.h" ++#include "base/memory/singleton.h" ++#include "base/path_service.h" ++#include "base/posix/eintr_wrapper.h" ++#include "base/strings/string_number_conversions.h" ++#include "base/system/sys_info.h" ++#include "base/time/time.h" ++#include "build/build_config.h" ++#include "sandbox/constants.h" ++#include "sandbox/linux/services/credentials.h" ++#include "sandbox/linux/services/namespace_sandbox.h" ++#include "sandbox/linux/services/proc_util.h" ++#include "sandbox/linux/services/resource_limits.h" ++#include "sandbox/linux/services/thread_helpers.h" ++#include "sandbox/linux/syscall_broker/broker_command.h" ++#include "sandbox/linux/syscall_broker/broker_process.h" ++#include "sandbox/policy/sandbox.h" ++#include "sandbox/policy/sandbox_type.h" ++#include "sandbox/policy/mojom/sandbox.mojom.h" ++#include "sandbox/policy/switches.h" ++#include "sandbox/sandbox_buildflags.h" ++ ++#if BUILDFLAG(USING_SANITIZER) ++#include ++#endif ++ ++#if defined(USE_NSS_CERTS) ++#include "crypto/nss_util.h" ++#endif ++ ++#include "ui/gfx/x/connection.h" ++#include "ui/gfx/font_util.h" ++ ++#include ++ ++#define MAXTOKENS 3 ++ ++#define _UNVEIL_MAIN "/etc/chromium/unveil.main"; ++#define _UNVEIL_RENDERER "/etc/chromium/unveil.renderer"; ++#define _UNVEIL_GPU "/etc/chromium/unveil.gpu"; ++#define _UNVEIL_PLUGIN "/etc/chromium/unveil.plugin"; ++#define _UNVEIL_UTILITY "/etc/chromium/unveil.utility"; ++#define _UNVEIL_UTILITY_NETWORK "/etc/chromium/unveil.utility_network"; ++#define _UNVEIL_UTILITY_AUDIO "/etc/chromium/unveil.utility_audio"; ++#define _UNVEIL_UTILITY_VIDEO "/etc/chromium/unveil.utility_video"; ++ ++namespace sandbox { ++namespace policy { ++ ++SandboxLinux::SandboxLinux() ++ : sandbox_status_flags_(kInvalid), ++ pre_initialized_(false), ++ initialize_sandbox_ran_(false), ++ broker_process_(nullptr) { ++} ++ ++SandboxLinux::~SandboxLinux() { ++ if (pre_initialized_) { ++ CHECK(initialize_sandbox_ran_); ++ } ++} ++ ++SandboxLinux* SandboxLinux::GetInstance() { ++ SandboxLinux* instance = base::Singleton::get(); ++ CHECK(instance); ++ return instance; ++} ++ ++void SandboxLinux::PreinitializeSandbox(sandbox::mojom::Sandbox sandbox_type) { ++ CHECK(!pre_initialized_); ++#if BUILDFLAG(USING_SANITIZER) ++ // Sanitizers need to open some resources before the sandbox is enabled. ++ // This should not fork, not launch threads, not open a directory. ++ __sanitizer_sandbox_on_notify(sanitizer_args()); ++ sanitizer_args_.reset(); ++#endif ++ base::CommandLine* command_line = base::CommandLine::ForCurrentProcess(); ++ const std::string process_type = ++ command_line->GetSwitchValueASCII(switches::kProcessType); ++ ++ base::SysInfo::AmountOfPhysicalMemory(); ++ base::SysInfo::NumberOfProcessors(); ++ ++#if defined(USE_NSS_CERTS) ++ // The main process has to initialize the ~/.pki dir which won't work ++ // after unveil(2). ++ if (process_type.empty()) ++ crypto::EnsureNSSInit(); ++#endif ++ ++ // cache the XErrorDB by forcing a read on it ++ { ++ auto* connection = x11::Connection::Get(); ++ auto* display = connection->GetXlibDisplay().display(); ++ ++ char buf[1]; ++ XGetErrorDatabaseText(display, "XProtoError", "0", "", buf, base::size(buf)); ++ } ++ ++ if (process_type.empty()) { ++ base::FilePath cache_directory, local_directory; ++ ++ base::PathService::Get(base::DIR_CACHE, &cache_directory); ++ base::PathService::Get(base::DIR_HOME, &local_directory); ++ ++ cache_directory = cache_directory.AppendASCII("chromium"); ++ local_directory = local_directory.AppendASCII(".local").AppendASCII("share").AppendASCII("applications"); ++ ++ if (!base::CreateDirectory(cache_directory)) { ++ LOG(ERROR) << "Failed to create " << cache_directory.value() << " directory."; ++ } ++ ++ if (!base::CreateDirectory(local_directory)) { ++ LOG(ERROR) << "Failed to create " << local_directory.value() << " directory."; ++ } ++ } ++ ++ if (process_type == switches::kRendererProcess) ++ gfx::InitializeFonts(); ++ ++ pre_initialized_ = true; ++} ++ ++bool SandboxLinux::InitializeSandbox(sandbox::mojom::Sandbox sandbox_type, ++ SandboxLinux::PreSandboxHook hook, ++ const Options& options) { ++ DCHECK(!initialize_sandbox_ran_); ++ initialize_sandbox_ran_ = true; ++ ++ base::CommandLine* command_line = base::CommandLine::ForCurrentProcess(); ++ const std::string process_type = ++ command_line->GetSwitchValueASCII(switches::kProcessType); ++ ++ if (command_line->HasSwitch(switches::kNoSandbox)) ++ return true; ++ ++ VLOG(1) << "SandboxLinux::InitializeSandbox: process_type=" ++ << process_type << " sandbox_type=" << GetSandboxTypeInEnglish(sandbox_type); ++ ++ // Only one thread is running, pre-initialize if not already done. ++ if (!pre_initialized_) ++ PreinitializeSandbox(sandbox_type); ++ ++ // Attempt to limit the future size of the address space of the process. ++ int error = 0; ++ const bool limited_as = LimitAddressSpace(&error); ++ if (error) { ++ // Restore errno. Internally to |LimitAddressSpace|, the errno due to ++ // setrlimit may be lost. ++ errno = error; ++ PCHECK(limited_as); ++ } ++ ++ return true; ++} ++ ++bool SandboxLinux::LimitAddressSpace(int* error) { ++#if !defined(ADDRESS_SANITIZER) && !defined(MEMORY_SANITIZER) && \ ++ !defined(THREAD_SANITIZER) && !defined(LEAK_SANITIZER) ++ base::CommandLine* command_line = base::CommandLine::ForCurrentProcess(); ++ if (SandboxTypeFromCommandLine(*command_line) == sandbox::mojom::Sandbox::kNoSandbox) { ++ return false; ++ } ++ ++ // Unfortunately, it does not appear possible to set RLIMIT_AS such that it ++ // will both (a) be high enough to support V8's and WebAssembly's address ++ // space requirements while also (b) being low enough to mitigate exploits ++ // using integer overflows that require large allocations, heap spray, or ++ // other memory-hungry attack modes. ++ ++ *error = sandbox::ResourceLimits::Lower( ++ RLIMIT_DATA, static_cast(sandbox::kDataSizeLimit)); ++ ++ // Cache the resource limit before turning on the sandbox. ++ base::SysInfo::AmountOfVirtualMemory(); ++ base::SysInfo::MaxSharedMemorySize(); ++ ++ return *error == 0; ++#else ++ base::SysInfo::AmountOfVirtualMemory(); ++ return false; ++#endif // !defined(ADDRESS_SANITIZER) && !defined(MEMORY_SANITIZER) && ++ // !defined(THREAD_SANITIZER) && !defined(LEAK_SANITIZER) ++} ++ ++// static ++std::string SandboxLinux::GetSandboxTypeInEnglish(sandbox::mojom::Sandbox sandbox_type) { ++ switch (sandbox_type) { ++ case sandbox::mojom::Sandbox::kNoSandbox: ++ return "Unsandboxed"; ++ case sandbox::mojom::Sandbox::kRenderer: ++ return "Renderer"; ++ case sandbox::mojom::Sandbox::kUtility: ++ return "Utility"; ++ case sandbox::mojom::Sandbox::kGpu: ++ return "GPU"; ++ case sandbox::mojom::Sandbox::kPpapi: ++ return "PPAPI"; ++ case sandbox::mojom::Sandbox::kNetwork: ++ return "Network"; ++ case sandbox::mojom::Sandbox::kCdm: ++ return "CDM"; ++ case sandbox::mojom::Sandbox::kPrintCompositor: ++ return "Print Compositor"; ++ case sandbox::mojom::Sandbox::kAudio: ++ return "Audio"; ++ case sandbox::mojom::Sandbox::kSpeechRecognition: ++ return "Speech Recognition"; ++ case sandbox::mojom::Sandbox::kService: ++ return "Service"; ++ case sandbox::mojom::Sandbox::kVideoCapture: ++ return "Video Capture"; ++ default: ++ return "Unknown"; ++ } ++} ++ ++} // namespace policy ++} // namespace sandbox diff --git a/www/chromium/files/patch-sandbox_policy_freebsd_sandbox__freebsd.h b/www/chromium/files/patch-sandbox_policy_freebsd_sandbox__freebsd.h new file mode 100644 index 000000000000..574ddb9a6687 --- /dev/null +++ b/www/chromium/files/patch-sandbox_policy_freebsd_sandbox__freebsd.h @@ -0,0 +1,281 @@ +--- sandbox/policy/freebsd/sandbox_freebsd.h.orig 2022-02-07 13:39:41 UTC ++++ sandbox/policy/freebsd/sandbox_freebsd.h +@@ -0,0 +1,278 @@ ++// 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 SANDBOX_POLICY_LINUX_SANDBOX_OPENBSD_H_ ++#define SANDBOX_POLICY_LINUX_SANDBOX_OPENBSD_H_ ++ ++#include ++#include ++#include ++ ++#include "base/logging.h" ++#include "base/posix/global_descriptors.h" ++#include "sandbox/policy/export.h" ++#include "sandbox/policy/linux/sandbox_seccomp_bpf_linux.h" ++#include "sandbox/policy/mojom/sandbox.mojom.h" ++#include "sandbox/policy/sanitizer_buildflags.h" ++ ++#if BUILDFLAG(USING_SANITIZER) ++#include ++#endif ++ ++namespace base { ++template ++struct DefaultSingletonTraits; ++class Thread; ++} // namespace base ++ ++namespace sandbox { ++namespace syscall_broker { ++class BrokerProcess; ++} // namespace syscall_broker ++} // namespace sandbox ++ ++namespace sandbox { ++namespace policy { ++ ++// A singleton class to represent and change our sandboxing state for the ++// three main Linux sandboxes. ++// The sandboxing model allows using two layers of sandboxing. The first layer ++// can be implemented either with unprivileged namespaces or with the setuid ++// sandbox. This class provides a way to engage the namespace sandbox, but does ++// not deal with the legacy setuid sandbox directly. ++// The second layer is mainly based on seccomp-bpf and is engaged with ++// InitializeSandbox(). InitializeSandbox() is also responsible for "sealing" ++// the first layer of sandboxing. That is, InitializeSandbox must always be ++// called to have any meaningful sandboxing at all. ++class SANDBOX_POLICY_EXPORT SandboxLinux { ++ public: ++ // This is a list of sandbox IPC methods which the renderer may send to the ++ // sandbox host. See ++ // https://chromium.googlesource.com/chromium/src/+/master/docs/linux_sandbox_ipc.md ++ // This isn't the full list, values < 32 are reserved for methods called from ++ // Skia, and values < 64 are reserved for libc_interceptor.cc. ++ enum LinuxSandboxIPCMethods { ++ DEPRECATED_METHOD_GET_FALLBACK_FONT_FOR_CHAR = 64, ++ DEPRECATED_METHOD_GET_CHILD_WITH_INODE, ++ DEPRECATED_METHOD_GET_STYLE_FOR_STRIKE, ++ METHOD_MAKE_SHARED_MEMORY_SEGMENT, ++ DEPRECATED_METHOD_MATCH_WITH_FALLBACK, ++ }; ++ ++ // These form a bitmask which describes the conditions of the Linux sandbox. ++ // Note: this doesn't strictly give you the current status, it states ++ // what will be enabled when the relevant processes are initialized. ++ enum Status { ++ // SUID sandbox active. ++ kSUID = 1 << 0, ++ ++ // Sandbox is using a new PID namespace. ++ kPIDNS = 1 << 1, ++ ++ // Sandbox is using a new network namespace. ++ kNetNS = 1 << 2, ++ ++ // seccomp-bpf sandbox active. ++ kSeccompBPF = 1 << 3, ++ ++ // The Yama LSM module is present and enforcing. ++ kYama = 1 << 4, ++ ++ // seccomp-bpf sandbox is active and the kernel supports TSYNC. ++ kSeccompTSYNC = 1 << 5, ++ ++ // User namespace sandbox active. ++ kUserNS = 1 << 6, ++ ++ // A flag that denotes an invalid sandbox status. ++ kInvalid = 1 << 31, ++ }; ++ ++ // SandboxLinux Options are a superset of SandboxSecompBPF Options. ++ struct Options : public SandboxSeccompBPF::Options { ++ // When running with a zygote, the namespace sandbox will have already ++ // been engaged prior to initializing SandboxLinux itself, and need not ++ // be done so again. Set to true to indicate that there isn't a zygote ++ // for this process and the step is to be performed here explicitly. ++ bool engage_namespace_sandbox = false; ++ ++ // Allow starting the sandbox with multiple threads already running. This ++ // will enable TSYNC for seccomp-BPF, which syncs the seccomp-BPF policy ++ // across all running threads. ++ bool allow_threads_during_sandbox_init = false; ++ ++ // Enables the CHECK for open directories. The open directory check is only ++ // useful for the chroot jail (from the semantic layer of the sandbox), and ++ // can safely be disabled if we are only enabling the seccomp-BPF layer. ++ bool check_for_open_directories = true; ++ }; ++ ++ // Callers can provide this hook to run code right before the policy ++ // is passed to the BPF compiler and the sandbox is engaged. If ++ // pre_sandbox_hook() returns true, the sandbox will be engaged ++ // afterwards, otherwise the process is terminated. ++ using PreSandboxHook = base::OnceCallback; ++ ++ // Get our singleton instance. ++ static SandboxLinux* GetInstance(); ++ ++ SandboxLinux(const SandboxLinux&) = delete; ++ SandboxLinux& operator=(const SandboxLinux&) = delete; ++ ++ bool SetPledge(const char *pstring, const char *ppath); ++ bool SetUnveil(const std::string process_type, sandbox::mojom::Sandbox sandbox_type); ++ ++ // Do some initialization that can only be done before any of the sandboxes ++ // are enabled. If using the setuid sandbox, this should be called manually ++ // before the setuid sandbox is engaged. ++ // Security: When this runs, it is imperative that either InitializeSandbox() ++ // runs as well or that all file descriptors returned in ++ // GetFileDescriptorsToClose() get closed. ++ // Otherwise file descriptors that bypass the security of the setuid sandbox ++ // would be kept open. One must be particularly careful if a process performs ++ // a fork(). ++ void PreinitializeSandbox(sandbox::mojom::Sandbox sandbox_type); ++ ++ // Check that the current process is the init process of a new PID ++ // namespace and then proceed to drop access to the file system by using ++ // a new unprivileged namespace. This is a layer-1 sandbox. ++ // In order for this sandbox to be effective, it must be "sealed" by calling ++ // InitializeSandbox(). ++ void EngageNamespaceSandbox(bool from_zygote); ++ ++ // Return a list of file descriptors to close if PreinitializeSandbox() ran ++ // but InitializeSandbox() won't. Avoid using. ++ // TODO(jln): get rid of this hack. ++ std::vector GetFileDescriptorsToClose(); ++ ++ // Seal an eventual layer-1 sandbox and initialize the layer-2 sandbox with ++ // an adequate policy depending on the process type and command line ++ // arguments. ++ // Currently the layer-2 sandbox is composed of seccomp-bpf and address space ++ // limitations. ++ // This function should only be called without any thread running. ++ bool InitializeSandbox(sandbox::mojom::Sandbox sandbox_type, ++ PreSandboxHook hook, ++ const Options& options); ++ ++ // Stop |thread| in a way that can be trusted by the sandbox. ++ void StopThread(base::Thread* thread); ++ ++ // Returns the status of the renderer, worker and ppapi sandbox. Can only ++ // be queried after going through PreinitializeSandbox(). This is a bitmask ++ // and uses the constants defined in "enum Status" above. Since the ++ // status needs to be provided before the sandboxes are actually started, ++ // this returns what will actually happen once InitializeSandbox() ++ // is called from inside these processes. ++ int GetStatus(); ++ ++ static std::string GetSandboxTypeInEnglish(sandbox::mojom::Sandbox sandbox_type); ++ ++ // Returns true if the current process is single-threaded or if the number ++ // of threads cannot be determined. ++ bool IsSingleThreaded() const; ++ ++ // Returns true if we started Seccomp BPF. ++ bool seccomp_bpf_started() const; ++ ++ // Check the policy and eventually start the seccomp-bpf sandbox. This should ++ // never be called with threads started. If we detect that threads have ++ // started we will crash. ++ bool StartSeccompBPF(sandbox::mojom::Sandbox sandbox_type, ++ PreSandboxHook hook, ++ const Options& options); ++ ++ // Limit the address space of the current process (and its children) to make ++ // some vulnerabilities harder to exploit. Writes the errno due to setrlimit ++ // (including 0 if no error) into |error|. ++ bool LimitAddressSpace(int* error); ++ ++ // Returns a file descriptor to proc. The file descriptor is no longer valid ++ // after the sandbox has been sealed. ++ int proc_fd() const { ++ DCHECK_NE(-1, proc_fd_); ++ return proc_fd_; ++ } ++ ++#if BUILDFLAG(USING_SANITIZER) ++ __sanitizer_sandbox_arguments* sanitizer_args() const { ++ return sanitizer_args_.get(); ++ }; ++#endif ++ ++ // A BrokerProcess is a helper that is started before the sandbox is engaged, ++ // typically from a pre-sandbox hook, that will serve requests to access ++ // files over an IPC channel. The client of this runs from a SIGSYS handler ++ // triggered by the seccomp-bpf sandbox. ++ // |client_sandbox_policy| is the policy being run by the client, and is ++ // used to derive the equivalent broker-side policy. ++ // |broker_side_hook| is an alternate pre-sandbox hook to be run before the ++ // broker itself gets sandboxed, to which the broker side policy and ++ // |options| are passed. ++ // Crashes the process if the broker can not be started since continuation ++ // is impossible (and presumably unsafe). ++ // This should never be destroyed, as after the sandbox is started it is ++ // vital to the process. ++#if 0 ++ void StartBrokerProcess( ++ const sandbox::syscall_broker::BrokerCommandSet& allowed_command_set, ++ std::vector permissions, ++ PreSandboxHook broker_side_hook, ++ const Options& options); ++ ++ sandbox::syscall_broker::BrokerProcess* broker_process() const { ++ return broker_process_; ++ } ++#endif ++ ++ private: ++ friend struct base::DefaultSingletonTraits; ++ ++ SandboxLinux(); ++ ~SandboxLinux(); ++ ++ // We must have been pre_initialized_ before using these. ++ bool seccomp_bpf_supported() const; ++ bool seccomp_bpf_with_tsync_supported() const; ++ ++ // Returns true if it can be determined that the current process has open ++ // directories that are not managed by the SandboxLinux class. This would ++ // be a vulnerability as it would allow to bypass the setuid sandbox. ++ bool HasOpenDirectories() const; ++ ++ // The last part of the initialization is to make sure any temporary "hole" ++ // in the sandbox is closed. For now, this consists of closing proc_fd_. ++ void SealSandbox(); ++ ++ // GetStatus() makes promises as to how the sandbox will behave. This ++ // checks that no promises have been broken. ++ void CheckForBrokenPromises(sandbox::mojom::Sandbox sandbox_type); ++ ++ // Stop |thread| and make sure it does not appear in /proc/self/tasks/ ++ // anymore. ++ void StopThreadAndEnsureNotCounted(base::Thread* thread) const; ++ ++ // A file descriptor to /proc. It's dangerous to have it around as it could ++ // allow for sandbox bypasses. It needs to be closed before we consider ++ // ourselves sandboxed. ++ int proc_fd_; ++ ++ bool seccomp_bpf_started_; ++ // The value returned by GetStatus(). Gets computed once and then cached. ++ int sandbox_status_flags_; ++ // Did PreinitializeSandbox() run? ++ bool pre_initialized_; ++ bool seccomp_bpf_supported_; // Accurate if pre_initialized_. ++ bool seccomp_bpf_with_tsync_supported_; // Accurate if pre_initialized_. ++ bool yama_is_enforcing_; // Accurate if pre_initialized_. ++ bool initialize_sandbox_ran_; // InitializeSandbox() was called. ++#if BUILDFLAG(USING_SANITIZER) ++ std::unique_ptr<__sanitizer_sandbox_arguments> sanitizer_args_; ++#endif ++ sandbox::syscall_broker::BrokerProcess* broker_process_; // Leaked as global. ++}; ++ ++} // namespace policy ++} // namespace sandbox ++ ++#endif // SANDBOX_POLICY_LINUX_SANDBOX_OPENBSD_H_ diff --git a/www/chromium/files/patch-sandbox_policy_mojom_sandbox.mojom b/www/chromium/files/patch-sandbox_policy_mojom_sandbox.mojom new file mode 100644 index 000000000000..eaf2f8ba6174 --- /dev/null +++ b/www/chromium/files/patch-sandbox_policy_mojom_sandbox.mojom @@ -0,0 +1,15 @@ +--- sandbox/policy/mojom/sandbox.mojom.orig 2022-02-07 13:39:41 UTC ++++ sandbox/policy/mojom/sandbox.mojom +@@ -63,6 +63,12 @@ enum Sandbox { + [EnableIf=is_fuchsia] + kVideoCapture, + ++ [EnableIf=is_openbsd] ++ kVideoCapture, ++ ++ [EnableIf=is_freebsd] ++ kVideoCapture, ++ + // Allows access to file contents and Windows APIs for parsing icons from PE + // files. + [EnableIf=is_win] diff --git a/www/chromium/files/patch-sandbox_policy_openbsd_sandbox__openbsd.cc b/www/chromium/files/patch-sandbox_policy_openbsd_sandbox__openbsd.cc new file mode 100644 index 000000000000..8e6a040a0010 --- /dev/null +++ b/www/chromium/files/patch-sandbox_policy_openbsd_sandbox__openbsd.cc @@ -0,0 +1,397 @@ +--- sandbox/policy/openbsd/sandbox_openbsd.cc.orig 2022-02-07 13:39:41 UTC ++++ sandbox/policy/openbsd/sandbox_openbsd.cc +@@ -0,0 +1,394 @@ ++// 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 "sandbox/policy/openbsd/sandbox_openbsd.h" ++ ++#include ++#include ++#include ++#include ++#include ++#include ++#include ++#include ++#include ++ ++#include ++#include ++#include ++#include ++ ++#include "base/bind.h" ++#include "base/callback_helpers.h" ++#include "base/command_line.h" ++#include "base/debug/stack_trace.h" ++#include "base/feature_list.h" ++#include "base/files/file_path.h" ++#include "base/files/file_util.h" ++#include "base/files/scoped_file.h" ++#include "base/logging.h" ++#include "base/memory/singleton.h" ++#include "base/path_service.h" ++#include "base/posix/eintr_wrapper.h" ++#include "base/strings/string_number_conversions.h" ++#include "base/system/sys_info.h" ++#include "base/time/time.h" ++#include "build/build_config.h" ++#include "sandbox/constants.h" ++#include "sandbox/linux/services/credentials.h" ++#include "sandbox/linux/services/namespace_sandbox.h" ++#include "sandbox/linux/services/proc_util.h" ++#include "sandbox/linux/services/resource_limits.h" ++#include "sandbox/linux/services/thread_helpers.h" ++#include "sandbox/linux/syscall_broker/broker_command.h" ++#include "sandbox/linux/syscall_broker/broker_process.h" ++#include "sandbox/policy/sandbox.h" ++#include "sandbox/policy/sandbox_type.h" ++#include "sandbox/policy/mojom/sandbox.mojom.h" ++#include "sandbox/policy/switches.h" ++#include "sandbox/sandbox_buildflags.h" ++ ++#if BUILDFLAG(USING_SANITIZER) ++#include ++#endif ++ ++#if defined(USE_NSS_CERTS) ++#include "crypto/nss_util.h" ++#endif ++ ++#include "ui/gfx/x/connection.h" ++#include "ui/gfx/font_util.h" ++ ++#include ++ ++#define MAXTOKENS 3 ++ ++#define _UNVEIL_MAIN "/etc/chromium/unveil.main"; ++#define _UNVEIL_RENDERER "/etc/chromium/unveil.renderer"; ++#define _UNVEIL_GPU "/etc/chromium/unveil.gpu"; ++#define _UNVEIL_PLUGIN "/etc/chromium/unveil.plugin"; ++#define _UNVEIL_UTILITY "/etc/chromium/unveil.utility"; ++#define _UNVEIL_UTILITY_NETWORK "/etc/chromium/unveil.utility_network"; ++#define _UNVEIL_UTILITY_AUDIO "/etc/chromium/unveil.utility_audio"; ++#define _UNVEIL_UTILITY_VIDEO "/etc/chromium/unveil.utility_video"; ++ ++namespace sandbox { ++namespace policy { ++ ++SandboxLinux::SandboxLinux() ++ : sandbox_status_flags_(kInvalid), ++ pre_initialized_(false), ++ initialize_sandbox_ran_(false), ++ broker_process_(nullptr) { ++} ++ ++SandboxLinux::~SandboxLinux() { ++ if (pre_initialized_) { ++ CHECK(initialize_sandbox_ran_); ++ } ++} ++ ++SandboxLinux* SandboxLinux::GetInstance() { ++ SandboxLinux* instance = base::Singleton::get(); ++ CHECK(instance); ++ return instance; ++} ++ ++void SandboxLinux::PreinitializeSandbox(sandbox::mojom::Sandbox sandbox_type) { ++ CHECK(!pre_initialized_); ++#if BUILDFLAG(USING_SANITIZER) ++ // Sanitizers need to open some resources before the sandbox is enabled. ++ // This should not fork, not launch threads, not open a directory. ++ __sanitizer_sandbox_on_notify(sanitizer_args()); ++ sanitizer_args_.reset(); ++#endif ++ base::CommandLine* command_line = base::CommandLine::ForCurrentProcess(); ++ const std::string process_type = ++ command_line->GetSwitchValueASCII(switches::kProcessType); ++ ++ base::SysInfo::AmountOfPhysicalMemory(); ++ base::SysInfo::NumberOfProcessors(); ++ ++#if defined(USE_NSS_CERTS) ++ // The main process has to initialize the ~/.pki dir which won't work ++ // after unveil(2). ++ if (process_type.empty()) ++ crypto::EnsureNSSInit(); ++#endif ++ ++ // cache the XErrorDB by forcing a read on it ++ { ++ auto* connection = x11::Connection::Get(); ++ auto* display = connection->GetXlibDisplay().display(); ++ ++ char buf[1]; ++ XGetErrorDatabaseText(display, "XProtoError", "0", "", buf, base::size(buf)); ++ } ++ ++ if (process_type.empty()) { ++ base::FilePath cache_directory, local_directory; ++ ++ base::PathService::Get(base::DIR_CACHE, &cache_directory); ++ base::PathService::Get(base::DIR_HOME, &local_directory); ++ ++ cache_directory = cache_directory.AppendASCII("chromium"); ++ local_directory = local_directory.AppendASCII(".local").AppendASCII("share").AppendASCII("applications"); ++ ++ if (!base::CreateDirectory(cache_directory)) { ++ LOG(ERROR) << "Failed to create " << cache_directory.value() << " directory."; ++ } ++ ++ if (!base::CreateDirectory(local_directory)) { ++ LOG(ERROR) << "Failed to create " << local_directory.value() << " directory."; ++ } ++ } ++ ++ if (process_type == switches::kRendererProcess) ++ gfx::InitializeFonts(); ++ ++ if (!command_line->HasSwitch(switches::kDisableUnveil)) ++ SetUnveil(process_type, sandbox_type); ++ ++ pre_initialized_ = true; ++} ++ ++bool SandboxLinux::SetPledge(const char *pstring, const char *ppath) { ++ FILE *fp; ++ char *s = NULL; ++ size_t len = 0; ++ ssize_t read; ++ ++ if (pstring != NULL) { ++ if (pledge(pstring, NULL) == -1) ++ goto err; ++ } else if (ppath != NULL) { ++ fp = fopen(ppath, "r"); ++ if (fp != NULL) { ++ while ((read = getline(&s, &len, fp)) != -1 ) { ++ if (s[strlen(s)-1] == '\n') ++ s[strlen(s)-1] = '\0'; ++ if (pledge(s, NULL) == -1) ++ goto err; ++ } ++ fclose(fp); ++ } else { ++ LOG(ERROR) << "fopen() failed, errno: " << errno; ++ return false; ++ } ++ } ++ return true; ++err: ++ LOG(ERROR) << "pledge() failed, errno: " << errno; ++ return false; ++} ++ ++bool SandboxLinux::SetUnveil(const std::string process_type, sandbox::mojom::Sandbox sandbox_type) { ++ FILE *fp; ++ char *s = NULL, *cp = NULL, *home = NULL, **ap, *tokens[MAXTOKENS]; ++ char path[PATH_MAX]; ++ const char *ufile; ++ size_t len = 0, lineno = 0; ++ ++ if (process_type.empty()) { ++ ufile = _UNVEIL_MAIN; ++ } else if (process_type == switches::kRendererProcess) { ++ ufile = _UNVEIL_RENDERER; ++ } else if (process_type == switches::kGpuProcess) { ++ ufile = _UNVEIL_GPU; ++ } else if (process_type == switches::kPpapiPluginProcess) { ++ ufile = _UNVEIL_PLUGIN; ++ } else if (process_type == switches::kUtilityProcess) { ++ if (sandbox_type == sandbox::mojom::Sandbox::kNetwork) { ++ ufile = _UNVEIL_UTILITY_NETWORK; ++ } else if (sandbox_type == sandbox::mojom::Sandbox::kAudio) { ++ ufile = _UNVEIL_UTILITY_AUDIO; ++ } else if (sandbox_type == sandbox::mojom::Sandbox::kVideoCapture) { ++ ufile = _UNVEIL_UTILITY_VIDEO; ++ } else { ++ ufile = _UNVEIL_UTILITY; ++ } ++ } ++ ++ fp = fopen(ufile, "r"); ++ if (fp != NULL) { ++ while (!feof(fp)) { ++ if ((s = fparseln(fp, &len, &lineno, NULL, ++ FPARSELN_UNESCCOMM | FPARSELN_UNESCCONT)) == NULL) { ++ if (ferror(fp)) { ++ LOG(ERROR) << "ferror(), errno: " << errno; ++ _exit(1); ++ } else { ++ continue; ++ } ++ } ++ cp = s; ++ cp += strspn(cp, " \t\n"); /* eat whitespace */ ++ if (cp[0] == '\0') ++ continue; ++ ++ for (ap = tokens; ap < &tokens[MAXTOKENS - 1] && ++ (*ap = strsep(&cp, " \t")) != NULL;) { ++ if (**ap != '\0') ++ ap++; ++ } ++ *ap = NULL; ++ ++ if (tokens[1] == NULL) { ++ LOG(ERROR) << ufile << ": line " << lineno << ": must supply value to " << s; ++ _exit(1); ++ } ++ ++ if (tokens[0][0] == '~') { ++ if ((home = getenv("HOME")) == NULL || *home == '\0') { ++ LOG(ERROR) << "failed to get home"; ++ _exit(1); ++ } ++ memmove(tokens[0], tokens[0] + 1, strlen(tokens[0])); ++ strncpy(path, home, sizeof(path) - 1); ++ path[sizeof(path) - 1] = '\0'; ++ strncat(path, tokens[0], sizeof(path) - 1 - strlen(path)); ++ } else { ++ strncpy(path, tokens[0], sizeof(path) - 1); ++ path[sizeof(path) - 1] = '\0'; ++ } ++ ++ if (unveil(path, tokens[1]) == -1) { ++ LOG(ERROR) << "failed unveiling " << path << " with permissions " << tokens[1]; ++ _exit(1); ++ } else { ++ VLOG(1) << "unveiling " << path << " with permissions " << tokens[1]; ++ } ++ } ++ fclose(fp); ++ } else { ++ LOG(ERROR) << "failed to open " << ufile << " errno: " << errno; ++ _exit(1); ++ } ++ ++ return true; ++} ++ ++bool SandboxLinux::InitializeSandbox(sandbox::mojom::Sandbox sandbox_type, ++ SandboxLinux::PreSandboxHook hook, ++ const Options& options) { ++ DCHECK(!initialize_sandbox_ran_); ++ initialize_sandbox_ran_ = true; ++ ++ base::CommandLine* command_line = base::CommandLine::ForCurrentProcess(); ++ const std::string process_type = ++ command_line->GetSwitchValueASCII(switches::kProcessType); ++ ++ if (command_line->HasSwitch(switches::kNoSandbox)) ++ return true; ++ ++ VLOG(1) << "SandboxLinux::InitializeSandbox: process_type=" ++ << process_type << " sandbox_type=" << GetSandboxTypeInEnglish(sandbox_type); ++ ++ // Only one thread is running, pre-initialize if not already done. ++ if (!pre_initialized_) ++ PreinitializeSandbox(sandbox_type); ++ ++ // Attempt to limit the future size of the address space of the process. ++ int error = 0; ++ const bool limited_as = LimitAddressSpace(&error); ++ if (error) { ++ // Restore errno. Internally to |LimitAddressSpace|, the errno due to ++ // setrlimit may be lost. ++ errno = error; ++ PCHECK(limited_as); ++ } ++ ++ if (process_type.empty()) { ++ // XXX use a file for listing pledges of the main process for now ++ // XXX not having the file is not a fatal error ++ SetPledge(NULL, "/etc/chromium/pledge.main"); ++ } else if (process_type == switches::kRendererProcess) { ++ // prot_exec needed by v8 ++ // flock needed by sqlite3 locking ++ SetPledge("stdio flock prot_exec recvfd sendfd ps", NULL); ++ } else if (process_type == switches::kGpuProcess) { ++ SetPledge("stdio rpath cpath wpath getpw drm prot_exec recvfd sendfd tmppath", NULL); ++ } else if (process_type == switches::kPpapiPluginProcess) { ++ // prot_exec needed by v8 ++ SetPledge("stdio rpath prot_exec recvfd sendfd", NULL); ++ } else if (process_type == switches::kUtilityProcess) { ++ if (sandbox_type == sandbox::mojom::Sandbox::kAudio) ++ SetPledge(NULL, "/etc/chromium/pledge.utility_audio"); ++ else if (sandbox_type == sandbox::mojom::Sandbox::kNetwork) ++ SetPledge(NULL, "/etc/chromium/pledge.utility_network"); ++ else if (sandbox_type == sandbox::mojom::Sandbox::kVideoCapture) ++ SetPledge(NULL, "/etc/chromium/pledge.utility_video"); ++ else ++ SetPledge("stdio rpath cpath wpath fattr flock sendfd recvfd prot_exec", NULL); ++ } else { ++ LOG(ERROR) << "non-pledge()'d process: " << process_type; ++ return false; ++ } ++ ++ return true; ++} ++ ++bool SandboxLinux::LimitAddressSpace(int* error) { ++#if !defined(ADDRESS_SANITIZER) && !defined(MEMORY_SANITIZER) && \ ++ !defined(THREAD_SANITIZER) && !defined(LEAK_SANITIZER) ++ base::CommandLine* command_line = base::CommandLine::ForCurrentProcess(); ++ if (SandboxTypeFromCommandLine(*command_line) == sandbox::mojom::Sandbox::kNoSandbox) { ++ return false; ++ } ++ ++ // Unfortunately, it does not appear possible to set RLIMIT_AS such that it ++ // will both (a) be high enough to support V8's and WebAssembly's address ++ // space requirements while also (b) being low enough to mitigate exploits ++ // using integer overflows that require large allocations, heap spray, or ++ // other memory-hungry attack modes. ++ ++ *error = sandbox::ResourceLimits::Lower( ++ RLIMIT_DATA, static_cast(sandbox::kDataSizeLimit)); ++ ++ // Cache the resource limit before turning on the sandbox. ++ base::SysInfo::AmountOfVirtualMemory(); ++ base::SysInfo::MaxSharedMemorySize(); ++ ++ return *error == 0; ++#else ++ base::SysInfo::AmountOfVirtualMemory(); ++ return false; ++#endif // !defined(ADDRESS_SANITIZER) && !defined(MEMORY_SANITIZER) && ++ // !defined(THREAD_SANITIZER) && !defined(LEAK_SANITIZER) ++} ++ ++// static ++std::string SandboxLinux::GetSandboxTypeInEnglish(sandbox::mojom::Sandbox sandbox_type) { ++ switch (sandbox_type) { ++ case sandbox::mojom::Sandbox::kNoSandbox: ++ return "Unsandboxed"; ++ case sandbox::mojom::Sandbox::kRenderer: ++ return "Renderer"; ++ case sandbox::mojom::Sandbox::kUtility: ++ return "Utility"; ++ case sandbox::mojom::Sandbox::kGpu: ++ return "GPU"; ++ case sandbox::mojom::Sandbox::kPpapi: ++ return "PPAPI"; ++ case sandbox::mojom::Sandbox::kNetwork: ++ return "Network"; ++ case sandbox::mojom::Sandbox::kCdm: ++ return "CDM"; ++ case sandbox::mojom::Sandbox::kPrintCompositor: ++ return "Print Compositor"; ++ case sandbox::mojom::Sandbox::kAudio: ++ return "Audio"; ++ case sandbox::mojom::Sandbox::kSpeechRecognition: ++ return "Speech Recognition"; ++ case sandbox::mojom::Sandbox::kService: ++ return "Service"; ++ case sandbox::mojom::Sandbox::kVideoCapture: ++ return "Video Capture"; ++ default: ++ return "Unknown"; ++ } ++} ++ ++} // namespace policy ++} // namespace sandbox diff --git a/www/chromium/files/patch-sandbox_policy_openbsd_sandbox__openbsd.h b/www/chromium/files/patch-sandbox_policy_openbsd_sandbox__openbsd.h new file mode 100644 index 000000000000..25ac98d7be0c --- /dev/null +++ b/www/chromium/files/patch-sandbox_policy_openbsd_sandbox__openbsd.h @@ -0,0 +1,281 @@ +--- sandbox/policy/openbsd/sandbox_openbsd.h.orig 2022-02-07 13:39:41 UTC ++++ sandbox/policy/openbsd/sandbox_openbsd.h +@@ -0,0 +1,278 @@ ++// 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 SANDBOX_POLICY_LINUX_SANDBOX_OPENBSD_H_ ++#define SANDBOX_POLICY_LINUX_SANDBOX_OPENBSD_H_ ++ ++#include ++#include ++#include ++ ++#include "base/logging.h" ++#include "base/posix/global_descriptors.h" ++#include "sandbox/policy/export.h" ++#include "sandbox/policy/linux/sandbox_seccomp_bpf_linux.h" ++#include "sandbox/policy/mojom/sandbox.mojom.h" ++#include "sandbox/policy/sanitizer_buildflags.h" ++ ++#if BUILDFLAG(USING_SANITIZER) ++#include ++#endif ++ ++namespace base { ++template ++struct DefaultSingletonTraits; ++class Thread; ++} // namespace base ++ ++namespace sandbox { ++namespace syscall_broker { ++class BrokerProcess; ++} // namespace syscall_broker ++} // namespace sandbox ++ ++namespace sandbox { ++namespace policy { ++ ++// A singleton class to represent and change our sandboxing state for the ++// three main Linux sandboxes. ++// The sandboxing model allows using two layers of sandboxing. The first layer ++// can be implemented either with unprivileged namespaces or with the setuid ++// sandbox. This class provides a way to engage the namespace sandbox, but does ++// not deal with the legacy setuid sandbox directly. ++// The second layer is mainly based on seccomp-bpf and is engaged with ++// InitializeSandbox(). InitializeSandbox() is also responsible for "sealing" ++// the first layer of sandboxing. That is, InitializeSandbox must always be ++// called to have any meaningful sandboxing at all. ++class SANDBOX_POLICY_EXPORT SandboxLinux { ++ public: ++ // This is a list of sandbox IPC methods which the renderer may send to the ++ // sandbox host. See ++ // https://chromium.googlesource.com/chromium/src/+/master/docs/linux_sandbox_ipc.md ++ // This isn't the full list, values < 32 are reserved for methods called from ++ // Skia, and values < 64 are reserved for libc_interceptor.cc. ++ enum LinuxSandboxIPCMethods { ++ DEPRECATED_METHOD_GET_FALLBACK_FONT_FOR_CHAR = 64, ++ DEPRECATED_METHOD_GET_CHILD_WITH_INODE, ++ DEPRECATED_METHOD_GET_STYLE_FOR_STRIKE, ++ METHOD_MAKE_SHARED_MEMORY_SEGMENT, ++ DEPRECATED_METHOD_MATCH_WITH_FALLBACK, ++ }; ++ ++ // These form a bitmask which describes the conditions of the Linux sandbox. ++ // Note: this doesn't strictly give you the current status, it states ++ // what will be enabled when the relevant processes are initialized. ++ enum Status { ++ // SUID sandbox active. ++ kSUID = 1 << 0, ++ ++ // Sandbox is using a new PID namespace. ++ kPIDNS = 1 << 1, ++ ++ // Sandbox is using a new network namespace. ++ kNetNS = 1 << 2, ++ ++ // seccomp-bpf sandbox active. ++ kSeccompBPF = 1 << 3, ++ ++ // The Yama LSM module is present and enforcing. ++ kYama = 1 << 4, ++ ++ // seccomp-bpf sandbox is active and the kernel supports TSYNC. ++ kSeccompTSYNC = 1 << 5, ++ ++ // User namespace sandbox active. ++ kUserNS = 1 << 6, ++ ++ // A flag that denotes an invalid sandbox status. ++ kInvalid = 1 << 31, ++ }; ++ ++ // SandboxLinux Options are a superset of SandboxSecompBPF Options. ++ struct Options : public SandboxSeccompBPF::Options { ++ // When running with a zygote, the namespace sandbox will have already ++ // been engaged prior to initializing SandboxLinux itself, and need not ++ // be done so again. Set to true to indicate that there isn't a zygote ++ // for this process and the step is to be performed here explicitly. ++ bool engage_namespace_sandbox = false; ++ ++ // Allow starting the sandbox with multiple threads already running. This ++ // will enable TSYNC for seccomp-BPF, which syncs the seccomp-BPF policy ++ // across all running threads. ++ bool allow_threads_during_sandbox_init = false; ++ ++ // Enables the CHECK for open directories. The open directory check is only ++ // useful for the chroot jail (from the semantic layer of the sandbox), and ++ // can safely be disabled if we are only enabling the seccomp-BPF layer. ++ bool check_for_open_directories = true; ++ }; ++ ++ // Callers can provide this hook to run code right before the policy ++ // is passed to the BPF compiler and the sandbox is engaged. If ++ // pre_sandbox_hook() returns true, the sandbox will be engaged ++ // afterwards, otherwise the process is terminated. ++ using PreSandboxHook = base::OnceCallback; ++ ++ // Get our singleton instance. ++ static SandboxLinux* GetInstance(); ++ ++ SandboxLinux(const SandboxLinux&) = delete; ++ SandboxLinux& operator=(const SandboxLinux&) = delete; ++ ++ bool SetPledge(const char *pstring, const char *ppath); ++ bool SetUnveil(const std::string process_type, sandbox::mojom::Sandbox sandbox_type); ++ ++ // Do some initialization that can only be done before any of the sandboxes ++ // are enabled. If using the setuid sandbox, this should be called manually ++ // before the setuid sandbox is engaged. ++ // Security: When this runs, it is imperative that either InitializeSandbox() ++ // runs as well or that all file descriptors returned in ++ // GetFileDescriptorsToClose() get closed. ++ // Otherwise file descriptors that bypass the security of the setuid sandbox ++ // would be kept open. One must be particularly careful if a process performs ++ // a fork(). ++ void PreinitializeSandbox(sandbox::mojom::Sandbox sandbox_type); ++ ++ // Check that the current process is the init process of a new PID ++ // namespace and then proceed to drop access to the file system by using ++ // a new unprivileged namespace. This is a layer-1 sandbox. ++ // In order for this sandbox to be effective, it must be "sealed" by calling ++ // InitializeSandbox(). ++ void EngageNamespaceSandbox(bool from_zygote); ++ ++ // Return a list of file descriptors to close if PreinitializeSandbox() ran ++ // but InitializeSandbox() won't. Avoid using. ++ // TODO(jln): get rid of this hack. ++ std::vector GetFileDescriptorsToClose(); ++ ++ // Seal an eventual layer-1 sandbox and initialize the layer-2 sandbox with ++ // an adequate policy depending on the process type and command line ++ // arguments. ++ // Currently the layer-2 sandbox is composed of seccomp-bpf and address space ++ // limitations. ++ // This function should only be called without any thread running. ++ bool InitializeSandbox(sandbox::mojom::Sandbox sandbox_type, ++ PreSandboxHook hook, ++ const Options& options); ++ ++ // Stop |thread| in a way that can be trusted by the sandbox. ++ void StopThread(base::Thread* thread); ++ ++ // Returns the status of the renderer, worker and ppapi sandbox. Can only ++ // be queried after going through PreinitializeSandbox(). This is a bitmask ++ // and uses the constants defined in "enum Status" above. Since the ++ // status needs to be provided before the sandboxes are actually started, ++ // this returns what will actually happen once InitializeSandbox() ++ // is called from inside these processes. ++ int GetStatus(); ++ ++ static std::string GetSandboxTypeInEnglish(sandbox::mojom::Sandbox sandbox_type); ++ ++ // Returns true if the current process is single-threaded or if the number ++ // of threads cannot be determined. ++ bool IsSingleThreaded() const; ++ ++ // Returns true if we started Seccomp BPF. ++ bool seccomp_bpf_started() const; ++ ++ // Check the policy and eventually start the seccomp-bpf sandbox. This should ++ // never be called with threads started. If we detect that threads have ++ // started we will crash. ++ bool StartSeccompBPF(sandbox::mojom::Sandbox sandbox_type, ++ PreSandboxHook hook, ++ const Options& options); ++ ++ // Limit the address space of the current process (and its children) to make ++ // some vulnerabilities harder to exploit. Writes the errno due to setrlimit ++ // (including 0 if no error) into |error|. ++ bool LimitAddressSpace(int* error); ++ ++ // Returns a file descriptor to proc. The file descriptor is no longer valid ++ // after the sandbox has been sealed. ++ int proc_fd() const { ++ DCHECK_NE(-1, proc_fd_); ++ return proc_fd_; ++ } ++ ++#if BUILDFLAG(USING_SANITIZER) ++ __sanitizer_sandbox_arguments* sanitizer_args() const { ++ return sanitizer_args_.get(); ++ }; ++#endif ++ ++ // A BrokerProcess is a helper that is started before the sandbox is engaged, ++ // typically from a pre-sandbox hook, that will serve requests to access ++ // files over an IPC channel. The client of this runs from a SIGSYS handler ++ // triggered by the seccomp-bpf sandbox. ++ // |client_sandbox_policy| is the policy being run by the client, and is ++ // used to derive the equivalent broker-side policy. ++ // |broker_side_hook| is an alternate pre-sandbox hook to be run before the ++ // broker itself gets sandboxed, to which the broker side policy and ++ // |options| are passed. ++ // Crashes the process if the broker can not be started since continuation ++ // is impossible (and presumably unsafe). ++ // This should never be destroyed, as after the sandbox is started it is ++ // vital to the process. ++#if 0 ++ void StartBrokerProcess( ++ const sandbox::syscall_broker::BrokerCommandSet& allowed_command_set, ++ std::vector permissions, ++ PreSandboxHook broker_side_hook, ++ const Options& options); ++ ++ sandbox::syscall_broker::BrokerProcess* broker_process() const { ++ return broker_process_; ++ } ++#endif ++ ++ private: ++ friend struct base::DefaultSingletonTraits; ++ ++ SandboxLinux(); ++ ~SandboxLinux(); ++ ++ // We must have been pre_initialized_ before using these. ++ bool seccomp_bpf_supported() const; ++ bool seccomp_bpf_with_tsync_supported() const; ++ ++ // Returns true if it can be determined that the current process has open ++ // directories that are not managed by the SandboxLinux class. This would ++ // be a vulnerability as it would allow to bypass the setuid sandbox. ++ bool HasOpenDirectories() const; ++ ++ // The last part of the initialization is to make sure any temporary "hole" ++ // in the sandbox is closed. For now, this consists of closing proc_fd_. ++ void SealSandbox(); ++ ++ // GetStatus() makes promises as to how the sandbox will behave. This ++ // checks that no promises have been broken. ++ void CheckForBrokenPromises(sandbox::mojom::Sandbox sandbox_type); ++ ++ // Stop |thread| and make sure it does not appear in /proc/self/tasks/ ++ // anymore. ++ void StopThreadAndEnsureNotCounted(base::Thread* thread) const; ++ ++ // A file descriptor to /proc. It's dangerous to have it around as it could ++ // allow for sandbox bypasses. It needs to be closed before we consider ++ // ourselves sandboxed. ++ int proc_fd_; ++ ++ bool seccomp_bpf_started_; ++ // The value returned by GetStatus(). Gets computed once and then cached. ++ int sandbox_status_flags_; ++ // Did PreinitializeSandbox() run? ++ bool pre_initialized_; ++ bool seccomp_bpf_supported_; // Accurate if pre_initialized_. ++ bool seccomp_bpf_with_tsync_supported_; // Accurate if pre_initialized_. ++ bool yama_is_enforcing_; // Accurate if pre_initialized_. ++ bool initialize_sandbox_ran_; // InitializeSandbox() was called. ++#if BUILDFLAG(USING_SANITIZER) ++ std::unique_ptr<__sanitizer_sandbox_arguments> sanitizer_args_; ++#endif ++ sandbox::syscall_broker::BrokerProcess* broker_process_; // Leaked as global. ++}; ++ ++} // namespace policy ++} // namespace sandbox ++ ++#endif // SANDBOX_POLICY_LINUX_SANDBOX_OPENBSD_H_ diff --git a/www/chromium/files/patch-sandbox_policy_sandbox.cc b/www/chromium/files/patch-sandbox_policy_sandbox.cc index 8135427d7a88..7e2c8176a47b 100644 --- a/www/chromium/files/patch-sandbox_policy_sandbox.cc +++ b/www/chromium/files/patch-sandbox_policy_sandbox.cc @@ -1,35 +1,22 @@ ---- sandbox/policy/sandbox.cc.orig 2022-01-20 10:36:01 UTC +--- sandbox/policy/sandbox.cc.orig 2022-02-07 13:39:41 UTC +++ sandbox/policy/sandbox.cc -@@ -13,6 +13,10 @@ - #include "base/android/jni_android.h" - #endif // defined(OS_ANDROID) - -+#if defined(OS_FREEBSD) -+#include "sandbox/policy/freebsd/sandbox_freebsd.h" -+#endif // defined(OS_FREEBSD) -+ - #if defined(OS_LINUX) || defined(OS_CHROMEOS) +@@ -17,6 +17,10 @@ #include "sandbox/policy/linux/sandbox_linux.h" #endif // defined(OS_LINUX) || defined(OS_CHROMEOS) -@@ -30,6 +34,12 @@ + ++#if defined(OS_BSD) ++#include "sandbox/policy/openbsd/sandbox_openbsd.h" ++#endif // defined(OS_BSD) ++ + #if defined(OS_MAC) + #include "sandbox/mac/seatbelt.h" + #endif // defined(OS_MAC) +@@ -30,7 +34,7 @@ namespace sandbox { namespace policy { -+#if defined(OS_FREEBSD) -+bool Sandbox::Initialize(sandbox::mojom::Sandbox sandbox_type) { -+ return SandboxFreeBSD::GetInstance()->InitializeSandbox(sandbox_type); -+} -+#endif // defined(OS_FREEBSD) -+ - #if defined(OS_LINUX) || defined(OS_CHROMEOS) +-#if defined(OS_LINUX) || defined(OS_CHROMEOS) ++#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD) bool Sandbox::Initialize(sandbox::mojom::Sandbox sandbox_type, SandboxLinux::PreSandboxHook hook, -@@ -90,6 +100,8 @@ bool Sandbox::IsProcessSandboxed() { - base::android::MethodID::Get( - env, process_class.obj(), "isIsolated", "()Z"); - return env->CallStaticBooleanMethod(process_class.obj(), is_isolated); -+#elif defined(OS_FREEBSD) -+ return SandboxFreeBSD::GetInstance()->IsSandboxed(); - #elif defined(OS_FUCHSIA) - // TODO(https://crbug.com/1071420): Figure out what to do here. Process - // launching controls the sandbox and there are no ambient capabilities, so + const SandboxLinux::Options& options) { diff --git a/www/chromium/files/patch-sandbox_policy_sandbox.h b/www/chromium/files/patch-sandbox_policy_sandbox.h index d8da02cb7e6d..a42cd1e2a453 100644 --- a/www/chromium/files/patch-sandbox_policy_sandbox.h +++ b/www/chromium/files/patch-sandbox_policy_sandbox.h @@ -1,24 +1,22 @@ ---- sandbox/policy/sandbox.h.orig 2022-01-20 10:36:01 UTC +--- sandbox/policy/sandbox.h.orig 2022-02-07 13:39:41 UTC +++ sandbox/policy/sandbox.h -@@ -8,6 +8,10 @@ - #include "build/build_config.h" - #include "sandbox/policy/export.h" - -+#if defined(OS_FREEBSD) -+#include "sandbox/policy/freebsd/sandbox_freebsd.h" -+#endif -+ - #if defined(OS_LINUX) || defined(OS_CHROMEOS) +@@ -12,6 +12,10 @@ #include "sandbox/policy/linux/sandbox_linux.h" #endif -@@ -32,6 +36,10 @@ namespace policy { + ++#if defined(OS_BSD) ++#include "sandbox/policy/openbsd/sandbox_openbsd.h" ++#endif ++ + namespace sandbox { + namespace mojom { + enum class Sandbox; +@@ -32,7 +36,7 @@ namespace policy { class SANDBOX_POLICY_EXPORT Sandbox { public: -+#if defined(OS_FREEBSD) -+ static bool Initialize(sandbox::mojom::Sandbox sandbox_type); -+#endif // defined(OS_FREEBSD) -+ - #if defined(OS_LINUX) || defined(OS_CHROMEOS) +-#if defined(OS_LINUX) || defined(OS_CHROMEOS) ++#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD) static bool Initialize(sandbox::mojom::Sandbox sandbox_type, SandboxLinux::PreSandboxHook hook, + const SandboxLinux::Options& options); diff --git a/www/chromium/files/patch-sandbox_policy_sandbox__type.cc b/www/chromium/files/patch-sandbox_policy_sandbox__type.cc new file mode 100644 index 000000000000..0a1bbbaa267c --- /dev/null +++ b/www/chromium/files/patch-sandbox_policy_sandbox__type.cc @@ -0,0 +1,38 @@ +--- sandbox/policy/sandbox_type.cc.orig 2022-02-07 13:39:41 UTC ++++ sandbox/policy/sandbox_type.cc +@@ -39,7 +39,7 @@ bool IsUnsandboxedSandboxType(Sandbox sandbox_type) { + #endif + case Sandbox::kAudio: + return false; +-#if defined(OS_FUCHSIA) ++#if defined(OS_FUCHSIA) || defined(OS_BSD) + case Sandbox::kVideoCapture: + return false; + #endif +@@ -120,7 +120,7 @@ void SetCommandLineFlagsForSandboxType(base::CommandLi + #endif + case Sandbox::kPrintCompositor: + case Sandbox::kAudio: +-#if defined(OS_FUCHSIA) ++#if defined(OS_FUCHSIA) || defined(OS_BSD) + case Sandbox::kVideoCapture: + #endif + #if defined(OS_WIN) +@@ -248,7 +248,7 @@ std::string StringFromUtilitySandboxType(Sandbox sandb + return switches::kUtilitySandbox; + case Sandbox::kAudio: + return switches::kAudioSandbox; +-#if defined(OS_FUCHSIA) ++#if defined(OS_FUCHSIA) || defined(OS_BSD) + case Sandbox::kVideoCapture: + return switches::kVideoCaptureSandbox; + #endif +@@ -352,7 +352,7 @@ sandbox::mojom::Sandbox UtilitySandboxTypeFromString( + return Sandbox::kAudio; + if (sandbox_string == switches::kSpeechRecognitionSandbox) + return Sandbox::kSpeechRecognition; +-#if defined(OS_FUCHSIA) ++#if defined(OS_FUCHSIA) || defined(OS_BSD) + if (sandbox_string == switches::kVideoCaptureSandbox) + return Sandbox::kVideoCapture; + #endif diff --git a/www/chromium/files/patch-sandbox_policy_switches.cc b/www/chromium/files/patch-sandbox_policy_switches.cc index 32d8091cf263..4c98bdb90be3 100644 --- a/www/chromium/files/patch-sandbox_policy_switches.cc +++ b/www/chromium/files/patch-sandbox_policy_switches.cc @@ -1,11 +1,13 @@ ---- sandbox/policy/switches.cc.orig 2021-12-31 00:57:38 UTC +--- sandbox/policy/switches.cc.orig 2022-02-07 13:39:41 UTC +++ sandbox/policy/switches.cc -@@ -93,7 +93,7 @@ const char kGpuSandboxFailuresFatal[] = "gpu-sandbox-f +@@ -94,7 +94,9 @@ const char kGpuSandboxFailuresFatal[] = "gpu-sandbox-f // Meant to be used as a browser-level switch for testing purposes only. const char kNoSandbox[] = "no-sandbox"; -#if defined(OS_LINUX) || defined(OS_CHROMEOS) ++const char kDisableUnveil[] = "disable-unveil"; ++ +#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD) // Instructs the zygote to launch without a sandbox. Processes forked from this // type of zygote will apply their own custom sandboxes later. const char kNoZygoteSandbox[] = "no-zygote-sandbox"; diff --git a/www/chromium/files/patch-sandbox_policy_switches.h b/www/chromium/files/patch-sandbox_policy_switches.h index 523874024a2e..3c7d2f4b4f43 100644 --- a/www/chromium/files/patch-sandbox_policy_switches.h +++ b/www/chromium/files/patch-sandbox_policy_switches.h @@ -1,11 +1,12 @@ ---- sandbox/policy/switches.h.orig 2021-12-31 00:57:38 UTC +--- sandbox/policy/switches.h.orig 2022-02-07 13:39:41 UTC +++ sandbox/policy/switches.h -@@ -69,7 +69,7 @@ SANDBOX_POLICY_EXPORT extern const char kDisableSetuid +@@ -70,7 +70,8 @@ SANDBOX_POLICY_EXPORT extern const char kDisableSetuid SANDBOX_POLICY_EXPORT extern const char kGpuSandboxAllowSysVShm[]; SANDBOX_POLICY_EXPORT extern const char kGpuSandboxFailuresFatal[]; SANDBOX_POLICY_EXPORT extern const char kNoSandbox[]; -#if defined(OS_LINUX) || defined(OS_CHROMEOS) ++SANDBOX_POLICY_EXPORT extern const char kDisableUnveil[]; +#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD) SANDBOX_POLICY_EXPORT extern const char kNoZygoteSandbox[]; #endif #if defined(OS_WIN) diff --git a/www/chromium/files/patch-services_audio_BUILD.gn b/www/chromium/files/patch-services_audio_BUILD.gn deleted file mode 100644 index 71ae1448dccc..000000000000 --- a/www/chromium/files/patch-services_audio_BUILD.gn +++ /dev/null @@ -1,11 +0,0 @@ ---- services/audio/BUILD.gn.orig 2021-12-31 00:57:38 UTC -+++ services/audio/BUILD.gn -@@ -90,7 +90,7 @@ source_set("audio") { - "//services/audio/public/mojom", - ] - -- if (is_linux || is_chromeos) { -+ if ((is_linux || is_chromeos) && !is_bsd) { - sources += [ - "audio_sandbox_hook_linux.cc", - "audio_sandbox_hook_linux.h", diff --git a/www/chromium/files/patch-services_audio_audio__sandbox__hook__linux.cc b/www/chromium/files/patch-services_audio_audio__sandbox__hook__linux.cc new file mode 100644 index 000000000000..1cef871d0556 --- /dev/null +++ b/www/chromium/files/patch-services_audio_audio__sandbox__hook__linux.cc @@ -0,0 +1,31 @@ +--- services/audio/audio_sandbox_hook_linux.cc.orig 2022-02-07 13:39:41 UTC ++++ services/audio/audio_sandbox_hook_linux.cc +@@ -143,6 +143,7 @@ void AddPulseAudioFilePermissions( + } + #endif + ++#if !defined(OS_BSD) + std::vector GetAudioFilePermissions() { + std::vector permissions{ + BrokerFilePermission::ReadOnly("/dev/urandom"), +@@ -171,10 +172,12 @@ void LoadAudioLibraries() { + } + } + } ++#endif + + } // namespace + + bool AudioPreSandboxHook(sandbox::policy::SandboxLinux::Options options) { ++#if !defined(OS_BSD) + LoadAudioLibraries(); + auto* instance = sandbox::policy::SandboxLinux::GetInstance(); + instance->StartBrokerProcess(MakeBrokerCommandSet({ +@@ -194,6 +197,7 @@ bool AudioPreSandboxHook(sandbox::policy::SandboxLinux + // TODO(https://crbug.com/850878) enable namespace sandbox. Currently, if + // enabled, connect() on pulse native socket fails with ENOENT (called from + // pa_context_connect). ++#endif + + return true; + } diff --git a/www/chromium/files/patch-services_audio_audio__sandbox__hook__linux.h b/www/chromium/files/patch-services_audio_audio__sandbox__hook__linux.h new file mode 100644 index 000000000000..9752d8bc1437 --- /dev/null +++ b/www/chromium/files/patch-services_audio_audio__sandbox__hook__linux.h @@ -0,0 +1,14 @@ +--- services/audio/audio_sandbox_hook_linux.h.orig 2022-02-07 13:39:41 UTC ++++ services/audio/audio_sandbox_hook_linux.h +@@ -5,7 +5,11 @@ + #ifndef SERVICES_AUDIO_AUDIO_SANDBOX_HOOK_LINUX_H_ + #define SERVICES_AUDIO_AUDIO_SANDBOX_HOOK_LINUX_H_ + ++#if defined(OS_BSD) ++#include "sandbox/policy/openbsd/sandbox_openbsd.h" ++#else + #include "sandbox/policy/linux/sandbox_linux.h" ++#endif + + namespace audio { + diff --git a/www/chromium/files/patch-services_device_hid_BUILD.gn b/www/chromium/files/patch-services_device_hid_BUILD.gn index 257b629e5387..8daba5b6e471 100644 --- a/www/chromium/files/patch-services_device_hid_BUILD.gn +++ b/www/chromium/files/patch-services_device_hid_BUILD.gn @@ -1,18 +1,28 @@ ---- services/device/hid/BUILD.gn.orig 2021-04-14 18:41:08 UTC +--- services/device/hid/BUILD.gn.orig 2022-02-07 13:39:41 UTC +++ services/device/hid/BUILD.gn -@@ -45,6 +45,15 @@ source_set("hid") { - deps += [ "//device/udev_linux" ] - } +@@ -33,6 +33,25 @@ source_set("hid") { + "//services/device/public/mojom", + ] -+ if (is_bsd) { ++ if (is_openbsd) { ++ sources += [ ++ "hid_connection_fido.cc", ++ "hid_connection_fido.h", ++ "hid_service_fido.cc", ++ "hid_service_fido.h", ++ ] ++ libs = ["fido2", "cbor", "usbhid", "crypto", "util"] ++ } ++ ++ if (is_freebsd) { + sources += [ + "hid_connection_freebsd.cc", + "hid_connection_freebsd.h", + "hid_service_freebsd.cc", + "hid_service_freebsd.h", + ] + } + - if (is_chromeos_ash) { - deps += [ "//chromeos/dbus/permission_broker" ] - } + if ((is_linux || is_chromeos) && use_udev) { + sources += [ + "hid_connection_linux.cc", diff --git a/www/chromium/files/patch-services_device_hid_hid__connection__fido.cc b/www/chromium/files/patch-services_device_hid_hid__connection__fido.cc new file mode 100644 index 000000000000..5a6ded090276 --- /dev/null +++ b/www/chromium/files/patch-services_device_hid_hid__connection__fido.cc @@ -0,0 +1,201 @@ +--- services/device/hid/hid_connection_fido.cc.orig 2022-02-07 13:39:41 UTC ++++ services/device/hid/hid_connection_fido.cc +@@ -0,0 +1,198 @@ ++// Copyright (c) 2020 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_fido.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/task/post_task.h" ++#include "base/task/single_thread_task_runner.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 HidConnectionFido::BlockingTaskHelper { ++public: ++ BlockingTaskHelper(base::ScopedFD fd, ++ scoped_refptr device_info, ++ base::WeakPtr connection) ++ : fd_(std::move(fd)), ++ // 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()), connection_(connection), ++ origin_task_runner_(base::ThreadTaskRunnerHandle::Get()) { ++ DETACH_FROM_SEQUENCE(sequence_checker_); ++ } ++ ++ BlockingTaskHelper(const BlockingTaskHelper&) = delete; ++ BlockingTaskHelper& operator=(const BlockingTaskHelper&) = delete; ++ ++ ~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::BindRepeating(&BlockingTaskHelper::OnFileCanReadWithoutBlocking, ++ base::Unretained(this))); ++ } ++ ++ void Write(scoped_refptr 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)); ++ bool success = static_cast(result) == size; ++ if (!success) { ++ HID_LOG(EVENT) << "HID write failed: " << result << " != " << size; ++ } ++ origin_task_runner_->PostTask(FROM_HERE, ++ base::BindOnce(std::move(callback), success)); ++ } ++ ++ void GetFeatureReport(uint8_t report_id, ++ scoped_refptr buffer, ++ ReadCallback callback) { ++ DCHECK_CALLED_ON_VALID_SEQUENCE(sequence_checker_); ++ base::ScopedBlockingCall scoped_blocking_call( ++ FROM_HERE, base::BlockingType::MAY_BLOCK); ++ HID_PLOG(EVENT) << "GendFeatureReport not implemented on OpenBSD"; ++ origin_task_runner_->PostTask( ++ FROM_HERE, base::BindOnce(std::move(callback), false, nullptr, 0)); ++ } ++ ++ void SendFeatureReport(scoped_refptr buffer, ++ WriteCallback callback) { ++ DCHECK_CALLED_ON_VALID_SEQUENCE(sequence_checker_); ++ HID_PLOG(EVENT) << "SendFeatureReport not implemented on OpenBSD"; ++ origin_task_runner_->PostTask(FROM_HERE, ++ base::BindOnce(std::move(callback), false)); ++ } ++ ++private: ++ void OnFileCanReadWithoutBlocking() { ++ DCHECK_CALLED_ON_VALID_SEQUENCE(sequence_checker_); ++ ++ scoped_refptr buffer( ++ new base::RefCountedBytes(report_buffer_size_)); ++ unsigned char *data = buffer->front(); ++ size_t length = report_buffer_size_; ++ if (!has_report_id_) { ++ // OpenBSD 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(&HidConnectionFido::ProcessInputReport, ++ connection_, buffer, bytes_read)); ++ } ++ ++ SEQUENCE_CHECKER(sequence_checker_); ++ base::ScopedFD fd_; ++ const size_t report_buffer_size_; ++ const bool has_report_id_; ++ base::WeakPtr connection_; ++ const scoped_refptr origin_task_runner_; ++ std::unique_ptr file_watcher_; ++}; ++ ++HidConnectionFido::HidConnectionFido( ++ scoped_refptr device_info, base::ScopedFD fd, ++ scoped_refptr blocking_task_runner, ++ bool allow_protected_reports, bool allow_fido_reports) ++ : HidConnection(device_info, allow_protected_reports, allow_fido_reports), ++ blocking_task_runner_(std::move(blocking_task_runner)), ++ weak_factory_(this), ++ helper_(std::make_unique( ++ std::move(fd), device_info, weak_factory_.GetWeakPtr())) { ++ blocking_task_runner_->PostTask( ++ FROM_HERE, base::BindOnce(&BlockingTaskHelper::Start, ++ base::Unretained(helper_.get()))); ++} ++ ++HidConnectionFido::~HidConnectionFido() = default; ++ ++void HidConnectionFido::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 HidConnectionFido::PlatformWrite( ++ scoped_refptr buffer, WriteCallback callback) { ++ blocking_task_runner_->PostTask( ++ FROM_HERE, base::BindOnce(&BlockingTaskHelper::Write, ++ base::Unretained(helper_.get()), buffer, ++ std::move(callback))); ++} ++ ++void HidConnectionFido::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 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 HidConnectionFido::PlatformSendFeatureReport( ++ scoped_refptr 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/chromium/files/patch-services_device_hid_hid__connection__fido.h b/www/chromium/files/patch-services_device_hid_hid__connection__fido.h new file mode 100644 index 000000000000..a491864edae6 --- /dev/null +++ b/www/chromium/files/patch-services_device_hid_hid__connection__fido.h @@ -0,0 +1,60 @@ +--- services/device/hid/hid_connection_fido.h.orig 2022-02-07 13:39:41 UTC ++++ services/device/hid/hid_connection_fido.h +@@ -0,0 +1,57 @@ ++// Copyright (c) 2020 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 SERVICE_DEVICE_HID_HID_CONNECTION_FIDO_H_ ++#define SERVICE_DEVICE_HID_HID_CONNECTION_FIDO_H_ ++ ++#include "base/files/scoped_file.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 device { ++ ++class HidConnectionFido : public HidConnection { ++public: ++ HidConnectionFido( ++ scoped_refptr device_info, base::ScopedFD fd, ++ scoped_refptr blocking_task_runner, ++ bool allow_protected_reports, bool allow_fido_reports); ++ ++private: ++ friend class base::RefCountedThreadSafe; ++ class BlockingTaskHelper; ++ ++ HidConnectionFido(const HidConnectionFido&) = delete; ++ HidConnectionFido& operator=(const HidConnectionFido&) = delete; ++ ++ ~HidConnectionFido() override; ++ ++ // HidConnection implementation. ++ void PlatformClose() override; ++ void PlatformWrite(scoped_refptr buffer, ++ WriteCallback callback) override; ++ void PlatformGetFeatureReport(uint8_t report_id, ++ ReadCallback callback) override; ++ void PlatformSendFeatureReport(scoped_refptr buffer, ++ WriteCallback callback) override; ++ ++ const scoped_refptr blocking_task_runner_; ++ const scoped_refptr task_runner_; ++ ++ SEQUENCE_CHECKER(sequence_checker_); ++ ++ base::WeakPtrFactory weak_factory_; ++ ++ // |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 helper_; ++}; ++ ++} // namespace device ++ ++#endif // SERVICE_DEVICE_HID_HID_CONNECTION_FIDO_H_ diff --git a/www/chromium/files/patch-services_device_hid_hid__connection__freebsd.cc b/www/chromium/files/patch-services_device_hid_hid__connection__freebsd.cc index 16272e035e1f..bdb73b369068 100644 --- a/www/chromium/files/patch-services_device_hid_hid__connection__freebsd.cc +++ b/www/chromium/files/patch-services_device_hid_hid__connection__freebsd.cc @@ -1,245 +1,246 @@ ---- services/device/hid/hid_connection_freebsd.cc.orig 2022-01-21 12:26:39 UTC +--- services/device/hid/hid_connection_freebsd.cc.orig 2022-02-07 13:39:41 UTC +++ services/device/hid/hid_connection_freebsd.cc -@@ -0,0 +1,242 @@ +@@ -0,0 +1,243 @@ +// 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 +#include + +#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/strings/stringprintf.h" +#include "base/task/post_task.h" +#include "base/task/single_thread_task_runner.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::BlockingTaskRunnerHelper { + public: + BlockingTaskRunnerHelper(base::ScopedFD fd, + scoped_refptr device_info, + base::WeakPtr 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(); + } + ++ BlockingTaskRunnerHelper(const BlockingTaskRunnerHelper&) = delete; ++ BlockingTaskRunnerHelper& operator=(const BlockingTaskRunnerHelper&) = delete; ++ + ~BlockingTaskRunnerHelper() { 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::BindRepeating(&BlockingTaskRunnerHelper::OnFileCanReadWithoutBlocking, + base::Unretained(this))); + } + + void Write(scoped_refptr 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(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 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 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 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 connection_; + const scoped_refptr origin_task_runner_; + std::unique_ptr file_watcher_; -+ -+ DISALLOW_COPY_AND_ASSIGN(BlockingTaskRunnerHelper); +}; + +HidConnectionFreeBSD::HidConnectionFreeBSD( + scoped_refptr device_info, + base::ScopedFD fd, + scoped_refptr blocking_task_runner, + bool allow_protected_reports, + bool allow_fido_reports) + : HidConnection(device_info, allow_protected_reports, allow_fido_reports), + helper_(nullptr, base::OnTaskRunnerDeleter(blocking_task_runner)), + blocking_task_runner_(std::move(blocking_task_runner)) { + helper_.reset(new BlockingTaskRunnerHelper(std::move(fd), device_info, + weak_factory_.GetWeakPtr())); + blocking_task_runner_->PostTask( + FROM_HERE, base::BindOnce(&BlockingTaskRunnerHelper::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 buffer, + WriteCallback callback) { + + blocking_task_runner_->PostTask( + FROM_HERE, + base::BindOnce(&BlockingTaskRunnerHelper::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 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(&BlockingTaskRunnerHelper::GetFeatureReport, + base::Unretained(helper_.get()), report_id, + buffer, std::move(callback))); +} + +void HidConnectionFreeBSD::PlatformSendFeatureReport( + scoped_refptr buffer, + WriteCallback callback) { + base::ScopedBlockingCall scoped_blocking_call( + FROM_HERE, base::BlockingType::MAY_BLOCK); + blocking_task_runner_->PostTask( + FROM_HERE, + base::BindOnce(&BlockingTaskRunnerHelper::SendFeatureReport, + base::Unretained(helper_.get()), buffer, std::move(callback))); +} + +} // namespace device diff --git a/www/chromium/files/patch-services_device_hid_hid__connection__freebsd.h b/www/chromium/files/patch-services_device_hid_hid__connection__freebsd.h index 629f888b4fce..29870254fa6b 100644 --- a/www/chromium/files/patch-services_device_hid_hid__connection__freebsd.h +++ b/www/chromium/files/patch-services_device_hid_hid__connection__freebsd.h @@ -1,70 +1,70 @@ ---- services/device/hid/hid_connection_freebsd.h.orig 2022-01-21 12:26:39 UTC +--- services/device/hid/hid_connection_freebsd.h.orig 2022-02-07 13:39:41 UTC +++ services/device/hid/hid_connection_freebsd.h @@ -0,0 +1,67 @@ +// 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 +#include + +#include "base/files/scoped_file.h" -+#include "base/macros.h" +#include "base/memory/weak_ptr.h" +#include "base/memory/ref_counted_memory.h" +#include "base/task/sequenced_task_runner.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 device_info, + base::ScopedFD fd, + scoped_refptr blocking_task_runner, + bool allow_protected_reports, + bool allow_fido_reports); + + private: + friend class base::RefCountedThreadSafe; + class BlockingTaskRunnerHelper; + ++ HidConnectionFreeBSD(const HidConnectionFreeBSD&) = delete; ++ HidConnectionFreeBSD& operator=(const HidConnectionFreeBSD&) = delete; ++ + ~HidConnectionFreeBSD() override; + + // HidConnection implementation. + void PlatformClose() override; + void PlatformWrite(scoped_refptr buffer, + WriteCallback callback) override; + void PlatformGetFeatureReport(uint8_t report_id, + ReadCallback callback) override; + void PlatformSendFeatureReport(scoped_refptr 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 helper_; + + const scoped_refptr blocking_task_runner_; + const scoped_refptr task_runner_; + + base::WeakPtrFactory weak_factory_{this}; -+ -+ DISALLOW_COPY_AND_ASSIGN(HidConnectionFreeBSD); +}; + +} // namespace device + +#endif // DEVICE_HID_HID_CONNECTION_FREEBSD_H_ diff --git a/www/chromium/files/patch-services_device_hid_hid__service.cc b/www/chromium/files/patch-services_device_hid_hid__service.cc index 2b5f535f82d7..318ed19b3b68 100644 --- a/www/chromium/files/patch-services_device_hid_hid__service.cc +++ b/www/chromium/files/patch-services_device_hid_hid__service.cc @@ -1,20 +1,24 @@ ---- services/device/hid/hid_service.cc.orig 2021-05-12 22:05:58 UTC +--- services/device/hid/hid_service.cc.orig 2022-02-07 13:39:41 UTC +++ services/device/hid/hid_service.cc -@@ -18,6 +18,8 @@ +@@ -18,6 +18,10 @@ #if (defined(OS_LINUX) || defined(OS_CHROMEOS)) && defined(USE_UDEV) #include "services/device/hid/hid_service_linux.h" ++#elif defined(OS_OPENBSD) ++#include "services/device/hid/hid_service_fido.h" +#elif defined(OS_FREEBSD) +#include "services/device/hid/hid_service_freebsd.h" #elif defined(OS_MAC) #include "services/device/hid/hid_service_mac.h" #elif defined(OS_WIN) -@@ -61,6 +63,8 @@ constexpr base::TaskTraits HidService::kBlockingTaskTr +@@ -61,6 +65,10 @@ constexpr base::TaskTraits HidService::kBlockingTaskTr std::unique_ptr HidService::Create() { #if (defined(OS_LINUX) || defined(OS_CHROMEOS)) && defined(USE_UDEV) return base::WrapUnique(new HidServiceLinux()); ++#elif defined(OS_OPENBSD) ++ return base::WrapUnique(new HidServiceFido()); +#elif defined(OS_FREEBSD) + return base::WrapUnique(new HidServiceFreeBSD()); #elif defined(OS_MAC) return base::WrapUnique(new HidServiceMac()); #elif defined(OS_WIN) diff --git a/www/chromium/files/patch-services_device_hid_hid__service__fido.cc b/www/chromium/files/patch-services_device_hid_hid__service__fido.cc new file mode 100644 index 000000000000..35dc50e5e425 --- /dev/null +++ b/www/chromium/files/patch-services_device_hid_hid__service__fido.cc @@ -0,0 +1,331 @@ +--- services/device/hid/hid_service_fido.cc.orig 2022-02-07 13:39:41 UTC ++++ services/device/hid/hid_service_fido.cc +@@ -0,0 +1,328 @@ ++// Copyright 2020 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_fido.h" ++ ++#include ++#include ++#include ++#include ++#include ++#include ++ ++// TODO: remove once the missing guard in fido.h is fixed upstream. ++extern "C" { ++#include ++} ++ ++#include ++#include ++#include ++ ++#include "base/bind.h" ++#include "base/files/file.h" ++#include "base/files/file_descriptor_watcher_posix.h" ++#include "base/files/file_enumerator.h" ++#include "base/location.h" ++#include "base/logging.h" ++#include "base/posix/eintr_wrapper.h" ++#include "base/task/single_thread_task_runner.h" ++#include "base/task/thread_pool.h" ++#include "base/stl_util.h" ++#include "base/strings/pattern.h" ++#include "base/strings/string_split.h" ++#include "base/strings/string_util.h" ++#include "base/strings/stringprintf.h" ++#include "base/strings/sys_string_conversions.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_fido.h" ++ ++namespace device { ++ ++namespace { ++ ++struct ConnectParams { ++ ConnectParams(scoped_refptr device_info, ++ HidService::ConnectCallback callback) ++ : device_info(std::move(device_info)), callback(std::move(callback)), ++ task_runner(base::ThreadTaskRunnerHandle::Get()), ++ blocking_task_runner(base::ThreadPool::CreateSequencedTaskRunner( ++ HidService::kBlockingTaskTraits)) {} ++ ~ConnectParams() {} ++ ++ scoped_refptr device_info; ++ HidService::ConnectCallback callback; ++ scoped_refptr task_runner; ++ scoped_refptr blocking_task_runner; ++ base::ScopedFD fd; ++ bool allow_protected_reports; ++ bool allow_fido_reports; ++}; ++ ++void CreateConnection(std::unique_ptr params) { ++ DCHECK(params->fd.is_valid()); ++ std::move(params->callback).Run(base::MakeRefCounted( ++ std::move(params->device_info), std::move(params->fd), ++ std::move(params->blocking_task_runner), params->allow_protected_reports, ++ params->allow_fido_reports)); ++} ++ ++void FinishOpen(std::unique_ptr params) { ++ scoped_refptr task_runner = params->task_runner; ++ ++ task_runner->PostTask(FROM_HERE, ++ base::BindOnce(&CreateConnection, std::move(params))); ++} ++ ++bool terrible_ping_kludge(int fd, const std::string &path) { ++ u_char data[256]; ++ int i, n; ++ struct pollfd pfd; ++ ++ for (i = 0; i < 4; i++) { ++ memset(data, 0, sizeof(data)); ++ /* broadcast channel ID */ ++ data[1] = 0xff; ++ data[2] = 0xff; ++ data[3] = 0xff; ++ data[4] = 0xff; ++ /* Ping command */ ++ data[5] = 0x81; ++ /* One byte ping only, Vasili */ ++ data[6] = 0; ++ data[7] = 1; ++ HID_LOG(EVENT) << "send ping " << i << " " << path; ++ if (write(fd, data, 64) == -1) { ++ HID_PLOG(ERROR) << "write " << path; ++ return false; ++ } ++ HID_LOG(EVENT) << "wait reply " << path; ++ memset(&pfd, 0, sizeof(pfd)); ++ pfd.fd = fd; ++ pfd.events = POLLIN; ++ if ((n = poll(&pfd, 1, 100)) == -1) { ++ HID_PLOG(EVENT) << "poll " << path; ++ return false; ++ } else if (n == 0) { ++ HID_LOG(EVENT) << "timed out " << path; ++ continue; ++ } ++ if (read(fd, data, 64) == -1) { ++ HID_PLOG(ERROR) << "read " << path; ++ return false; ++ } ++ /* ++ * Ping isn't always supported on the broadcast channel, ++ * so we might get an error, but we don't care - we're ++ * synched now. ++ */ ++ HID_LOG(EVENT) << "got reply " << path; ++ return true; ++ } ++ HID_LOG(ERROR) << "no response " << path; ++ return false; ++} ++ ++void OpenOnBlockingThread(std::unique_ptr params) { ++ base::ScopedBlockingCall scoped_blocking_call(FROM_HERE, ++ base::BlockingType::MAY_BLOCK); ++ scoped_refptr task_runner = params->task_runner; ++ ++ const auto &device_node = params->device_info->device_node(); ++ base::FilePath device_path(device_node); ++ int flags = ++ base::File::FLAG_OPEN | base::File::FLAG_READ | base::File::FLAG_WRITE; ++ base::File device_file(device_path, flags); ++ if (!device_file.IsValid()) { ++ HID_LOG(EVENT) << "Failed to open '" << device_node << "': " ++ << base::File::ErrorToString(device_file.error_details()); ++ task_runner->PostTask(FROM_HERE, base::BindOnce(std::move(params->callback), nullptr)); ++ return; ++ } ++ if (!terrible_ping_kludge(device_file.GetPlatformFile(), device_node)) { ++ HID_LOG(EVENT) << "Failed to ping " << device_node; ++ task_runner->PostTask(FROM_HERE, base::BindOnce(std::move(params->callback), nullptr)); ++ return; ++ } ++ params->fd.reset(device_file.TakePlatformFile()); ++ FinishOpen(std::move(params)); ++} ++ ++// HID report descriptor for U2F interface. Copied from: ++// https://chromium.googlesource.com/chromiumos/platform2/+/c6c7e4e54fce11932fedaa3ea10236bf75d85a2b%5E%21/u2fd/u2fhid.cc ++// Apparently Chromium wants to see these bytes, but OpenBSD fido(4) ++// devices prohibit USB_GET_REPORT_DESC ioctl that could be used to ++// get the bytes from the USB device. ++constexpr uint8_t kU2fReportDesc[] = { ++ 0x06, 0xD0, 0xF1, /* Usage Page (FIDO Alliance), FIDO_USAGE_PAGE */ ++ 0x09, 0x01, /* Usage (U2F HID Auth. Device) FIDO_USAGE_U2FHID */ ++ 0xA1, 0x01, /* Collection (Application), HID_APPLICATION */ ++ 0x09, 0x20, /* Usage (Input Report Data), FIDO_USAGE_DATA_IN */ ++ 0x15, 0x00, /* Logical Minimum (0) */ ++ 0x26, 0xFF, 0x00, /* Logical Maximum (255) */ ++ 0x75, 0x08, /* Report Size (8) */ ++ 0x95, 0x40, /* Report Count (64), HID_INPUT_REPORT_BYTES */ ++ 0x81, 0x02, /* Input (Data, Var, Abs), Usage */ ++ 0x09, 0x21, /* Usage (Output Report Data), FIDO_USAGE_DATA_OUT */ ++ 0x15, 0x00, /* Logical Minimum (0) */ ++ 0x26, 0xFF, 0x00, /* Logical Maximum (255) */ ++ 0x75, 0x08, /* Report Size (8) */ ++ 0x95, 0x40, /* Report Count (64), HID_OUTPUT_REPORT_BYTES */ ++ 0x91, 0x02, /* Output (Data, Var, Abs), Usage */ ++ 0xC0 /* End Collection */ ++}; ++ ++} // namespace ++ ++class HidServiceFido::BlockingTaskHelper { ++public: ++ BlockingTaskHelper(base::WeakPtr service) ++ : service_(std::move(service)), ++ task_runner_(base::ThreadTaskRunnerHandle::Get()) { ++ DETACH_FROM_SEQUENCE(sequence_checker_); ++ } ++ ++ BlockingTaskHelper(const BlockingTaskHelper&) = delete; ++ BlockingTaskHelper& operator=(const BlockingTaskHelper&) = delete; ++ ++ ~BlockingTaskHelper() = default; ++ ++ void Start() { ++ DCHECK_CALLED_ON_VALID_SEQUENCE(sequence_checker_); ++ base::ScopedBlockingCall scoped_blocking_call( ++ FROM_HERE, base::BlockingType::MAY_BLOCK); ++ ++ fido_dev_info_t *devlist = NULL; ++ fido_dev_t *dev = NULL; ++ size_t devlist_len = 0, i; ++ const char *path; ++ int r; ++ const int MAX_FIDO_DEVICES = 256; ++ ++ if ((devlist = fido_dev_info_new(MAX_FIDO_DEVICES)) == NULL) { ++ HID_LOG(ERROR) << "fido_dev_info_new failed"; ++ goto out; ++ } ++ if ((r = fido_dev_info_manifest(devlist, MAX_FIDO_DEVICES, &devlist_len)) != ++ FIDO_OK) { ++ HID_LOG(ERROR) << "fido_dev_info_manifest: " << fido_strerr(r); ++ goto out; ++ } ++ ++ HID_LOG(EVENT) << "fido_dev_info_manifest found " << devlist_len ++ << " device(s)"; ++ ++ for (i = 0; i < devlist_len; i++) { ++ const fido_dev_info_t *di = fido_dev_info_ptr(devlist, i); ++ if (di == NULL) { ++ HID_LOG(ERROR) << "fido_dev_info_ptr " << i << " failed"; ++ continue; ++ } ++ if ((path = fido_dev_info_path(di)) == NULL) { ++ HID_LOG(ERROR) << "fido_dev_info_path " << i << " failed"; ++ continue; ++ } ++ HID_LOG(EVENT) << "trying device " << i << ": " << path; ++ if ((dev = fido_dev_new()) == NULL) { ++ HID_LOG(ERROR) << "fido_dev_new failed"; ++ continue; ++ } ++ if ((r = fido_dev_open(dev, path)) != FIDO_OK) { ++ HID_LOG(ERROR) << "fido_dev_open failed " << path; ++ fido_dev_free(&dev); ++ continue; ++ } ++ OnDeviceAdded(di); ++ fido_dev_close(dev); ++ fido_dev_free(&dev); ++ } ++ ++ out: ++ if (devlist != NULL) ++ fido_dev_info_free(&devlist, MAX_FIDO_DEVICES); ++ ++ task_runner_->PostTask( ++ FROM_HERE, ++ base::BindOnce(&HidServiceFido::FirstEnumerationComplete, service_)); ++ } ++ ++ void OnDeviceAdded(const fido_dev_info_t *di) { ++ auto null_as_empty = [](const char *r) -> std::string { ++ return (r != nullptr) ? r : ""; ++ }; ++ std::string device_node(null_as_empty(fido_dev_info_path(di))); ++ std::vector report_descriptor( ++ kU2fReportDesc, kU2fReportDesc + sizeof(kU2fReportDesc)); ++ scoped_refptr device_info(new HidDeviceInfo( ++ device_node, /*physical_device_id=*/"", fido_dev_info_vendor(di), ++ fido_dev_info_product(di), null_as_empty(fido_dev_info_product_string(di)), ++ null_as_empty(fido_dev_info_manufacturer_string(di)), ++ device::mojom::HidBusType::kHIDBusTypeUSB, report_descriptor, ++ device_node)); ++ ++ task_runner_->PostTask(FROM_HERE, base::BindOnce(&HidServiceFido::AddDevice, ++ service_, device_info)); ++ } ++ ++ void OnDeviceRemoved(std::string device_node) { ++ base::ScopedBlockingCall scoped_blocking_call( ++ FROM_HERE, base::BlockingType::MAY_BLOCK); ++ task_runner_->PostTask(FROM_HERE, base::BindOnce(&HidServiceFido::RemoveDevice, ++ service_, device_node)); ++ } ++ ++private: ++ SEQUENCE_CHECKER(sequence_checker_); ++ ++ // This weak pointer is only valid when checked on this task runner. ++ base::WeakPtr service_; ++ scoped_refptr task_runner_; ++}; ++ ++HidServiceFido::HidServiceFido() ++ : task_runner_(base::ThreadTaskRunnerHandle::Get()), ++ blocking_task_runner_( ++ base::ThreadPool::CreateSequencedTaskRunner(kBlockingTaskTraits)), ++ weak_factory_(this), helper_(std::make_unique( ++ weak_factory_.GetWeakPtr())) { ++ blocking_task_runner_->PostTask( ++ FROM_HERE, ++ base::BindOnce(&BlockingTaskHelper::Start, base::Unretained(helper_.get()))); ++} ++ ++HidServiceFido::~HidServiceFido() { ++ blocking_task_runner_->DeleteSoon(FROM_HERE, helper_.release()); ++} ++ ++base::WeakPtr HidServiceFido::GetWeakPtr() { ++ return weak_factory_.GetWeakPtr(); ++} ++ ++void HidServiceFido::Connect(const std::string &device_guid, ++ bool allow_protected_reports, ++ bool allow_fido_reports, ++ 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 device_info = map_entry->second; ++ ++ auto params = std::make_unique(device_info, std::move(callback)); ++ ++ scoped_refptr blocking_task_runner = ++ params->blocking_task_runner; ++ blocking_task_runner->PostTask( ++ FROM_HERE, base::BindOnce(&OpenOnBlockingThread, std::move(params))); ++} ++ ++} // namespace device diff --git a/www/chromium/files/patch-services_device_hid_hid__service__fido.h b/www/chromium/files/patch-services_device_hid_hid__service__fido.h new file mode 100644 index 000000000000..77e12e42fe1c --- /dev/null +++ b/www/chromium/files/patch-services_device_hid_hid__service__fido.h @@ -0,0 +1,46 @@ +--- services/device/hid/hid_service_fido.h.orig 2022-02-07 13:39:41 UTC ++++ services/device/hid/hid_service_fido.h +@@ -0,0 +1,43 @@ ++// Copyright 2020 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 SERVICE_DEVICE_HID_HID_SERVICE_FIDO_H_ ++#define SERVICE_DEVICE_HID_HID_SERVICE_FIDO_H_ ++ ++#include ++ ++#include "base/memory/ref_counted.h" ++#include "base/memory/weak_ptr.h" ++#include "services/device/hid/hid_service.h" ++ ++namespace device { ++ ++class HidServiceFido : public HidService { ++public: ++ HidServiceFido(); ++ ++ HidServiceFido(const HidServiceFido&) = delete; ++ HidServiceFido& operator=(const HidServiceFido&) = delete; ++ ++ ~HidServiceFido() override; ++ ++ void Connect(const std::string &device_guid, ++ bool allow_protected_reports, ++ bool allow_fido_reports, ++ ConnectCallback connect) override; ++ base::WeakPtr GetWeakPtr() override; ++ ++private: ++ class BlockingTaskHelper; ++ const scoped_refptr task_runner_; ++ const scoped_refptr blocking_task_runner_; ++ base::WeakPtrFactory weak_factory_; ++ // |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 helper_; ++}; ++ ++} // namespace device ++ ++#endif // SERVICE_DEVICE_HID_HID_SERVICE_FIDO_H_ diff --git a/www/chromium/files/patch-services_device_hid_hid__service__freebsd.cc b/www/chromium/files/patch-services_device_hid_hid__service__freebsd.cc index 5fb514063ce8..e04b2eb9c670 100644 --- a/www/chromium/files/patch-services_device_hid_hid__service__freebsd.cc +++ b/www/chromium/files/patch-services_device_hid_hid__service__freebsd.cc @@ -1,400 +1,401 @@ ---- services/device/hid/hid_service_freebsd.cc.orig 2022-01-21 12:26:39 UTC +--- services/device/hid/hid_service_freebsd.cc.orig 2022-02-07 13:39:41 UTC +++ services/device/hid/hid_service_freebsd.cc -@@ -0,0 +1,397 @@ +@@ -0,0 +1,398 @@ +// 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 +#include +#include +#include + +#include +#include +#include + +#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/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/task/single_thread_task_runner.h" +#include "base/task/thread_pool.h" +#include "base/threading/scoped_blocking_call.h" +#include "base/threading/thread_task_runner_handle.h" +#include "base/threading/thread_restrictions.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 device_info, + bool allow_protected_reports, + bool allow_fido_reports, + ConnectCallback callback) + : device_info(std::move(device_info)), + allow_protected_reports(allow_protected_reports), + allow_fido_reports(allow_fido_reports), + callback(std::move(callback)), + task_runner(base::ThreadTaskRunnerHandle::Get()), + blocking_task_runner( + base::ThreadPool::CreateSequencedTaskRunner(kBlockingTaskTraits)) {} + ~ConnectParams() {} + + scoped_refptr device_info; + bool allow_protected_reports; + bool allow_fido_reports; + ConnectCallback callback; + scoped_refptr task_runner; + scoped_refptr blocking_task_runner; + base::ScopedFD fd; +}; + +class HidServiceFreeBSD::BlockingTaskRunnerHelper { + public: + BlockingTaskRunnerHelper(base::WeakPtr 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); + } + ++ BlockingTaskRunnerHelper(const BlockingTaskRunnerHelper&) = delete; ++ BlockingTaskRunnerHelper& operator=(const BlockingTaskRunnerHelper&) = delete; ++ + ~BlockingTaskRunnerHelper() { + } + + 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::BindOnce(&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 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 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::BindOnce(&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::BindOnce(&HidServiceFreeBSD::RemoveDevice, service_, + device_id)); + } + + private: + + void CheckPendingPermissionChange() { + base::internal::AssertBlockingAllowed(); + std::map::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::BindRepeating(&BlockingTaskRunnerHelper::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 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(device_name, kMaxPermissionChecks)); + timer_->Start(FROM_HERE, base::Seconds(1), + this, &BlockingTaskRunnerHelper::CheckPendingPermissionChange); + } + } + } + } + + if (base::StartsWith(data, "-uhid", base::CompareCase::SENSITIVE)) { + std::vector 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 service_; + scoped_refptr task_runner_; + std::unique_ptr file_watcher_; + std::unique_ptr timer_; + base::ScopedFD devd_fd_; + scoped_refptr devd_buffer_; + std::map permissions_checks_attempts_; -+ -+ DISALLOW_COPY_AND_ASSIGN(BlockingTaskRunnerHelper); +}; + +HidServiceFreeBSD::HidServiceFreeBSD() + : blocking_task_runner_( + base::ThreadPool::CreateSequencedTaskRunner(kBlockingTaskTraits)), + helper_(nullptr, base::OnTaskRunnerDeleter(blocking_task_runner_)) { + helper_.reset(new BlockingTaskRunnerHelper(weak_factory_.GetWeakPtr())); + blocking_task_runner_->PostTask( + FROM_HERE, + base::BindOnce(&BlockingTaskRunnerHelper::Start, base::Unretained(helper_.get()))); +} + +HidServiceFreeBSD::~HidServiceFreeBSD() { + blocking_task_runner_->DeleteSoon(FROM_HERE, helper_.release()); +} + +base::WeakPtr HidServiceFreeBSD::GetWeakPtr() { + return weak_factory_.GetWeakPtr(); +} + +// static +void HidServiceFreeBSD::OpenOnBlockingThread( + std::unique_ptr params) { + base::ScopedBlockingCall scoped_blocking_call( + FROM_HERE, base::BlockingType::MAY_BLOCK); + scoped_refptr 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, + bool allow_protected_reports, + bool allow_fido_reports, + 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 device_info = map_entry->second; + + auto params = std::make_unique(device_info, + allow_protected_reports, + allow_fido_reports, + std::move(callback)); + scoped_refptr 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 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( + std::move(params->device_info), + std::move(params->fd), + std::move(params->blocking_task_runner), + params->allow_protected_reports, + params->allow_fido_reports + )); +} + +} // namespace device diff --git a/www/chromium/files/patch-services_device_hid_hid__service__freebsd.h b/www/chromium/files/patch-services_device_hid_hid__service__freebsd.h index ac4c0de00842..b60d2fc84553 100644 --- a/www/chromium/files/patch-services_device_hid_hid__service__freebsd.h +++ b/www/chromium/files/patch-services_device_hid_hid__service__freebsd.h @@ -1,51 +1,52 @@ ---- services/device/hid/hid_service_freebsd.h.orig 2021-09-29 12:19:04 UTC +--- services/device/hid/hid_service_freebsd.h.orig 2022-02-07 13:39:41 UTC +++ services/device/hid/hid_service_freebsd.h -@@ -0,0 +1,48 @@ +@@ -0,0 +1,49 @@ +// 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 + -+#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(const HidServiceFreeBSD&) = delete; ++ HidServiceFreeBSD& operator=(const HidServiceFreeBSD&) = delete; ++ + ~HidServiceFreeBSD() override; + + void Connect(const std::string& device_guid, + bool allow_protected_reports, + bool allow_fido_reports, + ConnectCallback connect) override; + base::WeakPtr GetWeakPtr() override; + + private: + struct ConnectParams; + class BlockingTaskRunnerHelper; + + static void OpenOnBlockingThread(std::unique_ptr params); + static void FinishOpen(std::unique_ptr params); + + const scoped_refptr 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 helper_; + base::WeakPtrFactory weak_factory_{this}; -+ -+ DISALLOW_COPY_AND_ASSIGN(HidServiceFreeBSD); +}; + +} // namespace device + +#endif // DEVICE_HID_HID_SERVICE_FREEBSD_H_ diff --git a/www/chromium/files/patch-services_device_serial_BUILD.gn b/www/chromium/files/patch-services_device_serial_BUILD.gn index 64ef9e9296cf..90d8884067c7 100644 --- a/www/chromium/files/patch-services_device_serial_BUILD.gn +++ b/www/chromium/files/patch-services_device_serial_BUILD.gn @@ -1,11 +1,16 @@ ---- services/device/serial/BUILD.gn.orig 2021-04-14 18:41:08 UTC +--- services/device/serial/BUILD.gn.orig 2022-02-07 13:39:41 UTC +++ services/device/serial/BUILD.gn -@@ -5,7 +5,7 @@ - import("//build/config/chromeos/ui_mode.gni") - import("//build/config/features.gni") +@@ -83,6 +83,13 @@ if (is_win || ((is_linux || is_chromeos) && use_udev) + ] + } --if (is_win || ((is_linux || is_chromeos) && use_udev) || is_mac) { -+if (is_win || ((is_linux || is_chromeos) && use_udev) || is_mac || is_bsd) { - config("platform_support") { - visibility = [ ":serial" ] - if (is_win) { ++ if (is_bsd) { ++ sources -= [ ++ "serial_device_enumerator_linux.cc", ++ "serial_device_enumerator_linux.h" ++ ] ++ } ++ + if (use_udev) { + deps += [ "//device/udev_linux" ] + } diff --git a/www/chromium/files/patch-services_device_serial_serial__io__handler__posix.cc b/www/chromium/files/patch-services_device_serial_serial__io__handler__posix.cc index fd38b04c98cf..6ce65c30d344 100644 --- a/www/chromium/files/patch-services_device_serial_serial__io__handler__posix.cc +++ b/www/chromium/files/patch-services_device_serial_serial__io__handler__posix.cc @@ -1,22 +1,11 @@ ---- services/device/serial/serial_io_handler_posix.cc.orig 2021-04-14 18:41:08 UTC +--- services/device/serial/serial_io_handler_posix.cc.orig 2022-02-07 13:39:41 UTC +++ services/device/serial/serial_io_handler_posix.cc -@@ -38,6 +38,10 @@ struct termios2 { - - #endif // defined(OS_LINUX) || defined(OS_CHROMEOS) - -+#if defined(OS_BSD) -+#include -+#endif -+ - #if defined(OS_MAC) - #include - #endif -@@ -68,7 +72,7 @@ bool BitrateToSpeedConstant(int bitrate, speed_t* spee +@@ -68,7 +68,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_MAC) +#if !defined(OS_MAC) && !defined(OS_BSD) BITRATE_TO_SPEED_CASE(57600) BITRATE_TO_SPEED_CASE(115200) BITRATE_TO_SPEED_CASE(230400) diff --git a/www/chromium/files/patch-services_device_usb_BUILD.gn b/www/chromium/files/patch-services_device_usb_BUILD.gn index 88ee0060a6f2..5feccc6d00b6 100644 --- a/www/chromium/files/patch-services_device_usb_BUILD.gn +++ b/www/chromium/files/patch-services_device_usb_BUILD.gn @@ -1,11 +1,38 @@ ---- services/device/usb/BUILD.gn.orig 2021-12-14 11:45:09 UTC +--- services/device/usb/BUILD.gn.orig 2022-02-07 13:39:41 UTC +++ services/device/usb/BUILD.gn -@@ -151,7 +151,7 @@ static_library("usb") { +@@ -102,15 +102,17 @@ static_library("usb") { + deps += [ "//third_party/re2" ] + } + +- if (is_mac) { +- sources += [ +- "usb_device_handle_mac.cc", +- "usb_device_handle_mac.h", +- "usb_device_mac.cc", +- "usb_device_mac.h", +- "usb_service_mac.cc", +- "usb_service_mac.h", +- ] ++ if (is_mac || is_bsd) { ++ if (is_mac) { ++ sources += [ ++ "usb_device_handle_mac.cc", ++ "usb_device_handle_mac.h", ++ "usb_device_mac.cc", ++ "usb_device_mac.h", ++ "usb_service_mac.cc", ++ "usb_service_mac.h", ++ ] ++ } + + # These sources and deps are required for libusb. + # TODO(https://crbug.com/1096743) Remove these sources. +@@ -151,7 +153,7 @@ static_library("usb") { deps += [ "//device/udev_linux" ] } - if (is_android || is_chromeos || is_linux) { -+ if ((is_android || is_chromeos || is_linux) && !is_bsd) { ++ if (is_android || is_chromeos || is_linux && !is_bsd) { sources += [ "usb_device_handle_usbfs.cc", "usb_device_handle_usbfs.h", diff --git a/www/chromium/files/patch-services_network_BUILD.gn b/www/chromium/files/patch-services_network_BUILD.gn index 92249d84b192..f1882501ec19 100644 --- a/www/chromium/files/patch-services_network_BUILD.gn +++ b/www/chromium/files/patch-services_network_BUILD.gn @@ -1,20 +1,10 @@ ---- services/network/BUILD.gn.orig 2021-12-31 00:57:38 UTC +--- services/network/BUILD.gn.orig 2022-02-07 13:39:41 UTC +++ services/network/BUILD.gn -@@ -255,7 +255,7 @@ component("network_service") { - "//url", - ] - -- if (is_linux || is_chromeos) { -+ if ((is_linux || is_chromeos) && !is_bsd) { - deps += [ ":network_sandbox_hook" ] +@@ -311,7 +311,6 @@ if (is_linux || is_chromeos) { + ] + deps = [ + "//base:base", +- "//sandbox/linux:sandbox_services", + "//sandbox/policy:policy", + ] } - -@@ -299,7 +299,7 @@ component("network_service") { - defines = [ "IS_NETWORK_SERVICE_IMPL" ] - } - --if (is_linux || is_chromeos) { -+if ((is_linux || is_chromeos) && !is_bsd) { - source_set("network_sandbox_hook") { - sources = [ - "network_sandbox_hook_linux.cc", diff --git a/www/chromium/files/patch-services_network_network__context.cc b/www/chromium/files/patch-services_network_network__context.cc index 4c4d10928afd..f37c6d4b0aa9 100644 --- a/www/chromium/files/patch-services_network_network__context.cc +++ b/www/chromium/files/patch-services_network_network__context.cc @@ -1,11 +1,11 @@ ---- services/network/network_context.cc.orig 2021-12-31 00:57:38 UTC +--- services/network/network_context.cc.orig 2022-02-07 13:39:41 UTC +++ services/network/network_context.cc -@@ -2503,7 +2503,7 @@ NetworkContext::MakeSessionCleanupCookieStore() const +@@ -2544,7 +2544,7 @@ NetworkContext::MakeSessionCleanupCookieStore() const net::CookieCryptoDelegate* crypto_delegate = nullptr; if (params_->enable_encrypted_cookies) { -#if (defined(OS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS)) && \ +#if (defined(OS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS) || defined(OS_BSD)) && \ !BUILDFLAG(IS_CHROMECAST) DCHECK(network_service_->os_crypt_config_set()) << "NetworkService::SetCryptConfig must be called before creating a " diff --git a/www/chromium/files/patch-services_network_network__sandbox__hook__linux.cc b/www/chromium/files/patch-services_network_network__sandbox__hook__linux.cc index e91ce1f04653..d5deac2ffc7d 100644 --- a/www/chromium/files/patch-services_network_network__sandbox__hook__linux.cc +++ b/www/chromium/files/patch-services_network_network__sandbox__hook__linux.cc @@ -1,18 +1,18 @@ ---- services/network/network_sandbox_hook_linux.cc.orig 2021-05-12 22:05:58 UTC +--- services/network/network_sandbox_hook_linux.cc.orig 2022-02-07 13:39:41 UTC +++ services/network/network_sandbox_hook_linux.cc @@ -32,6 +32,7 @@ std::vector GetNetworkFilePermis } bool NetworkPreSandboxHook(sandbox::policy::SandboxLinux::Options options) { +#if !defined(OS_BSD) auto* instance = sandbox::policy::SandboxLinux::GetInstance(); instance->StartBrokerProcess( @@ -39,6 +40,7 @@ bool NetworkPreSandboxHook(sandbox::policy::SandboxLin sandbox::policy::SandboxLinux::PreSandboxHook(), options); instance->EngageNamespaceSandboxIfPossible(); -+#endif // defined(OS_BSD) ++#endif return true; } diff --git a/www/chromium/files/patch-services_network_network__sandbox__hook__linux.h b/www/chromium/files/patch-services_network_network__sandbox__hook__linux.h new file mode 100644 index 000000000000..169fa0c9707c --- /dev/null +++ b/www/chromium/files/patch-services_network_network__sandbox__hook__linux.h @@ -0,0 +1,14 @@ +--- services/network/network_sandbox_hook_linux.h.orig 2022-02-07 13:39:41 UTC ++++ services/network/network_sandbox_hook_linux.h +@@ -10,7 +10,11 @@ + #include "base/component_export.h" + #include "sandbox/linux/syscall_broker/broker_command.h" + #include "sandbox/linux/syscall_broker/broker_file_permission.h" ++#if defined(OS_BSD) ++#include "sandbox/policy/openbsd/sandbox_openbsd.h" ++#else + #include "sandbox/policy/linux/sandbox_linux.h" ++#endif + + namespace network { + diff --git a/www/chromium/files/patch-services_network_network__service.cc b/www/chromium/files/patch-services_network_network__service.cc index 3baf297d1959..d1601bd73ed2 100644 --- a/www/chromium/files/patch-services_network_network__service.cc +++ b/www/chromium/files/patch-services_network_network__service.cc @@ -1,20 +1,20 @@ ---- services/network/network_service.cc.orig 2021-12-14 11:45:09 UTC +--- services/network/network_service.cc.orig 2022-02-07 13:39:41 UTC +++ services/network/network_service.cc -@@ -73,7 +73,7 @@ +@@ -76,7 +76,7 @@ #include "third_party/boringssl/src/include/openssl/cpu.h" #endif -#if (defined(OS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS)) && \ +#if (defined(OS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS) || defined(OS_BSD)) && \ !BUILDFLAG(IS_CHROMECAST) #include "components/os_crypt/key_storage_config_linux.h" #endif -@@ -622,7 +622,7 @@ void NetworkService::OnCertDBChanged() { +@@ -625,7 +625,7 @@ void NetworkService::OnCertDBChanged() { net::CertDatabase::GetInstance()->NotifyObserversCertDBChanged(); } -#if defined(OS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS) +#if defined(OS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS) || defined(OS_BSD) void NetworkService::SetCryptConfig(mojom::CryptConfigPtr crypt_config) { #if !BUILDFLAG(IS_CHROMECAST) DCHECK(!os_crypt_config_set_); diff --git a/www/chromium/files/patch-services_resource__coordinator_memory__instrumentation_queued__request__dispatcher.cc b/www/chromium/files/patch-services_resource__coordinator_memory__instrumentation_queued__request__dispatcher.cc deleted file mode 100644 index a3f5cb760ec4..000000000000 --- a/www/chromium/files/patch-services_resource__coordinator_memory__instrumentation_queued__request__dispatcher.cc +++ /dev/null @@ -1,20 +0,0 @@ ---- services/resource_coordinator/memory_instrumentation/queued_request_dispatcher.cc.orig 2021-07-19 18:45:20 UTC -+++ services/resource_coordinator/memory_instrumentation/queued_request_dispatcher.cc -@@ -51,7 +51,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_CHROMEOS) || defined(OS_ANDROID) || \ -+#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_ANDROID) || defined(OS_BSD) || \ - defined(OS_FUCHSIA) - 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; -@@ -91,7 +91,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_CHROMEOS) || defined(OS_ANDROID) -+#if defined(OS_LINUX) || defined(OS_CHROMEOS) || 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/chromium/files/patch-services_resource__coordinator_public_cpp_memory__instrumentation_os__metrics.h b/www/chromium/files/patch-services_resource__coordinator_public_cpp_memory__instrumentation_os__metrics.h index c7e9e9c7120d..9437ca58e43d 100644 --- a/www/chromium/files/patch-services_resource__coordinator_public_cpp_memory__instrumentation_os__metrics.h +++ b/www/chromium/files/patch-services_resource__coordinator_public_cpp_memory__instrumentation_os__metrics.h @@ -1,32 +1,20 @@ ---- services/resource_coordinator/public/cpp/memory_instrumentation/os_metrics.h.orig 2021-04-14 18:41:08 UTC +--- services/resource_coordinator/public/cpp/memory_instrumentation/os_metrics.h.orig 2022-02-07 13:39:41 UTC +++ services/resource_coordinator/public/cpp/memory_instrumentation/os_metrics.h -@@ -45,9 +45,9 @@ class COMPONENT_EXPORT( +@@ -45,7 +45,7 @@ class COMPONENT_EXPORT( mojom::RawOSMemDump*); static std::vector GetProcessMemoryMaps(base::ProcessId); -#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_ANDROID) +#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_ANDROID) || defined(OS_BSD) static void SetProcSmapsForTesting(FILE*); --#endif // defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_ANDROID) -+#endif // defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_ANDROID) || defined(OS_BSD) + #endif // defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_ANDROID) - private: - FRIEND_TEST_ALL_PREFIXES(OSMetricsTest, ParseProcSmaps); @@ -61,7 +61,7 @@ class COMPONENT_EXPORT( static std::vector GetProcessModules(base::ProcessId); #endif -#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_ANDROID) +#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_ANDROID) || defined(OS_BSD) // Provides information on the dump state of resident pages. These values are // written to logs. New enum values can be added, but existing enums must // never be renumbered or deleted and reused. -@@ -96,7 +96,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_CHROMEOS) || defined(OS_ANDROID) -+#endif // defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_ANDROID) || defined(OS_BSD) - }; - - } // namespace memory_instrumentation diff --git a/www/chromium/files/patch-services_resource__coordinator_public_cpp_memory__instrumentation_os__metrics__linux.cc b/www/chromium/files/patch-services_resource__coordinator_public_cpp_memory__instrumentation_os__metrics__linux.cc index d7e52946a36d..d0ec9ff6cc67 100644 --- a/www/chromium/files/patch-services_resource__coordinator_public_cpp_memory__instrumentation_os__metrics__linux.cc +++ b/www/chromium/files/patch-services_resource__coordinator_public_cpp_memory__instrumentation_os__metrics__linux.cc @@ -1,144 +1,83 @@ ---- services/resource_coordinator/public/cpp/memory_instrumentation/os_metrics_linux.cc.orig 2021-07-19 18:45:20 UTC +--- services/resource_coordinator/public/cpp/memory_instrumentation/os_metrics_linux.cc.orig 2022-02-07 13:39:41 UTC +++ services/resource_coordinator/public/cpp/memory_instrumentation/os_metrics_linux.cc -@@ -5,7 +5,6 @@ +@@ -5,7 +5,9 @@ #include #include #include --#include ++#if !defined(__OpenBSD__) && !defined(__FreeBSD__) + #include ++#endif #include -@@ -26,8 +25,14 @@ +@@ -26,8 +28,10 @@ #include "build/build_config.h" #include "services/resource_coordinator/public/cpp/memory_instrumentation/os_metrics.h" -+#if !defined(OS_BSD) -+#include -+#endif -+ +#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 { -@@ -89,6 +94,7 @@ struct ModuleData { +@@ -39,6 +43,7 @@ using mojom::VmRegionPtr; + const char kClearPeakRssCommand[] = "5"; + const uint32_t kMaxLineSize = 4096; - ModuleData GetMainModuleData() { - ModuleData module_data; +#if !defined(OS_BSD) - Dl_info dl_info; - if (dladdr(&__ehdr_start, &dl_info)) { - base::debug::ElfBuildIdBuffer build_id; -@@ -99,6 +105,7 @@ ModuleData GetMainModuleData() { - module_data.build_id = std::string(build_id, build_id_length); - } - } -+#endif - return module_data; - } - -@@ -146,14 +153,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) + // TODO(chiniforooshan): Many of the utility functions in this anonymous + // namespace should move to base/process/process_metrics_linux.cc to make the + // code a lot cleaner. However, we should do so after we made sure the metrics +@@ -267,6 +272,7 @@ class ScopedProcessSetDumpable { - return res; - } -@@ -236,6 +243,7 @@ uint32_t ReadLinuxProcSmapsFile(FILE* smaps_file, - class ScopedProcessSetDumpable { - public: - ScopedProcessSetDumpable() { -+#if !defined(OS_BSD) - int result = prctl(PR_GET_DUMPABLE, 0, 0, 0, 0); - if (result < 0) { - PLOG(ERROR) << "prctl"; -@@ -251,15 +259,20 @@ class ScopedProcessSetDumpable { - AvoidPrctlOnDestruction(); - } - } -+#else -+ was_dumpable_ = true; + bool was_dumpable_; + }; +#endif - } - - ScopedProcessSetDumpable(const ScopedProcessSetDumpable&) = delete; - ScopedProcessSetDumpable& operator=(const ScopedProcessSetDumpable&) = delete; - ~ScopedProcessSetDumpable() { -+#if !defined(OS_BSD) - if (!was_dumpable_) { - PCHECK(prctl(PR_SET_DUMPABLE, 0, 0, 0, 0) == 0) << "prctl"; - } -+#endif - } + } // namespace - private: -@@ -282,6 +295,7 @@ bool OSMetrics::FillOSMemoryDump(base::ProcessId pid, +@@ -280,6 +286,9 @@ void OSMetrics::SetProcSmapsForTesting(FILE* f) { + // static + bool OSMetrics::FillOSMemoryDump(base::ProcessId pid, mojom::RawOSMemDump* dump) { ++#if defined(OS_BSD) ++ return false; ++#else // 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(); -@@ -296,6 +310,10 @@ bool OSMetrics::FillOSMemoryDump(base::ProcessId pid, +@@ -336,10 +345,12 @@ bool OSMetrics::FillOSMemoryDump(base::ProcessId pid, + #endif // defined(OS_ANDROID) - if (!success) - return false; -+#else -+ uint64_t resident_pages = 0; -+ uint64_t shared_pages = 0; + return true; +#endif - - auto process_metrics = CreateProcessMetrics(pid); - -@@ -340,6 +358,10 @@ bool OSMetrics::FillOSMemoryDump(base::ProcessId pid, + } // static std::vector OSMetrics::GetProcessMemoryMaps(base::ProcessId pid) { -+#if defined(OS_BSD) -+ NOTIMPLEMENTED(); -+ return std::vector(); -+#else ++#if !defined(OS_BSD) std::vector maps; uint32_t res = 0; if (g_proc_smaps_for_testing) { -@@ -357,6 +379,7 @@ std::vector OSMetrics::GetProcessMemoryMa +@@ -357,8 +368,13 @@ std::vector OSMetrics::GetProcessMemoryMa return std::vector(); return maps; ++#else ++ NOTIMPLEMENTED(); ++ return std::vector(); +#endif } ++#if !defined(OS_BSD) // static -@@ -364,6 +387,10 @@ OSMetrics::MappedAndResidentPagesDumpState OSMetrics:: + OSMetrics::MappedAndResidentPagesDumpState OSMetrics::GetMappedAndResidentPages( const size_t start_address, - const size_t end_address, - std::vector* 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")); -@@ -411,6 +438,7 @@ OSMetrics::MappedAndResidentPagesDumpState OSMetrics:: - } +@@ -446,5 +462,6 @@ size_t OSMetrics::GetPeakResidentSetSize(base::Process } - return OSMetrics::MappedAndResidentPagesDumpState::kSuccess; -+#endif + return 0; } ++#endif - // static + } // namespace memory_instrumentation diff --git a/www/chromium/files/patch-services_service__manager_public_cpp_service__executable_service__executable__environment.cc b/www/chromium/files/patch-services_service__manager_public_cpp_service__executable_service__executable__environment.cc deleted file mode 100644 index 7eb5a085086a..000000000000 --- a/www/chromium/files/patch-services_service__manager_public_cpp_service__executable_service__executable__environment.cc +++ /dev/null @@ -1,16 +0,0 @@ ---- services/service_manager/public/cpp/service_executable/service_executable_environment.cc.orig 2021-12-31 00:57:38 UTC -+++ services/service_manager/public/cpp/service_executable/service_executable_environment.cc -@@ -51,6 +51,13 @@ ServiceExecutableEnvironment::ServiceExecutableEnviron - sandbox::policy::switches::kServiceSandboxType)), - sandbox::policy::SandboxLinux::PreSandboxHook(), sandbox_options); - } -+#elif defined(OS_FREEBSD) -+ if (command_line.HasSwitch(sandbox::policy::switches::kServiceSandboxType)) { -+ sandbox::policy::Sandbox::Initialize( -+ sandbox::policy::UtilitySandboxTypeFromString( -+ command_line.GetSwitchValueASCII( -+ sandbox::policy::switches::kServiceSandboxType))); -+ } - #endif - - mojo::core::Init(); diff --git a/www/chromium/files/patch-services_tracing_public_cpp_stack__sampling_tracing__sampler__profiler.cc b/www/chromium/files/patch-services_tracing_public_cpp_stack__sampling_tracing__sampler__profiler.cc deleted file mode 100644 index 5a8555dc8ba8..000000000000 --- a/www/chromium/files/patch-services_tracing_public_cpp_stack__sampling_tracing__sampler__profiler.cc +++ /dev/null @@ -1,11 +0,0 @@ ---- services/tracing/public/cpp/stack_sampling/tracing_sampler_profiler.cc.orig 2021-12-14 11:45:10 UTC -+++ services/tracing/public/cpp/stack_sampling/tracing_sampler_profiler.cc -@@ -622,7 +622,7 @@ void TracingSamplerProfiler::StackProfileWriter::Reset - - // static - void TracingSamplerProfiler::MangleModuleIDIfNeeded(std::string* module_id) { --#if defined(OS_ANDROID) || defined(OS_LINUX) || defined(OS_CHROMEOS) -+#if defined(OS_ANDROID) || defined(OS_LINUX) || defined(OS_CHROMEOS) || 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/chromium/files/patch-services_video__capture_public_mojom_video__capture__service.mojom b/www/chromium/files/patch-services_video__capture_public_mojom_video__capture__service.mojom new file mode 100644 index 000000000000..0932c940affa --- /dev/null +++ b/www/chromium/files/patch-services_video__capture_public_mojom_video__capture__service.mojom @@ -0,0 +1,15 @@ +--- services/video_capture/public/mojom/video_capture_service.mojom.orig 2022-02-07 13:39:41 UTC ++++ services/video_capture/public/mojom/video_capture_service.mojom +@@ -21,10 +21,10 @@ interface AcceleratorFactory { + pending_receiver jda); + }; + +-[EnableIf=is_fuchsia] ++[EnableIf=is_openbsd] + const sandbox.mojom.Sandbox kVideoCaptureSandbox + = sandbox.mojom.Sandbox.kVideoCapture; +-[EnableIfNot=is_fuchsia] ++[EnableIfNot=is_openbsd] + const sandbox.mojom.Sandbox kVideoCaptureSandbox + = sandbox.mojom.Sandbox.kNoSandbox; + diff --git a/www/chromium/files/patch-skia_ext_SkMemory__new__handler.cpp b/www/chromium/files/patch-skia_ext_SkMemory__new__handler.cpp index c31ac6c8c2c4..3c7526dc73b5 100644 --- a/www/chromium/files/patch-skia_ext_SkMemory__new__handler.cpp +++ b/www/chromium/files/patch-skia_ext_SkMemory__new__handler.cpp @@ -1,20 +1,11 @@ ---- skia/ext/SkMemory_new_handler.cpp.orig 2021-04-14 18:41:08 UTC +--- skia/ext/SkMemory_new_handler.cpp.orig 2022-02-07 13:39:41 UTC +++ skia/ext/SkMemory_new_handler.cpp @@ -78,7 +78,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. -@@ -98,7 +98,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/chromium/files/patch-third__party_abseil-cpp_absl_base_config.h b/www/chromium/files/patch-third__party_abseil-cpp_absl_base_config.h new file mode 100644 index 000000000000..0dc0b171b033 --- /dev/null +++ b/www/chromium/files/patch-third__party_abseil-cpp_absl_base_config.h @@ -0,0 +1,40 @@ +--- third_party/abseil-cpp/absl/base/config.h.orig 2022-02-07 13:39:41 UTC ++++ third_party/abseil-cpp/absl/base/config.h +@@ -414,7 +414,7 @@ static_assert(ABSL_INTERNAL_INLINE_NAMESPACE_STR[0] != + defined(_AIX) || defined(__ros__) || defined(__native_client__) || \ + defined(__asmjs__) || defined(__wasm__) || defined(__Fuchsia__) || \ + defined(__sun) || defined(__ASYLO__) || defined(__myriad2__) || \ +- defined(__HAIKU__) ++ defined(__HAIKU__) || defined(__OpenBSD__) + #define ABSL_HAVE_MMAP 1 + #endif + +@@ -425,7 +425,7 @@ static_assert(ABSL_INTERNAL_INLINE_NAMESPACE_STR[0] != + #ifdef ABSL_HAVE_PTHREAD_GETSCHEDPARAM + #error ABSL_HAVE_PTHREAD_GETSCHEDPARAM cannot be directly set + #elif defined(__linux__) || defined(__APPLE__) || defined(__FreeBSD__) || \ +- defined(_AIX) || defined(__ros__) ++ defined(_AIX) || defined(__ros__) || defined(__OpenBSD__) + #define ABSL_HAVE_PTHREAD_GETSCHEDPARAM 1 + #endif + +@@ -444,7 +444,8 @@ static_assert(ABSL_INTERNAL_INLINE_NAMESPACE_STR[0] != + // POSIX.1-2001. + #ifdef ABSL_HAVE_SCHED_YIELD + #error ABSL_HAVE_SCHED_YIELD cannot be directly set +-#elif defined(__linux__) || defined(__ros__) || defined(__native_client__) ++#elif defined(__linux__) || defined(__ros__) || defined(__native_client__) || \ ++ defined(__OpenBSD__) || defined(__FreeBSD__) + #define ABSL_HAVE_SCHED_YIELD 1 + #endif + +@@ -459,7 +460,8 @@ static_assert(ABSL_INTERNAL_INLINE_NAMESPACE_STR[0] != + // platforms. + #ifdef ABSL_HAVE_SEMAPHORE_H + #error ABSL_HAVE_SEMAPHORE_H cannot be directly set +-#elif defined(__linux__) || defined(__ros__) ++#elif defined(__linux__) || defined(__ros__) || defined(__OpenBSD__) || \ ++ defined(__FreeBSD__) + #define ABSL_HAVE_SEMAPHORE_H 1 + #endif + diff --git a/www/chromium/files/patch-third__party_abseil-cpp_absl_base_internal_endian.h b/www/chromium/files/patch-third__party_abseil-cpp_absl_base_internal_endian.h new file mode 100644 index 000000000000..42f3d54bf9db --- /dev/null +++ b/www/chromium/files/patch-third__party_abseil-cpp_absl_base_internal_endian.h @@ -0,0 +1,11 @@ +--- third_party/abseil-cpp/absl/base/internal/endian.h.orig 2022-02-07 13:39:41 UTC ++++ third_party/abseil-cpp/absl/base/internal/endian.h +@@ -19,7 +19,7 @@ + // The following guarantees declaration of the byte swap functions + #ifdef _MSC_VER + #include // NOLINT(build/include) +-#elif defined(__FreeBSD__) ++#elif defined(__FreeBSD__) || defined(__OpenBSD__) + #include + #elif defined(__GLIBC__) + #include // IWYU pragma: export diff --git a/www/chromium/files/patch-third__party_abseil-cpp_absl_base_internal_sysinfo.cc b/www/chromium/files/patch-third__party_abseil-cpp_absl_base_internal_sysinfo.cc new file mode 100644 index 000000000000..3236ed475d65 --- /dev/null +++ b/www/chromium/files/patch-third__party_abseil-cpp_absl_base_internal_sysinfo.cc @@ -0,0 +1,23 @@ +--- third_party/abseil-cpp/absl/base/internal/sysinfo.cc.orig 2022-02-07 13:39:41 UTC ++++ third_party/abseil-cpp/absl/base/internal/sysinfo.cc +@@ -30,7 +30,7 @@ + #include + #endif + +-#if defined(__APPLE__) || defined(__FreeBSD__) ++#if defined(__APPLE__) || defined(__FreeBSD__) || defined(__OpenBSD__) + #include + #endif + +@@ -308,9 +308,11 @@ static double GetNominalCPUFrequency() { + // a new mode (turbo mode). Essentially, those frequencies cannot + // always be relied upon. The same reasons apply to /proc/cpuinfo as + // well. ++#if !defined(__OpenBSD__) && !defined(__FreeBSD__) // pledge violation + if (ReadLongFromFile("/sys/devices/system/cpu/cpu0/tsc_freq_khz", &freq)) { + return freq * 1e3; // Value is kHz. + } ++#endif + + #if defined(ABSL_INTERNAL_UNSCALED_CYCLECLOCK_FREQUENCY_IS_CPU_FREQUENCY) + // On these platforms, the TSC frequency is the nominal CPU diff --git a/www/chromium/files/patch-third__party_abseil-cpp_absl_debugging_internal_elf__mem__image.h b/www/chromium/files/patch-third__party_abseil-cpp_absl_debugging_internal_elf__mem__image.h index 96eb4f97bcd9..d8f1b0f67e74 100644 --- a/www/chromium/files/patch-third__party_abseil-cpp_absl_debugging_internal_elf__mem__image.h +++ b/www/chromium/files/patch-third__party_abseil-cpp_absl_debugging_internal_elf__mem__image.h @@ -1,17 +1,11 @@ ---- third_party/abseil-cpp/absl/debugging/internal/elf_mem_image.h.orig 2021-12-31 00:57:39 UTC +--- third_party/abseil-cpp/absl/debugging/internal/elf_mem_image.h.orig 2022-02-07 13:39:41 UTC +++ third_party/abseil-cpp/absl/debugging/internal/elf_mem_image.h -@@ -38,7 +38,14 @@ +@@ -32,7 +32,7 @@ + #endif - #ifdef ABSL_HAVE_ELF_MEM_IMAGE + #if defined(__ELF__) && !defined(__native_client__) && !defined(__asmjs__) && \ +- !defined(__wasm__) ++ !defined(__wasm__) && !defined(__OpenBSD__) && !defined(__FreeBSD__) + #define ABSL_HAVE_ELF_MEM_IMAGE 1 + #endif -+#if defined(__FreeBSD__) -+#include -+#ifndef ElfW -+#define ElfW(x) __ElfN(x) -+#endif -+#else - #include // for ElfW -+#endif - - #if defined(__FreeBSD__) && !defined(ElfW) - #define ElfW(x) __ElfN(x) diff --git a/www/chromium/files/patch-third__party_abseil-cpp_absl_debugging_internal_vdso__support.cc b/www/chromium/files/patch-third__party_abseil-cpp_absl_debugging_internal_vdso__support.cc deleted file mode 100644 index 79064e3a1198..000000000000 --- a/www/chromium/files/patch-third__party_abseil-cpp_absl_debugging_internal_vdso__support.cc +++ /dev/null @@ -1,14 +0,0 @@ ---- third_party/abseil-cpp/absl/debugging/internal/vdso_support.cc.orig 2021-12-31 00:57:39 UTC -+++ third_party/abseil-cpp/absl/debugging/internal/vdso_support.cc -@@ -101,7 +101,11 @@ const void *VDSOSupport::Init() { - getcpu_fn_.store(&GetCPUViaSyscall, std::memory_order_relaxed); - return nullptr; - } -+#if defined(__FreeBSD__) -+ __ElfN(Auxinfo) aux; -+#else - ElfW(auxv_t) aux; -+#endif - while (read(fd, &aux, sizeof(aux)) == sizeof(aux)) { - if (aux.a_type == AT_SYSINFO_EHDR) { - vdso_base_.store(reinterpret_cast(aux.a_un.a_val), diff --git a/www/chromium/files/patch-third__party_abseil-cpp_absl_time_internal_cctz_src_time__zone__format.cc b/www/chromium/files/patch-third__party_abseil-cpp_absl_time_internal_cctz_src_time__zone__format.cc new file mode 100644 index 000000000000..b28aae3acd42 --- /dev/null +++ b/www/chromium/files/patch-third__party_abseil-cpp_absl_time_internal_cctz_src_time__zone__format.cc @@ -0,0 +1,11 @@ +--- third_party/abseil-cpp/absl/time/internal/cctz/src/time_zone_format.cc.orig 2022-02-07 13:39:41 UTC ++++ third_party/abseil-cpp/absl/time/internal/cctz/src/time_zone_format.cc +@@ -19,7 +19,7 @@ + #endif + + #if defined(HAS_STRPTIME) && HAS_STRPTIME +-#if !defined(_XOPEN_SOURCE) ++#if !defined(_XOPEN_SOURCE) && !defined(__OpenBSD__) && !defined(__FreeBSD__) + #define _XOPEN_SOURCE // Definedness suffices for strptime. + #endif + #endif diff --git a/www/chromium/files/patch-third__party_angle_BUILD.gn b/www/chromium/files/patch-third__party_angle_BUILD.gn index 5ef051bbc6f0..9b65315c095b 100644 --- a/www/chromium/files/patch-third__party_angle_BUILD.gn +++ b/www/chromium/files/patch-third__party_angle_BUILD.gn @@ -1,32 +1,29 @@ ---- third_party/angle/BUILD.gn.orig 2021-12-31 01:00:47 UTC +--- third_party/angle/BUILD.gn.orig 2022-02-07 13:39:41 UTC +++ third_party/angle/BUILD.gn -@@ -199,7 +199,6 @@ config("extra_warnings") { +@@ -206,7 +206,6 @@ config("extra_warnings") { "-Wtautological-type-limit-compare", "-Wundefined-reinterpret-cast", "-Wunneeded-internal-declaration", - "-Wunused-but-set-variable", + "-Wsuggest-destructor-override", + "-Wsuggest-override", - # The below warnings are used by WebKit. We enable them to make rolling - # ANGLE in WebKit easier. -@@ -209,11 +208,12 @@ config("extra_warnings") { - "-Wunreachable-code-aggressive", - "-Wshorten-64-to-32", - ] -- if (!use_xcode_clang) { -+ if (!use_xcode_clang && !is_bsd) { - # Mac catalyst uses a clang version that doesn't have these. - cflags += [ - "-Wsuggest-destructor-override", - "-Wsuggest-override", -+ "-Wunused-but-set-variable", - ] - } +@@ -384,7 +383,7 @@ angle_static_library("angle_common") { + all_dependent_configs = [ ":angle_disable_pool_alloc" ] + } + +- if (is_linux || is_chromeos) { ++ if ((is_linux || is_chromeos) && !is_bsd) { + libs = [ "dl" ] } -@@ -490,6 +490,7 @@ angle_static_library("angle_gpu_info_util") { - "X11", + +@@ -498,6 +497,9 @@ angle_static_library("angle_gpu_info_util") { "Xi", "Xext", -+ "GL", ] ++ if (is_bsd) { ++ libs += [ "GL" ] ++ } } } + diff --git a/www/chromium/files/patch-third__party_angle_src_common_debug.h b/www/chromium/files/patch-third__party_angle_src_common_debug.h deleted file mode 100644 index e81e922ef654..000000000000 --- a/www/chromium/files/patch-third__party_angle_src_common_debug.h +++ /dev/null @@ -1,11 +0,0 @@ ---- third_party/angle/src/common/debug.h.orig 2021-12-31 01:00:47 UTC -+++ third_party/angle/src/common/debug.h -@@ -399,7 +399,7 @@ std::ostream &FmtHex(std::ostream &os, T value) - # define ANGLE_DISABLE_STRUCT_PADDING_WARNINGS - #endif - --#if defined(__clang__) -+#if defined(__clang__) && !defined(__FreeBSD__) - # define ANGLE_DISABLE_SUGGEST_OVERRIDE_WARNINGS \ - _Pragma("clang diagnostic push") \ - _Pragma("clang diagnostic ignored \"-Wsuggest-destructor-override\"") \ diff --git a/www/chromium/files/patch-third__party_angle_src_common_platform.h b/www/chromium/files/patch-third__party_angle_src_common_platform.h new file mode 100644 index 000000000000..19c34403d542 --- /dev/null +++ b/www/chromium/files/patch-third__party_angle_src_common_platform.h @@ -0,0 +1,19 @@ +--- third_party/angle/src/common/platform.h.orig 2022-02-07 13:39:41 UTC ++++ third_party/angle/src/common/platform.h +@@ -26,7 +26,15 @@ + #elif defined(__linux__) || defined(EMSCRIPTEN) + # define ANGLE_PLATFORM_LINUX 1 + # define ANGLE_PLATFORM_POSIX 1 +-#elif defined(__FreeBSD__) || defined(__OpenBSD__) || defined(__NetBSD__) || \ ++#elif defined(__OpenBSD__) ++# define ANGLE_PLATFORM_OPENBSD 1 ++# define ANGLE_PLATFORM_POSIX 1 ++# define ANGLE_PLATFORM_BSD 1 ++#elif defined(__FreeBSD__) ++# define ANGLE_PLATFORM_FREEBSD 1 ++# define ANGLE_PLATFORM_POSIX 1 ++# define ANGLE_PLATFORM_BSD 1 ++#elif defined(__NetBSD__) || \ + defined(__DragonFly__) || defined(__sun) || defined(__GLIBC__) || defined(__GNU__) || \ + defined(__QNX__) || defined(__Fuchsia__) || defined(__HAIKU__) + # define ANGLE_PLATFORM_POSIX 1 diff --git a/www/chromium/files/patch-third__party_angle_src_common_system__utils__posix.cpp b/www/chromium/files/patch-third__party_angle_src_common_system__utils__posix.cpp new file mode 100644 index 000000000000..04acef3da032 --- /dev/null +++ b/www/chromium/files/patch-third__party_angle_src_common_system__utils__posix.cpp @@ -0,0 +1,12 @@ +--- third_party/angle/src/common/system_utils_posix.cpp.orig 2022-02-07 13:39:41 UTC ++++ third_party/angle/src/common/system_utils_posix.cpp +@@ -159,7 +159,9 @@ Library *OpenSharedLibraryWithExtension(const char *li + int extraFlags = 0; + if (searchType == SearchType::AlreadyLoaded) + { ++#if !defined(__OpenBSD__) + extraFlags = RTLD_NOLOAD; ++#endif + } + + std::string fullPath = directory + libraryName; diff --git a/www/chromium/files/patch-third__party_angle_src_gpu__info__util_SystemInfo__internal.h b/www/chromium/files/patch-third__party_angle_src_gpu__info__util_SystemInfo__internal.h index 98166c85d195..82f282113b57 100644 --- a/www/chromium/files/patch-third__party_angle_src_gpu__info__util_SystemInfo__internal.h +++ b/www/chromium/files/patch-third__party_angle_src_gpu__info__util_SystemInfo__internal.h @@ -1,16 +1,13 @@ ---- third_party/angle/src/gpu_info_util/SystemInfo_internal.h.orig 2021-04-14 18:42:58 UTC +--- third_party/angle/src/gpu_info_util/SystemInfo_internal.h.orig 2022-02-07 13:39:41 UTC +++ third_party/angle/src/gpu_info_util/SystemInfo_internal.h -@@ -14,8 +14,13 @@ +@@ -14,6 +14,10 @@ namespace angle { -+bool CollectMesaCardInfo(std::vector *devices); ++#if defined(__OpenBSD__) || defined(__FreeBSD__) ++bool CollectMesaCardInfo(std::vector *devices); ++#endif + // Defined in SystemInfo_libpci when GPU_INFO_USE_LIBPCI is defined. bool GetPCIDevicesWithLibPCI(std::vector *devices); -+#if defined(__FreeBSD__) -+bool GetPCIDevicesFreeBSD(std::vector *devices); -+#endif // Defined in SystemInfo_x11 when GPU_INFO_USE_X11 is defined. - bool GetNvidiaDriverVersionWithXNVCtrl(std::string *version); - diff --git a/www/chromium/files/patch-third__party_angle_src_gpu__info__util_SystemInfo__libpci.cpp b/www/chromium/files/patch-third__party_angle_src_gpu__info__util_SystemInfo__libpci.cpp deleted file mode 100644 index 9b5a3bf30462..000000000000 --- a/www/chromium/files/patch-third__party_angle_src_gpu__info__util_SystemInfo__libpci.cpp +++ /dev/null @@ -1,90 +0,0 @@ ---- third_party/angle/src/gpu_info_util/SystemInfo_libpci.cpp.orig 2021-04-14 18:42:58 UTC -+++ third_party/angle/src/gpu_info_util/SystemInfo_libpci.cpp -@@ -12,6 +12,11 @@ - #include - #include - -+#if defined(__FreeBSD__) -+#include -+#include -+#endif -+ - #include "common/angleutils.h" - #include "common/debug.h" - -@@ -85,6 +90,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 *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 *devices) diff --git a/www/chromium/files/patch-third__party_angle_src_gpu__info__util_SystemInfo__linux.cpp b/www/chromium/files/patch-third__party_angle_src_gpu__info__util_SystemInfo__linux.cpp index 96f51740c164..e398a0805102 100644 --- a/www/chromium/files/patch-third__party_angle_src_gpu__info__util_SystemInfo__linux.cpp +++ b/www/chromium/files/patch-third__party_angle_src_gpu__info__util_SystemInfo__linux.cpp @@ -1,26 +1,23 @@ ---- third_party/angle/src/gpu_info_util/SystemInfo_linux.cpp.orig 2021-12-14 11:47:03 UTC +--- third_party/angle/src/gpu_info_util/SystemInfo_linux.cpp.orig 2022-02-07 13:39:41 UTC +++ third_party/angle/src/gpu_info_util/SystemInfo_linux.cpp -@@ -71,6 +71,15 @@ bool GetPCIDevicesWithLibPCI(std::vectorgpus))) + { -+ if (!GetPCIDevicesFreeBSD(&(info->gpus))) -+ { -+ return GetSystemInfoVulkan(info); -+ } ++ return false; + } +#else if (!GetPCIDevicesWithLibPCI(&(info->gpus))) { - #if defined(ANGLE_HAS_VULKAN_SYSTEM_INFO) -@@ -80,6 +89,7 @@ bool GetSystemInfo(SystemInfo *info) + #if defined(ANGLE_USE_VULKAN_SYSTEM_INFO) +@@ -85,6 +91,7 @@ bool GetSystemInfo(SystemInfo *info) + { return false; - #endif // defined(ANGLE_HAS_VULKAN_SYSTEM_INFO) } +#endif - if (info->gpus.size() == 0) - { + GetDualGPUInfo(info); + diff --git a/www/chromium/files/patch-third__party_angle_src_gpu__info__util_SystemInfo__x11.cpp b/www/chromium/files/patch-third__party_angle_src_gpu__info__util_SystemInfo__x11.cpp index a8f97fbc631d..9e9fe5ab1a2d 100644 --- a/www/chromium/files/patch-third__party_angle_src_gpu__info__util_SystemInfo__x11.cpp +++ b/www/chromium/files/patch-third__party_angle_src_gpu__info__util_SystemInfo__x11.cpp @@ -1,55 +1,58 @@ ---- third_party/angle/src/gpu_info_util/SystemInfo_x11.cpp.orig 2021-04-14 18:42:58 UTC +--- third_party/angle/src/gpu_info_util/SystemInfo_x11.cpp.orig 2022-02-07 13:39:41 UTC +++ third_party/angle/src/gpu_info_util/SystemInfo_x11.cpp -@@ -8,6 +8,8 @@ +@@ -8,6 +8,10 @@ #include "gpu_info_util/SystemInfo_internal.h" ++#if defined(__OpenBSD__) || defined(__FreeBSD__) +#include +#include ++#endif #include #include "common/debug.h" -@@ -18,8 +20,43 @@ +@@ -18,8 +22,44 @@ # error SystemInfo_x11.cpp compiled without GPU_INFO_USE_X11 #endif ++#if defined(__OpenBSD__) || defined(__FreeBSD__) +#define GLX_RENDERER_VENDOR_ID_MESA 0x8183 +#define GLX_RENDERER_DEVICE_ID_MESA 0x8184 ++#endif + namespace angle { + ++#if defined(__OpenBSD__) || defined(__FreeBSD__) +bool CollectMesaCardInfo(std::vector *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; ++ return true; +} ++#endif bool GetNvidiaDriverVersionWithXNVCtrl(std::string *version) { diff --git a/www/chromium/files/patch-third__party_angle_src_libANGLE_Display.cpp b/www/chromium/files/patch-third__party_angle_src_libANGLE_Display.cpp index 89f66f4a7137..bbb30270d0c6 100644 --- a/www/chromium/files/patch-third__party_angle_src_libANGLE_Display.cpp +++ b/www/chromium/files/patch-third__party_angle_src_libANGLE_Display.cpp @@ -1,47 +1,47 @@ ---- third_party/angle/src/libANGLE/Display.cpp.orig 2021-12-31 01:00:47 UTC +--- third_party/angle/src/libANGLE/Display.cpp.orig 2022-02-07 13:39:41 UTC +++ third_party/angle/src/libANGLE/Display.cpp @@ -55,7 +55,7 @@ # include "libANGLE/renderer/gl/wgl/DisplayWGL.h" # elif defined(ANGLE_PLATFORM_MACOS) || defined(ANGLE_PLATFORM_IOS) # include "libANGLE/renderer/gl/apple/DisplayApple_api.h" -# elif defined(ANGLE_PLATFORM_LINUX) -+# elif defined(ANGLE_PLATFORM_POSIX) ++# elif defined(ANGLE_PLATFORM_LINUX) || defined(ANGLE_PLATFORM_BSD) # include "libANGLE/renderer/gl/egl/DisplayEGL.h" # if defined(ANGLE_USE_GBM) # include "libANGLE/renderer/gl/egl/gbm/DisplayGbm.h" -@@ -290,7 +290,7 @@ rx::DisplayImpl *CreateDisplayFromAttribs(EGLAttrib di +@@ -313,7 +313,7 @@ rx::DisplayImpl *CreateDisplayFromAttribs(EGLAttrib di impl = rx::CreateDisplayCGLOrEAGL(state); break; -# elif defined(ANGLE_PLATFORM_LINUX) -+# elif defined(ANGLE_PLATFORM_POSIX) ++# elif defined(ANGLE_PLATFORM_LINUX) || defined(ANGLE_PLATFORM_BSD) # if defined(ANGLE_USE_GBM) if (platformType == 0) { -@@ -335,7 +335,7 @@ rx::DisplayImpl *CreateDisplayFromAttribs(EGLAttrib di +@@ -358,7 +358,7 @@ rx::DisplayImpl *CreateDisplayFromAttribs(EGLAttrib di #if defined(ANGLE_ENABLE_OPENGL) # if defined(ANGLE_PLATFORM_WINDOWS) impl = new rx::DisplayWGL(state); -# elif defined(ANGLE_PLATFORM_LINUX) -+# elif defined(ANGLE_PLATFORM_POSIX) ++# elif defined(ANGLE_PLATFORM_LINUX) || defined(ANGLE_PLATFORM_BSD) # if defined(ANGLE_USE_GBM) if (platformType == 0) { -@@ -383,7 +383,7 @@ rx::DisplayImpl *CreateDisplayFromAttribs(EGLAttrib di +@@ -406,7 +406,7 @@ rx::DisplayImpl *CreateDisplayFromAttribs(EGLAttrib di impl = rx::CreateVulkanWin32Display(state); } break; -# elif defined(ANGLE_PLATFORM_LINUX) -+# elif defined(ANGLE_PLATFORM_POSIX) ++# elif defined(ANGLE_PLATFORM_LINUX) || defined(ANGLE_PLATFORM_BSD) # if defined(ANGLE_USE_X11) if (platformType == EGL_PLATFORM_X11_EXT && rx::IsVulkanXcbDisplayAvailable()) { -@@ -1761,7 +1761,7 @@ static ClientExtensions GenerateClientExtensions() +@@ -1815,7 +1815,7 @@ static ClientExtensions GenerateClientExtensions() extensions.x11Visual = true; #endif -#if defined(ANGLE_PLATFORM_LINUX) -+#if defined(ANGLE_PLATFORM_POSIX) ++#if defined(ANGLE_PLATFORM_LINUX) || defined(ANGLE_PLATFORM_BSD) extensions.platformANGLEDeviceTypeEGLANGLE = true; #endif diff --git a/www/chromium/files/patch-third__party_angle_src_libANGLE_renderer_driver__utils.cpp b/www/chromium/files/patch-third__party_angle_src_libANGLE_renderer_driver__utils.cpp deleted file mode 100644 index b76429729b53..000000000000 --- a/www/chromium/files/patch-third__party_angle_src_libANGLE_renderer_driver__utils.cpp +++ /dev/null @@ -1,52 +0,0 @@ ---- third_party/angle/src/libANGLE/renderer/driver_utils.cpp.orig 2021-09-24 04:28:04 UTC -+++ third_party/angle/src/libANGLE/renderer/driver_utils.cpp -@@ -17,7 +17,7 @@ - # include - #endif - --#if defined(ANGLE_PLATFORM_LINUX) -+#if defined(ANGLE_PLATFORM_POSIX) - # include - #endif - -@@ -228,7 +228,7 @@ OSVersion GetiOSVersion() - } - #endif - --#if defined(ANGLE_PLATFORM_LINUX) -+#if defined(ANGLE_PLATFORM_POSIX) - bool ParseLinuxOSVersion(const char *version, int *major, int *minor, int *patch) - { - errno = 0; // reset global error flag. -@@ -240,6 +240,14 @@ bool ParseLinuxOSVersion(const char *version, int *maj - } - - *minor = static_cast(strtol(next + 1, &next, 10)); -+#if defined(__FreeBSD__) -+ if (next == nullptr || *next != '-' || errno != 0) -+ { -+ return false; -+ } -+ -+ *patch = 0; -+#else - if (next == nullptr || *next != '.' || errno != 0) - { - return false; -@@ -250,6 +258,7 @@ bool ParseLinuxOSVersion(const char *version, int *maj - { - return false; - } -+#endif - - return true; - } -@@ -257,7 +266,7 @@ bool ParseLinuxOSVersion(const char *version, int *maj - - OSVersion GetLinuxOSVersion() - { --#if defined(ANGLE_PLATFORM_LINUX) -+#if defined(ANGLE_PLATFORM_POSIX) - struct utsname uname_info; - if (uname(&uname_info) != 0) - { diff --git a/www/chromium/files/patch-third__party_angle_src_libANGLE_renderer_driver__utils.h b/www/chromium/files/patch-third__party_angle_src_libANGLE_renderer_driver__utils.h index 31231104df4f..f2bbeca87d53 100644 --- a/www/chromium/files/patch-third__party_angle_src_libANGLE_renderer_driver__utils.h +++ b/www/chromium/files/patch-third__party_angle_src_libANGLE_renderer_driver__utils.h @@ -1,11 +1,11 @@ ---- third_party/angle/src/libANGLE/renderer/driver_utils.h.orig 2021-09-24 04:28:04 UTC +--- third_party/angle/src/libANGLE/renderer/driver_utils.h.orig 2022-02-07 13:39:41 UTC +++ third_party/angle/src/libANGLE/renderer/driver_utils.h @@ -173,7 +173,7 @@ inline bool IsWindows() inline bool IsLinux() { -#if defined(ANGLE_PLATFORM_LINUX) -+#if defined(ANGLE_PLATFORM_POSIX) ++#if defined(ANGLE_PLATFORM_LINUX) || defined(ANGLE_PLATFORM_BSD) return true; #else return false; diff --git a/www/chromium/files/patch-third__party_angle_src_libANGLE_renderer_gl_glx_FunctionsGLX.cpp b/www/chromium/files/patch-third__party_angle_src_libANGLE_renderer_gl_glx_FunctionsGLX.cpp new file mode 100644 index 000000000000..dba2acc732c5 --- /dev/null +++ b/www/chromium/files/patch-third__party_angle_src_libANGLE_renderer_gl_glx_FunctionsGLX.cpp @@ -0,0 +1,15 @@ +--- third_party/angle/src/libANGLE/renderer/gl/glx/FunctionsGLX.cpp.orig 2022-02-07 13:39:41 UTC ++++ third_party/angle/src/libANGLE/renderer/gl/glx/FunctionsGLX.cpp +@@ -144,10 +144,10 @@ bool FunctionsGLX::initialize(Display *xDisplay, int s + // which a GLXWindow was ever created. + if (!sLibHandle) + { +- sLibHandle = dlopen("libGL.so.1", RTLD_NOW); ++ sLibHandle = dlopen("libGL.so", RTLD_NOW); + if (!sLibHandle) + { +- *errorString = std::string("Could not dlopen libGL.so.1: ") + dlerror(); ++ *errorString = std::string("Could not dlopen libGL.so: ") + dlerror(); + return false; + } + } diff --git a/www/chromium/files/patch-third__party_angle_src_libANGLE_renderer_vulkan_DisplayVk__api.h b/www/chromium/files/patch-third__party_angle_src_libANGLE_renderer_vulkan_DisplayVk__api.h index 77ae108ebe25..c83bf271ea18 100644 --- a/www/chromium/files/patch-third__party_angle_src_libANGLE_renderer_vulkan_DisplayVk__api.h +++ b/www/chromium/files/patch-third__party_angle_src_libANGLE_renderer_vulkan_DisplayVk__api.h @@ -1,20 +1,11 @@ ---- third_party/angle/src/libANGLE/renderer/vulkan/DisplayVk_api.h.orig 2021-09-14 01:58:21 UTC +--- third_party/angle/src/libANGLE/renderer/vulkan/DisplayVk_api.h.orig 2022-02-07 13:39:41 UTC +++ third_party/angle/src/libANGLE/renderer/vulkan/DisplayVk_api.h @@ -23,7 +23,7 @@ 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); -@@ -32,7 +32,7 @@ DisplayImpl *CreateVulkanSimpleDisplay(const egl::Disp - - bool IsVulkanHeadlessDisplayAvailable(); - DisplayImpl *CreateVulkanHeadlessDisplay(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/chromium/files/patch-third__party_angle_src_libANGLE_validationEGL.h b/www/chromium/files/patch-third__party_angle_src_libANGLE_validationEGL.h new file mode 100644 index 000000000000..91633795bf61 --- /dev/null +++ b/www/chromium/files/patch-third__party_angle_src_libANGLE_validationEGL.h @@ -0,0 +1,11 @@ +--- third_party/angle/src/libANGLE/validationEGL.h.orig 2022-02-07 13:39:41 UTC ++++ third_party/angle/src/libANGLE/validationEGL.h +@@ -121,7 +121,7 @@ inline const AttributeMap PackParam + inline const AttributeMap PackParam( + const EGLAttrib *attribs) diff --git a/www/chromium/files/patch-third__party_angle_util_BUILD.gn b/www/chromium/files/patch-third__party_angle_util_BUILD.gn new file mode 100644 index 000000000000..247bcf3d7818 --- /dev/null +++ b/www/chromium/files/patch-third__party_angle_util_BUILD.gn @@ -0,0 +1,11 @@ +--- third_party/angle/util/BUILD.gn.orig 2022-02-07 13:39:41 UTC ++++ third_party/angle/util/BUILD.gn +@@ -200,7 +200,7 @@ foreach(is_shared_library, + ] + libs = [] + +- if (is_linux || is_chromeos) { ++ if ((is_linux || is_chromeos) && !is_bsd) { + libs += [ + "rt", + "dl", diff --git a/www/chromium/files/patch-third__party_blink_public_platform_platform.h b/www/chromium/files/patch-third__party_blink_public_platform_platform.h deleted file mode 100644 index 67aa4b1bf389..000000000000 --- a/www/chromium/files/patch-third__party_blink_public_platform_platform.h +++ /dev/null @@ -1,11 +0,0 @@ ---- third_party/blink/public/platform/platform.h.orig 2021-12-31 00:57:40 UTC -+++ third_party/blink/public/platform/platform.h -@@ -423,7 +423,7 @@ class BLINK_PLATFORM_EXPORT Platform { - return nullptr; - } - --#if defined(OS_LINUX) || defined(OS_CHROMEOS) -+#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD) - // This is called after the compositor thread is created, so the embedder - // can initiate an IPC to change its thread priority (on Linux we can't - // increase the nice value, so we need to ask the browser process). This diff --git a/www/chromium/files/patch-third__party_blink_public_platform_web__vector.h b/www/chromium/files/patch-third__party_blink_public_platform_web__vector.h new file mode 100644 index 000000000000..b1fd398c03fd --- /dev/null +++ b/www/chromium/files/patch-third__party_blink_public_platform_web__vector.h @@ -0,0 +1,11 @@ +--- third_party/blink/public/platform/web_vector.h.orig 2022-02-07 13:39:41 UTC ++++ third_party/blink/public/platform/web_vector.h +@@ -81,7 +81,7 @@ class WebVector { + // The vector can be populated using reserve() and emplace_back(). + WebVector() = default; + +-#if defined(ARCH_CPU_64_BITS) ++#if defined(ARCH_CPU_64_BITS) || defined(__OpenBSD__) + // Create a vector with |size| default-constructed elements. We define + // a constructor with size_t otherwise we'd have a duplicate define. + explicit WebVector(size_t size) : data_(size) {} diff --git a/www/chromium/files/patch-third__party_blink_renderer_BUILD.gn b/www/chromium/files/patch-third__party_blink_renderer_BUILD.gn deleted file mode 100644 index f1f2a9e993fa..000000000000 --- a/www/chromium/files/patch-third__party_blink_renderer_BUILD.gn +++ /dev/null @@ -1,14 +0,0 @@ ---- third_party/blink/renderer/BUILD.gn.orig 2021-12-31 00:57:40 UTC -+++ third_party/blink/renderer/BUILD.gn -@@ -50,6 +50,11 @@ config("inside_blink") { - "-Wno-implicit-int-conversion", - ] - } -+ if (is_bsd) { -+ cflags += [ -+ "-Wno-implicit-int-float-conversion", -+ ] -+ } - - configs = [ "//build/config/compiler:noshadowing" ] - } diff --git a/www/chromium/files/patch-third__party_blink_renderer_bindings_scripts_bind__gen_style__format.py b/www/chromium/files/patch-third__party_blink_renderer_bindings_scripts_bind__gen_style__format.py index 4d0b8892c93e..85f535fc625d 100644 --- a/www/chromium/files/patch-third__party_blink_renderer_bindings_scripts_bind__gen_style__format.py +++ b/www/chromium/files/patch-third__party_blink_renderer_bindings_scripts_bind__gen_style__format.py @@ -1,12 +1,11 @@ ---- third_party/blink/renderer/bindings/scripts/bind_gen/style_format.py.orig 2021-09-14 01:52:02 UTC +--- third_party/blink/renderer/bindings/scripts/bind_gen/style_format.py.orig 2022-02-07 13:39:41 UTC +++ third_party/blink/renderer/bindings/scripts/bind_gen/style_format.py -@@ -37,6 +37,9 @@ def init(root_src_dir, enable_style_format=True): - elif sys.platform.startswith(("cygwin", "win")): - platform = "win" - exe_suffix = ".exe" -+ elif sys.platform.startswith("freebsd"): -+ platform = "freebsd" -+ exe_suffix = "" - else: - assert False, "Unknown platform: {}".format(sys.platform) - buildtools_platform_dir = os.path.join(root_src_dir, "buildtools", +@@ -28,7 +28,7 @@ def init(root_src_dir, enable_style_format=True): + root_src_dir = os.path.abspath(root_src_dir) + + # Determine //buildtools// directory +- if sys.platform.startswith("linux"): ++ if sys.platform.startswith(("linux","openbsd","freebsd")): + platform = "linux64" + exe_suffix = "" + elif sys.platform.startswith("darwin"): diff --git a/www/chromium/files/patch-third__party_blink_renderer_build_scripts_run__with__pythonpath.py b/www/chromium/files/patch-third__party_blink_renderer_build_scripts_run__with__pythonpath.py new file mode 100644 index 000000000000..7d56dad775be --- /dev/null +++ b/www/chromium/files/patch-third__party_blink_renderer_build_scripts_run__with__pythonpath.py @@ -0,0 +1,10 @@ +--- third_party/blink/renderer/build/scripts/run_with_pythonpath.py.orig 2022-02-07 13:39:41 UTC ++++ third_party/blink/renderer/build/scripts/run_with_pythonpath.py +@@ -22,6 +22,7 @@ def main(): + existing_pp = ( + os.pathsep + env['PYTHONPATH']) if 'PYTHONPATH' in env else '' + env['PYTHONPATH'] = os.pathsep.join(python_paths) + existing_pp ++ env['LD_LIBRARY_PATH'] = "${WRKSRC}/out/Release" + sys.exit(subprocess.call([sys.executable] + args, env=env)) + + diff --git a/www/chromium/files/patch-third__party_blink_renderer_controller_blink__initializer.cc b/www/chromium/files/patch-third__party_blink_renderer_controller_blink__initializer.cc index 35df1ee748e3..a89c64c0d4bc 100644 --- a/www/chromium/files/patch-third__party_blink_renderer_controller_blink__initializer.cc +++ b/www/chromium/files/patch-third__party_blink_renderer_controller_blink__initializer.cc @@ -1,34 +1,35 @@ ---- third_party/blink/renderer/controller/blink_initializer.cc.orig 2021-12-31 00:57:40 UTC +--- third_party/blink/renderer/controller/blink_initializer.cc.orig 2022-02-07 13:39:41 UTC +++ third_party/blink/renderer/controller/blink_initializer.cc -@@ -71,11 +71,11 @@ +@@ -71,12 +71,12 @@ #include "third_party/blink/renderer/controller/oom_intervention_impl.h" #endif -#if defined(OS_LINUX) || defined(OS_CHROMEOS) +#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD) #include "third_party/blink/renderer/controller/memory_usage_monitor_posix.h" #endif --#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_ANDROID) || \ -+#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_ANDROID) || defined(OS_BSD) || \ - defined(OS_MAC) || defined(OS_WIN) + #if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_ANDROID) || \ +- defined(OS_MAC) || defined(OS_WIN) ++ defined(OS_MAC) || defined(OS_WIN) || defined(OS_BSD) #include "third_party/blink/renderer/controller/highest_pmf_reporter.h" #include "third_party/blink/renderer/controller/user_level_memory_pressure_signal_generator.h" -@@ -155,7 +155,7 @@ void InitializeCommon(Platform* platform, mojo::Binder - CrashMemoryMetricsReporterImpl::Instance(); + #endif +@@ -156,7 +156,7 @@ void InitializeCommon(Platform* platform, mojo::Binder #endif --#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_ANDROID) || \ -+#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_ANDROID) || defined(OS_BSD) || \ - defined(OS_MAC) || defined(OS_WIN) + #if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_ANDROID) || \ +- defined(OS_MAC) || defined(OS_WIN) ++ defined(OS_MAC) || defined(OS_WIN) || defined(OS_BSD) // Initialize UserLevelMemoryPressureSignalGenerator so it starts monitoring. if (UserLevelMemoryPressureSignalGenerator::Enabled()) + UserLevelMemoryPressureSignalGenerator::Instance(); @@ -227,7 +227,7 @@ void BlinkInitializer::RegisterInterfaces(mojo::Binder main_thread->GetTaskRunner()); #endif -#if defined(OS_LINUX) || defined(OS_CHROMEOS) +#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD) binders.Add(ConvertToBaseRepeatingCallback( CrossThreadBindRepeating(&MemoryUsageMonitorPosix::Bind)), main_thread->GetTaskRunner()); diff --git a/www/chromium/files/patch-third__party_blink_renderer_controller_memory__usage__monitor__posix.cc b/www/chromium/files/patch-third__party_blink_renderer_controller_memory__usage__monitor__posix.cc index 480f473ebf4b..3b274f0a4ce6 100644 --- a/www/chromium/files/patch-third__party_blink_renderer_controller_memory__usage__monitor__posix.cc +++ b/www/chromium/files/patch-third__party_blink_renderer_controller_memory__usage__monitor__posix.cc @@ -1,11 +1,21 @@ ---- third_party/blink/renderer/controller/memory_usage_monitor_posix.cc.orig 2021-04-14 18:41:09 UTC +--- third_party/blink/renderer/controller/memory_usage_monitor_posix.cc.orig 2022-02-07 13:39:41 UTC +++ third_party/blink/renderer/controller/memory_usage_monitor_posix.cc -@@ -134,7 +134,7 @@ void MemoryUsageMonitorPosix::SetProcFiles(base::File +@@ -126,15 +126,17 @@ void MemoryUsageMonitorPosix::ResetFileDescriptors() { + + void MemoryUsageMonitorPosix::SetProcFiles(base::File statm_file, + base::File status_file) { ++#if !defined(OS_BSD) + DCHECK(statm_file.IsValid()); + DCHECK(status_file.IsValid()); + DCHECK_EQ(-1, statm_fd_.get()); + DCHECK_EQ(-1, status_fd_.get()); + statm_fd_.reset(statm_file.TakePlatformFile()); status_fd_.reset(status_file.TakePlatformFile()); ++#endif } -#if defined(OS_LINUX) || defined(OS_CHROMEOS) +#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD) // static void MemoryUsageMonitorPosix::Bind( mojo::PendingReceiver receiver) { diff --git a/www/chromium/files/patch-third__party_blink_renderer_core_exported_web__view__impl.cc b/www/chromium/files/patch-third__party_blink_renderer_core_exported_web__view__impl.cc index 76a1031e3f7b..7eecf3cdc106 100644 --- a/www/chromium/files/patch-third__party_blink_renderer_core_exported_web__view__impl.cc +++ b/www/chromium/files/patch-third__party_blink_renderer_core_exported_web__view__impl.cc @@ -1,26 +1,20 @@ ---- third_party/blink/renderer/core/exported/web_view_impl.cc.orig 2021-12-31 00:57:41 UTC +--- third_party/blink/renderer/core/exported/web_view_impl.cc.orig 2022-02-07 13:39:41 UTC +++ third_party/blink/renderer/core/exported/web_view_impl.cc -@@ -404,7 +404,7 @@ SkFontHinting RendererPreferencesToSkiaHinting( +@@ -402,7 +402,7 @@ SkFontHinting RendererPreferencesToSkiaHinting( const blink::RendererPreferences& prefs) { // TODO(crbug.com/1052397): Revisit once build flag switch of lacros-chrome is // complete. -#if defined(OS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS) +#if defined(OS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS) || defined(OS_BSD) if (!prefs.should_antialias_text) { // When anti-aliasing is off, GTK maps all non-zero hinting settings to // 'Normal' hinting so we do the same. Otherwise, folks who have 'Slight' -@@ -3136,12 +3136,12 @@ void WebViewImpl::UpdateFontRenderingFromRendererPrefs +@@ -3170,7 +3170,7 @@ void WebViewImpl::UpdateFontRenderingFromRendererPrefs renderer_preferences_.use_subpixel_positioning); // TODO(crbug.com/1052397): Revisit once build flag switch of lacros-chrome is // complete. -#if (defined(OS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS)) && !defined(OS_ANDROID) -+#if (defined(OS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS) || defined(OS_BSD)) && !defined(OS_ANDROID) ++#if (defined(OS_LINUX) || defined(OS_BSD) || BUILDFLAG(IS_CHROMEOS_LACROS)) && !defined(OS_ANDROID) if (!renderer_preferences_.system_font_family_name.empty()) { WebFontRenderStyle::SetSystemFontFamily(blink::WebString::FromUTF8( renderer_preferences_.system_font_family_name)); - } --#endif // (defined(OS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS)) && -+#endif // (defined(OS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS) || defined(OS_BSD)) && - // !defined(OS_ANDROID) - #endif // defined(OS_WIN) - #endif // !defined(OS_MAC) diff --git a/www/chromium/files/patch-third__party_blink_renderer_core_frame_web__frame__test.cc b/www/chromium/files/patch-third__party_blink_renderer_core_frame_web__frame__test.cc deleted file mode 100644 index 964cf1df5e43..000000000000 --- a/www/chromium/files/patch-third__party_blink_renderer_core_frame_web__frame__test.cc +++ /dev/null @@ -1,20 +0,0 @@ ---- third_party/blink/renderer/core/frame/web_frame_test.cc.orig 2021-12-31 00:57:41 UTC -+++ third_party/blink/renderer/core/frame/web_frame_test.cc -@@ -6079,7 +6079,7 @@ TEST_F(WebFrameTest, DISABLED_PositionForPointTest) { - EXPECT_EQ(64, ComputeOffset(layout_object, 1000, 1000)); - } - --#if !defined(OS_MAC) && !defined(OS_LINUX) && !defined(OS_CHROMEOS) -+#if !defined(OS_MAC) && !defined(OS_LINUX) && !defined(OS_CHROMEOS) && !defined(OS_BSD) - TEST_F(WebFrameTest, SelectRangeStaysHorizontallyAlignedWhenMoved) { - RegisterMockedHttpURLLoad("move_caret.html"); - -@@ -6449,7 +6449,7 @@ TEST_P(CompositedSelectionBoundsTest, SVGBasic) { - TEST_P(CompositedSelectionBoundsTest, SVGTextWithFragments) { - RunTest("composited_selection_bounds_svg_text_with_fragments.html"); - } --#if defined(OS_WIN) || defined(OS_LINUX) || defined(OS_CHROMEOS) -+#if defined(OS_WIN) || defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD) - #if !defined(OS_ANDROID) - TEST_P(CompositedSelectionBoundsTest, Input) { - web_view_helper_.GetWebView()->GetSettings()->SetDefaultFontSize(16); diff --git a/www/chromium/files/patch-third__party_blink_renderer_core_html_canvas_canvas__async__blob__creator.cc b/www/chromium/files/patch-third__party_blink_renderer_core_html_canvas_canvas__async__blob__creator.cc index 35026ed3e908..5ac574b6c65f 100644 --- a/www/chromium/files/patch-third__party_blink_renderer_core_html_canvas_canvas__async__blob__creator.cc +++ b/www/chromium/files/patch-third__party_blink_renderer_core_html_canvas_canvas__async__blob__creator.cc @@ -1,11 +1,11 @@ ---- third_party/blink/renderer/core/html/canvas/canvas_async_blob_creator.cc.orig 2021-12-14 11:45:12 UTC +--- third_party/blink/renderer/core/html/canvas/canvas_async_blob_creator.cc.orig 2022-02-07 13:39:41 UTC +++ third_party/blink/renderer/core/html/canvas/canvas_async_blob_creator.cc -@@ -43,7 +43,7 @@ constexpr base::TimeDelta kEncodeRowSlackBeforeDeadlin - base::Microseconds(100); +@@ -44,7 +44,7 @@ constexpr base::TimeDelta kEncodeRowSlackBeforeDeadlin /* The value is based on user statistics on Nov 2017. */ --#if (defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_MAC) || \ -+#if (defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_MAC) || defined(OS_BSD) || \ - defined(OS_WIN)) + #if (defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_MAC) || \ +- defined(OS_WIN)) ++ defined(OS_WIN)) || defined(OS_BSD) const double kIdleTaskStartTimeoutDelayMs = 1000.0; #else + const double kIdleTaskStartTimeoutDelayMs = 4000.0; // For ChromeOS, Mobile diff --git a/www/chromium/files/patch-third__party_blink_renderer_core_scroll_scrollbar__theme__aura.cc b/www/chromium/files/patch-third__party_blink_renderer_core_scroll_scrollbar__theme__aura.cc index 316445e730f9..1a7ea22d71d9 100644 --- a/www/chromium/files/patch-third__party_blink_renderer_core_scroll_scrollbar__theme__aura.cc +++ b/www/chromium/files/patch-third__party_blink_renderer_core_scroll_scrollbar__theme__aura.cc @@ -1,20 +1,20 @@ ---- third_party/blink/renderer/core/scroll/scrollbar_theme_aura.cc.orig 2021-12-31 00:57:41 UTC +--- third_party/blink/renderer/core/scroll/scrollbar_theme_aura.cc.orig 2022-02-07 13:39:41 UTC +++ third_party/blink/renderer/core/scroll/scrollbar_theme_aura.cc -@@ -151,7 +151,7 @@ bool ScrollbarThemeAura::SupportsDragSnapBack() const +@@ -152,7 +152,7 @@ bool ScrollbarThemeAura::SupportsDragSnapBack() const // is true for at least GTK and QT apps). // TODO(crbug.com/1052397): Revisit once build flag switch of lacros-chrome is // complete. -#if defined(OS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS) +#if defined(OS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS) || defined(OS_BSD) return false; #else return true; @@ -327,7 +327,7 @@ bool ScrollbarThemeAura::ShouldCenterOnThumb(const Scr const WebMouseEvent& event) { // TODO(crbug.com/1052397): Revisit once build flag switch of lacros-chrome is // complete. -#if defined(OS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS) +#if defined(OS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS) || defined(OS_BSD) if (event.button == WebPointerProperties::Button::kMiddle) return true; #endif diff --git a/www/chromium/files/patch-third__party_blink_renderer_modules_media_audio_web__audio__device__factory.cc b/www/chromium/files/patch-third__party_blink_renderer_modules_media_audio_web__audio__device__factory.cc deleted file mode 100644 index 30475a993f99..000000000000 --- a/www/chromium/files/patch-third__party_blink_renderer_modules_media_audio_web__audio__device__factory.cc +++ /dev/null @@ -1,11 +0,0 @@ ---- third_party/blink/renderer/modules/media/audio/web_audio_device_factory.cc.orig 2021-04-14 18:41:10 UTC -+++ third_party/blink/renderer/modules/media/audio/web_audio_device_factory.cc -@@ -33,7 +33,7 @@ WebAudioDeviceFactory* WebAudioDeviceFactory::factory_ - - namespace { - --#if defined(OS_WIN) || defined(OS_MAC) || defined(OS_LINUX) || \ -+#if defined(OS_WIN) || defined(OS_MAC) || defined(OS_LINUX) || defined(OS_BSD) || \ - BUILDFLAG(IS_CHROMEOS_LACROS) - // Due to driver deadlock issues on Windows (http://crbug/422522) there is a - // chance device authorization response is never received from the browser side. diff --git a/www/chromium/files/patch-third__party_blink_renderer_modules_peerconnection_webrtc__audio__renderer__test.cc b/www/chromium/files/patch-third__party_blink_renderer_modules_peerconnection_webrtc__audio__renderer__test.cc deleted file mode 100644 index fd5a1f8d94d2..000000000000 --- a/www/chromium/files/patch-third__party_blink_renderer_modules_peerconnection_webrtc__audio__renderer__test.cc +++ /dev/null @@ -1,11 +0,0 @@ ---- third_party/blink/renderer/modules/peerconnection/webrtc_audio_renderer_test.cc.orig 2021-09-14 01:52:02 UTC -+++ third_party/blink/renderer/modules/peerconnection/webrtc_audio_renderer_test.cc -@@ -289,7 +289,7 @@ TEST_F(MAYBE_WebRtcAudioRendererTest, DISABLED_Multipl - TEST_F(MAYBE_WebRtcAudioRendererTest, DISABLED_VerifySinkParameters) { - SetupRenderer(kDefaultOutputDeviceId); - renderer_proxy_->Start(); --#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_MAC) || \ -+#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_MAC) || defined(OS_BSD) || \ - defined(OS_FUCHSIA) - static const int kExpectedBufferSize = kHardwareSampleRate / 100; - #elif defined(OS_ANDROID) diff --git a/www/chromium/files/patch-third__party_blink_renderer_modules_webaudio_audio__worklet__thread__test.cc b/www/chromium/files/patch-third__party_blink_renderer_modules_webaudio_audio__worklet__thread__test.cc deleted file mode 100644 index ef4ac1e78154..000000000000 --- a/www/chromium/files/patch-third__party_blink_renderer_modules_webaudio_audio__worklet__thread__test.cc +++ /dev/null @@ -1,13 +0,0 @@ ---- third_party/blink/renderer/modules/webaudio/audio_worklet_thread_test.cc.orig 2021-12-31 00:57:41 UTC -+++ third_party/blink/renderer/modules/webaudio/audio_worklet_thread_test.cc -@@ -411,8 +411,8 @@ class AudioWorkletThreadPriorityTest - base::PlatformThread::GetCurrentThreadPriority(); - - // TODO(crbug.com/1022888): The worklet thread priority is always NORMAL -- // on OS_LINUX and OS_CHROMEOS regardless of the thread priority setting. --#if defined(OS_LINUX) || defined(OS_CHROMEOS) -+ // on OS_LINUX, OS_CHROMEOS and OS_BSD regardless of the thread priority setting. -+#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD) - if (expected_priority == base::ThreadPriority::REALTIME_AUDIO || - expected_priority == base::ThreadPriority::DISPLAY) { - EXPECT_EQ(actual_priority, base::ThreadPriority::NORMAL); diff --git a/www/chromium/files/patch-third__party_blink_renderer_modules_webgl_webgl__rendering__context__base.cc b/www/chromium/files/patch-third__party_blink_renderer_modules_webgl_webgl__rendering__context__base.cc index 95e7acd7cde5..5c9e4bf4e0b1 100644 --- a/www/chromium/files/patch-third__party_blink_renderer_modules_webgl_webgl__rendering__context__base.cc +++ b/www/chromium/files/patch-third__party_blink_renderer_modules_webgl_webgl__rendering__context__base.cc @@ -1,11 +1,11 @@ ---- third_party/blink/renderer/modules/webgl/webgl_rendering_context_base.cc.orig 2021-12-31 00:57:42 UTC +--- third_party/blink/renderer/modules/webgl/webgl_rendering_context_base.cc.orig 2022-02-07 13:39:41 UTC +++ third_party/blink/renderer/modules/webgl/webgl_rendering_context_base.cc -@@ -6110,7 +6110,7 @@ void WebGLRenderingContextBase::TexImageHelperMediaVid +@@ -6102,7 +6102,7 @@ void WebGLRenderingContextBase::TexImageHelperMediaVid constexpr bool kAllowZeroCopyImages = true; #endif -#if defined(OS_ANDROID) || defined(OS_LINUX) +#if defined(OS_ANDROID) || defined(OS_LINUX) || defined(OS_BSD) // TODO(crbug.com/1175907): Only TexImage2D seems to work with the GPU path on // Android M -- appears to work fine on R, but to avoid regressions in +- ++ + + diff --git a/www/chromium/files/patch-ui_views_controls_textfield_textfield.h b/www/chromium/files/patch-ui_views_controls_textfield_textfield.h index 7de45de4dfbb..f58938e0880e 100644 --- a/www/chromium/files/patch-ui_views_controls_textfield_textfield.h +++ b/www/chromium/files/patch-ui_views_controls_textfield_textfield.h @@ -1,11 +1,11 @@ ---- ui/views/controls/textfield/textfield.h.orig 2021-12-16 15:24:13 UTC +--- ui/views/controls/textfield/textfield.h.orig 2022-02-07 13:39:41 UTC +++ ui/views/controls/textfield/textfield.h -@@ -442,7 +442,7 @@ class VIEWS_EXPORT Textfield : public View, +@@ -443,7 +443,7 @@ class VIEWS_EXPORT Textfield : public View, // Set whether the text should be used to improve typing suggestions. void SetShouldDoLearning(bool value) { should_do_learning_ = value; } -#if defined(OS_WIN) || defined(OS_LINUX) || defined(OS_CHROMEOS) +#if defined(OS_WIN) || defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD) bool SetCompositionFromExistingText( const gfx::Range& range, const std::vector& ui_ime_text_spans) override; diff --git a/www/chromium/files/patch-ui_views_examples_widget__example.cc b/www/chromium/files/patch-ui_views_examples_widget__example.cc index ba9ac106285b..8c1d239908b8 100644 --- a/www/chromium/files/patch-ui_views_examples_widget__example.cc +++ b/www/chromium/files/patch-ui_views_examples_widget__example.cc @@ -1,11 +1,11 @@ ---- ui/views/examples/widget_example.cc.orig 2021-04-14 18:41:39 UTC +--- ui/views/examples/widget_example.cc.orig 2022-02-07 13:39:41 UTC +++ ui/views/examples/widget_example.cc -@@ -50,7 +50,7 @@ void WidgetExample::CreateExampleView(View* container) +@@ -49,7 +49,7 @@ void WidgetExample::CreateExampleView(View* container) modal_button->SetCallback( base::BindRepeating(&WidgetExample::CreateDialogWidget, base::Unretained(this), modal_button, true)); -#if defined(OS_LINUX) || defined(OS_CHROMEOS) +#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD) // Windows does not support TYPE_CONTROL top-level widgets. LabelButton* control_button = BuildButton( container, GetStringUTF16(IDS_WIDGET_CHILD_WIDGET_BUTTON_LABEL)); diff --git a/www/chromium/files/patch-ui_views_test_widget__test__aura.cc b/www/chromium/files/patch-ui_views_test_widget__test__aura.cc deleted file mode 100644 index 090d50512f6e..000000000000 --- a/www/chromium/files/patch-ui_views_test_widget__test__aura.cc +++ /dev/null @@ -1,32 +0,0 @@ ---- ui/views/test/widget_test_aura.cc.orig 2021-12-14 11:45:40 UTC -+++ ui/views/test/widget_test_aura.cc -@@ -15,7 +15,7 @@ - #include "ui/views/widget/widget.h" - #include "ui/wm/core/shadow_controller.h" - --#if (defined(OS_LINUX) || defined(OS_CHROMEOS)) && \ -+#if (defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD)) && \ - BUILDFLAG(ENABLE_DESKTOP_AURA) - #include "ui/views/widget/desktop_aura/desktop_window_tree_host_linux.h" - #endif -@@ -70,7 +70,7 @@ BOOL CALLBACK FindAllWindowsCallback(HWND hwnd, LPARAM - - std::vector GetAllTopLevelWindows() { - std::vector roots; --#if (defined(OS_LINUX) || defined(OS_CHROMEOS)) && \ -+#if (defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD)) && \ - BUILDFLAG(ENABLE_DESKTOP_AURA) - roots = DesktopWindowTreeHostLinux::GetAllOpenWindows(); - #elif defined(OS_WIN) -@@ -126,9 +126,9 @@ gfx::Size WidgetTest::GetNativeWidgetMinimumContentSiz - return widget->GetNativeWindow()->delegate()->GetMinimumSize(); - // TODO(crbug.com/1052397): Revisit the macro expression once build flag switch - // of lacros-chrome is complete. --#elif defined(OS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS) -+#elif defined(OS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS) || defined(OS_BSD) - return widget->GetNativeWindow()->delegate()->GetMinimumSize(); --#endif // OS_LINUX && !OS_CHROMEOS -+#endif // (OS_LINUX || OS_BSD) && !OS_CHROMEOS - NOTREACHED(); - return gfx::Size(); - } diff --git a/www/chromium/files/patch-ui_views_views__delegate.h b/www/chromium/files/patch-ui_views_views__delegate.h index caca4ce121c9..9cd81d3c7ea7 100644 --- a/www/chromium/files/patch-ui_views_views__delegate.h +++ b/www/chromium/files/patch-ui_views_views__delegate.h @@ -1,11 +1,11 @@ ---- ui/views/views_delegate.h.orig 2021-12-14 11:45:40 UTC +--- ui/views/views_delegate.h.orig 2022-02-07 13:39:41 UTC +++ ui/views/views_delegate.h -@@ -140,7 +140,7 @@ class VIEWS_EXPORT ViewsDelegate { +@@ -139,7 +139,7 @@ class VIEWS_EXPORT ViewsDelegate { // environment. virtual bool IsWindowInMetro(gfx::NativeWindow window) const; #elif BUILDFLAG(ENABLE_DESKTOP_AURA) && \ - (defined(OS_LINUX) || defined(OS_CHROMEOS)) + (defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD)) virtual gfx::ImageSkia* GetDefaultWindowIcon() const; #endif diff --git a/www/chromium/files/patch-ui_views_widget_desktop__aura_desktop__window__tree__host__platform.cc b/www/chromium/files/patch-ui_views_widget_desktop__aura_desktop__window__tree__host__platform.cc index 35d333f559b1..b5e8f9a14e2c 100644 --- a/www/chromium/files/patch-ui_views_widget_desktop__aura_desktop__window__tree__host__platform.cc +++ b/www/chromium/files/patch-ui_views_widget_desktop__aura_desktop__window__tree__host__platform.cc @@ -1,11 +1,11 @@ ---- ui/views/widget/desktop_aura/desktop_window_tree_host_platform.cc.orig 2021-12-31 00:58:32 UTC +--- ui/views/widget/desktop_aura/desktop_window_tree_host_platform.cc.orig 2022-02-07 13:39:41 UTC +++ ui/views/widget/desktop_aura/desktop_window_tree_host_platform.cc -@@ -911,7 +911,7 @@ display::Display DesktopWindowTreeHostPlatform::GetDis +@@ -910,7 +910,7 @@ display::Display DesktopWindowTreeHostPlatform::GetDis // DesktopWindowTreeHost: // Linux subclasses this host and adds some Linux specific bits. -#if !defined(OS_LINUX) && !defined(OS_CHROMEOS) +#if !defined(OS_LINUX) && !defined(OS_CHROMEOS) && !defined(OS_BSD) // static DesktopWindowTreeHost* DesktopWindowTreeHost::Create( internal::NativeWidgetDelegate* native_widget_delegate, diff --git a/www/chromium/files/patch-ui_views_widget_native__widget__aura.cc b/www/chromium/files/patch-ui_views_widget_native__widget__aura.cc index fc8199d27090..d4a75cefed5e 100644 --- a/www/chromium/files/patch-ui_views_widget_native__widget__aura.cc +++ b/www/chromium/files/patch-ui_views_widget_native__widget__aura.cc @@ -1,29 +1,29 @@ ---- ui/views/widget/native_widget_aura.cc.orig 2021-12-14 11:45:40 UTC +--- ui/views/widget/native_widget_aura.cc.orig 2022-02-07 13:39:41 UTC +++ ui/views/widget/native_widget_aura.cc @@ -69,7 +69,7 @@ #endif #if BUILDFLAG(ENABLE_DESKTOP_AURA) && \ - (defined(OS_LINUX) || defined(OS_CHROMEOS)) + (defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD)) #include "ui/views/widget/desktop_aura/desktop_window_tree_host_linux.h" #endif -@@ -1141,7 +1141,7 @@ void NativeWidgetAura::SetInitialFocus(ui::WindowShowS +@@ -1159,7 +1159,7 @@ void NativeWidgetAura::SetInitialFocus(ui::WindowShowS namespace { #if BUILDFLAG(ENABLE_DESKTOP_AURA) && \ - (defined(OS_WIN) || defined(OS_LINUX) || defined(OS_CHROMEOS)) + (defined(OS_WIN) || defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD)) void CloseWindow(aura::Window* window) { if (window) { Widget* widget = Widget::GetWidgetForNativeView(window); -@@ -1172,7 +1172,7 @@ void Widget::CloseAllSecondaryWidgets() { +@@ -1190,7 +1190,7 @@ void Widget::CloseAllSecondaryWidgets() { #endif #if BUILDFLAG(ENABLE_DESKTOP_AURA) && \ - (defined(OS_LINUX) || defined(OS_CHROMEOS)) + (defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD)) DesktopWindowTreeHostLinux::CleanUpWindowList(CloseWindow); #endif } diff --git a/www/chromium/files/patch-ui_views_widget_widget.cc b/www/chromium/files/patch-ui_views_widget_widget.cc index 3efb3a181091..41ee8e7c9cf2 100644 --- a/www/chromium/files/patch-ui_views_widget_widget.cc +++ b/www/chromium/files/patch-ui_views_widget_widget.cc @@ -1,20 +1,20 @@ ---- ui/views/widget/widget.cc.orig 2021-12-31 00:58:32 UTC +--- ui/views/widget/widget.cc.orig 2022-02-07 13:39:41 UTC +++ ui/views/widget/widget.cc -@@ -51,7 +51,7 @@ +@@ -50,7 +50,7 @@ #include "ui/views/window/custom_frame_view.h" #include "ui/views/window/dialog_delegate.h" -#if defined(OS_LINUX) +#if defined(OS_LINUX) || defined(OS_BSD) #include "ui/views/linux_ui/linux_ui.h" #endif -@@ -1788,7 +1788,7 @@ const ui::NativeTheme* Widget::GetNativeTheme() const +@@ -1780,7 +1780,7 @@ const ui::NativeTheme* Widget::GetNativeTheme() const parent_) return parent_->GetNativeTheme(); -#if defined(OS_LINUX) +#if defined(OS_LINUX) || defined(OS_BSD) if (const views::LinuxUI* linux_ui = views::LinuxUI::instance()) { if (auto* native_theme = linux_ui->GetNativeTheme(GetNativeWindow())) return native_theme; diff --git a/www/chromium/files/patch-ui_webui_resources_js_cr.js b/www/chromium/files/patch-ui_webui_resources_js_cr.js index adddca1edade..294291d69d23 100644 --- a/www/chromium/files/patch-ui_webui_resources_js_cr.js +++ b/www/chromium/files/patch-ui_webui_resources_js_cr.js @@ -1,14 +1,14 @@ ---- ui/webui/resources/js/cr.js.orig 2021-04-14 18:41:39 UTC +--- ui/webui/resources/js/cr.js.orig 2022-02-07 13:39:41 UTC +++ ui/webui/resources/js/cr.js -@@ -450,6 +450,11 @@ var cr = cr || function(global) { - get isMac() { - return /Mac/.test(navigator.platform); +@@ -441,6 +441,11 @@ var cr = cr || function(global) { + return returnValue; }, -+ + + /** Whether this is on *BSD. */ + get isBSD() { + return /BSD/.test(navigator.userAgent); + }, - - /** Whether this is on the Windows platform or not. */ - get isWindows() { ++ + /** Whether this is on vanilla Linux (not chromeOS). */ + get isLinux() { + return /Linux/.test(navigator.userAgent); diff --git a/www/chromium/files/patch-v8_BUILD.gn b/www/chromium/files/patch-v8_BUILD.gn index 4d218ffa5220..73b4439524b6 100644 --- a/www/chromium/files/patch-v8_BUILD.gn +++ b/www/chromium/files/patch-v8_BUILD.gn @@ -1,27 +1,45 @@ ---- v8/BUILD.gn.orig 2021-12-31 01:01:02 UTC +--- v8/BUILD.gn.orig 2022-02-07 13:39:41 UTC +++ v8/BUILD.gn -@@ -5090,9 +5090,15 @@ v8_component("v8_libbase") { +@@ -1181,6 +1181,14 @@ config("toolchain") { + } else if (target_os == "win") { + defines += [ "V8_HAVE_TARGET_OS" ] + defines += [ "V8_TARGET_OS_WIN" ] ++ } else if (target_os == "openbsd") { ++ defines += [ "V8_HAVE_TARGET_OS" ] ++ defines += [ "V8_TARGET_OS_OPENBSD" ] ++ defines += [ "V8_TARGET_OS_BSD" ] ++ } else if (target_os == "freebsd") { ++ defines += [ "V8_HAVE_TARGET_OS" ] ++ defines += [ "V8_TARGET_OS_FREEBSD" ] ++ defines += [ "V8_TARGET_OS_BSD" ] + } + + # TODO(jochen): Support v8_enable_prof on Windows. +@@ -5094,7 +5102,7 @@ v8_component("v8_libbase") { } } - if (is_linux || is_chromeos) { -+ if (is_bsd) { ++ if ((is_linux || is_chromeos) && !is_bsd) { sources += [ "src/base/debug/stack_trace_posix.cc", -+ "src/base/platform/platform-freebsd.cc", + "src/base/platform/platform-linux.cc", +@@ -5104,6 +5112,18 @@ v8_component("v8_libbase") { + "dl", + "rt", + ] ++ } else if (is_openbsd) { ++ sources += [ ++ "src/base/debug/stack_trace_posix.cc", ++ "src/base/platform/platform-openbsd.cc", + ] -+ libs = [ "rt", "execinfo" ] -+ } else if (is_linux || is_chromeos) { ++ libs = [ "execinfo" ] ++ } else if (is_freebsd) { + sources += [ + "src/base/debug/stack_trace_posix.cc", - "src/base/platform/platform-linux.cc", - ] - -@@ -5655,6 +5661,7 @@ if (current_toolchain == v8_generator_toolchain) { - "src/interpreter/bytecodes.cc", - "src/interpreter/bytecodes.h", - ] -+ libs = ["execinfo"] - - configs = [ ":internal_config" ] - ++ "src/base/platform/platform-freebsd.cc", ++ ] ++ libs = [ "execinfo" ] + } else if (current_os == "aix") { + sources += [ + "src/base/debug/stack_trace_posix.cc", diff --git a/www/chromium/files/patch-v8_include_v8config.h b/www/chromium/files/patch-v8_include_v8config.h index 8ac2f092c33b..687b2fd71f34 100644 --- a/www/chromium/files/patch-v8_include_v8config.h +++ b/www/chromium/files/patch-v8_include_v8config.h @@ -1,21 +1,37 @@ ---- v8/include/v8config.h.orig 2021-09-24 04:28:21 UTC +--- v8/include/v8config.h.orig 2022-02-07 13:39:41 UTC +++ v8/include/v8config.h -@@ -338,7 +338,18 @@ path. Add it with -I to the command line +@@ -181,6 +181,8 @@ path. Add it with -I to the command line + && !defined(V8_TARGET_OS_FUCHSIA) \ + && !defined(V8_TARGET_OS_IOS) \ + && !defined(V8_TARGET_OS_LINUX) \ ++ && !defined(V8_TARGET_OS_OPENBSD) \ ++ && !defined(V8_TARGET_OS_FREEBSD) \ + && !defined(V8_TARGET_OS_MACOSX) \ + && !defined(V8_TARGET_OS_WIN) + # error No known target OS defined. +@@ -192,6 +194,8 @@ path. Add it with -I to the command line + || defined(V8_TARGET_OS_FUCHSIA) \ + || defined(V8_TARGET_OS_IOS) \ + || defined(V8_TARGET_OS_LINUX) \ ++ || defined(V8_TARGET_OS_OPENBSD) \ ++ || defined(V8_TARGET_OS_FREEBSD) \ + || defined(V8_TARGET_OS_MACOSX) \ + || defined(V8_TARGET_OS_WIN) + # error A target OS is defined but V8_HAVE_TARGET_OS is unset. +@@ -212,6 +216,16 @@ path. Add it with -I to the command line - # define V8_HAS_CPP_ATTRIBUTE_NODISCARD (V8_HAS_CPP_ATTRIBUTE(nodiscard)) - -+// 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 + #ifdef V8_OS_LINUX + # define V8_TARGET_OS_LINUX ++#endif ++ ++#ifdef V8_OS_OPENBSD ++# define V8_TARGET_OS_OPENBSD ++# define V8_TARGET_OS_BSD +#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)) ++ ++#ifdef V8_OS_FREEBSD ++# define V8_TARGET_OS_OPENBSD ++# define V8_TARGET_OS_BSD + #endif + + #ifdef V8_OS_MACOSX diff --git a/www/chromium/files/patch-v8_src_api_api.cc b/www/chromium/files/patch-v8_src_api_api.cc index 9519aca7b828..696e87d3f221 100644 --- a/www/chromium/files/patch-v8_src_api_api.cc +++ b/www/chromium/files/patch-v8_src_api_api.cc @@ -1,11 +1,20 @@ ---- v8/src/api/api.cc.orig 2021-12-31 01:01:02 UTC +--- v8/src/api/api.cc.orig 2022-02-07 13:39:41 UTC +++ v8/src/api/api.cc -@@ -6054,7 +6054,7 @@ bool v8::V8::Initialize(const int build_config) { +@@ -140,7 +140,7 @@ + #include "src/wasm/wasm-serialization.h" + #endif // V8_ENABLE_WEBASSEMBLY + +-#if V8_OS_LINUX || V8_OS_MACOSX || V8_OS_FREEBSD ++#if V8_OS_LINUX || V8_OS_MACOSX || V8_OS_FREEBSD || V8_OS_OPENBSD + #include + #include "include/v8-wasm-trap-handler-posix.h" + #include "src/trap-handler/handler-inside-posix.h" +@@ -6126,7 +6126,7 @@ bool v8::V8::Initialize(const int build_config) { return true; } -#if V8_OS_LINUX || V8_OS_MACOSX -+#if V8_OS_LINUX || V8_OS_MACOSX || V8_OS_OPENBSD || V8_OS_FREEBSD ++#if V8_OS_LINUX || V8_OS_MACOSX || V8_OS_FREEBSD || V8_OS_OPENBSD bool TryHandleWebAssemblyTrapPosix(int sig_code, siginfo_t* info, void* context) { #if V8_ENABLE_WEBASSEMBLY && V8_TRAP_HANDLER_SUPPORTED diff --git a/www/chromium/files/patch-v8_src_base_atomicops.h b/www/chromium/files/patch-v8_src_base_atomicops.h new file mode 100644 index 000000000000..488d69659274 --- /dev/null +++ b/www/chromium/files/patch-v8_src_base_atomicops.h @@ -0,0 +1,33 @@ +--- v8/src/base/atomicops.h.orig 2022-02-07 13:39:41 UTC ++++ v8/src/base/atomicops.h +@@ -57,10 +57,10 @@ using Atomic64 = SbAtomic64; + using Atomic8 = char; + using Atomic16 = int16_t; + using Atomic32 = int32_t; +-#if defined(V8_HOST_ARCH_64_BIT) ++#if defined(V8_HOST_ARCH_64_BIT) || defined(V8_OS_OPENBSD) + // We need to be able to go between Atomic64 and AtomicWord implicitly. This + // means Atomic64 and AtomicWord should be the same type on 64-bit. +-#if defined(__ILP32__) ++#if defined(__ILP32__) && !defined(V8_OS_OPENBSD) + using Atomic64 = int64_t; + #else + using Atomic64 = intptr_t; +@@ -241,7 +241,7 @@ inline Atomic32 Acquire_Load(volatile const Atomic32* + std::memory_order_acquire); + } + +-#if defined(V8_HOST_ARCH_64_BIT) ++#if defined(V8_HOST_ARCH_64_BIT) || defined(V8_OS_OPENBSD) + + inline Atomic64 Relaxed_CompareAndSwap(volatile Atomic64* ptr, + Atomic64 old_value, Atomic64 new_value) { +@@ -441,7 +441,7 @@ inline int Relaxed_Memcmp(volatile const Atomic8* s1, + + // On some platforms we need additional declarations to make + // AtomicWord compatible with our other Atomic* types. +-#if defined(V8_OS_MACOSX) || defined(V8_OS_OPENBSD) || defined(V8_OS_AIX) ++#if defined(V8_OS_MACOSX) || defined(V8_OS_AIX) + #include "src/base/atomicops_internals_atomicword_compat.h" + #endif + diff --git a/www/chromium/files/patch-v8_src_base_cpu.cc b/www/chromium/files/patch-v8_src_base_cpu.cc deleted file mode 100644 index 525e9d717e98..000000000000 --- a/www/chromium/files/patch-v8_src_base_cpu.cc +++ /dev/null @@ -1,18 +0,0 @@ ---- v8/src/base/cpu.cc.orig 2021-12-31 01:01:02 UTC -+++ v8/src/base/cpu.cc -@@ -575,6 +575,7 @@ CPU::CPU() - - #if V8_OS_LINUX - -+#if V8_OS_LINUX - CPUInfo cpu_info; - - // Extract implementor from the "CPU implementer" field. -@@ -608,6 +609,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/chromium/files/patch-v8_src_base_platform_platform-freebsd.cc b/www/chromium/files/patch-v8_src_base_platform_platform-freebsd.cc index 774cad1f74ab..5f462761158a 100644 --- a/www/chromium/files/patch-v8_src_base_platform_platform-freebsd.cc +++ b/www/chromium/files/patch-v8_src_base_platform_platform-freebsd.cc @@ -1,13 +1,32 @@ ---- v8/src/base/platform/platform-freebsd.cc.orig 2021-04-14 18:43:14 UTC +--- v8/src/base/platform/platform-freebsd.cc.orig 2022-02-07 13:39:41 UTC +++ v8/src/base/platform/platform-freebsd.cc -@@ -82,8 +82,8 @@ std::vector OS::GetSharedLib +@@ -43,14 +43,10 @@ TimezoneCache* OS::CreateTimezoneCache() { + return new PosixDefaultTimezoneCache(); + } + +-static unsigned StringToLong(char* buffer) { +- return static_cast(strtol(buffer, nullptr, 16)); +-} +- + std::vector OS::GetSharedLibraryAddresses() { + std::vector result; + int mib[4] = {CTL_KERN, KERN_PROC, KERN_PROC_VMMAP, getpid()}; +- size_t miblen = sizeof(mib) / sizeof(mib[0]); ++ unsigned int miblen = sizeof(mib) / sizeof(mib[0]); + size_t buffer_size; + if (sysctl(mib, miblen, nullptr, &buffer_size, nullptr, 0) == 0) { + // Overallocate the buffer by 1/3 to account for concurrent +@@ -82,8 +78,13 @@ std::vector OS::GetSharedLib lib_name = std::string(path); } result.push_back(SharedLibraryAddress( -- lib_name, reinterpret_cast(map->kve_start), -- reinterpret_cast(map->kve_end))); ++#if defined(__i386__) || defined(OS_FREEBSD) + lib_name, static_cast(map->kve_start), + static_cast(map->kve_end))); ++#else + lib_name, reinterpret_cast(map->kve_start), + reinterpret_cast(map->kve_end))); ++#endif } start += ssize; diff --git a/www/chromium/files/patch-v8_src_base_platform_platform-openbsd.cc b/www/chromium/files/patch-v8_src_base_platform_platform-openbsd.cc new file mode 100644 index 000000000000..5cdd12fb9b50 --- /dev/null +++ b/www/chromium/files/patch-v8_src_base_platform_platform-openbsd.cc @@ -0,0 +1,28 @@ +--- v8/src/base/platform/platform-openbsd.cc.orig 2022-02-07 13:39:41 UTC ++++ v8/src/base/platform/platform-openbsd.cc +@@ -6,6 +6,7 @@ + // POSIX-compatible parts, the implementation is in platform-posix.cc. + + #include ++#include + #include + #include + #include +@@ -121,6 +122,17 @@ void OS::SignalCodeMovingGC() { + } + + void OS::AdjustSchedulingParams() {} ++ ++// static ++Stack::StackSlot Stack::GetStackStart() { ++ stack_t ss; ++ void *base; ++ if (pthread_stackseg_np(pthread_self(), &ss) != 0) ++ return nullptr; ++ ++ base = (void*)((size_t) ss.ss_sp - ss.ss_size); ++ return reinterpret_cast(base) + ss.ss_size; ++} + + std::vector OS::GetFreeMemoryRangesWithin( + OS::Address boundary_start, OS::Address boundary_end, size_t minimum_size, diff --git a/www/chromium/files/patch-v8_src_base_platform_platform-posix.cc b/www/chromium/files/patch-v8_src_base_platform_platform-posix.cc index 86112ef30394..fec14de82660 100644 --- a/www/chromium/files/patch-v8_src_base_platform_platform-posix.cc +++ b/www/chromium/files/patch-v8_src_base_platform_platform-posix.cc @@ -1,24 +1,53 @@ ---- v8/src/base/platform/platform-posix.cc.orig 2021-12-14 11:47:21 UTC +--- v8/src/base/platform/platform-posix.cc.orig 2022-02-07 13:39:41 UTC +++ v8/src/base/platform/platform-posix.cc -@@ -511,7 +511,7 @@ bool OS::DecommitPages(void* address, size_t size) { +@@ -65,7 +65,7 @@ + #include + #endif + +-#if V8_OS_FREEBSD || V8_OS_MACOSX || V8_OS_OPENBSD || V8_OS_SOLARIS ++#if V8_OS_FREEBSD || V8_OS_MACOSX || V8_OS_BSD || V8_OS_SOLARIS + #define MAP_ANONYMOUS MAP_ANON + #endif + +@@ -285,8 +285,15 @@ void OS::SetRandomMmapSeed(int64_t seed) { + } + } + ++#if V8_OS_OPENBSD ++// Allow OpenBSD's mmap to select a random address on OpenBSD + // static + void* OS::GetRandomMmapAddr() { ++ return nullptr; ++} ++#else ++// static ++void* OS::GetRandomMmapAddr() { + uintptr_t raw_addr; + { + MutexGuard guard(rng_mutex.Pointer()); +@@ -377,6 +384,7 @@ void* OS::GetRandomMmapAddr() { + #endif + return reinterpret_cast(raw_addr); + } ++#endif + + // TODO(bbudge) Move Cygwin and Fuchsia stuff into platform-specific files. + #if !V8_OS_CYGWIN && !V8_OS_FUCHSIA +@@ -547,7 +555,7 @@ bool OS::FreeAddressSpaceReservation(AddressSpaceReser // 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 ++#if V8_OS_AIX || V8_OS_LINUX || V8_OS_MACOSX || V8_OS_BSD return true; #else // TODO(bbudge) Return true for all POSIX platforms. -@@ -650,6 +650,12 @@ int OS::GetCurrentThreadId() { - return static_cast(syscall(__NR_gettid)); - #elif V8_OS_ANDROID - return static_cast(gettid()); -+#elif V8_OS_DRAGONFLYBSD || defined(__DragonFly__) -+ return static_cast(lwp_gettid()); -+#elif V8_OS_FREEBSD -+ return static_cast(pthread_getthreadid_np()); -+#elif V8_OS_NETBSD -+ return static_cast(_lwp_self()); - #elif V8_OS_AIX - return static_cast(thread_self()); - #elif V8_OS_FUCHSIA +@@ -1140,7 +1148,7 @@ void Thread::SetThreadLocal(LocalStorageKey key, void* + // keep this version in POSIX as most Linux-compatible derivatives will + // support it. MacOS and FreeBSD are different here. + #if !defined(V8_OS_FREEBSD) && !defined(V8_OS_MACOSX) && !defined(_AIX) && \ +- !defined(V8_OS_SOLARIS) ++ !defined(V8_OS_SOLARIS) && !defined(V8_OS_OPENBSD) + + // static + Stack::StackSlot Stack::GetStackStart() { diff --git a/www/chromium/files/patch-v8_src_base_sys-info.cc b/www/chromium/files/patch-v8_src_base_sys-info.cc new file mode 100644 index 000000000000..d3c532c9289f --- /dev/null +++ b/www/chromium/files/patch-v8_src_base_sys-info.cc @@ -0,0 +1,11 @@ +--- v8/src/base/sys-info.cc.orig 2022-02-07 13:39:41 UTC ++++ v8/src/base/sys-info.cc +@@ -38,7 +38,7 @@ namespace base { + // static + int SysInfo::NumberOfProcessors() { + #if V8_OS_OPENBSD +- int mib[2] = {CTL_HW, HW_NCPU}; ++ int mib[2] = {CTL_HW, HW_NCPUONLINE}; + int ncpu = 0; + size_t len = sizeof(ncpu); + if (sysctl(mib, arraysize(mib), &ncpu, &len, nullptr, 0) != 0) { diff --git a/www/chromium/files/patch-v8_src_compiler_backend_ia32_instruction-selector-ia32.cc b/www/chromium/files/patch-v8_src_compiler_backend_ia32_instruction-selector-ia32.cc new file mode 100644 index 000000000000..39e1c7d0ec79 --- /dev/null +++ b/www/chromium/files/patch-v8_src_compiler_backend_ia32_instruction-selector-ia32.cc @@ -0,0 +1,20 @@ +--- v8/src/compiler/backend/ia32/instruction-selector-ia32.cc.orig 2022-02-07 13:39:41 UTC ++++ v8/src/compiler/backend/ia32/instruction-selector-ia32.cc +@@ -3019,6 +3019,7 @@ void InstructionSelector::VisitI8x16Shuffle(Node* node + Emit(opcode, 1, &dst, input_count, inputs, temp_count, temps); + } + ++#if V8_ENABLE_WEBASSEMBLY + void InstructionSelector::VisitI8x16Swizzle(Node* node) { + InstructionCode op = kIA32I8x16Swizzle; + +@@ -3072,6 +3073,9 @@ void VisitMinOrMax(InstructionSelector* selector, Node + void InstructionSelector::VisitF32x4Pmin(Node* node) { + VisitMinOrMax(this, node, kIA32Minps, true); + } ++#else ++void InstructionSelector::VisitI8x16Swizzle(Node* node) { UNREACHABLE(); } ++#endif // V8_ENABLE_WEBASSEMBLY + + void InstructionSelector::VisitF32x4Pmax(Node* node) { + VisitMinOrMax(this, node, kIA32Maxps, true); diff --git a/www/chromium/files/patch-v8_src_d8_d8.cc b/www/chromium/files/patch-v8_src_d8_d8.cc deleted file mode 100644 index a6fce03fa3fd..000000000000 --- a/www/chromium/files/patch-v8_src_d8_d8.cc +++ /dev/null @@ -1,11 +0,0 @@ ---- v8/src/d8/d8.cc.orig 2021-12-14 11:47:21 UTC -+++ v8/src/d8/d8.cc -@@ -78,7 +78,7 @@ - #include "unicode/locid.h" - #endif // V8_INTL_SUPPORT - --#ifdef V8_OS_LINUX -+#if defined(V8_OS_LINUX) || defined(V8_OS_FREEBSD) - #include // For MultiMappedAllocator. - #endif - diff --git a/www/chromium/files/patch-v8_src_diagnostics_perf-jit.cc b/www/chromium/files/patch-v8_src_diagnostics_perf-jit.cc index afa1e84e4333..22b7555f190e 100644 --- a/www/chromium/files/patch-v8_src_diagnostics_perf-jit.cc +++ b/www/chromium/files/patch-v8_src_diagnostics_perf-jit.cc @@ -1,11 +1,11 @@ ---- v8/src/diagnostics/perf-jit.cc.orig 2021-06-11 10:18:03 UTC +--- v8/src/diagnostics/perf-jit.cc.orig 2022-02-07 13:39:41 UTC +++ v8/src/diagnostics/perf-jit.cc @@ -30,7 +30,7 @@ #include "src/common/assert-scope.h" // Only compile the {PerfJitLogger} on Linux. -#if V8_OS_LINUX -+#if defined(V8_OS_LINUX) || defined(V8_OS_FREEBSD) ++#if defined(V8_OS_LINUX) || defined(V8_OS_BSD) #include #include diff --git a/www/chromium/files/patch-v8_src_diagnostics_perf-jit.h b/www/chromium/files/patch-v8_src_diagnostics_perf-jit.h index 607d499085d0..998045c944ed 100644 --- a/www/chromium/files/patch-v8_src_diagnostics_perf-jit.h +++ b/www/chromium/files/patch-v8_src_diagnostics_perf-jit.h @@ -1,11 +1,11 @@ ---- v8/src/diagnostics/perf-jit.h.orig 2021-06-11 10:18:30 UTC +--- v8/src/diagnostics/perf-jit.h.orig 2022-02-07 13:39:41 UTC +++ v8/src/diagnostics/perf-jit.h @@ -31,7 +31,7 @@ #include "include/v8config.h" // {PerfJitLogger} is only implemented on Linux. -#if V8_OS_LINUX -+#if defined(V8_OS_LINUX) || defined(V8_OS_FREEBSD) ++#if defined(V8_OS_LINUX) || defined(V8_OS_BSD) #include "src/logging/log.h" diff --git a/www/chromium/files/patch-v8_src_trap-handler_handler-inside-posix.cc b/www/chromium/files/patch-v8_src_trap-handler_handler-inside-posix.cc new file mode 100644 index 000000000000..b9a2f91e9856 --- /dev/null +++ b/www/chromium/files/patch-v8_src_trap-handler_handler-inside-posix.cc @@ -0,0 +1,26 @@ +--- v8/src/trap-handler/handler-inside-posix.cc.orig 2022-02-07 13:39:41 UTC ++++ v8/src/trap-handler/handler-inside-posix.cc +@@ -53,6 +53,8 @@ namespace trap_handler { + #define CONTEXT_REG(reg, REG) &uc->uc_mcontext->__ss.__##reg + #elif V8_OS_FREEBSD + #define CONTEXT_REG(reg, REG) &uc->uc_mcontext.mc_##reg ++#elif V8_OS_OPENBSD ++#define CONTEXT_REG(reg, REG) &uc->sc_##reg + #else + #error "Unsupported platform." + #endif +@@ -62,8 +64,12 @@ bool IsKernelGeneratedSignal(siginfo_t* info) { + // si_code at its default of 0 for signals that don’t originate in hardware. + // The other conditions are only relevant for Linux. + return info->si_code > 0 && info->si_code != SI_USER && +- info->si_code != SI_QUEUE && info->si_code != SI_TIMER && +- info->si_code != SI_ASYNCIO && info->si_code != SI_MESGQ; ++ info->si_code != SI_QUEUE && info->si_code != SI_TIMER ++#ifdef V8_OS_OPENBSD ++ ; ++#else ++ && info->si_code != SI_ASYNCIO && info->si_code != SI_MESGQ; ++#endif + } + + class UnmaskOobSignalScope { diff --git a/www/chromium/files/patch-v8_src_trap-handler_handler-inside-posix.h b/www/chromium/files/patch-v8_src_trap-handler_handler-inside-posix.h new file mode 100644 index 000000000000..fc737fc64793 --- /dev/null +++ b/www/chromium/files/patch-v8_src_trap-handler_handler-inside-posix.h @@ -0,0 +1,11 @@ +--- v8/src/trap-handler/handler-inside-posix.h.orig 2022-02-07 13:39:41 UTC ++++ v8/src/trap-handler/handler-inside-posix.h +@@ -13,7 +13,7 @@ namespace v8 { + namespace internal { + namespace trap_handler { + +-#if V8_OS_LINUX || V8_OS_FREEBSD ++#if V8_OS_LINUX || V8_OS_FREEBSD || V8_OS_OPENBSD + constexpr int kOobSignal = SIGSEGV; + #elif V8_OS_MACOSX + constexpr int kOobSignal = SIGBUS; diff --git a/www/chromium/files/patch-v8_src_trap-handler_trap-handler.h b/www/chromium/files/patch-v8_src_trap-handler_trap-handler.h new file mode 100644 index 000000000000..4e357cfd419f --- /dev/null +++ b/www/chromium/files/patch-v8_src_trap-handler_trap-handler.h @@ -0,0 +1,11 @@ +--- v8/src/trap-handler/trap-handler.h.orig 2022-02-07 13:39:41 UTC ++++ v8/src/trap-handler/trap-handler.h +@@ -20,7 +20,7 @@ namespace trap_handler { + // X64 on Linux, Windows, MacOS, FreeBSD. + #if V8_HOST_ARCH_X64 && V8_TARGET_ARCH_X64 && \ + ((V8_OS_LINUX && !V8_OS_ANDROID) || V8_OS_WIN || V8_OS_MACOSX || \ +- V8_OS_FREEBSD) ++ V8_OS_FREEBSD || V8_OS_OPENBSD) + #define V8_TRAP_HANDLER_SUPPORTED true + // Arm64 (non-simulator) on Mac. + #elif V8_TARGET_ARCH_ARM64 && V8_HOST_ARCH_ARM64 && V8_OS_MACOSX diff --git a/www/chromium/files/patch-v8_src_wasm_baseline_ia32_liftoff-assembler-ia32.h b/www/chromium/files/patch-v8_src_wasm_baseline_ia32_liftoff-assembler-ia32.h new file mode 100644 index 000000000000..fd178c8c2f4d --- /dev/null +++ b/www/chromium/files/patch-v8_src_wasm_baseline_ia32_liftoff-assembler-ia32.h @@ -0,0 +1,101 @@ +--- v8/src/wasm/baseline/ia32/liftoff-assembler-ia32.h.orig 2022-02-07 13:39:41 UTC ++++ v8/src/wasm/baseline/ia32/liftoff-assembler-ia32.h +@@ -433,7 +433,7 @@ void LiftoffAssembler::StoreTaggedPointer(Register dst + } + + void LiftoffAssembler::Load(LiftoffRegister dst, Register src_addr, +- Register offset_reg, uint32_t offset_imm, ++ Register offset_reg, uintptr_t offset_imm, + LoadType type, LiftoffRegList pinned, + uint32_t* protected_load_pc, bool is_load_mem, + bool i64_offset) { +@@ -510,7 +510,7 @@ void LiftoffAssembler::Load(LiftoffRegister dst, Regis + } + + void LiftoffAssembler::Store(Register dst_addr, Register offset_reg, +- uint32_t offset_imm, LiftoffRegister src, ++ uintptr_t offset_imm, LiftoffRegister src, + StoreType type, LiftoffRegList pinned, + uint32_t* protected_store_pc, bool is_store_mem) { + DCHECK_EQ(type.value_type() == kWasmI64, src.is_gp_pair()); +@@ -578,7 +578,7 @@ void LiftoffAssembler::Store(Register dst_addr, Regist + } + + void LiftoffAssembler::AtomicLoad(LiftoffRegister dst, Register src_addr, +- Register offset_reg, uint32_t offset_imm, ++ Register offset_reg, uintptr_t offset_imm, + LoadType type, LiftoffRegList pinned) { + if (type.value() != LoadType::kI64Load) { + Load(dst, src_addr, offset_reg, offset_imm, type, pinned, nullptr, true); +@@ -597,7 +597,7 @@ void LiftoffAssembler::AtomicLoad(LiftoffRegister dst, + } + + void LiftoffAssembler::AtomicStore(Register dst_addr, Register offset_reg, +- uint32_t offset_imm, LiftoffRegister src, ++ uintptr_t offset_imm, LiftoffRegister src, + StoreType type, LiftoffRegList pinned) { + DCHECK_NE(offset_reg, no_reg); + DCHECK_LE(offset_imm, std::numeric_limits::max()); +@@ -939,7 +939,7 @@ inline void AtomicBinop64(LiftoffAssembler* lasm, Bino + } // namespace liftoff + + void LiftoffAssembler::AtomicAdd(Register dst_addr, Register offset_reg, +- uint32_t offset_imm, LiftoffRegister value, ++ uintptr_t offset_imm, LiftoffRegister value, + LiftoffRegister result, StoreType type) { + if (type.value() == StoreType::kI64Store) { + liftoff::AtomicBinop64(this, liftoff::kAdd, dst_addr, offset_reg, +@@ -952,7 +952,7 @@ void LiftoffAssembler::AtomicAdd(Register dst_addr, Re + } + + void LiftoffAssembler::AtomicSub(Register dst_addr, Register offset_reg, +- uint32_t offset_imm, LiftoffRegister value, ++ uintptr_t offset_imm, LiftoffRegister value, + LiftoffRegister result, StoreType type) { + if (type.value() == StoreType::kI64Store) { + liftoff::AtomicBinop64(this, liftoff::kSub, dst_addr, offset_reg, +@@ -964,7 +964,7 @@ void LiftoffAssembler::AtomicSub(Register dst_addr, Re + } + + void LiftoffAssembler::AtomicAnd(Register dst_addr, Register offset_reg, +- uint32_t offset_imm, LiftoffRegister value, ++ uintptr_t offset_imm, LiftoffRegister value, + LiftoffRegister result, StoreType type) { + if (type.value() == StoreType::kI64Store) { + liftoff::AtomicBinop64(this, liftoff::kAnd, dst_addr, offset_reg, +@@ -977,7 +977,7 @@ void LiftoffAssembler::AtomicAnd(Register dst_addr, Re + } + + void LiftoffAssembler::AtomicOr(Register dst_addr, Register offset_reg, +- uint32_t offset_imm, LiftoffRegister value, ++ uintptr_t offset_imm, LiftoffRegister value, + LiftoffRegister result, StoreType type) { + if (type.value() == StoreType::kI64Store) { + liftoff::AtomicBinop64(this, liftoff::kOr, dst_addr, offset_reg, offset_imm, +@@ -990,7 +990,7 @@ void LiftoffAssembler::AtomicOr(Register dst_addr, Reg + } + + void LiftoffAssembler::AtomicXor(Register dst_addr, Register offset_reg, +- uint32_t offset_imm, LiftoffRegister value, ++ uintptr_t offset_imm, LiftoffRegister value, + LiftoffRegister result, StoreType type) { + if (type.value() == StoreType::kI64Store) { + liftoff::AtomicBinop64(this, liftoff::kXor, dst_addr, offset_reg, +@@ -1003,7 +1003,7 @@ void LiftoffAssembler::AtomicXor(Register dst_addr, Re + } + + void LiftoffAssembler::AtomicExchange(Register dst_addr, Register offset_reg, +- uint32_t offset_imm, ++ uintptr_t offset_imm, + LiftoffRegister value, + LiftoffRegister result, StoreType type) { + if (type.value() == StoreType::kI64Store) { +@@ -1017,7 +1017,7 @@ void LiftoffAssembler::AtomicExchange(Register dst_add + } + + void LiftoffAssembler::AtomicCompareExchange( +- Register dst_addr, Register offset_reg, uint32_t offset_imm, ++ Register dst_addr, Register offset_reg, uintptr_t offset_imm, + LiftoffRegister expected, LiftoffRegister new_value, LiftoffRegister result, + StoreType type) { + // We expect that the offset has already been added to {dst_addr}, and no diff --git a/www/chromium/files/patch-v8_tools_run.py b/www/chromium/files/patch-v8_tools_run.py new file mode 100644 index 000000000000..514638c4b108 --- /dev/null +++ b/www/chromium/files/patch-v8_tools_run.py @@ -0,0 +1,11 @@ +--- v8/tools/run.py.orig 2022-02-07 13:39:41 UTC ++++ v8/tools/run.py +@@ -11,7 +11,7 @@ from __future__ import print_function + import subprocess + import sys + +-result = subprocess.call(sys.argv[1:]) ++sys.exit(subprocess.call(sys.argv[1:], env={"LD_LIBRARY_PATH":"${WRKSRC}/out/Release"})) + if result != 0: + # Windows error codes such as 0xC0000005 and 0xC0000409 are much easier + # to recognize and differentiate in hex. diff --git a/www/chromium/files/patch-weblayer_BUILD.gn b/www/chromium/files/patch-weblayer_BUILD.gn deleted file mode 100644 index fe117badbe5a..000000000000 --- a/www/chromium/files/patch-weblayer_BUILD.gn +++ /dev/null @@ -1,17 +0,0 @@ ---- weblayer/BUILD.gn.orig 2021-12-31 00:58:32 UTC -+++ weblayer/BUILD.gn -@@ -791,6 +791,14 @@ source_set("weblayer_lib_base") { - ] - } - -+ if (is_bsd) { -+ deps -= [ -+ "//components/crash/content/browser", -+ "//components/crash/core/app", -+ "//components/crash/core/common", -+ ] -+ } -+ - if (toolkit_views) { - deps += [ "//ui/views" ] - } diff --git a/www/chromium/files/patch-weblayer_app_content__main__delegate__impl.cc b/www/chromium/files/patch-weblayer_app_content__main__delegate__impl.cc deleted file mode 100644 index a18f49a2df07..000000000000 --- a/www/chromium/files/patch-weblayer_app_content__main__delegate__impl.cc +++ /dev/null @@ -1,13 +0,0 @@ ---- weblayer/app/content_main_delegate_impl.cc.orig 2021-12-31 00:58:32 UTC -+++ weblayer/app/content_main_delegate_impl.cc -@@ -252,8 +252,8 @@ ContentMainDelegateImpl::CreateVariationsIdsProvider() - void ContentMainDelegateImpl::PreSandboxStartup() { - // TODO(crbug.com/1052397): Revisit once build flag switch of lacros-chrome is - // complete. --#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) \ - BUILDFLAG(IS_CHROMEOS_LACROS)) - // Create an instance of the CPU class to parse /proc/cpuinfo and cache - // cpu_brand info. diff --git a/www/chromium/files/patch-weblayer_browser_content__browser__client__impl.cc b/www/chromium/files/patch-weblayer_browser_content__browser__client__impl.cc index 0e25421128bb..f8b0730ae1eb 100644 --- a/www/chromium/files/patch-weblayer_browser_content__browser__client__impl.cc +++ b/www/chromium/files/patch-weblayer_browser_content__browser__client__impl.cc @@ -1,38 +1,29 @@ ---- weblayer/browser/content_browser_client_impl.cc.orig 2021-12-31 00:58:32 UTC +--- weblayer/browser/content_browser_client_impl.cc.orig 2022-02-07 13:39:41 UTC +++ weblayer/browser/content_browser_client_impl.cc -@@ -154,7 +154,7 @@ +@@ -152,7 +152,7 @@ // TODO(crbug.com/1052397): Revisit once build flag switch of lacros-chrome is // complete. -#if defined(OS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS) || defined(OS_ANDROID) +#if defined(OS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS) || defined(OS_ANDROID) || defined(OS_BSD) #include "content/public/common/content_descriptors.h" #endif -@@ -494,7 +494,7 @@ void ContentBrowserClientImpl::OnNetworkServiceCreated +@@ -492,7 +492,7 @@ void ContentBrowserClientImpl::OnNetworkServiceCreated embedder_support::GetUserAgent()); // TODO(crbug.com/1052397): Revisit once build flag switch of lacros-chrome is // complete. -#if defined(OS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS) +#if defined(OS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS) || defined(OS_BSD) network::mojom::CryptConfigPtr config = network::mojom::CryptConfig::New(); content::GetNetworkService()->SetCryptConfig(std::move(config)); #endif -@@ -1005,7 +1005,7 @@ SafeBrowsingService* ContentBrowserClientImpl::GetSafe +@@ -998,7 +998,7 @@ SafeBrowsingService* ContentBrowserClientImpl::GetSafe // TODO(crbug.com/1052397): Revisit once build flag switch of lacros-chrome is // complete. -#if defined(OS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS) || defined(OS_ANDROID) +#if defined(OS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS) || defined(OS_ANDROID) || defined(OS_BSD) void ContentBrowserClientImpl::GetAdditionalMappedFilesForChildProcess( const base::CommandLine& command_line, int child_process_id, -@@ -1039,7 +1039,7 @@ void ContentBrowserClientImpl::GetAdditionalMappedFile - mappings->Share(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) - - void ContentBrowserClientImpl::AppendExtraCommandLineSwitches( - base::CommandLine* command_line, diff --git a/www/chromium/files/patch-weblayer_browser_content__browser__client__impl.h b/www/chromium/files/patch-weblayer_browser_content__browser__client__impl.h new file mode 100644 index 000000000000..963aea521d3b --- /dev/null +++ b/www/chromium/files/patch-weblayer_browser_content__browser__client__impl.h @@ -0,0 +1,11 @@ +--- weblayer/browser/content_browser_client_impl.h.orig 2022-02-07 13:39:41 UTC ++++ weblayer/browser/content_browser_client_impl.h +@@ -178,7 +178,7 @@ class ContentBrowserClientImpl : public content::Conte + override; + // TODO(crbug.com/1052397): Revisit once build flag switch of lacros-chrome is + // complete. +-#if defined(OS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS) || defined(OS_ANDROID) ++#if defined(OS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS) || defined(OS_ANDROID) || defined(OS_BSD) + void GetAdditionalMappedFilesForChildProcess( + const base::CommandLine& command_line, + int child_process_id, diff --git a/www/chromium/files/patch-weblayer_browser_system__network__context__manager.cc b/www/chromium/files/patch-weblayer_browser_system__network__context__manager.cc index e9ebeb7d1fea..b7e010126799 100644 --- a/www/chromium/files/patch-weblayer_browser_system__network__context__manager.cc +++ b/www/chromium/files/patch-weblayer_browser_system__network__context__manager.cc @@ -1,15 +1,11 @@ ---- weblayer/browser/system_network_context_manager.cc.orig 2021-12-14 11:45:40 UTC +--- weblayer/browser/system_network_context_manager.cc.orig 2022-02-07 13:39:41 UTC +++ weblayer/browser/system_network_context_manager.cc -@@ -69,10 +69,10 @@ void SystemNetworkContextManager::ConfigureDefaultNetw +@@ -69,7 +69,7 @@ void SystemNetworkContextManager::ConfigureDefaultNetw network_context_params->user_agent = user_agent; // TODO(crbug.com/1052397): Revisit once build flag switch of lacros-chrome is // complete. -#if defined(OS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS) || defined(OS_WIN) +#if defined(OS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS) || 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 // (defined(OS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS)) || -+#endif // (defined(OS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS)) || deined(OS_BSD) || - // defined(OS_WIN) - } - + #endif // (defined(OS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS)) || diff --git a/www/chromium/files/sandbox_freebsd.cc b/www/chromium/files/sandbox_freebsd.cc deleted file mode 100644 index 483cf1b32ee6..000000000000 --- a/www/chromium/files/sandbox_freebsd.cc +++ /dev/null @@ -1,87 +0,0 @@ -// 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 "sandbox/policy/freebsd/sandbox_freebsd.h" - -#include - -#include "base/logging.h" -#include "base/memory/singleton.h" -#include "sandbox/policy/switches.h" -#include "sandbox/policy/mojom/sandbox.mojom.h" - -namespace sandbox { -namespace policy { - -SandboxFreeBSD::SandboxFreeBSD() - : initialize_sandbox_ran_(false) { -} - -SandboxFreeBSD::~SandboxFreeBSD() { -} - -// static -SandboxFreeBSD* SandboxFreeBSD::GetInstance() { - SandboxFreeBSD* instance = base::Singleton::get(); - CHECK(instance); - return instance; -} - -// static -std::string SandboxFreeBSD::GetSandboxTypeInEnglish(sandbox::mojom::Sandbox sandbox_type) { - switch (sandbox_type) { - case sandbox::mojom::Sandbox::kNoSandbox: - return "Unsandboxed"; - case sandbox::mojom::Sandbox::kRenderer: - return "Renderer"; - case sandbox::mojom::Sandbox::kUtility: - return "Utility"; - case sandbox::mojom::Sandbox::kGpu: - return "GPU"; - case sandbox::mojom::Sandbox::kPpapi: - return "PPAPI"; - case sandbox::mojom::Sandbox::kNetwork: - return "Network"; - case sandbox::mojom::Sandbox::kCdm: - return "CDM"; - case sandbox::mojom::Sandbox::kPrintCompositor: - return "Print Compositor"; -#if BUILDFLAG(ENABLE_PRINTING) - case sandbox::mojom::Sandbox::kPrintBackend: - return "Print Backend"; -#endif - case sandbox::mojom::Sandbox::kAudio: - return "Audio"; - case sandbox::mojom::Sandbox::kSpeechRecognition: - return "Speech Recognition"; - case sandbox::mojom::Sandbox::kService: - return "Service"; - default: - return "Unknown"; - } -} - -bool SandboxFreeBSD::InitializeSandbox(sandbox::mojom::Sandbox sandbox_type) { - DCHECK(!initialize_sandbox_ran_); - initialize_sandbox_ran_ = true; - - base::CommandLine* command_line = base::CommandLine::ForCurrentProcess(); - - if (command_line->HasSwitch(switches::kNoSandbox)) - return true; - - const std::string process_type = command_line->GetSwitchValueASCII(switches::kProcessType); - - VLOG(1) << "SandboxFreeBSD::InitializeSandbox: process_type=" - << process_type << " sandbox_type=" << GetSandboxTypeInEnglish(sandbox_type); - - return true; -} - -bool SandboxFreeBSD::IsSandboxed() { - return false; -} - -} // namespace policy -} // namespace sandbox diff --git a/www/chromium/files/sandbox_freebsd.h b/www/chromium/files/sandbox_freebsd.h deleted file mode 100644 index 5b2bacfa04a8..000000000000 --- a/www/chromium/files/sandbox_freebsd.h +++ /dev/null @@ -1,45 +0,0 @@ -// 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 SANDBOX_POLICY_FREEBSD_SANDBOX_FREEBSD_H_ -#define SANDBOX_POLICY_FREEBSD_SANDBOX_FREEBSD_H_ - -#include "base/macros.h" -#include "base/memory/singleton.h" -#include "sandbox/policy/export.h" -#include "sandbox/policy/sandbox_type.h" - -namespace sandbox { -namespace policy { - -// A singleton class to represent and change our sandboxing state for the -// capsicum sandbox on FreeBSD. -class SANDBOX_POLICY_EXPORT SandboxFreeBSD { -public: - // Get our singleton instance. - static SandboxFreeBSD* GetInstance(); - - // Get a description for a sandbox type. - static std::string GetSandboxTypeInEnglish(sandbox::mojom::Sandbox sandbox_type); - - // Initializing the Capsicum sandbox. - bool InitializeSandbox(sandbox::mojom::Sandbox sandbox_type); - - // Testing whether the sandbox is enabled. - bool IsSandboxed(); - -private: - friend struct base::DefaultSingletonTraits; - - SandboxFreeBSD(); - ~SandboxFreeBSD(); - - bool initialize_sandbox_ran_; // InitializeSandbox() was called. - - DISALLOW_COPY_AND_ASSIGN(SandboxFreeBSD); -}; - -} // namespace policy -} // namespace sandbox - -#endif // SANDBOX_POLICY_FREBSD_SANDBOX_FREEBSD_H_ diff --git a/www/chromium/files/sndio_input.cc b/www/chromium/files/sndio_input.cc deleted file mode 100644 index d0604dcc8792..000000000000 --- a/www/chromium/files/sndio_input.cc +++ /dev/null @@ -1,201 +0,0 @@ -// 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_pump.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(arg); - - self->hw_delay += delta; -} - -void *SndioAudioInputStream::ThreadEntry(void *arg) { - SndioAudioInputStream* self = static_cast(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(); -} - -AudioInputStream::OpenOutcome SndioAudioInputStream::Open() { - struct sio_par par; - int sig; - - if (state != kClosed) - return OpenOutcome::kFailed; - - if (params.format() != AudioParameters::AUDIO_PCM_LINEAR && - params.format() != AudioParameters::AUDIO_PCM_LOW_LATENCY) { - LOG(WARNING) << "Unsupported audio format."; - return OpenOutcome::kFailed; - } - - 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 OpenOutcome::kFailed; - } - - 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 OpenOutcome::kSuccess; -bad_close: - sio_close(hdl); - return OpenOutcome::kFailed; -} - -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(reinterpret_cast(buffer), nframes); - - // invoke callback - callback->OnData(audio_bus.get(), base::TimeTicks::Now() - delay, 1.); - } -} - -} // namespace media diff --git a/www/chromium/files/sndio_input.h b/www/chromium/files/sndio_input.h deleted file mode 100644 index 2d57ebef8d7f..000000000000 --- a/www/chromium/files/sndio_input.h +++ /dev/null @@ -1,91 +0,0 @@ -// 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 -#include -#include - -#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 { - 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. - OpenOutcome 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 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/chromium/files/sndio_output.cc b/www/chromium/files/sndio_output.cc deleted file mode 100644 index c42d6bdc09e9..000000000000 --- a/www/chromium/files/sndio_output.cc +++ /dev/null @@ -1,183 +0,0 @@ -// 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(arg); - - self->hw_delay -= delta; -} - -void SndioAudioOutputStream::OnVolCallback(void *arg, unsigned int vol) { - SndioAudioOutputStream* self = static_cast(arg); - - self->vol = vol; -} - -void *SndioAudioOutputStream::ThreadEntry(void *arg) { - SndioAudioOutputStream* self = static_cast(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, reinterpret_cast(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/chromium/files/sndio_output.h b/www/chromium/files/sndio_output.h deleted file mode 100644 index ead220ca96e7..000000000000 --- a/www/chromium/files/sndio_output.h +++ /dev/null @@ -1,86 +0,0 @@ -// 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 -#include - -#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 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_