diff --git a/www/chromium/Makefile b/www/chromium/Makefile index cf322744e6fc..7ea8aca712e6 100644 --- a/www/chromium/Makefile +++ b/www/chromium/Makefile @@ -1,354 +1,350 @@ # Created by: Florent Thoumie PORTNAME= chromium -PORTVERSION= 91.0.4472.164 -CATEGORIES= www java +PORTVERSION= 92.0.4515.159 +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 BROKEN_FreeBSD_11_aarch64= components/safe_browsing_db/v4_rice.cc:120:18: use of overloaded operator '&' is ambiguous +BROKEN_i386= ../../base/files/file_util_posix.cc:1258:29: error: no matching function for call to 'sendfile' (ssize_t vs off_t) ONLY_FOR_ARCHS= aarch64 amd64 i386 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}/include/va/va.h:multimedia/libva \ + ${LOCALBASE}/bin/python2.7:lang/python27 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:2.7,build shebangfix tar:xz xorg + ninja perl5 pkgconfig python:build shebangfix tar:xz xorg CPE_VENDOR= google CPE_PRODUCT= chrome DOS2UNIX_FILES= third_party/skia/third_party/vulkanmemoryallocator/include/vk_mem_alloc.h \ third_party/vulkan_memory_allocator/src/vk_mem_alloc.h USE_GL= gbm gl USE_GNOME= atk dconf glib20 gtk30 libxml2 libxslt INSTALLS_ICONS= yes 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=${PYTHON_CMD} +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 \ fieldtrial_testing_like_official_build=true \ 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=true \ use_system_harfbuzz=true \ use_system_libjpeg=true \ extra_cxxflags="${CXXFLAGS}" \ extra_ldflags="${LDFLAGS}" # TODO: investigate building with these options: # use_system_minigbm GN_BOOTSTRAP_FLAGS= --no-clean --no-rebuild --skip-generate-buildfiles # 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_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" 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 .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 \ ffmpeg flac fontconfig freetype harfbuzz-ng libdrm libpng libwebp libxml libxslt openh264 opus snappy || ${FALSE} - # We need the site package from xcbgen, which installs as python3.x (really: default version), while the chromium - # build still needs to use python2.7. It works, because xcbgen can run with both versions, but we want to avoid - # having the pre-compiled pyc files from 2.7 in the 3.x site packages - # Remove this as soon as chromium uses python3.x as well - @${MKDIR} ${WRKDIR}/site-packages/xcbgen - ${CP} ${PYTHONBASE}/lib/python${PYTHON_DEFAULT}/site-packages/xcbgen/*.py \ - ${WRKDIR}/site-packages/xcbgen - do-configure: # GN generator bootstrapping and generating ninja files cd ${WRKSRC} && ${SETENV} ${CONFIGURE_ENV} CC=${CC} CXX=${CXX} LD=${CXX} \ READELF=${READELF} AR=${AR} NM=${NM} ${PYTHON_CMD} \ ./tools/gn/bootstrap/bootstrap.py ${GN_BOOTSTRAP_FLAGS} cd ${WRKSRC} && ${SETENV} ${CONFIGURE_ENV} ./out/${BUILDTYPE}/gn \ gen --args='${GN_ARGS}' out/${BUILDTYPE} # Setup nodejs dependency @${MKDIR} ${WRKSRC}/third_party/node/freebsd/node-freebsd-x64/bin ${LN} -sf ${LOCALBASE}/bin/node ${WRKSRC}/third_party/node/freebsd/node-freebsd-x64/bin/node # Setup 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 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 34fb57c861b9..2138bdc60c5c 100644 --- a/www/chromium/distinfo +++ b/www/chromium/distinfo @@ -1,7 +1,7 @@ -TIMESTAMP = 1626468011 -SHA256 (chromium-91.0.4472.164.tar.xz) = 84e56fa2ad96d910cab429c513eeaca7bfa94096fef057bd024be826ce8426bd -SIZE (chromium-91.0.4472.164.tar.xz) = 950253100 -SHA256 (chromium-91.0.4472.164-testdata.tar.xz) = 0f9da538d6f70ea0f360e71e8dbbb940f827dc20bb7dcd5a4566ae196fdbd366 -SIZE (chromium-91.0.4472.164-testdata.tar.xz) = 256786536 +TIMESTAMP = 1629197071 +SHA256 (chromium-92.0.4515.159.tar.xz) = d97d337d0d70e959a75f1f510f5d78d2b57b5bf24573b7ade9fff9f26a7cfd11 +SIZE (chromium-92.0.4515.159.tar.xz) = 958060524 +SHA256 (chromium-92.0.4515.159-testdata.tar.xz) = 5787a7e7a6567dcf04bc3d2c3b5ed01a8d215b6d47ef37bd1844444938f41ffa +SIZE (chromium-92.0.4515.159-testdata.tar.xz) = 256835676 SHA256 (test_fonts-85.tar.xz) = f22b61b3639acb147c98ec2e2305d8b96f0b55c8c74c40e2ea696402fae8cef9 SIZE (test_fonts-85.tar.xz) = 9511984 diff --git a/www/chromium/files/extra-patch-build_config_compiler_pgo_pgo.gni b/www/chromium/files/extra-patch-build_config_compiler_pgo_pgo.gni index 6e19cd7c7da5..ede4422aa141 100644 --- a/www/chromium/files/extra-patch-build_config_compiler_pgo_pgo.gni +++ b/www/chromium/files/extra-patch-build_config_compiler_pgo_pgo.gni @@ -1,11 +1,11 @@ ---- build/config/compiler/pgo/pgo.gni.orig 2021-06-09 22:13:52 UTC +--- build/config/compiler/pgo/pgo.gni.orig 2021-08-17 00:15:54 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-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 index d13e0e3e592a..b9cbe4cc1c83 100644 --- 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 @@ -1,11 +1,11 @@ ---- third_party/pdfium/third_party/base/allocator/partition_allocator/page_allocator_internals_posix.h.orig 2021-06-09 22:16:18 UTC +--- third_party/pdfium/third_party/base/allocator/partition_allocator/page_allocator_internals_posix.h.orig 2021-08-17 00:18:54 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 4a38e2e73dcf..8528f242ee69 100644 --- a/www/chromium/files/patch-BUILD.gn +++ b/www/chromium/files/patch-BUILD.gn @@ -1,96 +1,96 @@ ---- BUILD.gn.orig 2021-05-12 22:05:39 UTC +--- BUILD.gn.orig 2021-07-19 18:45:04 UTC +++ BUILD.gn -@@ -429,7 +429,7 @@ group("gn_all") { +@@ -443,7 +443,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", -@@ -474,8 +474,6 @@ group("gn_all") { +@@ -488,8 +488,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", ] -@@ -530,10 +528,6 @@ group("gn_all") { +@@ -544,10 +542,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", -@@ -592,10 +586,6 @@ group("gn_all") { +@@ -606,10 +600,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) { -@@ -673,7 +663,7 @@ group("gn_all") { +@@ -687,7 +677,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)" ] } -@@ -688,7 +678,7 @@ group("gn_all") { +@@ -702,7 +692,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", -@@ -803,7 +793,6 @@ group("gn_all") { +@@ -819,7 +809,6 @@ group("gn_all") { "//chrome/browser/vr:vr_common_perftests", "//chrome/browser/vr:vr_common_unittests", "//chrome/browser/vr:vr_pixeltests", - "//tools/perf/contrib/vr_benchmarks:vr_perf_tests", ] if (is_android) { deps += [ "//chrome/browser/android/vr:vr_android_unittests" ] -@@ -1102,7 +1091,7 @@ if (!is_ios) { +@@ -1118,7 +1107,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)" ] } -@@ -1111,7 +1100,7 @@ if (!is_ios) { +@@ -1127,7 +1116,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)" ] } -@@ -1355,9 +1344,6 @@ group("chromium_builder_perf") { +@@ -1371,9 +1360,6 @@ group("chromium_builder_perf") { if (is_win) { data_deps += [ "//chrome/installer/mini_installer:mini_installer" ] - } else { - data_deps += - [ "//third_party/breakpad:minidump_stackwalk($host_toolchain)" ] } if (is_win || is_android) { data_deps += [ diff --git a/www/chromium/files/patch-ash_display_mirror__window__controller.cc b/www/chromium/files/patch-ash_display_mirror__window__controller.cc index 86ac55d854fe..8e2ee6085452 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-04-14 18:40:48 UTC +--- ash/display/mirror_window_controller.cc.orig 2021-07-19 18:45:04 UTC +++ ash/display/mirror_window_controller.cc -@@ -286,7 +286,11 @@ void MirrorWindowController::UpdateWindow( +@@ -287,7 +287,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 f18542dec520..071f2b46a17e 100644 --- a/www/chromium/files/patch-base_BUILD.gn +++ b/www/chromium/files/patch-base_BUILD.gn @@ -1,94 +1,94 @@ ---- base/BUILD.gn.orig 2021-05-24 22:05:31 UTC +--- base/BUILD.gn.orig 2021-07-19 18:45:05 UTC +++ base/BUILD.gn -@@ -963,7 +963,7 @@ component("base") { +@@ -972,7 +972,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", -@@ -974,6 +974,11 @@ component("base") { +@@ -983,6 +983,11 @@ component("base") { "profiler/thread_delegate_posix.h", ] } + if (is_bsd) { + sources += [ + "profiler/stack_sampler_posix.cc", + ] + } } if (is_win) { -@@ -1377,7 +1382,7 @@ component("base") { +@@ -1394,7 +1399,7 @@ 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) && host_toolchain != "//build/toolchain/cros:host") { libs += [ "atomic" ] } -@@ -1430,7 +1435,7 @@ component("base") { +@@ -1447,7 +1452,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) { -@@ -2064,6 +2069,34 @@ component("base") { +@@ -2119,6 +2124,34 @@ component("base") { } } + if (is_bsd) { + sources -= [ + "files/file_path_watcher_linux.cc", + "files/file_util_linux.cc", + "process/memory_linux.cc", + "process/process_handle_linux.cc", + "process/process_iterator_linux.cc", + "process/process_metrics_linux.cc", + "system/sys_info_linux.cc" + ] + sources += [ + "files/file_path_watcher_freebsd.cc", + "files/file_path_watcher_kqueue.cc", + "files/file_path_watcher_kqueue.h", + "process/memory_stubs.cc", + "process/process_handle_freebsd.cc", + "process/process_iterator_freebsd.cc", + "process/process_metrics_freebsd.cc", + "system/sys_info_freebsd.cc", + ] + libs = [ + "execinfo", # logging.cc + "kvm", # process_metrics_freebsd + "util" # process_metrics_freebsd + ] + } + + # iOS if (is_ios) { sources -= [ -@@ -3273,7 +3306,7 @@ if (build_base_unittests) { - } - } - -- if (is_linux || is_chromeos) { -+ if ((is_linux || is_chromeos) && !is_bsd) { - sources += [ "debug/proc_maps_linux_unittest.cc" ] +@@ -3339,7 +3372,7 @@ test("base_unittests") { } + } -@@ -3313,7 +3346,7 @@ if (build_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", +- 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", +@@ -3382,7 +3415,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", diff --git a/www/chromium/files/patch-base_allocator_allocator.gni b/www/chromium/files/patch-base_allocator_allocator.gni index 460eda24c41a..a8a21f360289 100644 --- a/www/chromium/files/patch-base_allocator_allocator.gni +++ b/www/chromium/files/patch-base_allocator_allocator.gni @@ -1,11 +1,11 @@ ---- base/allocator/allocator.gni.orig 2021-05-24 22:05:31 UTC +--- base/allocator/allocator.gni.orig 2021-07-19 18:45:05 UTC +++ base/allocator/allocator.gni -@@ -63,7 +63,7 @@ declare_args() { +@@ -60,7 +60,7 @@ declare_args() { # not, and redesign or remove the flag accordingly. We may want to assert a # possible conflict between |use_allocator = "partition"| and # |use_partition_alloc = true| rather than prioritizing use_partition_alloc. - use_partition_alloc = !is_ios # Never use PartitionAlloc on iOS. + use_partition_alloc = !is_ios # Never use PartitionAlloc on iOS. } if (!use_partition_alloc && use_allocator == "partition") { 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 index 3c2f4be3e9cb..8c16e950e5ba 100644 --- 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 @@ -1,31 +1,31 @@ ---- base/allocator/partition_allocator/address_pool_manager.cc.orig 2021-04-14 18:40:48 UTC +--- base/allocator/partition_allocator/address_pool_manager.cc.orig 2021-07-19 18:45:05 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 @@ -50,6 +57,14 @@ void DecommitPages(void* address, size_t size) { void* ptr = mmap(address, size, PROT_NONE, MAP_FIXED | MAP_ANONYMOUS | MAP_PRIVATE, -1, 0); PA_CHECK(ptr == address); +#elif defined(OS_FREEBSD) + int fd = HANDLE_EINTR(open("/dev/zero", O_RDONLY)); + PA_CHECK(fd != -1); + + void *ptr = mmap(address, size, PROT_NONE, + MAP_FIXED | MAP_PRIVATE, fd, 0); + PA_PCHECK(ptr == address); + HANDLE_EINTR(close(fd)); #else + static_assert(DecommittedMemoryIsAlwaysZeroed(), ""); DecommitSystemPages(address, size, PageUpdatePermissions); - #endif 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 index 91f9b30c0ca2..5e523e2c6be3 100644 --- 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 @@ -1,58 +1,56 @@ ---- base/allocator/partition_allocator/page_allocator_internals_posix.h.orig 2021-04-14 18:40:48 UTC +--- base/allocator/partition_allocator/page_allocator_internals_posix.h.orig 2021-07-19 18:45:05 UTC +++ base/allocator/partition_allocator/page_allocator_internals_posix.h -@@ -28,12 +28,16 @@ +@@ -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 - - #include #endif -+#if defined(OS_FREEBSD) ++#if defined(OS_BSD) +#include +#endif + #include "base/allocator/partition_allocator/page_allocator.h" #ifndef MAP_ANONYMOUS -@@ -153,12 +157,19 @@ void* SystemAllocPagesInternal(void* hint, +@@ -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_APPLE) // On macOS 10.14 and higher, executables that are code signed with the -@@ -185,6 +196,8 @@ void* SystemAllocPagesInternal(void* hint, +@@ -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; -@@ -317,6 +330,8 @@ void DiscardSystemPagesInternal(void* address, size_t +@@ -334,6 +347,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 20ff541d2e02..76d20b689187 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,17 +1,17 @@ ---- base/allocator/partition_allocator/partition_alloc_config.h.orig 2021-05-18 13:58:13 UTC +--- base/allocator/partition_allocator/partition_alloc_config.h.orig 2021-07-19 18:45:05 UTC +++ base/allocator/partition_allocator/partition_alloc_config.h -@@ -34,9 +34,13 @@ static_assert(sizeof(void*) != 8, ""); +@@ -46,9 +46,13 @@ static_assert(sizeof(void*) != 8, ""); #define PA_HAS_LINUX_KERNEL #endif +#if defined(OS_FREEBSD) +#define PA_HAS_FREEBSD_KERNEL +#endif + // SpinningMutex uses either futex(2) on Linux, or a fast userspace "try" // operation, which is available on Windows. -#if defined(PA_HAS_LINUX_KERNEL) || defined(OS_WIN) +#if defined(PA_HAS_LINUX_KERNEL) || defined(PA_HAS_FREEBSD_KERNEL) || defined(OS_WIN) #define PA_HAS_SPINNING_MUTEX #endif 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 index 8f6488a80bd6..f9667782d087 100644 --- 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 @@ -1,20 +1,20 @@ ---- base/allocator/partition_allocator/partition_alloc_unittest.cc.orig 2021-05-12 22:05:40 UTC +--- base/allocator/partition_allocator/partition_alloc_unittest.cc.orig 2021-07-19 18:45:05 UTC +++ base/allocator/partition_allocator/partition_alloc_unittest.cc -@@ -1659,7 +1659,7 @@ TEST_F(PartitionAllocTest, LostFreeSlotSpansBug) { +@@ -1651,7 +1651,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 -@@ -1710,7 +1710,7 @@ TEST_F(PartitionAllocDeathTest, DISABLED_RepeatedTryRe +@@ -1702,7 +1702,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__root.cc b/www/chromium/files/patch-base_allocator_partition__allocator_partition__root.cc index 147faa94e4b7..f0e47dbc54d7 100644 --- a/www/chromium/files/patch-base_allocator_partition__allocator_partition__root.cc +++ b/www/chromium/files/patch-base_allocator_partition__allocator_partition__root.cc @@ -1,47 +1,47 @@ ---- base/allocator/partition_allocator/partition_root.cc.orig 2021-05-12 22:05:40 UTC +--- base/allocator/partition_allocator/partition_root.cc.orig 2021-07-19 18:45:05 UTC +++ base/allocator/partition_allocator/partition_root.cc -@@ -22,7 +22,7 @@ +@@ -25,7 +25,7 @@ #include "wow64apiset.h" #endif -#if defined(OS_LINUX) +#if defined(OS_LINUX) || defined(OS_BSD) #include #endif -@@ -36,7 +36,7 @@ namespace { +@@ -39,7 +39,7 @@ namespace { #if BUILDFLAG(USE_PARTITION_ALLOC_AS_MALLOC) -#if defined(OS_LINUX) +#if defined(OS_LINUX) || defined(OS_BSD) // NO_THREAD_SAFETY_ANALYSIS: acquires the lock and doesn't release it, by // design. -@@ -89,7 +89,7 @@ void AfterForkInChild() { +@@ -92,7 +92,7 @@ void AfterForkInChild() { internal::ThreadCacheRegistry::Instance() .ForcePurgeAllThreadAfterForkUnsafe(); } -#endif // defined(OS_LINUX) +#endif // defined(OS_LINUX) || defined(OS_BSD) std::atomic g_global_init_called; void PartitionAllocMallocInitOnce() { -@@ -99,7 +99,7 @@ void PartitionAllocMallocInitOnce() { +@@ -102,7 +102,7 @@ void PartitionAllocMallocInitOnce() { if (!g_global_init_called.compare_exchange_strong(expected, true)) return; -#if defined(OS_LINUX) +#if defined(OS_LINUX) || 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. -@@ -124,7 +124,7 @@ void PartitionAllocMallocInitOnce() { +@@ -127,7 +127,7 @@ void PartitionAllocMallocInitOnce() { int err = pthread_atfork(BeforeForkInParent, AfterForkInParent, AfterForkInChild); PA_CHECK(err == 0); -#endif // defined(OS_LINUX) +#endif // defined(OS_LINUX) || defined(OS_BSD) } #endif // BUILDFLAG(USE_PARTITION_ALLOC_AS_MALLOC) diff --git a/www/chromium/files/patch-base_allocator_partition__allocator_starscan_pcscan.cc b/www/chromium/files/patch-base_allocator_partition__allocator_starscan_pcscan__internal.cc similarity index 60% rename from www/chromium/files/patch-base_allocator_partition__allocator_starscan_pcscan.cc rename to www/chromium/files/patch-base_allocator_partition__allocator_starscan_pcscan__internal.cc index fb0af07cb8d8..4e62c2a629f9 100644 --- a/www/chromium/files/patch-base_allocator_partition__allocator_starscan_pcscan.cc +++ b/www/chromium/files/patch-base_allocator_partition__allocator_starscan_pcscan__internal.cc @@ -1,11 +1,11 @@ ---- base/allocator/partition_allocator/starscan/pcscan.cc.orig 2021-05-25 11:07:18 UTC -+++ base/allocator/partition_allocator/starscan/pcscan.cc -@@ -67,7 +67,7 @@ namespace internal { +--- base/allocator/partition_allocator/starscan/pcscan_internal.cc.orig 2021-07-28 07:02:32 UTC ++++ base/allocator/partition_allocator/starscan/pcscan_internal.cc +@@ -72,7 +72,7 @@ namespace internal { namespace { -#if DCHECK_IS_ON() && defined(OS_LINUX) +#if DCHECK_IS_ON() && (defined(OS_LINUX) || defined(OS_BSD)) // Currently, check reentracy only on Linux. On Android TLS is emulated by the // runtime lib, which can allocate and therefore cause reentrancy. struct ReentrantScannerGuard final { 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 new file mode 100644 index 000000000000..44ee20228aa7 --- /dev/null +++ b/www/chromium/files/patch-base_allocator_partition__allocator_starscan_stack_stack.cc @@ -0,0 +1,39 @@ +--- base/allocator/partition_allocator/starscan/stack/stack.cc.orig 2021-07-28 10:41:10 UTC ++++ base/allocator/partition_allocator/starscan/stack/stack.cc +@@ -17,6 +17,10 @@ + #include + #endif + ++#if defined(OS_FREEBSD) ++#include ++#endif ++ + #if defined(LIBC_GLIBC) + extern "C" void* __libc_stack_end; + #endif +@@ -54,7 +58,15 @@ void* GetStackTop() { + + void* GetStackTop() { + pthread_attr_t attr; ++#if defined(OS_FREEBSD) ++ int error = pthread_attr_init(&attr); ++ if (error) { ++ 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; + #endif // defined(LIBC_GLIBC) ++#if defined(OS_FREEBSD) ++ pthread_attr_destroy(&attr); ++#endif + return nullptr; + } + diff --git a/www/chromium/files/patch-base_cpu.cc b/www/chromium/files/patch-base_cpu.cc index c9a46b5903d3..7f8adecb5ac5 100644 --- a/www/chromium/files/patch-base_cpu.cc +++ b/www/chromium/files/patch-base_cpu.cc @@ -1,35 +1,35 @@ ---- base/cpu.cc.orig 2021-04-14 18:40:48 UTC +--- base/cpu.cc.orig 2021-07-19 18:45:05 UTC +++ base/cpu.cc @@ -16,7 +16,7 @@ #include "base/stl_util.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" -@@ -214,6 +214,14 @@ const ProcCpuInfo& ParseProcCpu() { +@@ -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)) -@@ -352,6 +360,8 @@ void CPU::Initialize(bool require_branding) { +@@ -357,6 +365,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 648d68bdb1c0..f8c188751c1f 100644 --- a/www/chromium/files/patch-base_cpu.h +++ b/www/chromium/files/patch-base_cpu.h @@ -1,20 +1,20 @@ ---- base/cpu.h.orig 2021-04-14 18:40:48 UTC +--- base/cpu.h.orig 2021-07-19 18:45:05 UTC +++ base/cpu.h -@@ -92,7 +92,7 @@ class BASE_EXPORT CPU final { +@@ -96,7 +96,7 @@ class BASE_EXPORT CPU final { IntelMicroArchitecture GetIntelMicroArchitecture() const; 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) enum class CoreType { kUnknown = 0, -@@ -143,7 +143,7 @@ class BASE_EXPORT CPU final { +@@ -147,7 +147,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: diff --git a/www/chromium/files/patch-base_debug_debugger__posix.cc b/www/chromium/files/patch-base_debug_debugger__posix.cc index ea7f110b6fb4..0d6e7bbd22d2 100644 --- a/www/chromium/files/patch-base_debug_debugger__posix.cc +++ b/www/chromium/files/patch-base_debug_debugger__posix.cc @@ -1,56 +1,56 @@ ---- base/debug/debugger_posix.cc.orig 2021-04-14 18:40:48 UTC +--- base/debug/debugger_posix.cc.orig 2021-07-19 18:45:05 UTC +++ base/debug/debugger_posix.cc -@@ -98,7 +98,7 @@ bool BeingDebugged() { +@@ -93,7 +93,7 @@ bool BeingDebugged() { KERN_PROC, KERN_PROC_PID, getpid() -#if defined(OS_OPENBSD) +#if defined(OS_BSD) , sizeof(struct kinfo_proc), 0 #endif -@@ -106,33 +106,35 @@ bool BeingDebugged() { +@@ -101,33 +101,35 @@ bool BeingDebugged() { // Caution: struct kinfo_proc is marked __APPLE_API_UNSTABLE. The source and // binary interfaces may change. - struct kinfo_proc info; - size_t info_size = sizeof(info); + struct kinfo_proc *info; + size_t info_size; -#if defined(OS_OPENBSD) if (sysctl(mib, base::size(mib), NULL, &info_size, NULL, 0) < 0) return -1; + info = (struct kinfo_proc *)malloc(info_size); mib[5] = (info_size / sizeof(struct kinfo_proc)); -#endif - int sysctl_result = sysctl(mib, base::size(mib), &info, &info_size, NULL, 0); + int sysctl_result = sysctl(mib, base::size(mib), info, &info_size, NULL, 0); DCHECK_EQ(sysctl_result, 0); if (sysctl_result != 0) { is_set = true; being_debugged = false; - return being_debugged; + goto out; } // This process is being debugged if the P_TRACED flag is set. is_set = true; #if defined(OS_FREEBSD) - being_debugged = (info.ki_flag & P_TRACED) != 0; + being_debugged = (info->ki_flag & P_TRACED) != 0; #elif defined(OS_BSD) - being_debugged = (info.p_flag & P_TRACED) != 0; + being_debugged = (info->p_flag & P_TRACED) != 0; #else - being_debugged = (info.kp_proc.p_flag & P_TRACED) != 0; + being_debugged = (info->kp_proc.p_flag & P_TRACED) != 0; #endif + +out: + free(info); return being_debugged; } diff --git a/www/chromium/files/patch-base_debug_elf__reader.cc b/www/chromium/files/patch-base_debug_elf__reader.cc index 46585628ac17..50e4509445ed 100644 --- a/www/chromium/files/patch-base_debug_elf__reader.cc +++ b/www/chromium/files/patch-base_debug_elf__reader.cc @@ -1,28 +1,28 @@ ---- base/debug/elf_reader.cc.orig 2021-04-14 18:40:48 UTC +--- base/debug/elf_reader.cc.orig 2021-07-19 18:45:05 UTC +++ base/debug/elf_reader.cc -@@ -38,7 +38,9 @@ using Nhdr = Elf64_Nhdr; +@@ -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 -@@ -75,6 +77,7 @@ size_t ReadElfBuildId(const void* elf_mapped_base, +@@ -76,6 +78,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); -@@ -84,6 +87,7 @@ size_t ReadElfBuildId(const void* elf_mapped_base, +@@ -85,6 +88,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_stack__trace__posix.cc b/www/chromium/files/patch-base_debug_stack__trace__posix.cc index bc18b34a20ab..66045b0c285c 100644 --- a/www/chromium/files/patch-base_debug_stack__trace__posix.cc +++ b/www/chromium/files/patch-base_debug_stack__trace__posix.cc @@ -1,45 +1,45 @@ ---- base/debug/stack_trace_posix.cc.orig 2021-04-14 18:40:48 UTC +--- base/debug/stack_trace_posix.cc.orig 2021-07-19 18:45:05 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 -@@ -659,13 +659,21 @@ class SandboxSymbolizeHelper { +@@ -667,13 +667,21 @@ class SandboxSymbolizeHelper { // 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; } // 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; } -@@ -696,7 +704,11 @@ class SandboxSymbolizeHelper { +@@ -704,7 +712,11 @@ class SandboxSymbolizeHelper { // Skip regions with empty file names. continue; } +#if defined(OS_BSD) + if (region.path[0] == '-') { +#else if (region.path[0] == '[') { +#endif // Skip pseudo-paths, like [stack], [vdso], [heap], etc ... continue; } diff --git a/www/chromium/files/patch-base_debug_stack__trace__unittest.cc b/www/chromium/files/patch-base_debug_stack__trace__unittest.cc index 6eb9d505526c..a679dcb06d73 100644 --- a/www/chromium/files/patch-base_debug_stack__trace__unittest.cc +++ b/www/chromium/files/patch-base_debug_stack__trace__unittest.cc @@ -1,40 +1,40 @@ ---- base/debug/stack_trace_unittest.cc.orig 2021-04-14 18:40:48 UTC +--- base/debug/stack_trace_unittest.cc.orig 2021-07-19 18:45:05 UTC +++ base/debug/stack_trace_unittest.cc -@@ -88,6 +88,7 @@ TEST_F(StackTraceTest, OutputToStream) { +@@ -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()". -@@ -106,9 +107,10 @@ TEST_F(StackTraceTest, OutputToStream) { +@@ -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) { -@@ -122,7 +124,7 @@ 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) { -@@ -361,7 +363,7 @@ TEST_F(StackTraceTest, MAYBE_TraceStackFramePointers) +@@ -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__util.cc b/www/chromium/files/patch-base_files_file__util.cc new file mode 100644 index 000000000000..44ec0709b9b8 --- /dev/null +++ b/www/chromium/files/patch-base_files_file__util.cc @@ -0,0 +1,11 @@ +--- base/files/file_util.cc.orig 2021-07-28 07:18:23 UTC ++++ base/files/file_util.cc +@@ -52,7 +52,7 @@ bool Move(const FilePath& from_path, const FilePath& t + } + + bool CopyFileContents(File& infile, File& outfile) { +-#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_ANDROID) ++#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_ANDROID) || defined(OS_BSD) + bool retry_slow = false; + bool res = + internal::CopyFileContentsWithSendfile(infile, outfile, retry_slow); diff --git a/www/chromium/files/patch-base_files_file__util.h b/www/chromium/files/patch-base_files_file__util.h index 40aae8f579de..2fe14cf11e09 100644 --- a/www/chromium/files/patch-base_files_file__util.h +++ b/www/chromium/files/patch-base_files_file__util.h @@ -1,28 +1,46 @@ ---- base/files/file_util.h.orig 2021-05-12 22:05:40 UTC +--- base/files/file_util.h.orig 2021-07-19 18:45:05 UTC +++ base/files/file_util.h -@@ -283,14 +283,14 @@ BASE_EXPORT bool SetPosixFilePermissions(const FilePat +@@ -284,14 +284,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 -@@ -602,7 +602,7 @@ BASE_EXPORT bool VerifyPathControlledByAdmin(const bas +@@ -614,7 +614,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. +@@ -661,7 +661,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| +@@ -673,7 +673,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 ca0e4d4a8e28..c92ce21bda62 100644 --- a/www/chromium/files/patch-base_files_file__util__posix.cc +++ b/www/chromium/files/patch-base_files_file__util__posix.cc @@ -1,78 +1,132 @@ ---- base/files/file_util_posix.cc.orig 2021-05-12 22:05:40 UTC +--- base/files/file_util_posix.cc.orig 2021-07-19 18:45:05 UTC +++ base/files/file_util_posix.cc -@@ -384,7 +384,7 @@ bool CreatePipe(ScopedFD* read_fd, ScopedFD* write_fd, +@@ -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" +@@ -383,7 +387,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]; -@@ -932,8 +932,12 @@ bool AllocateFileRegion(File* file, int64_t offset, si +@@ -936,8 +940,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) -@@ -1103,7 +1107,7 @@ int GetMaximumPathComponentLength(const FilePath& path +@@ -1111,7 +1119,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( -@@ -1119,7 +1123,7 @@ bool GetShmemTempDir(bool executable, FilePath* path) +@@ -1127,7 +1135,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) -@@ -1157,7 +1161,7 @@ PrefetchResult PreReadFile(const FilePath& file_path, +@@ -1165,7 +1173,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()) -@@ -1193,7 +1197,7 @@ PrefetchResult PreReadFile(const FilePath& file_path, +@@ -1201,7 +1209,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) } -@@ -1263,7 +1267,7 @@ bool CopyFileContentsWithSendfile(File& infile, +@@ -1232,7 +1240,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) { +@@ -1246,12 +1254,26 @@ bool CopyFileContentsWithSendfile(File& infile, + 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; + } ++#endif + + copied += res; + } +@@ -1265,13 +1287,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; -@@ -1284,6 +1288,6 @@ BASE_EXPORT bool IsPathExecutable(const FilePath& path +@@ -1292,6 +1314,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 diff --git a/www/chromium/files/patch-base_files_scoped__file.h b/www/chromium/files/patch-base_files_scoped__file.h new file mode 100644 index 000000000000..0973e46682f4 --- /dev/null +++ b/www/chromium/files/patch-base_files_scoped__file.h @@ -0,0 +1,43 @@ +--- 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 new file mode 100644 index 000000000000..05667175c342 --- /dev/null +++ b/www/chromium/files/patch-base_files_scoped__file__linux.cc @@ -0,0 +1,23 @@ +--- 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_logging__unittest.cc b/www/chromium/files/patch-base_logging__unittest.cc index dfe9a09bd0bb..4facaf43d7b5 100644 --- a/www/chromium/files/patch-base_logging__unittest.cc +++ b/www/chromium/files/patch-base_logging__unittest.cc @@ -1,20 +1,20 @@ ---- base/logging_unittest.cc.orig 2021-04-14 18:40:48 UTC +--- base/logging_unittest.cc.orig 2021-07-19 18:45:05 UTC +++ base/logging_unittest.cc -@@ -32,7 +32,7 @@ +@@ -33,7 +33,7 @@ #include "base/posix/eintr_wrapper.h" #endif // 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) #include #endif -@@ -557,7 +557,7 @@ void CheckCrashTestSighandler(int, siginfo_t* info, vo +@@ -559,7 +559,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_platform__shared__memory__region.h b/www/chromium/files/patch-base_memory_platform__shared__memory__region.h index d5679bdece87..f0959968cdd1 100644 --- a/www/chromium/files/patch-base_memory_platform__shared__memory__region.h +++ b/www/chromium/files/patch-base_memory_platform__shared__memory__region.h @@ -1,29 +1,29 @@ ---- base/memory/platform_shared_memory_region.h.orig 2021-04-14 18:40:48 UTC +--- base/memory/platform_shared_memory_region.h.orig 2021-07-19 18:45:05 UTC +++ base/memory/platform_shared_memory_region.h -@@ -27,7 +27,7 @@ +@@ -25,7 +25,7 @@ #include "base/files/scoped_file.h" #endif -#if defined(OS_LINUX) || defined(OS_CHROMEOS) +#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD) namespace content { class SandboxIPCHandler; } -@@ -120,7 +120,7 @@ class BASE_EXPORT PlatformSharedMemoryRegion { +@@ -118,7 +118,7 @@ class BASE_EXPORT PlatformSharedMemoryRegion { kMaxValue = GET_SHMEM_TEMP_DIR_FAILURE }; -#if defined(OS_LINUX) || defined(OS_CHROMEOS) +#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD) // Structure to limit access to executable region creation. struct ExecutableRegion { private: -@@ -264,7 +264,7 @@ class BASE_EXPORT PlatformSharedMemoryRegion { +@@ -262,7 +262,7 @@ class BASE_EXPORT PlatformSharedMemoryRegion { CheckPlatformHandlePermissionsCorrespondToMode); static 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 = false #endif diff --git a/www/chromium/files/patch-base_process_launch.h b/www/chromium/files/patch-base_process_launch.h index 6c44c2cac20b..a7a7825cf9a4 100644 --- a/www/chromium/files/patch-base_process_launch.h +++ b/www/chromium/files/patch-base_process_launch.h @@ -1,29 +1,29 @@ ---- base/process/launch.h.orig 2021-05-12 22:05:40 UTC +--- base/process/launch.h.orig 2021-07-19 18:45:05 UTC +++ base/process/launch.h -@@ -190,7 +190,7 @@ struct BASE_EXPORT LaunchOptions { +@@ -191,7 +191,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 -@@ -203,7 +203,7 @@ struct BASE_EXPORT LaunchOptions { +@@ -204,7 +204,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 -@@ -415,7 +415,7 @@ BASE_EXPORT void RaiseProcessToHighPriority(); +@@ -416,7 +416,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 f312ca87e251..48f4348273c3 100644 --- a/www/chromium/files/patch-base_process_launch__posix.cc +++ b/www/chromium/files/patch-base_process_launch__posix.cc @@ -1,80 +1,89 @@ ---- base/process/launch_posix.cc.orig 2021-04-14 18:40:48 UTC +--- base/process/launch_posix.cc.orig 2021-07-19 18:45:05 UTC +++ base/process/launch_posix.cc -@@ -59,12 +59,14 @@ +@@ -58,12 +58,14 @@ #if defined(OS_FREEBSD) #include #include +#include #endif #if defined(OS_APPLE) #error "macOS should use launch_mac.cc" #endif +#pragma weak environ extern char** environ; namespace base { -@@ -221,6 +223,28 @@ void CloseSuperfluousFds(const base::InjectiveMultimap +@@ -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) -@@ -444,22 +468,32 @@ Process LaunchProcess(const std::vector& +@@ -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 diff --git a/www/chromium/files/patch-base_process_memory.h b/www/chromium/files/patch-base_process_memory.h index 03eff8b25b5a..ecbfa05d7fa1 100644 --- a/www/chromium/files/patch-base_process_memory.h +++ b/www/chromium/files/patch-base_process_memory.h @@ -1,11 +1,11 @@ ---- base/process/memory.h.orig 2021-04-14 18:40:48 UTC +--- base/process/memory.h.orig 2021-07-19 18:45:05 UTC +++ base/process/memory.h -@@ -31,7 +31,7 @@ BASE_EXPORT void TerminateBecauseOutOfMemory(size_t si +@@ -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__unittest.cc b/www/chromium/files/patch-base_process_memory__unittest.cc index ec0df47ff011..09dba6c1e236 100644 --- a/www/chromium/files/patch-base_process_memory__unittest.cc +++ b/www/chromium/files/patch-base_process_memory__unittest.cc @@ -1,66 +1,66 @@ ---- base/process/memory_unittest.cc.orig 2021-04-14 18:40:48 UTC +--- base/process/memory_unittest.cc.orig 2021-07-19 18:45:05 UTC +++ base/process/memory_unittest.cc -@@ -38,6 +38,8 @@ +@@ -37,6 +37,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_WIN) -@@ -110,9 +112,9 @@ TEST(MemoryTest, AllocatorShimWorking) { + #if defined(OS_ANDROID) + #include "base/android/build_info.h" +@@ -112,9 +114,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 { -@@ -307,7 +309,7 @@ TEST_F(OutOfMemoryDeathTest, SecurityAlignedRealloc) { +@@ -336,7 +338,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({ -@@ -353,7 +355,7 @@ TEST_F(OutOfMemoryDeathTest, ViaSharedLibraries) { +@@ -382,7 +384,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) -@@ -504,7 +506,7 @@ TEST_F(OutOfMemoryTest, TerminateBecauseOutOfMemoryRep +@@ -533,7 +535,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*)) { -@@ -562,7 +564,7 @@ TEST_F(OutOfMemoryHandledTest, NewReleasesReservation) +@@ -591,7 +593,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)) // See the comment in |UncheckedMalloc()|, it behaves as malloc() in these -@@ -624,5 +626,5 @@ TEST_F(OutOfMemoryHandledTest, UncheckedCalloc) { +@@ -653,5 +655,5 @@ TEST_F(OutOfMemoryHandledTest, UncheckedCalloc) { #endif // BUILDFLAG(USE_PARTITION_ALLOC_AS_MALLOC) || defined(OS_ANDROID) -#endif // !defined(OS_OPENBSD) && BUILDFLAG(USE_ALLOCATOR_SHIM) && +#endif // !defined(OS_BSD) && BUILDFLAG(USE_ALLOCATOR_SHIM) && // !defined(MEMORY_TOOL_REPLACES_ALLOCATOR) diff --git a/www/chromium/files/patch-base_process_process__handle.h b/www/chromium/files/patch-base_process_process__handle.h index 962a580a10a9..1708776734a2 100644 --- a/www/chromium/files/patch-base_process_process__handle.h +++ b/www/chromium/files/patch-base_process_process__handle.h @@ -1,11 +1,11 @@ ---- base/process/process_handle.h.orig 2021-04-14 18:40:48 UTC +--- base/process/process_handle.h.orig 2021-07-19 18:45:05 UTC +++ base/process/process_handle.h -@@ -103,7 +103,7 @@ BASE_EXPORT ProcessId GetCurrentProcId(); +@@ -106,7 +106,7 @@ BASE_EXPORT ProcessId GetCurrentProcId(); // processes may be reused. BASE_EXPORT UniqueProcId GetUniqueIdForProcess(); -#if defined(OS_LINUX) || defined(OS_CHROMEOS) +#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD) // When a process is started in a different PID namespace from the browser // process, this function must be called with the process's PID in the browser's // PID namespace in order to initialize its unique ID. Not thread safe. diff --git a/www/chromium/files/patch-base_process_process__handle__freebsd.cc b/www/chromium/files/patch-base_process_process__handle__freebsd.cc index 20a4c07237c3..e938b55bfa05 100644 --- a/www/chromium/files/patch-base_process_process__handle__freebsd.cc +++ b/www/chromium/files/patch-base_process_process__handle__freebsd.cc @@ -1,17 +1,32 @@ ---- base/process/process_handle_freebsd.cc.orig 2021-04-14 18:40:48 UTC +--- base/process/process_handle_freebsd.cc.orig 2021-07-19 18:45:05 UTC +++ base/process/process_handle_freebsd.cc -@@ -16,10 +16,13 @@ namespace base { +@@ -3,7 +3,6 @@ + // found in the LICENSE file. + + #include "base/process/process_handle.h" +-#include "base/stl_util.h" + + #include + #include +@@ -12,14 +11,20 @@ + #include + #include + ++#include "base/files/file_path.h" ++#include "base/stl_util.h" ++ + namespace base { ProcessId GetParentProcessId(ProcessHandle process) { struct kinfo_proc info; - size_t length; + size_t length = sizeof(struct kinfo_proc); int mib[] = { CTL_KERN, KERN_PROC, KERN_PROC_PID, process }; if (sysctl(mib, base::size(mib), &info, &length, NULL, 0) < 0) + return -1; + + if (length < sizeof(struct kinfo_proc)) return -1; return info.ki_ppid; diff --git a/www/chromium/files/patch-base_process_process__metrics.h b/www/chromium/files/patch-base_process_process__metrics.h index 9ca0b2333067..1280ac12748e 100644 --- a/www/chromium/files/patch-base_process_process__metrics.h +++ b/www/chromium/files/patch-base_process_process__metrics.h @@ -1,163 +1,172 @@ ---- base/process/process_metrics.h.orig 2021-05-12 22:05:40 UTC +--- base/process/process_metrics.h.orig 2021-07-19 18:45:05 UTC +++ base/process/process_metrics.h -@@ -47,7 +47,7 @@ namespace base { +@@ -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) + #include + #include +@@ -55,7 +55,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. // -@@ -57,7 +57,7 @@ struct PageFaultCounts { +@@ -65,7 +65,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); -@@ -98,7 +98,7 @@ class BASE_EXPORT ProcessMetrics { +@@ -106,7 +106,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; -@@ -124,7 +124,7 @@ class BASE_EXPORT ProcessMetrics { +@@ -132,7 +132,7 @@ class BASE_EXPORT ProcessMetrics { // will result in a time delta of 2 seconds/per 1 wall-clock second. - TimeDelta GetCumulativeCPUUsage(); + 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) // Emits the cumulative CPU usage for all currently active threads since they // were started into the output parameter (replacing its current contents). -@@ -159,7 +159,7 @@ class BASE_EXPORT ProcessMetrics { +@@ -167,7 +167,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 -@@ -208,14 +208,14 @@ class BASE_EXPORT ProcessMetrics { +@@ -216,14 +216,14 @@ 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(); -@@ -227,7 +227,7 @@ class BASE_EXPORT ProcessMetrics { +@@ -235,7 +235,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) int CalculateIdleWakeupsPerSecond(uint64_t absolute_idle_wakeups); #endif -@@ -238,10 +238,10 @@ class BASE_EXPORT ProcessMetrics { +@@ -246,10 +246,10 @@ class BASE_EXPORT ProcessMetrics { uint64_t absolute_package_idle_wakeups); #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) 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) || // defined(OS_AIX) #if defined(OS_WIN) -@@ -263,7 +263,7 @@ class BASE_EXPORT ProcessMetrics { +@@ -271,7 +271,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) // 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) -#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_AIX) || \ defined(OS_FUCHSIA) // Data about system-wide memory consumption. Values are in KB. Available on @@ -350,7 +350,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) // This provides an estimate of available memory as described here: // https://git.kernel.org/cgit/linux/kernel/git/torvalds/linux.git/commit/?id=34e431b0ae398fc54ea69ff85ec700722c9da773 @@ -365,7 +365,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) int buffers = 0; int cached = 0; @@ -375,7 +375,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) @@ -398,11 +398,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) || // 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) // Parse the data found in /proc//stat and return the sum of the // CPU-related ticks. Returns -1 on parse error. @@ -477,7 +477,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) @@ -589,7 +589,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__freebsd.cc b/www/chromium/files/patch-base_process_process__metrics__freebsd.cc index b3cfd3d4c3c2..c750a9881deb 100644 --- a/www/chromium/files/patch-base_process_process__metrics__freebsd.cc +++ b/www/chromium/files/patch-base_process_process__metrics__freebsd.cc @@ -1,262 +1,264 @@ ---- base/process/process_metrics_freebsd.cc.orig 2021-04-14 18:40:48 UTC +--- base/process/process_metrics_freebsd.cc.orig 2021-07-19 18:45:05 UTC +++ base/process/process_metrics_freebsd.cc @@ -3,8 +3,10 @@ // found in the LICENSE file. #include "base/process/process_metrics.h" +#include "base/notreached.h" #include +#include #include #include #include -@@ -14,11 +16,29 @@ +@@ -13,12 +15,31 @@ + #include "base/memory/ptr_util.h" #include "base/process/process_metrics_iocounters.h" #include "base/stl_util.h" ++#include "base/values.h" +#include /* getpagesize() */ +#include /* O_RDONLY */ +#include +#include + namespace base { +namespace { +int GetPageShift() { + int pagesize = getpagesize(); + int pageshift = 0; + + while (pagesize > 1) { + pageshift++; + pagesize >>= 1; + } + + return pageshift; +} +} + ProcessMetrics::ProcessMetrics(ProcessHandle process) - : process_(process), - last_cpu_(0) {} + : process_(process) {} // static std::unique_ptr ProcessMetrics::CreateProcessMetrics( -@@ -69,4 +89,216 @@ size_t GetSystemCommitCharge() { +@@ -69,4 +90,216 @@ size_t GetSystemCommitCharge() { return mem_total - (mem_free*pagesize) - (mem_inactive*pagesize); } +int GetNumberOfThreads(ProcessHandle process) { + // Taken from FreeBSD top (usr.bin/top/machine.c) + + kvm_t* kd = kvm_open(NULL, "/dev/null", NULL, O_RDONLY, "kvm_open"); + if (kd == NULL) + return 0; + + struct kinfo_proc* pbase; + int nproc; + pbase = kvm_getprocs(kd, KERN_PROC_PID, process, &nproc); + if (pbase == NULL) + return 0; + + if (kvm_close(kd) == -1) + return 0; + + return nproc; +} + +bool GetSystemMemoryInfo(SystemMemoryInfoKB *meminfo) { + unsigned int mem_total, mem_free, swap_total, swap_used; + size_t length; + int pagesizeKB; + + pagesizeKB = getpagesize() / 1024; + + length = sizeof(mem_total); + if (sysctlbyname("vm.stats.vm.v_page_count", &mem_total, + &length, NULL, 0) != 0 || length != sizeof(mem_total)) + return false; + + length = sizeof(mem_free); + if (sysctlbyname("vm.stats.vm.v_free_count", &mem_free, &length, NULL, 0) + != 0 || length != sizeof(mem_free)) + return false; + + length = sizeof(swap_total); + if (sysctlbyname("vm.swap_size", &swap_total, &length, NULL, 0) + != 0 || length != sizeof(swap_total)) + return false; + + length = sizeof(swap_used); + if (sysctlbyname("vm.swap_anon_use", &swap_used, &length, NULL, 0) + != 0 || length != sizeof(swap_used)) + return false; + + meminfo->total = mem_total * pagesizeKB; + meminfo->free = mem_free * pagesizeKB; + meminfo->swap_total = swap_total * pagesizeKB; + meminfo->swap_free = (swap_total - swap_used) * pagesizeKB; + + return true; +} + +int ProcessMetrics::GetOpenFdCount() const { + struct kinfo_file * kif; + int cnt; + + if ((kif = kinfo_getfile(process_, &cnt)) == NULL) + return -1; + + free(kif); + + return cnt; +} + +int ProcessMetrics::GetOpenFdSoftLimit() const { + size_t length; + int total_count = 0; + int mib[] = { CTL_KERN, KERN_MAXFILESPERPROC }; + + length = sizeof(total_count); + + if (sysctl(mib, base::size(mib), &total_count, &length, NULL, 0) < 0) { + total_count = -1; + } + + return total_count; +} + +size_t ProcessMetrics::GetResidentSetSize() const { + kvm_t *kd = kvm_open(nullptr, "/dev/null", nullptr, O_RDONLY, "kvm_open"); + + if (kd == nullptr) + return 0; + + struct kinfo_proc *pp; + int nproc; + + if ((pp = kvm_getprocs(kd, KERN_PROC_PID, process_, &nproc)) == nullptr) { + kvm_close(kd); + return 0; + } + + size_t rss; + + if (nproc > 0) { + rss = pp->ki_rssize << GetPageShift(); + } else { + rss = 0; + } + + kvm_close(kd); + return rss; +} + +uint64_t ProcessMetrics::GetVmSwapBytes() const { + kvm_t *kd = kvm_open(nullptr, "/dev/null", nullptr, O_RDONLY, "kvm_open"); + + if (kd == nullptr) + return 0; + + struct kinfo_proc *pp; + int nproc; + + if ((pp = kvm_getprocs(kd, KERN_PROC_PID, process_, &nproc)) == nullptr) { + kvm_close(kd); + return 0; + } + + size_t swrss; + + if (nproc > 0) { + swrss = pp->ki_swrss > pp->ki_rssize + ? (pp->ki_swrss - pp->ki_rssize) << GetPageShift() + : 0; + } else { + swrss = 0; + } + + kvm_close(kd); + return swrss; +} + +int ProcessMetrics::GetIdleWakeupsPerSecond() { + NOTIMPLEMENTED(); + return 0; +} + +bool GetSystemDiskInfo(SystemDiskInfo* diskinfo) { + NOTIMPLEMENTED(); + return false; +} + +bool GetVmStatInfo(VmStatInfo* vmstat) { + NOTIMPLEMENTED(); + return false; +} + +SystemDiskInfo::SystemDiskInfo() { + reads = 0; + reads_merged = 0; + sectors_read = 0; + read_time = 0; + writes = 0; + writes_merged = 0; + sectors_written = 0; + write_time = 0; + io = 0; + io_time = 0; + weighted_io_time = 0; +} + +SystemDiskInfo::SystemDiskInfo(const SystemDiskInfo& other) = default; + +std::unique_ptr SystemDiskInfo::ToValue() const { + auto res = std::make_unique(); + + // Write out uint64_t variables as doubles. + // Note: this may discard some precision, but for JS there's no other option. + res->SetDouble("reads", static_cast(reads)); + res->SetDouble("reads_merged", static_cast(reads_merged)); + res->SetDouble("sectors_read", static_cast(sectors_read)); + res->SetDouble("read_time", static_cast(read_time)); + res->SetDouble("writes", static_cast(writes)); + res->SetDouble("writes_merged", static_cast(writes_merged)); + res->SetDouble("sectors_written", static_cast(sectors_written)); + res->SetDouble("write_time", static_cast(write_time)); + res->SetDouble("io", static_cast(io)); + res->SetDouble("io_time", static_cast(io_time)); + res->SetDouble("weighted_io_time", static_cast(weighted_io_time)); + + return std::move(res); +} + +std::unique_ptr SystemMemoryInfoKB::ToValue() const { + auto res = std::make_unique(); + res->SetIntKey("total", total); + res->SetIntKey("free", free); + res->SetIntKey("available", available); + res->SetIntKey("buffers", buffers); + res->SetIntKey("cached", cached); + res->SetIntKey("active_anon", active_anon); + res->SetIntKey("inactive_anon", inactive_anon); + res->SetIntKey("active_file", active_file); + res->SetIntKey("inactive_file", inactive_file); + res->SetIntKey("swap_total", swap_total); + res->SetIntKey("swap_free", swap_free); + res->SetIntKey("swap_used", swap_total - swap_free); + res->SetIntKey("dirty", dirty); + res->SetIntKey("reclaimable", reclaimable); + + return res; +} + +std::unique_ptr VmStatInfo::ToValue() const { + auto res = std::make_unique(); + res->SetIntKey("pswpin", pswpin); + res->SetIntKey("pswpout", pswpout); + res->SetIntKey("pgmajfault", pgmajfault); + 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 b476b607f81e..3fe1216db9df 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-04-14 18:40:48 UTC +--- base/process/process_metrics_posix.cc.orig 2021-07-19 18:45:05 UTC +++ base/process/process_metrics_posix.cc @@ -20,6 +20,8 @@ #if defined(OS_APPLE) #include +#elif defined(OS_FREEBSD) +#include #else #include #endif -@@ -126,7 +128,7 @@ size_t ProcessMetrics::GetMallocUsage() { - #else - return minfo.hblkhd + minfo.arena; - #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__unittest.cc b/www/chromium/files/patch-base_process_process__unittest.cc index 684f1fe44457..302b9073639f 100644 --- a/www/chromium/files/patch-base_process_process__unittest.cc +++ b/www/chromium/files/patch-base_process_process__unittest.cc @@ -1,27 +1,27 @@ ---- base/process/process_unittest.cc.orig 2021-04-20 18:58:23 UTC +--- base/process/process_unittest.cc.orig 2021-07-19 18:45:05 UTC +++ base/process/process_unittest.cc -@@ -139,7 +139,7 @@ TEST_F(ProcessTest, CreationTimeOtherProcess) { +@@ -138,7 +138,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) { +@@ -285,6 +285,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) { +@@ -342,6 +343,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_profiler_stack__copier__signal.cc b/www/chromium/files/patch-base_profiler_stack__copier__signal.cc index 909703eed7db..4d309daebe17 100644 --- a/www/chromium/files/patch-base_profiler_stack__copier__signal.cc +++ b/www/chromium/files/patch-base_profiler_stack__copier__signal.cc @@ -1,63 +1,63 @@ ---- base/profiler/stack_copier_signal.cc.orig 2021-05-12 22:05:40 UTC +--- 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 -@@ -36,8 +43,13 @@ class AsyncSafeWaitableEvent { +@@ -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) -@@ -47,8 +59,12 @@ class AsyncSafeWaitableEvent { +@@ -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: -@@ -222,11 +238,18 @@ bool StackCopierSignal::CopyStack(StackBuffer* stack_b +@@ -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_thread__delegate__posix.cc b/www/chromium/files/patch-base_profiler_thread__delegate__posix.cc index ad992a5c09a0..35b42ee88f59 100644 --- a/www/chromium/files/patch-base_profiler_thread__delegate__posix.cc +++ b/www/chromium/files/patch-base_profiler_thread__delegate__posix.cc @@ -1,67 +1,68 @@ ---- base/profiler/thread_delegate_posix.cc.orig 2021-04-14 18:40:48 UTC +--- base/profiler/thread_delegate_posix.cc.orig 2021-07-19 18:45:05 UTC +++ base/profiler/thread_delegate_posix.cc -@@ -12,6 +12,9 @@ - #include "base/profiler/thread_delegate_posix.h" - #include "base/stl_util.h" +@@ -13,6 +13,10 @@ #include "build/build_config.h" -+#if defined(OS_FREEBSD) + #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" -@@ -43,7 +46,12 @@ base::Optional GetAndroidMainThreadStackBas + #include "base/files/scoped_file.h" +@@ -43,7 +47,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; -@@ -130,16 +138,33 @@ std::vector ThreadDelegatePosix::GetRegist +@@ -130,16 +139,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]), -@@ -147,6 +172,7 @@ std::vector ThreadDelegatePosix::GetRegist +@@ -147,6 +173,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_test_BUILD.gn b/www/chromium/files/patch-base_test_BUILD.gn index 46256e1091d1..2719ad877a29 100644 --- a/www/chromium/files/patch-base_test_BUILD.gn +++ b/www/chromium/files/patch-base_test_BUILD.gn @@ -1,15 +1,15 @@ ---- base/test/BUILD.gn.orig 2021-05-12 22:05:40 UTC +--- base/test/BUILD.gn.orig 2021-07-19 18:45:05 UTC +++ base/test/BUILD.gn -@@ -423,7 +423,11 @@ if (is_linux || is_chromeos) { +@@ -425,7 +425,11 @@ if (is_linux || is_chromeos) { copy("fonts_conf") { sources = [ "fonts.conf" ] - outputs = [ "${root_build_dir}/etc/fonts/{{source_file_part}}" ] + if (is_bsd) { + outputs = [ "${root_build_dir}/usr/local/etc/fonts/{{source_file_part}}" ] + } else { + outputs = [ "${root_build_dir}/etc/fonts/{{source_file_part}}" ] + } } if (current_toolchain == host_toolchain) { 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 d5ecd16fb2f8..efdfb4483653 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,28 @@ ---- base/test/launcher/test_launcher.cc.orig 2021-04-14 18:40:48 UTC +--- base/test/launcher/test_launcher.cc.orig 2021-07-19 18:45:05 UTC +++ base/test/launcher/test_launcher.cc -@@ -58,6 +58,7 @@ +@@ -60,6 +60,7 @@ #include "testing/gtest/include/gtest/gtest.h" #if defined(OS_POSIX) +#include #include #include "base/files/file_descriptor_watcher_posix.h" -@@ -599,7 +600,7 @@ ChildProcessResults DoLaunchChildTestProcess( +@@ -601,7 +602,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 -@@ -1515,7 +1516,7 @@ bool TestLauncher::Init(CommandLine* command_line) { +@@ -1523,7 +1524,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__suite.cc b/www/chromium/files/patch-base_test_test__suite.cc index ee31c754a5a0..1f2d086d17c7 100644 --- a/www/chromium/files/patch-base_test_test__suite.cc +++ b/www/chromium/files/patch-base_test_test__suite.cc @@ -1,55 +1,55 @@ ---- base/test/test_suite.cc.orig 2021-05-12 22:05:40 UTC +--- base/test/test_suite.cc.orig 2021-07-19 18:45:05 UTC +++ base/test/test_suite.cc @@ -68,7 +68,7 @@ #include "base/test/test_support_android.h" #endif -#if defined(OS_LINUX) || defined(OS_CHROMEOS) +#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD) #include "base/test/fontconfig_util_linux.h" #endif @@ -214,7 +214,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()); } -@@ -399,14 +399,14 @@ void TestSuite::PreInitialize() { +@@ -351,14 +351,14 @@ void TestSuite::PreInitialize() { testing::GTEST_FLAG(catch_exceptions) = false; #endif EnableTerminationOnHeapCorruption(); -#if (defined(OS_LINUX) || defined(OS_CHROMEOS)) && defined(USE_AURA) +#if (defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD)) && defined(USE_AURA) // When calling native char conversion functions (e.g wrctomb) we need to // have the locale set. In the absence of such a call the "C" locale is the // default. In the gtk code (below) gtk_init() implicitly sets a locale. setlocale(LC_ALL, ""); // We still need number to string conversions to be locale insensitive. setlocale(LC_NUMERIC, "C"); -#endif // (defined(OS_LINUX) || defined(OS_CHROMEOS)) && defined(USE_AURA) +#endif // (defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD)) && defined(USE_AURA) // On Android, AtExitManager is created in // testing/android/native_test_wrapper.cc before main() is called. -@@ -680,7 +680,7 @@ void TestSuite::Initialize() { +@@ -632,7 +632,7 @@ void TestSuite::Initialize() { // TODO(jshin): Should we set the locale via an OS X locale API here? i18n::SetICUDefaultLocale("en_US"); -#if defined(OS_LINUX) || defined(OS_CHROMEOS) +#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD) SetUpFontconfig(); #endif -@@ -693,7 +693,7 @@ void TestSuite::Initialize() { +@@ -645,7 +645,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_threading_platform__thread__internal__posix.h b/www/chromium/files/patch-base_threading_platform__thread__internal__posix.h index aa814ce4c670..6839b0e56713 100644 --- a/www/chromium/files/patch-base_threading_platform__thread__internal__posix.h +++ b/www/chromium/files/patch-base_threading_platform__thread__internal__posix.h @@ -1,18 +1,18 @@ ---- base/threading/platform_thread_internal_posix.h.orig 2021-04-14 18:40:48 UTC +--- base/threading/platform_thread_internal_posix.h.orig 2021-07-19 18:45:05 UTC +++ base/threading/platform_thread_internal_posix.h @@ -47,13 +47,13 @@ bool SetCurrentThreadPriorityForPlatform(ThreadPriorit // of CanIncreaseThreadPriority(). - Optional GetCurrentThreadPriorityForPlatform(); + 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 8a5b4291b007..f257725cea33 100644 --- a/www/chromium/files/patch-base_threading_platform__thread__linux.cc +++ b/www/chromium/files/patch-base_threading_platform__thread__linux.cc @@ -1,30 +1,30 @@ ---- base/threading/platform_thread_linux.cc.orig 2021-04-14 18:40:48 UTC +--- base/threading/platform_thread_linux.cc.orig 2021-07-19 18:45:05 UTC +++ base/threading/platform_thread_linux.cc -@@ -27,7 +27,9 @@ +@@ -29,7 +29,9 @@ #if !defined(OS_NACL) && !defined(OS_AIX) #include +#if !defined(OS_BSD) #include +#endif #include #include #include -@@ -298,7 +300,7 @@ const ThreadPriorityToNiceValuePair kThreadPriorityToN +@@ -300,7 +302,7 @@ const ThreadPriorityToNiceValuePair kThreadPriorityToN - Optional CanIncreaseCurrentThreadPriorityForPlatform( + absl::optional CanIncreaseCurrentThreadPriorityForPlatform( ThreadPriority priority) { -#if !defined(OS_NACL) +#if !defined(OS_NACL) && !defined(OS_BSD) // A non-zero soft-limit on RLIMIT_RTPRIO is required to be allowed to invoke // pthread_setschedparam in SetCurrentThreadPriorityForPlatform(). struct rlimit rlim; -@@ -348,7 +350,7 @@ Optional GetCurrentThreadPriorityForPl +@@ -350,7 +352,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 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 bb8888d61b1e..d469007593db 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,22 @@ ---- base/threading/platform_thread_posix.cc.orig 2021-06-09 22:13:52 UTC +--- base/threading/platform_thread_posix.cc.orig 2021-07-19 18:45:05 UTC +++ base/threading/platform_thread_posix.cc -@@ -32,6 +32,10 @@ +@@ -33,6 +33,10 @@ #include #endif +#if defined(OS_BSD) +#include +#endif + #if defined(OS_FUCHSIA) #include #else -@@ -181,6 +185,8 @@ PlatformThreadId PlatformThread::CurrentId() { +@@ -194,6 +198,8 @@ PlatformThreadId PlatformThread::CurrentId() { // into the kernel. #if defined(OS_APPLE) return pthread_mach_thread_np(pthread_self()); +#elif defined(OS_BSD) + return pthread_getthreadid_np(); #elif defined(OS_LINUX) || defined(OS_CHROMEOS) static NoDestructor init_at_fork; if (g_thread_id == -1) { diff --git a/www/chromium/files/patch-base_time_time.cc b/www/chromium/files/patch-base_time_time.cc new file mode 100644 index 000000000000..071c04757fff --- /dev/null +++ b/www/chromium/files/patch-base_time_time.cc @@ -0,0 +1,17 @@ +--- base/time/time.cc.orig 2021-07-28 07:27:11 UTC ++++ base/time/time.cc +@@ -4,12 +4,12 @@ + + #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_time_time__unittest.cc b/www/chromium/files/patch-base_time_time__unittest.cc index 4014b577f727..02772da581c3 100644 --- a/www/chromium/files/patch-base_time_time__unittest.cc +++ b/www/chromium/files/patch-base_time_time__unittest.cc @@ -1,18 +1,18 @@ ---- base/time/time_unittest.cc.orig 2021-05-12 22:05:40 UTC +--- base/time/time_unittest.cc.orig 2021-07-19 18:45:05 UTC +++ base/time/time_unittest.cc -@@ -2074,6 +2074,7 @@ TEST(TimeDelta, Overflows) { - EXPECT_TRUE((kLargeDelta / 0.5).is_max()); - EXPECT_TRUE((kLargeDelta / -0.5).is_min()); +@@ -2007,6 +2007,7 @@ TEST(TimeDelta, Overflows) { + static_assert((kLargeDelta / 0.5).is_max(), ""); + static_assert((kLargeDelta / -0.5).is_min(), ""); +#if !defined(OS_BSD) static_assert( TimeDelta::Max() / kOneSecond == std::numeric_limits::infinity(), ""); -@@ -2102,6 +2103,7 @@ TEST(TimeDelta, Overflows) { +@@ -2035,6 +2036,7 @@ TEST(TimeDelta, Overflows) { static_assert(TimeDelta::Max() % -kOneSecond == TimeDelta::Max(), ""); static_assert(TimeDelta::Min() % kOneSecond == TimeDelta::Min(), ""); static_assert(TimeDelta::Min() % -kOneSecond == TimeDelta::Min(), ""); +#endif // Division by zero. static_assert((kOneSecond / 0).is_max(), ""); 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 index db289fa7ecc6..0d931d1190e3 100644 --- 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 @@ -1,38 +1,38 @@ ---- base/trace_event/heap_profiler_allocation_context_tracker.cc.orig 2021-04-14 18:40:48 UTC +--- base/trace_event/heap_profiler_allocation_context_tracker.cc.orig 2021-07-19 18:45:05 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 { -@@ -61,13 +65,23 @@ ThreadLocalStorage::Slot& AllocationContextTrackerTLS( +@@ -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) && __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_trace__event_malloc__dump__provider.cc b/www/chromium/files/patch-base_trace__event_malloc__dump__provider.cc index cf882af43d79..f4491ec684a2 100644 --- a/www/chromium/files/patch-base_trace__event_malloc__dump__provider.cc +++ b/www/chromium/files/patch-base_trace__event_malloc__dump__provider.cc @@ -1,21 +1,21 @@ ---- base/trace_event/malloc_dump_provider.cc.orig 2021-05-12 22:05:40 UTC +--- base/trace_event/malloc_dump_provider.cc.orig 2021-07-19 18:45:05 UTC +++ base/trace_event/malloc_dump_provider.cc -@@ -20,6 +20,8 @@ +@@ -21,6 +21,8 @@ #if defined(OS_APPLE) #include +#elif defined(OS_BSD) +#include #else #include #endif -@@ -199,6 +201,9 @@ bool MallocDumpProvider::OnMemoryDump(const MemoryDump - } +@@ -203,6 +205,9 @@ bool MallocDumpProvider::OnMemoryDump(const MemoryDump + &allocated_objects_count); #elif defined(OS_FUCHSIA) // TODO(fuchsia): Port, see https://crbug.com/706592. +#elif defined(OS_BSD) + total_virtual_size = 0; + allocated_objects_size = 0; #else struct mallinfo info = mallinfo(); // In case of Android's jemalloc |arena| is 0 and the outer pages size is diff --git a/www/chromium/files/patch-base_trace__event_process__memory__dump.cc b/www/chromium/files/patch-base_trace__event_process__memory__dump.cc index a33f302f5f91..346392d8ec65 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,11 @@ ---- base/trace_event/process_memory_dump.cc.orig 2021-05-12 22:05:40 UTC +--- base/trace_event/process_memory_dump.cc.orig 2021-07-19 18:45:05 UTC +++ base/trace_event/process_memory_dump.cc -@@ -102,7 +102,7 @@ base::Optional ProcessMemoryDump::CountResiden +@@ -104,7 +104,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]); diff --git a/www/chromium/files/patch-base_tracing_trace__time.cc b/www/chromium/files/patch-base_tracing_trace__time.cc new file mode 100644 index 000000000000..917480bf011b --- /dev/null +++ b/www/chromium/files/patch-base_tracing_trace__time.cc @@ -0,0 +1,14 @@ +--- base/tracing/trace_time.cc.orig 2021-07-21 11:24:56 UTC ++++ base/tracing/trace_time.cc +@@ -16,7 +16,11 @@ int64_t TraceBootTicksNow() { + #if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_ANDROID) || \ + defined(OS_FUCHSIA) + 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 diff --git a/www/chromium/files/patch-services_tracing_public_cpp_perfetto_trace__time.h b/www/chromium/files/patch-base_tracing_trace__time.h similarity index 51% rename from www/chromium/files/patch-services_tracing_public_cpp_perfetto_trace__time.h rename to www/chromium/files/patch-base_tracing_trace__time.h index 7e4adcc80d27..684427507459 100644 --- a/www/chromium/files/patch-services_tracing_public_cpp_perfetto_trace__time.h +++ b/www/chromium/files/patch-base_tracing_trace__time.h @@ -1,11 +1,11 @@ ---- services/tracing/public/cpp/perfetto/trace_time.h.orig 2021-06-11 09:59:43 UTC -+++ services/tracing/public/cpp/perfetto/trace_time.h -@@ -10,7 +10,7 @@ - +--- base/tracing/trace_time.h.orig 2021-07-21 13:25:51 UTC ++++ base/tracing/trace_time.h +@@ -11,7 +11,7 @@ + namespace base { namespace tracing { -#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_ANDROID) || \ -+#if defined(OS_BSD) || 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) // Linux, Android, and Fuchsia all use CLOCK_MONOTONIC. See crbug.com/166153 // about efforts to unify base::TimeTicks across all platforms. diff --git a/www/chromium/files/patch-build_config_compiler_BUILD.gn b/www/chromium/files/patch-build_config_compiler_BUILD.gn index ef52986708aa..9bc74ac51a27 100644 --- a/www/chromium/files/patch-build_config_compiler_BUILD.gn +++ b/www/chromium/files/patch-build_config_compiler_BUILD.gn @@ -1,134 +1,134 @@ ---- build/config/compiler/BUILD.gn.orig 2021-06-09 22:13:52 UTC +--- build/config/compiler/BUILD.gn.orig 2021-07-19 18:45:05 UTC +++ build/config/compiler/BUILD.gn -@@ -133,7 +133,7 @@ declare_args() { +@@ -144,7 +144,7 @@ declare_args() { # # TODO(crbug.com/977230): Enabling this when 'use_xcode_clang' is true may # call an old clang that doesn't support auto-init. - init_stack_vars = !is_android && !use_xcode_clang + init_stack_vars = !is_android && !use_xcode_clang && !is_bsd # This argument is to control whether enabling text section splitting in the # final binary. When enabled, the separated text sections with prefix -@@ -333,7 +333,7 @@ config("compiler") { +@@ -347,7 +347,7 @@ config("compiler") { } # Linker warnings. - if (fatal_linker_warnings && !is_apple && current_os != "aix") { + if (fatal_linker_warnings && !is_apple && !is_bsd && current_os != "aix") { ldflags += [ "-Wl,--fatal-warnings" ] } if (fatal_linker_warnings && is_apple) { -@@ -428,7 +428,7 @@ config("compiler") { +@@ -442,7 +442,7 @@ config("compiler") { # Compiler instrumentation can introduce dependencies in DSOs to symbols in # the executable they are loaded into, so they are unresolved at link-time. - if (!using_sanitizer) { + if (!using_sanitizer && !is_bsd) { ldflags += [ "-Wl,-z,defs", "-Wl,--as-needed", -@@ -518,7 +518,7 @@ config("compiler") { +@@ -532,7 +532,7 @@ config("compiler") { ldflags += [ "-Wl,-z,keep-text-section-prefix" ] } - if (is_clang && !is_nacl && !use_xcode_clang) { + if (is_clang && !is_nacl && !use_xcode_clang && !is_bsd) { cflags += [ "-fcrash-diagnostics-dir=" + clang_diagnostic_dir ] # TODO(hans): Remove this once Clang generates better optimized debug info -@@ -661,7 +661,12 @@ config("compiler") { +@@ -675,7 +675,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" ] + } ldflags += [ "-Wl,--thinlto-cache-dir=" + -@@ -851,7 +856,7 @@ config("compiler_cpu_abi") { +@@ -861,7 +866,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" ] } -@@ -1201,7 +1206,7 @@ config("compiler_deterministic") { +@@ -1211,7 +1216,7 @@ config("compiler_deterministic") { "-Xclang", ".", ] - if (!is_win) { + if (!is_win && !is_bsd) { # We don't use clang -cc1as on Windows (yet? https://crbug.com/762167) asmflags = [ "-Wa,-fdebug-compilation-dir,." ] } -@@ -1584,7 +1589,7 @@ config("default_warnings") { +@@ -1594,7 +1599,7 @@ config("default_warnings") { cflags += [ "-Wno-nonportable-include-path" ] } - if (current_toolchain == host_toolchain || !use_xcode_clang) { + if ((current_toolchain == host_toolchain || !use_xcode_clang) && !is_bsd) { # Flags NaCl (Clang 3.7) and Xcode 9.2 (Clang clang-900.0.39.2) do not # recognize. cflags += [ -@@ -1625,6 +1630,18 @@ config("default_warnings") { +@@ -1635,6 +1640,18 @@ config("default_warnings") { cflags += [ "-Wno-max-tokens" ] } } + + 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", + ] + } } } } -@@ -1754,7 +1771,7 @@ config("no_chromium_code") { +@@ -1769,7 +1786,7 @@ config("no_chromium_code") { # suppressing them individually, we just blanket suppress them here. "-Wno-unused-variable", ] - if (!is_nacl && (current_toolchain == host_toolchain || !use_xcode_clang)) { + if (!is_nacl && (current_toolchain == host_toolchain || !use_xcode_clang) && !is_bsd) { cflags += [ - # TODO(https://crbug.com/1031169): Clean up and enable. + # TODO(https://crbug.com/1202159): Clean up and enable. "-Wno-misleading-indentation", -@@ -1832,7 +1849,7 @@ config("export_dynamic") { +@@ -1847,7 +1864,7 @@ config("export_dynamic") { config("thin_archive") { # The macOS and iOS default linker ld64 does not support reading thin # archives. - if ((is_posix && !is_nacl && (!is_apple || use_lld)) || is_fuchsia) { + if ((is_posix && !is_nacl && (!is_apple || use_lld) && !is_bsd) || is_fuchsia) { arflags = [ "-T" ] } else if (is_win && use_lld) { arflags = [ "/llvmlibthin" ] -@@ -2373,7 +2390,7 @@ config("symbols") { +@@ -2381,7 +2398,7 @@ config("symbols") { # flag, so we can use use -g1 for pnacl and nacl-clang compiles. # gcc nacl is is_nacl && !is_clang, pnacl and nacl-clang are && is_clang. if (!is_nacl || is_clang) { - cflags += [ "-g2" ] + cflags += [ "-g0" ] } # TODO(https://crbug.com/1050118): Investigate missing debug info on mac. -@@ -2406,7 +2423,7 @@ config("symbols") { +@@ -2414,7 +2431,7 @@ config("symbols") { # DWARF info may be corrupt; offsets in a range list entry are in different # sections" there. Maybe just a bug in nacl_switch_32.S. if (!is_apple && !is_nacl && current_cpu != "x86" && - (use_gold || use_lld)) { + (use_gold || use_lld) && !is_bsd) { if (is_clang) { # This flag enables the GNU-format pubnames and pubtypes sections, # which lld needs in order to generate a correct GDB index. diff --git a/www/chromium/files/patch-build_linux_strip__binary.gni b/www/chromium/files/patch-build_linux_strip__binary.gni new file mode 100644 index 000000000000..7a6a20f0bfa8 --- /dev/null +++ b/www/chromium/files/patch-build_linux_strip__binary.gni @@ -0,0 +1,15 @@ +--- 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 new file mode 100644 index 000000000000..cf3ba059ea85 --- /dev/null +++ b/www/chromium/files/patch-build_linux_strip__binary.py @@ -0,0 +1,12 @@ +--- build/linux/strip_binary.py.orig 2021-08-17 16:45:54 UTC ++++ build/linux/strip_binary.py +@@ -19,8 +19,7 @@ def main(): + args = argparser.parse_args() + + 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) diff --git a/www/chromium/files/patch-build_toolchain_get__concurrent__links.py b/www/chromium/files/patch-build_toolchain_get__concurrent__links.py index 991cf22f96c3..5cf16130a4db 100644 --- a/www/chromium/files/patch-build_toolchain_get__concurrent__links.py +++ b/www/chromium/files/patch-build_toolchain_get__concurrent__links.py @@ -1,17 +1,14 @@ ---- build/toolchain/get_concurrent_links.py.orig 2021-04-14 18:40:48 UTC +--- build/toolchain/get_concurrent_links.py.orig 2021-08-17 00:15:54 UTC +++ build/toolchain/get_concurrent_links.py -@@ -53,6 +53,14 @@ def _GetTotalMemoryInBytes(): +@@ -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: -+ avail_bytes = int(subprocess.check_output(['sysctl', '-n', 'hw.physmem'])) -+ # With -fuse-lld it doesn't take a lot of ram, feel free to change that -+ # 1 * ... to needed amount -+ return max(1, avail_bytes / (1 * (2 ** 30))) # total / 4GB ++ 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-cc_BUILD.gn b/www/chromium/files/patch-cc_BUILD.gn index d3301d156f48..67f4df2ae89e 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-05-12 22:05:40 UTC +--- cc/BUILD.gn.orig 2021-07-19 18:45:05 UTC +++ cc/BUILD.gn -@@ -640,7 +640,7 @@ cc_test_static_library("test_support") { +@@ -642,7 +642,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" ] } } -@@ -857,7 +857,6 @@ cc_test("cc_unittests") { +@@ -860,7 +860,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_test_layer__tree__test.cc b/www/chromium/files/patch-cc_test_layer__tree__test.cc index 840d38108045..457e67f323fb 100644 --- a/www/chromium/files/patch-cc_test_layer__tree__test.cc +++ b/www/chromium/files/patch-cc_test_layer__tree__test.cc @@ -1,11 +1,11 @@ ---- cc/test/layer_tree_test.cc.orig 2021-04-14 18:40:48 UTC +--- cc/test/layer_tree_test.cc.orig 2021-07-19 18:45:05 UTC +++ cc/test/layer_tree_test.cc -@@ -674,7 +674,7 @@ LayerTreeTest::LayerTreeTest(viz::RendererType rendere +@@ -673,7 +673,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(sgilhuly): Initialize D3D12 for Windows. + // 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 index f1ce98713c03..bfcb67dd94d9 100644 --- a/www/chromium/files/patch-cc_test_pixel__test.cc +++ b/www/chromium/files/patch-cc_test_pixel__test.cc @@ -1,11 +1,11 @@ ---- cc/test/pixel_test.cc.orig 2021-04-14 18:40:48 UTC +--- 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(sgilhuly): Initialize D3D12 for Windows. + // TODO(rivr): Initialize D3D12 for Windows. diff --git a/www/chromium/files/patch-chrome_BUILD.gn b/www/chromium/files/patch-chrome_BUILD.gn index 91e75d0d389f..22afdb41b250 100644 --- a/www/chromium/files/patch-chrome_BUILD.gn +++ b/www/chromium/files/patch-chrome_BUILD.gn @@ -1,13 +1,13 @@ ---- chrome/BUILD.gn.orig 2021-05-12 22:05:41 UTC +--- chrome/BUILD.gn.orig 2021-07-19 18:45:05 UTC +++ chrome/BUILD.gn -@@ -1335,6 +1335,10 @@ group("browser_dependencies") { +@@ -1368,6 +1368,10 @@ group("browser_dependencies") { public_deps += [ "//chromeos/lacros" ] } + if (is_bsd) { + public_deps -= [ "//components/crash/core/app" ] + } + if (is_chromeos_ash) { public_deps += [ "//ash/constants", diff --git a/www/chromium/files/patch-chrome_app_BUILD.gn b/www/chromium/files/patch-chrome_app_BUILD.gn index 2c74fdad393e..3b4817c30b95 100644 --- a/www/chromium/files/patch-chrome_app_BUILD.gn +++ b/www/chromium/files/patch-chrome_app_BUILD.gn @@ -1,11 +1,11 @@ ---- chrome/app/BUILD.gn.orig 2021-05-12 22:05:41 UTC +--- chrome/app/BUILD.gn.orig 2021-07-19 18:45:06 UTC +++ chrome/app/BUILD.gn -@@ -141,7 +141,7 @@ static_library("test_support") { +@@ -144,7 +144,7 @@ static_library("test_support") { "//v8:v8_headers", ] - if (!is_fuchsia) { + if (!is_fuchsia && !is_bsd) { # TODO(crbug.com/753619): Enable crash reporting on Fuchsia. deps += [ "//components/crash/core/app", diff --git a/www/chromium/files/patch-chrome_app_chrome__command__ids.h b/www/chromium/files/patch-chrome_app_chrome__command__ids.h index 9fec5c2c859d..87bae79ebd41 100644 --- a/www/chromium/files/patch-chrome_app_chrome__command__ids.h +++ b/www/chromium/files/patch-chrome_app_chrome__command__ids.h @@ -1,11 +1,11 @@ ---- chrome/app/chrome_command_ids.h.orig 2021-04-14 18:40:49 UTC +--- chrome/app/chrome_command_ids.h.orig 2021-07-19 18:45:06 UTC +++ chrome/app/chrome_command_ids.h -@@ -65,7 +65,7 @@ +@@ -66,7 +66,7 @@ #define IDC_NAME_WINDOW 34049 // 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) #define IDC_USE_SYSTEM_TITLE_BAR 34051 #define IDC_RESTORE_WINDOW 34052 #endif diff --git a/www/chromium/files/patch-chrome_app_chrome__main.cc b/www/chromium/files/patch-chrome_app_chrome__main.cc index 1febcb3b46a0..4889852b2be1 100644 --- a/www/chromium/files/patch-chrome_app_chrome__main.cc +++ b/www/chromium/files/patch-chrome_app_chrome__main.cc @@ -1,17 +1,26 @@ ---- chrome/app/chrome_main.cc.orig 2021-04-14 18:40:49 UTC +--- chrome/app/chrome_main.cc.orig 2021-07-19 18:45:06 UTC +++ chrome/app/chrome_main.cc -@@ -130,12 +130,12 @@ int ChromeMain(int argc, const char** argv) { +@@ -22,7 +22,7 @@ + #include "chrome/app/chrome_main_mac.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 + +@@ -133,12 +133,12 @@ int ChromeMain(int argc, const char** argv) { MainThreadStackSamplingProfiler scoped_sampling_profiler; // Chrome-specific process modes. -#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) - int rv = content::ContentMain(params); + #if defined(OS_LINUX) 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 4ada1cf4bc66..fb37b2702fef 100644 --- a/www/chromium/files/patch-chrome_app_chrome__main__delegate.cc +++ b/www/chromium/files/patch-chrome_app_chrome__main__delegate.cc @@ -1,170 +1,170 @@ ---- chrome/app/chrome_main_delegate.cc.orig 2021-05-12 22:05:41 UTC +--- chrome/app/chrome_main_delegate.cc.orig 2021-07-19 18:45:06 UTC +++ chrome/app/chrome_main_delegate.cc @@ -150,12 +150,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" #include "components/crash/core/app/crashpad.h" #endif @@ -259,7 +259,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; @@ -294,7 +294,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 // and resources loaded. @@ -340,7 +340,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) || @@ -350,7 +350,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) { @@ -404,7 +404,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. @@ -416,7 +416,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 @@ -487,7 +487,7 @@ void RecordMainStartupMetrics(base::TimeTicks applicat startup_metric_utils::RecordApplicationStartTime(now); #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) // Record the startup process creation time on supported platforms. On Android // this is recorded in ChromeMainDelegateAndroid. -@@ -735,7 +735,7 @@ bool ChromeMainDelegate::BasicStartupComplete(int* exi +@@ -739,7 +739,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); } -@@ -748,7 +748,7 @@ bool ChromeMainDelegate::BasicStartupComplete(int* exi +@@ -752,7 +752,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 -@@ -957,7 +957,7 @@ void ChromeMainDelegate::PreSandboxStartup() { +@@ -961,7 +961,7 @@ void ChromeMainDelegate::PreSandboxStartup() { crash_reporter::InitializeCrashKeys(); -#if defined(OS_POSIX) +#if defined(OS_POSIX) && !defined(OS_BSD) ChromeCrashReporterClient::Create(); #endif -@@ -970,7 +970,7 @@ void ChromeMainDelegate::PreSandboxStartup() { +@@ -974,7 +974,7 @@ void ChromeMainDelegate::PreSandboxStartup() { child_process_logging::Init(); #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; -@@ -1088,7 +1088,7 @@ void ChromeMainDelegate::PreSandboxStartup() { +@@ -1092,7 +1092,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) -@@ -1109,7 +1109,7 @@ void ChromeMainDelegate::PreSandboxStartup() { +@@ -1113,7 +1113,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(), -@@ -1129,7 +1129,7 @@ void ChromeMainDelegate::PreSandboxStartup() { +@@ -1133,7 +1133,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) -@@ -1171,7 +1171,7 @@ int ChromeMainDelegate::RunProcess( +@@ -1175,7 +1175,7 @@ int ChromeMainDelegate::RunProcess( // This entry is not needed on Linux, where the NaCl loader // process is launched via nacl_helper instead. -#if BUILDFLAG(ENABLE_NACL) && !defined(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 -@@ -1199,7 +1199,7 @@ void ChromeMainDelegate::ProcessExiting(const std::str +@@ -1203,7 +1203,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) -@@ -1236,7 +1236,7 @@ void ChromeMainDelegate::ZygoteForked() { +@@ -1240,7 +1240,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 a9584c2b8f57..31731424cfaa 100644 --- a/www/chromium/files/patch-chrome_app_chromium__strings.grd +++ b/www/chromium/files/patch-chrome_app_chromium__strings.grd @@ -1,20 +1,20 @@ ---- chrome/app/chromium_strings.grd.orig 2021-05-12 22:05:41 UTC +--- chrome/app/chromium_strings.grd.orig 2021-07-19 18:45:06 UTC +++ chrome/app/chromium_strings.grd -@@ -703,7 +703,7 @@ Chromium is unable to recover your settings. +@@ -722,7 +722,7 @@ Chromium is unable to recover your settings. - + Your system administrator has configured Chromium to open an alternative browser to access $1example.com. -@@ -833,7 +833,7 @@ Chromium is unable to recover your settings. +@@ -852,7 +852,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 7b58b87c724f..1f8f577b74a5 100644 --- a/www/chromium/files/patch-chrome_app_generated__resources.grd +++ b/www/chromium/files/patch-chrome_app_generated__resources.grd @@ -1,29 +1,38 @@ ---- chrome/app/generated_resources.grd.orig 2021-05-12 22:05:41 UTC +--- chrome/app/generated_resources.grd.orig 2021-07-19 18:45:06 UTC +++ chrome/app/generated_resources.grd -@@ -5271,7 +5271,7 @@ Keep your key file in a safe place. You will need it t +@@ -293,7 +293,7 @@ are declared in tools/grit/grit_rule.gni. + + + +- ++ + + + +@@ -5298,7 +5298,7 @@ Keep your key file in a safe place. You will need it t - + Legacy Browser Support -@@ -7432,7 +7432,7 @@ Keep your key file in a safe place. You will need it t +@@ -7480,7 +7480,7 @@ Keep your key file in a safe place. You will need it t Google Pay - + Use system title bar and borders -@@ -8443,7 +8443,7 @@ Please help our engineers fix this problem. Tell us wh +@@ -8502,7 +8502,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 442cb826ae67..2e3f2994043e 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,20 @@ ---- chrome/app/google_chrome_strings.grd.orig 2021-05-12 22:05:41 UTC +--- chrome/app/google_chrome_strings.grd.orig 2021-07-19 18:45:06 UTC +++ chrome/app/google_chrome_strings.grd -@@ -711,7 +711,7 @@ Google Chrome is unable to recover your settings. +@@ -730,7 +730,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. -@@ -841,7 +841,7 @@ Google Chrome is unable to recover your settings. +@@ -860,7 +860,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 895264e079dd..a184ddf245a6 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-04-14 18:40:49 UTC +--- chrome/app/profiles_strings.grdp.orig 2021-07-19 18:45:06 UTC +++ chrome/app/profiles_strings.grdp -@@ -81,7 +81,7 @@ +@@ -78,7 +78,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 index 14b4d3fa05c5..281afe26f2d2 100644 --- a/www/chromium/files/patch-chrome_browser_BUILD.gn +++ b/www/chromium/files/patch-chrome_browser_BUILD.gn @@ -1,49 +1,50 @@ ---- chrome/browser/BUILD.gn.orig 2021-05-12 22:05:42 UTC +--- chrome/browser/BUILD.gn.orig 2021-07-19 18:45:07 UTC +++ chrome/browser/BUILD.gn -@@ -2427,9 +2427,18 @@ static_library("browser") { - ] +@@ -2456,9 +2456,18 @@ static_library("browser") { + deps += [ "//chromeos/services/libassistant/public/mojom" ] } } - 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", -@@ -5134,6 +5143,17 @@ static_library("browser") { +@@ -5310,6 +5319,18 @@ 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_chromeos_ash) { - if (use_allocator == "tcmalloc") { - deps += [ "//chrome/common/performance_manager/mojom" ] -@@ -5361,7 +5381,7 @@ static_library("browser") { ++ + if (is_posix || is_fuchsia) { + deps += [ "//chrome/app:shutdown_signal_handlers" ] + } +@@ -5468,7 +5489,7 @@ static_library("browser") { ] } - if (is_posix && !is_mac) { + if (is_posix && !is_mac && !is_bsd) { # TODO(crbug.com / 753619): Enable crash reporting 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 90d337fb7e23..0486e7a5451e 100644 --- a/www/chromium/files/patch-chrome_browser_about__flags.cc +++ b/www/chromium/files/patch-chrome_browser_about__flags.cc @@ -1,225 +1,219 @@ ---- chrome/browser/about_flags.cc.orig 2021-06-09 22:13:54 UTC +--- chrome/browser/about_flags.cc.orig 2021-07-21 14:11:02 UTC +++ chrome/browser/about_flags.cc -@@ -937,7 +937,7 @@ const FeatureEntry::Choice kMemlogSamplingRateChoices[ - heap_profiling::kMemlogSamplingRate5MB}, - }; +@@ -192,7 +192,7 @@ + #include "ui/gl/gl_switches.h" + #include "ui/native_theme/native_theme_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 + +@@ -992,7 +992,7 @@ const FeatureEntry::FeatureVariation kMemoriesVariatio + nullptr, + }}; -#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) const FeatureEntry::FeatureParam kOmniboxDocumentProviderServerScoring[] = { {"DocumentUseServerScore", "true"}, -@@ -1225,7 +1225,7 @@ const FeatureEntry::FeatureVariation - nullptr, - }}; - +@@ -1263,7 +1263,7 @@ const FeatureEntry::FeatureVariation kOmniboxBookmarkP + 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 -@@ -3076,7 +3076,7 @@ const FeatureEntry kFeatureEntries[] = { +@@ -3151,7 +3151,7 @@ const FeatureEntry kFeatureEntries[] = { FEATURE_VALUE_TYPE(media::kDeprecateLowUsageCodecs)}, #endif // defined(OS_CHROMEOS) -#if defined(OS_LINUX) +#if defined(OS_LINUX) || defined(OS_BSD) { "enable-accelerated-video-decode", flag_descriptions::kAcceleratedVideoDecodeName, -@@ -3094,7 +3094,7 @@ const FeatureEntry kFeatureEntries[] = { +@@ -3169,7 +3169,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, -@@ -3439,7 +3439,7 @@ const FeatureEntry kFeatureEntries[] = { +@@ -3510,7 +3510,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( -@@ -3449,7 +3449,7 @@ const FeatureEntry kFeatureEntries[] = { +@@ -3520,7 +3520,7 @@ const FeatureEntry kFeatureEntries[] = { flag_descriptions::kEnableNavigationPredictorDescription, kOsCrOS | kOsLinux, FEATURE_VALUE_TYPE(blink::features::kNavigationPredictor)}, -#endif // BUILDFLAG(IS_CHROMEOS_ASH) || OS_LINUX +#endif // BUILDFLAG(IS_CHROMEOS_ASH) || OS_LINUX || OS_BSD {"enable-preconnect-to-search", flag_descriptions::kEnablePreconnectToSearchName, flag_descriptions::kEnablePreconnectToSearchDescription, kOsAll, -@@ -4307,7 +4307,7 @@ const FeatureEntry kFeatureEntries[] = { +@@ -4346,7 +4346,7 @@ const FeatureEntry kFeatureEntries[] = { kOsAll, FEATURE_VALUE_TYPE(omnibox::kOmniboxTrendingZeroPrefixSuggestionsOnNTP)}, -#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) {"omnibox-experimental-keyword-mode", flag_descriptions::kOmniboxExperimentalKeywordModeName, -@@ -4410,7 +4410,7 @@ const FeatureEntry kFeatureEntries[] = { - FEATURE_WITH_PARAMS_VALUE_TYPE(omnibox::kKeywordSpaceTriggering, - kOmniboxKeywordSpaceTriggeringVariations, - "OmniboxBundledExperimentV1")}, +@@ -4443,7 +4443,7 @@ const FeatureEntry kFeatureEntries[] = { + flag_descriptions::kOmniboxKeywordSpaceTriggeringSettingName, + flag_descriptions::kOmniboxKeywordSpaceTriggeringSettingDescription, + kOsDesktop, FEATURE_VALUE_TYPE(omnibox::kKeywordSpaceTriggeringSetting)}, -#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) - {"enable-speculative-service-worker-start-on-query-input", -@@ -4706,14 +4706,14 @@ const FeatureEntry kFeatureEntries[] = { + #if BUILDFLAG(IS_CHROMEOS_ASH) +@@ -4721,7 +4721,7 @@ const FeatureEntry kFeatureEntries[] = { FEATURE_VALUE_TYPE(chrome::android::kReaderModeInCCT)}, #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) {"direct-manipulation-stylus", flag_descriptions::kDirectManipulationStylusName, - flag_descriptions::kDirectManipulationStylusDescription, - kOsWin | kOsMac | kOsLinux, - FEATURE_VALUE_TYPE(features::kDirectManipulationStylus)}, +@@ -4732,7 +4732,7 @@ const FeatureEntry kFeatureEntries[] = { + {"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) -@@ -5350,7 +5350,7 @@ const FeatureEntry kFeatureEntries[] = { - chromeos::assistant::features::kAssistantBetterOnboarding)}, - #endif // BUILDFLAG(IS_CHROMEOS_ASH) - --#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) - {"remote-copy-receiver", flag_descriptions::kRemoteCopyReceiverName, - flag_descriptions::kRemoteCopyReceiverDescription, kOsDesktop, -@@ -5367,7 +5367,7 @@ const FeatureEntry kFeatureEntries[] = { - flag_descriptions::kRemoteCopyProgressNotificationName, - flag_descriptions::kRemoteCopyProgressNotificationDescription, kOsDesktop, - FEATURE_VALUE_TYPE(kRemoteCopyProgressNotification)}, --#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) - - {"restrict-gamepad-access", flag_descriptions::kRestrictGamepadAccessName, -@@ -5398,7 +5398,7 @@ const FeatureEntry kFeatureEntries[] = { +@@ -5373,7 +5373,7 @@ const FeatureEntry kFeatureEntries[] = { kSharingDeviceExpirationVariations, "SharingDeviceExpiration")}, -#if defined(OS_WIN) || defined(OS_MAC) || defined(OS_LINUX) +#if defined(OS_WIN) || defined(OS_MAC) || defined(OS_LINUX) || defined(OS_BSD) {"sharing-hub-desktop-app-menu", flag_descriptions::kSharingHubDesktopAppMenuName, flag_descriptions::kSharingHubDesktopAppMenuDescription, kOsDesktop, -@@ -5407,7 +5407,7 @@ const FeatureEntry kFeatureEntries[] = { +@@ -5382,7 +5382,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", -@@ -5889,7 +5889,7 @@ const FeatureEntry kFeatureEntries[] = { +@@ -5856,7 +5856,7 @@ const FeatureEntry kFeatureEntries[] = { flag_descriptions::kMouseSubframeNoImplicitCaptureDescription, kOsAll, 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) {"global-media-controls", flag_descriptions::kGlobalMediaControlsName, flag_descriptions::kGlobalMediaControlsDescription, -@@ -5930,7 +5930,7 @@ const FeatureEntry kFeatureEntries[] = { +@@ -5897,7 +5897,7 @@ const FeatureEntry kFeatureEntries[] = { flag_descriptions::kGlobalMediaControlsOverlayControlsDescription, kOsWin | kOsMac | kOsLinux, FEATURE_VALUE_TYPE(media::kGlobalMediaControlsOverlayControls)}, -#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 BUILDFLAG(ENABLE_SPELLCHECK) && defined(OS_WIN) -@@ -6122,7 +6122,7 @@ const FeatureEntry kFeatureEntries[] = { +@@ -6089,7 +6089,7 @@ const FeatureEntry kFeatureEntries[] = { kPasswordsAccountStorageVariations, "ButterForPasswords")}, -#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) {"passwords-account-storage-iph", flag_descriptions::kEnablePasswordsAccountStorageIPHName, -@@ -6130,7 +6130,7 @@ const FeatureEntry kFeatureEntries[] = { +@@ -6097,7 +6097,7 @@ const FeatureEntry kFeatureEntries[] = { kOsWin | kOsMac | kOsLinux, FEATURE_VALUE_TYPE( feature_engagement::kIPHPasswordsAccountStorageFeature)}, -#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) {"autofill-always-return-cloud-tokenized-card", -@@ -6731,7 +6731,7 @@ const FeatureEntry kFeatureEntries[] = { - FEATURE_VALUE_TYPE(features::kEnableIncognitoShortcutOnDesktop)}, - #endif // defined(OS_WIN) +@@ -6701,7 +6701,7 @@ const FeatureEntry kFeatureEntries[] = { + FEATURE_VALUE_TYPE(features::kIncognitoBrandConsistencyForAndroid)}, + #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) {"incognito-brand-consistency-for-desktop", flag_descriptions::kIncognitoBrandConsistencyForDesktopName, -@@ -6823,7 +6823,7 @@ const FeatureEntry kFeatureEntries[] = { +@@ -6806,7 +6806,7 @@ const FeatureEntry kFeatureEntries[] = { FEATURE_VALUE_TYPE(language::kDetailedLanguageSettings)}, #endif -#if defined(OS_WIN) || defined(OS_MAC) || defined(OS_LINUX) +#if defined(OS_WIN) || defined(OS_MAC) || defined(OS_LINUX) || defined(OS_BSD) {"commander", flag_descriptions::kCommanderName, flag_descriptions::kCommanderDescription, kOsDesktop, FEATURE_VALUE_TYPE(features::kCommander)}, -@@ -6860,7 +6860,7 @@ const FeatureEntry kFeatureEntries[] = { - FEATURE_VALUE_TYPE(ash::features::kEnhancedDeskAnimations)}, - #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) +@@ -6835,8 +6835,8 @@ const FeatureEntry kFeatureEntries[] = { + flag_descriptions::kSyncAutofillWalletOfferDataDescription, kOsAll, + FEATURE_VALUE_TYPE(switches::kSyncAutofillWalletOfferData)}, + +-#if (defined(OS_WIN) || defined(OS_MAC) || defined(OS_LINUX) || \ +- defined(OS_CHROMEOS)) && \ ++#if (defined(OS_WIN) || defined(OS_MAC) || defined(OS_LINUX) || defined(OS_BSD) || \ ++ defined(OS_CHROMEOS)) && \ + BUILDFLAG(ENABLE_PRINTING) {"enable-oop-print-drivers", flag_descriptions::kEnableOopPrintDriversName, flag_descriptions::kEnableOopPrintDriversDescription, kOsDesktop, -@@ -6879,14 +6879,14 @@ const FeatureEntry kFeatureEntries[] = { +@@ -6855,14 +6855,14 @@ const FeatureEntry kFeatureEntries[] = { // 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) || \ defined(OS_MAC) {"enable-ephemeral-guest-profiles-on-desktop", flag_descriptions::kEnableEphemeralGuestProfilesOnDesktopName, flag_descriptions::kEnableEphemeralGuestProfilesOnDesktopDescription, kOsWin | kOsLinux | kOsMac, FEATURE_VALUE_TYPE(features::kEnableEphemeralGuestProfilesOnDesktop)}, -#endif // defined(OS_WIN) || (defined(OS_LINUX) || +#endif // defined(OS_WIN) || (defined(OS_LINUX) || defined(OS_BSD) || // BUILDFLAG(IS_CHROMEOS_LACROS)) || defined(OS_MAC) #if defined(OS_ANDROID) -@@ -7162,7 +7162,7 @@ const FeatureEntry kFeatureEntries[] = { +@@ -7148,7 +7148,7 @@ const FeatureEntry kFeatureEntries[] = { FEATURE_VALUE_TYPE(media::kVaapiAV1Decoder)}, #endif // defined(OS_CHROMEOS) -#if defined(OS_WIN) || (defined(OS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS)) || \ -+#if defined(OS_WIN) || (defined(OS_LINUX) || defined(OS_BSD) || BUILDFLAG(IS_CHROMEOS_LACROS)) || defined(OS_BSD) || \ ++#if defined(OS_WIN) || (defined(OS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS)) || defined(OS_BSD) || \ defined(OS_MAC) { "ui-debug-tools", -@@ -7243,7 +7243,7 @@ const FeatureEntry kFeatureEntries[] = { +@@ -7225,7 +7225,7 @@ const FeatureEntry kFeatureEntries[] = { FEATURE_VALUE_TYPE(metrics::structured::kBluetoothSessionizedMetrics)}, #endif -#if defined(OS_LINUX) && defined(USE_OZONE) +#if (defined(OS_LINUX) || defined(OS_BSD)) && defined(USE_OZONE) {"use-ozone-platform", flag_descriptions::kUseOzonePlatformName, flag_descriptions::kUseOzonePlatformDescription, kOsLinux, FEATURE_VALUE_TYPE(features::kUseOzonePlatform)}, 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 21d70b5fc31e..698a0924e098 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,38 @@ ---- chrome/browser/after_startup_task_utils.cc.orig 2021-05-12 22:05:42 UTC +--- chrome/browser/after_startup_task_utils.cc.orig 2021-07-19 18:45:07 UTC +++ chrome/browser/after_startup_task_utils.cc -@@ -35,7 +35,7 @@ +@@ -22,7 +22,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 -@@ -113,7 +113,7 @@ void QueueTask(std::unique_ptr queue +@@ -103,7 +103,7 @@ void SetBrowserStartupIsComplete() { + return; - void SetBrowserStartupIsComplete() { - DCHECK_CURRENTLY_ON(BrowserThread::UI); + 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) // Process::Current().CreationTime() is not available on all platforms. const base::Time process_creation_time = -@@ -122,7 +122,7 @@ void SetBrowserStartupIsComplete() { +@@ -112,7 +112,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()); -@@ -134,7 +134,7 @@ void SetBrowserStartupIsComplete() { +@@ -123,7 +123,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_browsing__data_chrome__browsing__data__remover__delegate.cc b/www/chromium/files/patch-chrome_browser_browsing__data_chrome__browsing__data__remover__delegate.cc index f597a4167eba..df9ef0a2d6dd 100644 --- 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 @@ -1,12 +1,12 @@ ---- chrome/browser/browsing_data/chrome_browsing_data_remover_delegate.cc.orig 2021-05-12 22:05:43 UTC +--- chrome/browser/browsing_data/chrome_browsing_data_remover_delegate.cc.orig 2021-07-19 18:45:08 UTC +++ chrome/browser/browsing_data/chrome_browsing_data_remover_delegate.cc -@@ -635,7 +635,9 @@ void ChromeBrowsingDataRemoverDelegate::RemoveEmbedder +@@ -637,7 +637,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 67fb12045ff0..e435dd6da16e 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,29 +1,29 @@ ---- chrome/browser/chrome_browser_interface_binders.cc.orig 2021-06-09 22:13:55 UTC +--- chrome/browser/chrome_browser_interface_binders.cc.orig 2021-07-19 18:45:08 UTC +++ chrome/browser/chrome_browser_interface_binders.cc -@@ -148,7 +148,7 @@ +@@ -146,7 +146,7 @@ #include "mojo/public/cpp/bindings/self_owned_receiver.h" #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) #include "chrome/browser/ui/webui/discards/discards.mojom.h" #include "chrome/browser/ui/webui/discards/discards_ui.h" @@ -612,7 +612,7 @@ void PopulateChromeFrameBinders( - base::BindRepeating(&BindCaptionContextHandler)); + base::BindRepeating(&BindSpeechRecognitionRecognizerClientHandler)); #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 (base::FeatureList::IsEnabled(features::kWebAppWindowControlsOverlay) && !render_frame_host->GetParent()) { map->Add( -@@ -846,7 +846,7 @@ void PopulateChromeWebUIFrameBinders( +@@ -854,7 +854,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) 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 1adca260583c..bfcee4e9c114 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,54 @@ ---- chrome/browser/chrome_browser_main.cc.orig 2021-05-24 22:05:33 UTC +--- chrome/browser/chrome_browser_main.cc.orig 2021-07-19 18:45:08 UTC +++ chrome/browser/chrome_browser_main.cc -@@ -251,7 +251,7 @@ +@@ -257,7 +257,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/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" -@@ -946,7 +946,7 @@ int ChromeBrowserMainParts::PreCreateThreadsImpl() { +@@ -956,7 +956,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 . -@@ -955,7 +955,7 @@ int ChromeBrowserMainParts::PreCreateThreadsImpl() { +@@ -965,7 +965,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) } #endif // !defined(OS_ANDROID) && !BUILDFLAG(IS_CHROMEOS_ASH) -@@ -980,7 +980,7 @@ int ChromeBrowserMainParts::PreCreateThreadsImpl() { +@@ -990,7 +990,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) metrics::DesktopSessionDurationTracker::Initialize(); ProfileActivityMetricsRecorder::Initialize(); TouchModeStatsTracker::Initialize( -@@ -1142,6 +1142,7 @@ void ChromeBrowserMainParts::PostBrowserStart() { +@@ -1156,6 +1156,7 @@ void ChromeBrowserMainParts::PostBrowserStart() { base::TimeDelta::FromMinutes(1)); #if !defined(OS_ANDROID) +#if !defined(OS_BSD) if (base::FeatureList::IsEnabled(features::kWebUsb)) { web_usb_detector_ = std::make_unique(); content::GetUIThreadTaskRunner({base::TaskPriority::BEST_EFFORT}) -@@ -1149,6 +1150,7 @@ void ChromeBrowserMainParts::PostBrowserStart() { +@@ -1163,6 +1164,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__linux.cc b/www/chromium/files/patch-chrome_browser_chrome__browser__main__linux.cc index 7daf039ec9dd..53817dc3e649 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,29 +1,29 @@ ---- chrome/browser/chrome_browser_main_linux.cc.orig 2021-04-14 18:40:52 UTC +--- chrome/browser/chrome_browser_main_linux.cc.orig 2021-07-19 18:45:08 UTC +++ chrome/browser/chrome_browser_main_linux.cc @@ -47,7 +47,7 @@ ChromeBrowserMainPartsLinux::~ChromeBrowserMainPartsLi } void ChromeBrowserMainPartsLinux::PreProfileInit() { -#if !BUILDFLAG(IS_CHROMEOS_ASH) +#if !BUILDFLAG(IS_CHROMEOS_ASH) && !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. -@@ -79,7 +79,7 @@ void ChromeBrowserMainPartsLinux::PreProfileInit() { - +@@ -78,7 +78,7 @@ void ChromeBrowserMainPartsLinux::PreProfileInit() { + } - void ChromeBrowserMainPartsLinux::PostMainMessageLoopStart() { + void ChromeBrowserMainPartsLinux::PostCreateMainMessageLoop() { -#if !BUILDFLAG(IS_CHROMEOS_ASH) +#if !BUILDFLAG(IS_CHROMEOS_ASH) && !defined(OS_BSD) bluez::BluezDBusManager::Initialize(nullptr /* system_bus */); #endif -@@ -87,7 +87,7 @@ void ChromeBrowserMainPartsLinux::PostMainMessageLoopS +@@ -86,7 +86,7 @@ void ChromeBrowserMainPartsLinux::PostCreateMainMessag } void ChromeBrowserMainPartsLinux::PostDestroyThreads() { -#if !BUILDFLAG(IS_CHROMEOS_ASH) +#if !BUILDFLAG(IS_CHROMEOS_ASH) && !defined(OS_BSD) bluez::BluezDBusManager::Shutdown(); bluez::BluezDBusThreadManager::Shutdown(); #endif 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 5276a2ff105d..32b0e4269229 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,132 +1,123 @@ ---- chrome/browser/chrome_content_browser_client.cc.orig 2021-06-09 22:13:55 UTC +--- chrome/browser/chrome_content_browser_client.cc.orig 2021-07-19 18:45:08 UTC +++ chrome/browser/chrome_content_browser_client.cc -@@ -446,7 +446,7 @@ +@@ -450,7 +450,7 @@ #include "components/user_manager/user.h" #include "components/user_manager/user_manager.h" #include "services/service_manager/public/mojom/interface_provider_spec.mojom.h" -#elif defined(OS_LINUX) || 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" -@@ -507,7 +507,7 @@ +@@ -511,7 +511,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/browser/browser_switcher/browser_switcher_navigation_throttle.h" #endif -@@ -526,9 +526,9 @@ +@@ -530,9 +530,9 @@ // 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) #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) // TODO(crbug.com/939205): Once the upcoming App Service is available, use a // single navigation throttle to display the intent picker on all platforms. -@@ -546,7 +546,7 @@ +@@ -550,7 +550,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/browser/ui/views/chrome_browser_main_extra_parts_views_linux.h" #endif -@@ -957,11 +957,13 @@ breakpad::CrashHandlerHostLinux* CreateCrashHandlerHos +@@ -951,11 +951,13 @@ breakpad::CrashHandlerHostLinux* CreateCrashHandlerHos } int GetCrashSignalFD(const base::CommandLine& command_line) { +#if !defined(OS_BSD) if (crash_reporter::IsCrashpadEnabled()) { int fd; pid_t pid; return crash_reporter::GetHandlerSocket(&fd, &pid) ? fd : -1; } +#endif // Extensions have the same process type as renderers. if (command_line.HasSwitch(extensions::switches::kExtensionProcess)) { -@@ -1381,7 +1383,7 @@ ChromeContentBrowserClient::CreateBrowserMainParts( +@@ -1377,7 +1379,7 @@ ChromeContentBrowserClient::CreateBrowserMainParts( #elif BUILDFLAG(IS_CHROMEOS_LACROS) main_parts = std::make_unique(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_); #elif defined(OS_ANDROID) -@@ -1412,7 +1414,7 @@ ChromeContentBrowserClient::CreateBrowserMainParts( +@@ -1408,7 +1410,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 -@@ -2190,7 +2192,7 @@ void ChromeContentBrowserClient::AppendExtraCommandLin +@@ -2192,7 +2194,7 @@ void ChromeContentBrowserClient::AppendExtraCommandLin command_line->AppendSwitchASCII(switches::kMetricsClientID, client_info->client_id); } -#elif defined(OS_POSIX) +#elif defined(OS_POSIX) && !defined(OS_BSD) #if defined(OS_ANDROID) bool enable_crash_reporter = true; #else -@@ -2493,7 +2495,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)) { -@@ -3821,7 +3823,7 @@ void ChromeContentBrowserClient::GetAdditionalFileSyst +@@ -3753,7 +3755,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, -@@ -3856,7 +3858,7 @@ void ChromeContentBrowserClient::GetAdditionalMappedFi +@@ -3788,7 +3790,7 @@ void ChromeContentBrowserClient::GetAdditionalMappedFi mappings->Share(kCrashDumpSignal, crash_signal_fd); } } -#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( -@@ -4210,11 +4212,11 @@ ChromeContentBrowserClient::CreateThrottlesForNavigati +@@ -4146,11 +4148,11 @@ 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) 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) #if !defined(OS_ANDROID) MaybeAddThrottle(DevToolsWindow::MaybeCreateNavigationThrottle(handle), -@@ -4236,7 +4238,7 @@ ChromeContentBrowserClient::CreateThrottlesForNavigati +@@ -4172,7 +4174,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) 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 6a512952dacb..bfcfc6b9c69b 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,17 @@ ---- chrome/browser/chrome_content_browser_client.h.orig 2021-05-12 22:05:43 UTC +--- chrome/browser/chrome_content_browser_client.h.orig 2021-07-19 18:45:08 UTC +++ chrome/browser/chrome_content_browser_client.h -@@ -395,12 +395,12 @@ class ChromeContentBrowserClient : public content::Con +@@ -405,12 +405,12 @@ 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::policy::SandboxType 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_protocol__handler__registry.cc index 11a187a00238..c3057e9a82c1 100644 --- a/www/chromium/files/patch-chrome_browser_custom__handlers_protocol__handler__registry.cc +++ b/www/chromium/files/patch-chrome_browser_custom__handlers_protocol__handler__registry.cc @@ -1,11 +1,11 @@ ---- chrome/browser/custom_handlers/protocol_handler_registry.cc.orig 2021-05-12 22:05:43 UTC +--- chrome/browser/custom_handlers/protocol_handler_registry.cc.orig 2021-07-19 18:45:08 UTC +++ chrome/browser/custom_handlers/protocol_handler_registry.cc -@@ -46,7 +46,7 @@ const ProtocolHandler& LookupHandler( +@@ -45,7 +45,7 @@ const ProtocolHandler& LookupHandler( // If true default protocol handlers will be removed if the OS level // registration for a protocol is no longer Chrome. bool ShouldRemoveHandlersNotInOS() { -#if defined(OS_LINUX) || 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_download_chrome__download__manager__delegate.cc b/www/chromium/files/patch-chrome_browser_download_chrome__download__manager__delegate.cc index e29a9b3a51fb..300cf93bc885 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,38 +1,38 @@ ---- chrome/browser/download/chrome_download_manager_delegate.cc.orig 2021-05-12 22:05:43 UTC +--- chrome/browser/download/chrome_download_manager_delegate.cc.orig 2021-07-19 18:45:08 UTC +++ chrome/browser/download/chrome_download_manager_delegate.cc -@@ -1436,7 +1436,7 @@ void ChromeDownloadManagerDelegate::OnDownloadTargetDe +@@ -1439,7 +1439,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 -@@ -1489,7 +1489,7 @@ void ChromeDownloadManagerDelegate::OnDownloadTargetDe +@@ -1494,7 +1494,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 (path.MatchesExtension(FILE_PATH_LITERAL(".pdf"))) { return !download_prefs_->ShouldOpenPdfInSystemReader(); -@@ -1586,7 +1586,7 @@ void ChromeDownloadManagerDelegate::CheckDownloadAllow +@@ -1598,7 +1598,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) // 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. -@@ -1628,7 +1628,7 @@ ChromeDownloadManagerDelegate::GetQuarantineConnection +@@ -1640,7 +1640,7 @@ ChromeDownloadManagerDelegate::GetQuarantineConnection 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) return enterprise_connectors::FileSystemRenameHandler::CreateIfNeeded( download_item); 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 c84859608113..8bfaedfefb0d 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-05-12 22:05:43 UTC +--- chrome/browser/download/download_commands.h.orig 2021-07-19 18:45:08 UTC +++ chrome/browser/download/download_commands.h -@@ -49,7 +49,7 @@ class DownloadCommands { +@@ -47,7 +47,7 @@ class DownloadCommands { bool IsCommandVisible(Command command) const; 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) bool IsDownloadPdf() const; bool CanOpenPdfInSystemViewer() 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 e6274a4c4041..85bffdf06da9 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-04-14 18:40:53 UTC +--- chrome/browser/download/download_item_model.cc.orig 2021-07-19 18:45:08 UTC +++ chrome/browser/download/download_item_model.cc -@@ -571,7 +571,7 @@ bool DownloadItemModel::IsCommandChecked( +@@ -579,7 +579,7 @@ bool DownloadItemModel::IsCommandChecked( return download_->GetOpenWhenComplete() || download_crx_util::IsExtensionDownload(*download_); case DownloadCommands::ALWAYS_OPEN_TYPE: -#if defined(OS_WIN) || defined(OS_LINUX) || defined(OS_CHROMEOS) || \ +#if defined(OS_WIN) || defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD) || \ defined(OS_MAC) if (download_commands->CanOpenPdfInSystemViewer()) { DownloadPrefs* prefs = DownloadPrefs::FromBrowserContext(profile()); -@@ -612,7 +612,7 @@ void DownloadItemModel::ExecuteCommand(DownloadCommand +@@ -620,7 +620,7 @@ void DownloadItemModel::ExecuteCommand(DownloadCommand bool is_checked = IsCommandChecked(download_commands, DownloadCommands::ALWAYS_OPEN_TYPE); DownloadPrefs* prefs = DownloadPrefs::FromBrowserContext(profile()); -#if defined(OS_WIN) || defined(OS_LINUX) || defined(OS_CHROMEOS) || \ +#if defined(OS_WIN) || defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD) || \ defined(OS_MAC) if (download_commands->CanOpenPdfInSystemViewer()) { prefs->SetShouldOpenPdfInSystemReader(!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 a9678b6e36a7..d6f5abf57b31 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,65 @@ ---- chrome/browser/download/download_prefs.cc.orig 2021-04-14 18:40:53 UTC +--- chrome/browser/download/download_prefs.cc.orig 2021-07-19 18:45:08 UTC +++ chrome/browser/download/download_prefs.cc @@ -68,7 +68,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; @@ -173,7 +173,7 @@ DownloadPrefs::DownloadPrefs(Profile* profile) : profi GetDefaultDownloadDirectoryForProfile())); #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) should_open_pdf_in_system_reader_ = prefs->GetBoolean(prefs::kOpenPdfDownloadInSystemReader); @@ -301,7 +301,7 @@ void DownloadPrefs::RegisterProfilePrefs( default_download_path); 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) registry->RegisterBooleanPref(prefs::kOpenPdfDownloadInSystemReader, false); #endif -@@ -431,7 +431,7 @@ bool DownloadPrefs::IsDownloadPathManaged() const { +@@ -438,7 +438,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 (ShouldOpenPdfInSystemReader()) return true; -@@ -446,7 +446,7 @@ bool DownloadPrefs::IsAutoOpenEnabled(const GURL& url, +@@ -453,7 +453,7 @@ bool DownloadPrefs::IsAutoOpenEnabled(const GURL& url, return false; 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 (base::FilePath::CompareEqualIgnoreCase(extension, FILE_PATH_LITERAL("pdf")) && -@@ -497,7 +497,7 @@ void DownloadPrefs::DisableAutoOpenByUserBasedOnExtens +@@ -504,7 +504,7 @@ void DownloadPrefs::DisableAutoOpenByUserBasedOnExtens SaveAutoOpenState(); } -#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) void DownloadPrefs::SetShouldOpenPdfInSystemReader(bool should_open) { if (should_open_pdf_in_system_reader_ == should_open) -@@ -519,7 +519,7 @@ bool DownloadPrefs::ShouldOpenPdfInSystemReader() cons +@@ -526,7 +526,7 @@ bool DownloadPrefs::ShouldOpenPdfInSystemReader() cons #endif 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) SetShouldOpenPdfInSystemReader(false); #endif diff --git a/www/chromium/files/patch-chrome_browser_enterprise_connectors_device__trust_attestation__service.cc b/www/chromium/files/patch-chrome_browser_enterprise_connectors_device__trust_attestation__service.cc new file mode 100644 index 000000000000..94294223caaf --- /dev/null +++ b/www/chromium/files/patch-chrome_browser_enterprise_connectors_device__trust_attestation__service.cc @@ -0,0 +1,70 @@ +--- chrome/browser/enterprise/connectors/device_trust/attestation_service.cc.orig 2021-07-28 07:35:48 UTC ++++ chrome/browser/enterprise/connectors/device_trust/attestation_service.cc +@@ -18,10 +18,10 @@ + namespace enterprise_connectors { + + AttestationService::AttestationService() { +-#if defined(OS_LINUX) || defined(OS_WIN) || defined(OS_MAC) ++#if defined(OS_LINUX) || defined(OS_WIN) || defined(OS_MAC) || defined(OS_BSD) + key_pair_ = std::make_unique(); + key_pair_->Init(); +-#endif // defined(OS_LINUX) || defined(OS_WIN) || defined(OS_MAC) ++#endif // defined(OS_LINUX) || defined(OS_WIN) || defined(OS_MAC) || defined(OS_BSD) + } + + AttestationService::~AttestationService() = default; +@@ -71,11 +71,11 @@ std::string AttestationService::ProtobufChallengeToJso + base::Base64Encode(challenge_response, &encoded); + signed_data.SetKey("data", base::Value(encoded)); + +-#if defined(OS_LINUX) || defined(OS_WIN) || defined(OS_MAC) ++#if defined(OS_LINUX) || defined(OS_WIN) || defined(OS_MAC) || defined(OS_BSD) + std::string signature; + key_pair_->GetSignatureInBase64(challenge_response, &signature); + signed_data.SetKey("signature", base::Value(signature)); +-#endif // defined(OS_LINUX) || defined(OS_WIN) || defined(OS_MAC) ++#endif // defined(OS_LINUX) || defined(OS_WIN) || defined(OS_MAC) || defined(OS_BSD) + + base::Value dict(base::Value::Type::DICTIONARY); + dict.SetKey("challengeResponse", std::move(signed_data)); +@@ -85,11 +85,11 @@ std::string AttestationService::ProtobufChallengeToJso + return json; + } + +-#if defined(OS_LINUX) || defined(OS_WIN) || defined(OS_MAC) ++#if defined(OS_LINUX) || defined(OS_WIN) || defined(OS_MAC) || defined(OS_BSD) + std::string AttestationService::ExportPEMPublicKey() { + return key_pair_->ExportPEMPublicKey(); + } +-#endif // defined(OS_LINUX) || defined(OS_WIN) || defined(OS_MAC) ++#endif // defined(OS_LINUX) || defined(OS_WIN) || defined(OS_MAC) || defined(OS_BSD) + + void AttestationService::SignEnterpriseChallenge( + const SignEnterpriseChallengeRequest& request, +@@ -110,9 +110,9 @@ void AttestationService::SignEnterpriseChallengeTask( + + KeyInfo key_info; + // Set the public key so VA can verify the client. +-#if defined(OS_LINUX) || defined(OS_WIN) || defined(OS_MAC) ++#if defined(OS_LINUX) || defined(OS_WIN) || defined(OS_MAC) || defined(OS_BSD) + key_info.set_signed_public_key_and_challenge(ExportPEMPublicKey()); +-#endif // defined(OS_LINUX) || defined(OS_WIN) || defined(OS_MAC) ++#endif // defined(OS_LINUX) || defined(OS_WIN) || defined(OS_MAC) || defined(OS_BSD) + + ChallengeResponse response_pb; + *response_pb.mutable_challenge() = signed_challenge; +@@ -135,12 +135,12 @@ void AttestationService::SignEnterpriseChallengeTask( + bool AttestationService::SignChallengeData(const std::string& data, + std::string* response) { + std::string signature; +-#if defined(OS_LINUX) || defined(OS_WIN) || defined(OS_MAC) ++#if defined(OS_LINUX) || defined(OS_WIN) || defined(OS_MAC) || defined(OS_BSD) + if (!key_pair_->GetSignatureInBase64(data, &signature)) { + LOG(ERROR) << __func__ << ": Failed to sign data."; + return false; + } +-#endif // defined(OS_LINUX) || defined(OS_WIN) || defined(OS_MAC) ++#endif // defined(OS_LINUX) || defined(OS_WIN) || defined(OS_MAC) || defined(OS_BSD) + SignedData signed_data; + signed_data.set_data(data); + signed_data.set_signature(signature); diff --git a/www/chromium/files/patch-chrome_browser_enterprise_connectors_device__trust_attestation__service.h b/www/chromium/files/patch-chrome_browser_enterprise_connectors_device__trust_attestation__service.h new file mode 100644 index 000000000000..9eb8b1b6a487 --- /dev/null +++ b/www/chromium/files/patch-chrome_browser_enterprise_connectors_device__trust_attestation__service.h @@ -0,0 +1,14 @@ +--- chrome/browser/enterprise/connectors/device_trust/attestation_service.h.orig 2021-07-28 07:36:46 UTC ++++ chrome/browser/enterprise/connectors/device_trust/attestation_service.h +@@ -94,9 +94,9 @@ class AttestationService { + AttestationCallback callback, + const std::string& challenge_response_proto); + +-#if defined(OS_LINUX) || defined(OS_WIN) || defined(OS_MAC) ++#if defined(OS_LINUX) || defined(OS_WIN) || defined(OS_MAC) || defined(OS_BSD) + std::unique_ptr key_pair_; +-#endif // defined(OS_LINUX) || defined(OS_WIN) || defined(OS_MAC) ++#endif // defined(OS_LINUX) || defined(OS_WIN) || defined(OS_MAC) || defined(OS_BSD) + + GoogleKeys google_keys_; + base::WeakPtrFactory weak_factory_{this}; diff --git a/www/chromium/files/patch-chrome_browser_enterprise_connectors_device__trust_device__trust__service.cc b/www/chromium/files/patch-chrome_browser_enterprise_connectors_device__trust_device__trust__service.cc index 7b2bb199cc08..2207540b6ba1 100644 --- a/www/chromium/files/patch-chrome_browser_enterprise_connectors_device__trust_device__trust__service.cc +++ b/www/chromium/files/patch-chrome_browser_enterprise_connectors_device__trust_device__trust__service.cc @@ -1,38 +1,31 @@ ---- chrome/browser/enterprise/connectors/device_trust/device_trust_service.cc.orig 2021-06-10 11:07:22 UTC +--- chrome/browser/enterprise/connectors/device_trust/device_trust_service.cc.orig 2021-07-19 18:45:08 UTC +++ chrome/browser/enterprise/connectors/device_trust/device_trust_service.cc -@@ -21,9 +21,9 @@ DeviceTrustService::DeviceTrustService(Profile* profil - signal_report_callback_( - base::BindOnce(&DeviceTrustService::OnSignalReported, - base::Unretained(this))) { --#if defined(OS_LINUX) || defined(OS_WIN) || defined(OS_MAC) -+#if defined(OS_LINUX) || defined(OS_WIN) || defined(OS_MAC) || defined(OS_BSD) - key_pair_ = std::make_unique(); --#endif // defined(OS_LINUX) || defined(OS_WIN) || defined(OS_MAC) -+#endif // defined(OS_LINUX) || defined(OS_WIN) || defined(OS_MAC) || defined(OS_BSD) +@@ -82,12 +82,12 @@ void DeviceTrustService::OnReporterInitialized(bool su - pref_observer_.Init(prefs_); - pref_observer_.Add(kContextAwareAccessSignalsAllowlistPref, -@@ -53,9 +53,9 @@ void DeviceTrustService::OnPolicyUpdated() { + DeviceTrustReportEvent report; - if (!first_report_sent_ && - IsEnabled()) { // Policy enabled for the first time. -#if defined(OS_LINUX) || defined(OS_WIN) || defined(OS_MAC) +#if defined(OS_LINUX) || defined(OS_WIN) || defined(OS_MAC) || defined(OS_BSD) - key_pair_->Init(); + auto* credential = report.mutable_attestation_credential(); + credential->set_format( + DeviceTrustReportEvent::Credential::EC_NID_X9_62_PRIME256V1_PUBLIC_DER); + credential->set_credential(attestation_service_->ExportPEMPublicKey()); -#endif // defined(OS_LINUX) || defined(OS_WIN) || defined(OS_MAC) +#endif // defined(OS_LINUX) || defined(OS_WIN) || defined(OS_MAC) || defined(OS_BSD) - reporter_->Init( - base::BindRepeating( - [](DeviceTrustService* self) { return self->IsEnabled(); }, -@@ -76,9 +76,9 @@ void DeviceTrustService::OnReporterInitialized(bool su - base::Value val(base::Value::Type::DICTIONARY); + reporter_->SendReport(&report, std::move(signal_report_callback_)); + } +@@ -117,11 +117,11 @@ void DeviceTrustService::SetSignalReportCallbackForTes + base::Unretained(this), std::move(cb)); + } -#if defined(OS_LINUX) || defined(OS_WIN) || defined(OS_MAC) +#if defined(OS_LINUX) || defined(OS_WIN) || defined(OS_MAC) || defined(OS_BSD) - val.SetStringKey("machine_attestion_key", key_pair_->ExportPEMPublicKey()); + std::string DeviceTrustService::GetAttestationCredentialForTesting() const { + return attestation_service_->ExportPEMPublicKey(); + } -#endif // defined(OS_LINUX) || defined(OS_WIN) || defined(OS_MAC) +#endif // defined(OS_LINUX) || defined(OS_WIN) || defined(OS_MAC) || defined(OS_BSD) - reporter_->SendReport(std::move(val), std::move(signal_report_callback_)); - } + void DeviceTrustService::BuildChallengeResponse(const std::string& challenge, + AttestationCallback callback) { diff --git a/www/chromium/files/patch-chrome_browser_enterprise_connectors_device__trust_device__trust__service.h b/www/chromium/files/patch-chrome_browser_enterprise_connectors_device__trust_device__trust__service.h index 9b16792e67b6..98c8cc888e3a 100644 --- a/www/chromium/files/patch-chrome_browser_enterprise_connectors_device__trust_device__trust__service.h +++ b/www/chromium/files/patch-chrome_browser_enterprise_connectors_device__trust_device__trust__service.h @@ -1,26 +1,14 @@ ---- chrome/browser/enterprise/connectors/device_trust/device_trust_service.h.orig 2021-06-10 11:08:08 UTC +--- chrome/browser/enterprise/connectors/device_trust/device_trust_service.h.orig 2021-07-19 18:45:08 UTC +++ chrome/browser/enterprise/connectors/device_trust/device_trust_service.h -@@ -16,9 +16,9 @@ - - #include - --#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/enterprise/connectors/device_trust/device_trust_key_pair.h" --#endif // defined(OS_LINUX) || defined(OS_WIN) || defined(OS_MAC) -+#endif // defined(OS_LINUX) || defined(OS_WIN) || defined(OS_MAC) || defined(OS_BSD) - - class KeyedService; - class Profile; -@@ -59,9 +59,9 @@ class DeviceTrustService : public KeyedService { - - PrefService* prefs_; - +@@ -41,9 +41,9 @@ class DeviceTrustService : public KeyedService { + std::unique_ptr reporter); + using SignalReportCallback = base::OnceCallback; + void SetSignalReportCallbackForTesting(SignalReportCallback cb); -#if defined(OS_LINUX) || defined(OS_WIN) || defined(OS_MAC) +#if defined(OS_LINUX) || defined(OS_WIN) || defined(OS_MAC) || defined(OS_BSD) - std::unique_ptr key_pair_; + std::string GetAttestationCredentialForTesting() const; -#endif // defined(OS_LINUX) || defined(OS_WIN) || defined(OS_MAC) +#endif // defined(OS_LINUX) || defined(OS_WIN) || defined(OS_MAC) || defined(OS_BSD) - PrefChangeRegistrar pref_observer_; - bool first_report_sent_; + // Starts flow that actually builds a response. This method is called + // from a non_UI thread. 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 98202b98e279..3aae5efa9501 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-04-22 07:41:36 UTC +--- chrome/browser/enterprise/signals/device_info_fetcher.cc.orig 2021-07-19 18:45:08 UTC +++ chrome/browser/enterprise/signals/device_info_fetcher.cc @@ -12,6 +12,8 @@ #include "chrome/browser/enterprise/signals/device_info_fetcher_win.h" #elif defined(OS_LINUX) || defined(OS_CHROMEOS) #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 { -@@ -60,6 +62,8 @@ std::unique_ptr DeviceInfoFetcher:: +@@ -61,6 +63,8 @@ std::unique_ptr DeviceInfoFetcher:: return std::make_unique(); #elif defined(OS_LINUX) || defined(OS_CHROMEOS) 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_extensions_BUILD.gn b/www/chromium/files/patch-chrome_browser_extensions_BUILD.gn index d89cd2e9eb0b..3af65d639695 100644 --- a/www/chromium/files/patch-chrome_browser_extensions_BUILD.gn +++ b/www/chromium/files/patch-chrome_browser_extensions_BUILD.gn @@ -1,15 +1,15 @@ ---- chrome/browser/extensions/BUILD.gn.orig 2021-05-12 22:05:43 UTC +--- chrome/browser/extensions/BUILD.gn.orig 2021-07-19 18:45:08 UTC +++ chrome/browser/extensions/BUILD.gn -@@ -1269,6 +1269,12 @@ static_library("extensions") { +@@ -1259,6 +1259,12 @@ static_library("extensions") { ] } + if (is_bsd) { + sources -= [ + "api/image_writer_private/removable_storage_provider_linux.cc", + ] + } + if (enable_service_discovery) { sources += [ "api/mdns/mdns_api.cc", diff --git a/www/chromium/files/patch-chrome_browser_extensions_api_erp_chrome_desktop_report_request_helper.cc b/www/chromium/files/patch-chrome_browser_extensions_api_erp_chrome_desktop_report_request_helper.cc index bac5f1c1f447..353cec01ec98 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_erp_chrome_desktop_report_request_helper.cc @@ -1,29 +1,29 @@ ---- chrome/browser/extensions/api/enterprise_reporting_private/chrome_desktop_report_request_helper.cc.orig 2021-06-09 22:13:55 UTC +--- chrome/browser/extensions/api/enterprise_reporting_private/chrome_desktop_report_request_helper.cc.orig 2021-08-17 00:15:57 UTC +++ chrome/browser/extensions/api/enterprise_reporting_private/chrome_desktop_report_request_helper.cc -@@ -22,7 +22,7 @@ +@@ -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 -@@ -238,7 +238,7 @@ base::FilePath GetEndpointVerificationDir() { - return *GetEndpointVerificationDirOverride(); +@@ -241,7 +241,7 @@ base::FilePath GetEndpointVerificationDir() { + bool got_path = false; #if defined(OS_WIN) - if (!base::PathService::Get(base::DIR_LOCAL_APP_DATA, &path)) + 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); -@@ -249,7 +249,7 @@ base::FilePath GetEndpointVerificationDir() { - if (true) - #endif +@@ -252,7 +252,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_extension__action_browser__action__interactive__test.cc b/www/chromium/files/patch-chrome_browser_extensions_api_extension__action_browser__action__interactive__test.cc index 1bb1f9c1f806..9f6eb2ee06cd 100644 --- 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 @@ -1,11 +1,11 @@ ---- chrome/browser/extensions/api/extension_action/browser_action_interactive_test.cc.orig 2021-05-12 22:05:43 UTC +--- chrome/browser/extensions/api/extension_action/browser_action_interactive_test.cc.orig 2021-07-19 18:45:08 UTC +++ chrome/browser/extensions/api/extension_action/browser_action_interactive_test.cc -@@ -282,7 +282,7 @@ IN_PROC_BROWSER_TEST_F(BrowserActionInteractiveTest, T +@@ -285,7 +285,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_settings__private_prefs__util.cc b/www/chromium/files/patch-chrome_browser_extensions_api_settings__private_prefs__util.cc index 7e13554a197d..e74d885790a6 100644 --- a/www/chromium/files/patch-chrome_browser_extensions_api_settings__private_prefs__util.cc +++ b/www/chromium/files/patch-chrome_browser_extensions_api_settings__private_prefs__util.cc @@ -1,20 +1,20 @@ ---- chrome/browser/extensions/api/settings_private/prefs_util.cc.orig 2021-05-12 22:05:44 UTC +--- chrome/browser/extensions/api/settings_private/prefs_util.cc.orig 2021-07-19 18:45:08 UTC +++ chrome/browser/extensions/api/settings_private/prefs_util.cc -@@ -178,7 +178,7 @@ const PrefsUtil::TypedPrefMap& PrefsUtil::GetAllowlist +@@ -181,7 +181,7 @@ const PrefsUtil::TypedPrefMap& PrefsUtil::GetAllowlist // 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) (*s_allowlist)[::prefs::kUseCustomChromeFrame] = settings_api::PrefType::PREF_TYPE_BOOLEAN; #endif -@@ -192,7 +192,7 @@ const PrefsUtil::TypedPrefMap& PrefsUtil::GetAllowlist +@@ -195,7 +195,7 @@ const PrefsUtil::TypedPrefMap& PrefsUtil::GetAllowlist settings_api::PrefType::PREF_TYPE_NUMBER; // 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) (*s_allowlist)[::prefs::kUsesSystemTheme] = settings_api::PrefType::PREF_TYPE_BOOLEAN; #endif 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 9e0811f6ef6a..10dd794f341c 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-05-12 22:05:44 UTC +--- chrome/browser/extensions/external_provider_impl.cc.orig 2021-07-19 18:45:08 UTC +++ chrome/browser/extensions/external_provider_impl.cc -@@ -796,7 +796,7 @@ void ExternalProviderImpl::CreateExternalProviders( +@@ -797,7 +797,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( -@@ -824,7 +824,7 @@ void ExternalProviderImpl::CreateExternalProviders( +@@ -825,7 +825,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)) && \ BUILDFLAG(CHROMIUM_BRANDING)) provider_list->push_back(std::make_unique( service, 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 4f6a7f31bd46..6dd62acdaec6 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-04-14 18:40:53 UTC +--- chrome/browser/file_system_access/chrome_file_system_access_permission_context.cc.orig 2021-07-19 18:45:08 UTC +++ chrome/browser/file_system_access/chrome_file_system_access_permission_context.cc -@@ -190,7 +190,7 @@ const struct { - {base::DIR_APP_DATA, nullptr, kBlockAllChildren}, - {base::DIR_HOME, FILE_PATH_LITERAL("Library"), kBlockAllChildren}, +@@ -222,7 +222,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__posix.cc b/www/chromium/files/patch-chrome_browser_first__run_first__run__internal__posix.cc index cfcab5adb88e..37e18602f6c5 100644 --- 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 @@ -1,20 +1,20 @@ ---- chrome/browser/first_run/first_run_internal_posix.cc.orig 2021-04-14 18:40:53 UTC +--- chrome/browser/first_run/first_run_internal_posix.cc.orig 2021-07-19 18:45:08 UTC +++ chrome/browser/first_run/first_run_internal_posix.cc @@ -46,7 +46,7 @@ enum class ForcedShowDialogState { ForcedShowDialogState g_forced_show_dialog_state = ForcedShowDialogState::kNotForced; -#if !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 -@@ -97,7 +97,7 @@ void ForceFirstRunDialogShownForTesting(bool shown) { +@@ -96,7 +96,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 41242761d61c..1f192e114dff 100644 --- a/www/chromium/files/patch-chrome_browser_flag__descriptions.cc +++ b/www/chromium/files/patch-chrome_browser_flag__descriptions.cc @@ -1,88 +1,76 @@ ---- chrome/browser/flag_descriptions.cc.orig 2021-06-09 22:13:55 UTC +--- chrome/browser/flag_descriptions.cc.orig 2021-07-19 18:45:08 UTC +++ chrome/browser/flag_descriptions.cc -@@ -5007,7 +5007,7 @@ const char kEnableNewBadgeOnMenuItemsDescription[] = +@@ -5015,7 +5015,7 @@ const char kInstallableInkDropDescription[] = // 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) const char kEnableOopPrintDriversName[] = -@@ -5040,20 +5040,20 @@ const char kRemoteCopyProgressNotificationDescription[ - "Enables progress notifications to be shown for the remote copy feature " - "when receiving a message."; +@@ -5039,10 +5039,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) || // defined(OS_CHROMEOS) --#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) - - const char kDirectManipulationStylusName[] = "Direct Manipulation Stylus"; - const char kDirectManipulationStylusDescription[] = - "If enabled, Chrome will scroll web pages on stylus drag."; - --#endif // defined(OS_WIN) || defined(OS_MAC) || defined(OS_LINUX) || -+#endif // 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) +#if defined(OS_WIN) || defined(OS_MAC) || defined(OS_LINUX) || defined(OS_BSD) const char kCommanderName[] = "Commander"; const char kCommanderDescription[] = -@@ -5069,7 +5069,7 @@ const char kDesktopDetailedLanguageSettingsName[] = +@@ -5058,7 +5058,7 @@ const char kDesktopDetailedLanguageSettingsName[] = const char kDesktopDetailedLanguageSettingsDescription[] = "Enable the new detailed language settings page"; -#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 BUILDFLAG(USE_TCMALLOC) -@@ -5096,20 +5096,20 @@ const char kWebShareDescription[] = +@@ -5085,20 +5085,20 @@ const char kWebShareDescription[] = // 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) || \ defined(OS_MAC) const char kEnableEphemeralGuestProfilesOnDesktopName[] = "Enable ephemeral Guest profiles on Desktop"; const char kEnableEphemeralGuestProfilesOnDesktopDescription[] = "Enables ephemeral Guest profiles on Windows, Linux, and Mac."; -#endif // defined(OS_WIN) || (defined(OS_LINUX) || +#endif // defined(OS_WIN) || (defined(OS_LINUX) || defined(OS_BSD) || // BUILDFLAG(IS_CHROMEOS_LACROS)) || defined(OS_MAC) -#if defined(OS_LINUX) && defined(USE_OZONE) +#if (defined(OS_LINUX) || defined(OS_BSD)) && defined(USE_OZONE) const char kUseOzonePlatformName[] = "Use ozone."; const char kUseOzonePlatformDescription[] = "Use the Ozone/X11 platform implementation on X11."; -#endif // defined(OS_LINUX) && defined(USE_OZONE) +#endif // (defined(OS_LINUX) || defined(OS_BSD)) && defined(USE_OZONE) // Feature flags -------------------------------------------------------------- -@@ -5190,7 +5190,7 @@ const char kAutofillCreditCardUploadDescription[] = +@@ -5184,7 +5184,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[] = -@@ -5199,7 +5199,7 @@ const char kSendWebUIJavaScriptErrorReportsDescription +@@ -5193,7 +5193,7 @@ const char kSendWebUIJavaScriptErrorReportsDescription "will be sent to Google."; #endif -#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) const char kUIDebugToolsName[] = "Debugging tools for UI"; const char kUIDebugToolsDescription[] = diff --git a/www/chromium/files/patch-chrome_browser_flag__descriptions.h b/www/chromium/files/patch-chrome_browser_flag__descriptions.h index 59b088eed300..728321dc3006 100644 --- a/www/chromium/files/patch-chrome_browser_flag__descriptions.h +++ b/www/chromium/files/patch-chrome_browser_flag__descriptions.h @@ -1,82 +1,82 @@ ---- chrome/browser/flag_descriptions.h.orig 2021-06-09 22:13:55 UTC +--- chrome/browser/flag_descriptions.h.orig 2021-07-19 18:45:08 UTC +++ chrome/browser/flag_descriptions.h @@ -22,9 +22,9 @@ #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 -@@ -2919,7 +2919,7 @@ extern const char kEnableNewBadgeOnMenuItemsDescriptio +@@ -2928,7 +2928,7 @@ extern const char kInstallableInkDropDescription[]; // 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) extern const char kEnableOopPrintDriversName[]; -@@ -2940,10 +2940,10 @@ extern const char kRemoteCopyProgressNotificationDescr - extern const char kDirectManipulationStylusName[]; - extern const char kDirectManipulationStylusDescription[]; +@@ -2943,10 +2943,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) || // defined(OS_CHROMEOS) -#if defined(OS_WIN) || defined(OS_MAC) || defined(OS_LINUX) +#if defined(OS_WIN) || defined(OS_MAC) || defined(OS_LINUX) || defined(OS_BSD) extern const char kCommanderName[]; extern const char kCommanderDescription[]; -@@ -2954,7 +2954,7 @@ extern const char kDesktopRestructuredLanguageSettings +@@ -2957,7 +2957,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) #if defined(OS_CHROMEOS) || defined(OS_LINUX) #if BUILDFLAG(USE_TCMALLOC) -@@ -2975,17 +2975,17 @@ extern const char kWebShareDescription[]; +@@ -2978,17 +2978,17 @@ extern const char kWebShareDescription[]; // 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) || \ defined(OS_MAC) extern const char kEnableEphemeralGuestProfilesOnDesktopName[]; extern const char kEnableEphemeralGuestProfilesOnDesktopDescription[]; -#endif // defined(OS_WIN) || (defined(OS_LINUX) || +#endif // defined(OS_WIN) || (defined(OS_LINUX) || defined(OS_BSD) || // BUILDFLAG(IS_CHROMEOS_LACROS)) || defined(OS_MAC) -#if defined(OS_LINUX) && defined(USE_OZONE) +#if (defined(OS_LINUX) || defined(OS_BSD)) && defined(USE_OZONE) extern const char kUseOzonePlatformName[]; extern const char kUseOzonePlatformDescription[]; -#endif // defined(OS_LINUX) && defined(USE_OZONE) +#endif // (defined(OS_LINUX) || defined(OS_BSD)) && defined(USE_OZONE) // Feature flags -------------------------------------------------------------- -@@ -3041,12 +3041,12 @@ extern const char kAutofillCreditCardUploadDescription +@@ -3046,12 +3046,12 @@ extern 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) extern const char kSendWebUIJavaScriptErrorReportsName[]; extern const char kSendWebUIJavaScriptErrorReportsDescription[]; #endif -#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) extern const char kUIDebugToolsName[]; extern const char kUIDebugToolsDescription[]; 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 9353e243748b..91e6d17ca98d 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-04-14 18:40:53 UTC +--- chrome/browser/media/audio_service_util.cc.orig 2021-07-19 18:45:08 UTC +++ chrome/browser/media/audio_service_util.cc @@ -21,7 +21,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) bool GetPolicyOrFeature(const char* policy_name, const base::Feature& feature) { const policy::PolicyMap& policies = g_browser_process->browser_policy_connector() -@@ -43,7 +43,7 @@ bool IsAudioServiceSandboxEnabled() { +@@ -41,7 +41,7 @@ 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) return GetPolicyOrFeature(policy::key::kAudioSandboxEnabled, features::kAudioServiceSandbox); #else diff --git a/www/chromium/files/patch-chrome_browser_media_router_providers_wired__display_wired__display__media__route__provider.cc b/www/chromium/files/patch-chrome_browser_media_router_providers_wired__display_wired__display__media__route__provider.cc deleted file mode 100644 index 4c9207a126d2..000000000000 --- a/www/chromium/files/patch-chrome_browser_media_router_providers_wired__display_wired__display__media__route__provider.cc +++ /dev/null @@ -1,23 +0,0 @@ ---- chrome/browser/media/router/providers/wired_display/wired_display_media_route_provider.cc.orig 2021-04-14 18:40:53 UTC -+++ chrome/browser/media/router/providers/wired_display/wired_display_media_route_provider.cc -@@ -105,6 +105,12 @@ void WiredDisplayMediaRouteProvider::CreateRoute( - bool off_the_record, - CreateRouteCallback callback) { - DCHECK(!base::Contains(presentations_, presentation_id)); -+#if defined(OS_BSD) -+ std::move(callback).Run(base::nullopt, nullptr, -+ std::string("Not implemented"), -+ RouteRequestResult::UNKNOWN_ERROR); -+ return; -+#else - base::Optional display = GetDisplayBySinkId(sink_id); - if (!display) { - std::move(callback).Run(base::nullopt, nullptr, -@@ -131,6 +137,7 @@ void WiredDisplayMediaRouteProvider::CreateRoute( - std::move(callback).Run(route, nullptr, base::nullopt, - RouteRequestResult::OK); - NotifyRouteObservers(); -+#endif - } - - void WiredDisplayMediaRouteProvider::JoinRoute( 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 ac30a2c7a052..ef628a8fe399 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,21 +1,21 @@ ---- chrome/browser/metrics/chrome_browser_main_extra_parts_metrics.cc.orig 2021-05-12 22:05:44 UTC +--- chrome/browser/metrics/chrome_browser_main_extra_parts_metrics.cc.orig 2021-07-19 18:45:08 UTC +++ chrome/browser/metrics/chrome_browser_main_extra_parts_metrics.cc -@@ -63,7 +63,9 @@ +@@ -62,7 +62,9 @@ // of lacros-chrome is complete. #if defined(OS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS) #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" -@@ -72,7 +74,7 @@ +@@ -71,7 +73,7 @@ #include "ui/base/ui_base_features.h" #include "ui/base/x/x11_util.h" #endif -#endif // defined(OS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS) +#endif // defined(OS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS) || defined(OS_BSD) #if defined(USE_OZONE) || defined(USE_X11) #include "ui/events/devices/device_data_manager.h" 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 3baffb487384..3202428e6739 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,24 +1,24 @@ ---- chrome/browser/metrics/chrome_metrics_service_client.cc.orig 2021-05-12 22:05:44 UTC +--- chrome/browser/metrics/chrome_metrics_service_client.cc.orig 2021-07-19 18:45:08 UTC +++ chrome/browser/metrics/chrome_metrics_service_client.cc -@@ -711,10 +711,10 @@ void ChromeMetricsServiceClient::RegisterMetricsServic +@@ -722,10 +722,10 @@ 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) 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) -@@ -1002,7 +1002,7 @@ bool ChromeMetricsServiceClient::RegisterForProfileEve +@@ -1013,7 +1013,7 @@ bool ChromeMetricsServiceClient::RegisterForProfileEve // 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) // This creates the DesktopProfileSessionDurationsServices if it didn't exist // already. metrics::DesktopProfileSessionDurationsServiceFactory::GetForBrowserContext( diff --git a/www/chromium/files/patch-chrome_browser_metrics_perf_cpu__identity.cc b/www/chromium/files/patch-chrome_browser_metrics_perf_cpu__identity.cc new file mode 100644 index 000000000000..1458181621b2 --- /dev/null +++ b/www/chromium/files/patch-chrome_browser_metrics_perf_cpu__identity.cc @@ -0,0 +1,11 @@ +--- chrome/browser/metrics/perf/cpu_identity.cc.orig 2021-07-28 07:40:29 UTC ++++ chrome/browser/metrics/perf/cpu_identity.cc +@@ -106,7 +106,7 @@ CPUIdentity GetCPUIdentity() { + result.release = + #if BUILDFLAG(IS_CHROMEOS_ASH) + base::SysInfo::KernelVersion(); +-#elif defined(OS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS) ++#elif defined(OS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS) || defined(OS_BSD) + base::SysInfo::OperatingSystemVersion(); + #else + #error "Unsupported configuration" 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 index 2103bcac5a1d..ce24977fae8c 100644 --- 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 @@ -1,20 +1,20 @@ ---- chrome/browser/metrics/process_memory_metrics_emitter.cc.orig 2021-04-14 18:40:53 UTC +--- chrome/browser/metrics/process_memory_metrics_emitter.cc.orig 2021-07-19 18:45:08 UTC +++ chrome/browser/metrics/process_memory_metrics_emitter.cc -@@ -514,7 +514,7 @@ void EmitProcessUmaAndUkm(const GlobalMemoryDump::Proc +@@ -516,7 +516,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 -@@ -537,7 +537,7 @@ void EmitProcessUmaAndUkm(const GlobalMemoryDump::Proc +@@ -539,7 +539,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_password__manager_password__store__factory.cc b/www/chromium/files/patch-chrome_browser_password__manager_password__store__factory.cc index d68836ddba11..942b05e1771b 100644 --- a/www/chromium/files/patch-chrome_browser_password__manager_password__store__factory.cc +++ b/www/chromium/files/patch-chrome_browser_password__manager_password__store__factory.cc @@ -1,11 +1,11 @@ ---- chrome/browser/password_manager/password_store_factory.cc.orig 2021-05-12 22:05:44 UTC +--- chrome/browser/password_manager/password_store_factory.cc.orig 2021-07-19 18:45:09 UTC +++ chrome/browser/password_manager/password_store_factory.cc -@@ -167,7 +167,7 @@ PasswordStoreFactory::BuildServiceInstanceFor( +@@ -166,7 +166,7 @@ PasswordStoreFactory::BuildServiceInstanceFor( // 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 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 index a62ccc3702d6..4c9a3801df75 100644 --- a/www/chromium/files/patch-chrome_browser_pdf_pdf__extension__test.cc +++ b/www/chromium/files/patch-chrome_browser_pdf_pdf__extension__test.cc @@ -1,20 +1,25 @@ ---- chrome/browser/pdf/pdf_extension_test.cc.orig 2021-05-12 22:05:44 UTC +--- chrome/browser/pdf/pdf_extension_test.cc.orig 2021-07-19 18:45:09 UTC +++ chrome/browser/pdf/pdf_extension_test.cc -@@ -2180,7 +2180,7 @@ class PDFExtensionClipboardTest : public PDFExtensionT - const std::string& expected) { - // 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) - DoActionAndCheckClipboard(std::move(action), - ui::ClipboardBuffer::kSelection, expected); +@@ -791,11 +791,11 @@ IN_PROC_BROWSER_TEST_F(PDFPluginDisabledTest, DirectNa + } + + // TODO(crbug.com/1201401): fix flakiness and reenable +-#if defined(OS_LINUX) || defined(OS_CHROMEOS) ++#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD) + #define MAYBE_EmbedPdfPlaceholderWithCSP DISABLED_EmbedPdfPlaceholderWithCSP #else -@@ -2312,7 +2312,7 @@ IN_PROC_BROWSER_TEST_F(PDFExtensionClipboardTest, - // Flaky on ChromeOS (https://crbug.com/1121446) - // 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) + #define MAYBE_EmbedPdfPlaceholderWithCSP EmbedPdfPlaceholderWithCSP +-#endif // defined(OS_LINUX) || defined(OS_CHROMEOS) ++#endif // defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD) + IN_PROC_BROWSER_TEST_F(PDFPluginDisabledTest, + MAYBE_EmbedPdfPlaceholderWithCSP) { + // Navigate to a page with CSP that uses to embed a PDF as a plugin. +@@ -2332,7 +2332,7 @@ IN_PROC_BROWSER_TEST_F(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__manager_policies_policy__features.cc b/www/chromium/files/patch-chrome_browser_performance__manager_policies_policy__features.cc deleted file mode 100644 index b401971734e8..000000000000 --- a/www/chromium/files/patch-chrome_browser_performance__manager_policies_policy__features.cc +++ /dev/null @@ -1,11 +0,0 @@ ---- chrome/browser/performance_manager/policies/policy_features.cc.orig 2021-05-12 22:05:44 UTC -+++ chrome/browser/performance_manager/policies/policy_features.cc -@@ -125,7 +125,7 @@ const base::Feature kPageFreezingFromPerformanceManage - - const base::Feature kUrgentDiscardingFromPerformanceManager{ - "UrgentDiscardingFromPerformanceManager", --#if BUILDFLAG(IS_CHROMEOS_ASH) || defined(OS_LINUX) -+#if BUILDFLAG(IS_CHROMEOS_ASH) || defined(OS_LINUX) || defined(OS_BSD) - base::FEATURE_DISABLED_BY_DEFAULT - #else - base::FEATURE_ENABLED_BY_DEFAULT diff --git a/www/chromium/files/patch-chrome_browser_performance__monitor_process__metrics__recorder.cc b/www/chromium/files/patch-chrome_browser_performance__monitor_process__metrics__recorder.cc deleted file mode 100644 index b03918f8cc5a..000000000000 --- a/www/chromium/files/patch-chrome_browser_performance__monitor_process__metrics__recorder.cc +++ /dev/null @@ -1,11 +0,0 @@ ---- chrome/browser/performance_monitor/process_metrics_recorder.cc.orig 2021-05-12 22:05:44 UTC -+++ chrome/browser/performance_monitor/process_metrics_recorder.cc -@@ -32,7 +32,7 @@ void RecordProcessHistograms(const char* histogram_suf - ""), - metrics.cpu_usage * kCPUUsageFactor, kCPUUsageHistogramMin, - kCPUUsageHistogramMax, kCPUUsageHistogramBucketCount); --#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) - base::UmaHistogramCounts10000( - base::JoinString({"PerformanceMonitor.IdleWakeUps.", histogram_suffix}, diff --git a/www/chromium/files/patch-chrome_browser_policy_browser__signin__policy__handler.cc b/www/chromium/files/patch-chrome_browser_policy_browser__signin__policy__handler.cc index 163f35d9d676..2c2f9eb096cc 100644 --- a/www/chromium/files/patch-chrome_browser_policy_browser__signin__policy__handler.cc +++ b/www/chromium/files/patch-chrome_browser_policy_browser__signin__policy__handler.cc @@ -1,11 +1,11 @@ ---- chrome/browser/policy/browser_signin_policy_handler.cc.orig 2021-04-14 18:40:54 UTC +--- chrome/browser/policy/browser_signin_policy_handler.cc.orig 2021-07-19 18:45:09 UTC +++ chrome/browser/policy/browser_signin_policy_handler.cc @@ -52,7 +52,7 @@ void BrowserSigninPolicyHandler::ApplyPolicySettings(c } - switch (static_cast(int_value)) { + switch (static_cast(value->GetInt())) { case BrowserSigninMode::kForced: -#if !defined(OS_LINUX) && !defined(OS_CHROMEOS) +#if !defined(OS_LINUX) && !defined(OS_CHROMEOS) && !defined(OS_BSD) prefs->SetValue(prefs::kForceBrowserSignin, base::Value(true)); #endif FALLTHROUGH; 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 a4bfbcde9c17..7565ed62ee3e 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,67 +1,68 @@ ---- chrome/browser/policy/configuration_policy_handler_list_factory.cc.orig 2021-05-12 22:05:44 UTC +--- chrome/browser/policy/configuration_policy_handler_list_factory.cc.orig 2021-07-19 18:45:09 UTC +++ chrome/browser/policy/configuration_policy_handler_list_factory.cc -@@ -1293,11 +1293,11 @@ const PolicyToPreferenceMapEntry kSimplePolicyMap[] = +@@ -1308,11 +1308,11 @@ 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, -@@ -1650,14 +1650,14 @@ std::unique_ptr BuildH +@@ -1663,7 +1663,7 @@ std::unique_ptr BuildH SimpleSchemaValidatingPolicyHandler::MANDATORY_ALLOWED)); #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) +-#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) handlers->AddHandler( std::make_unique< - enterprise_connectors::EnterpriseConnectorsPolicyHandler>( +@@ -1671,7 +1671,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) +-#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) #if defined(OS_CHROMEOS) - handlers->AddHandler(std::make_unique( -@@ -2012,13 +2012,13 @@ std::unique_ptr BuildH +@@ -2028,13 +2028,13 @@ std::unique_ptr BuildH SimpleSchemaValidatingPolicyHandler::RECOMMENDED_PROHIBITED, 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) 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) #endif // BUILDFLAG(ENABLE_EXTENSIONS) -@@ -2031,7 +2031,7 @@ std::unique_ptr BuildH +@@ -2056,7 +2056,7 @@ std::unique_ptr BuildH // 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) handlers->AddHandler(std::make_unique( std::make_unique(key::kAllowNativeNotifications, prefs::kAllowNativeNotifications, -@@ -2039,7 +2039,7 @@ std::unique_ptr BuildH +@@ -2064,7 +2064,7 @@ std::unique_ptr BuildH std::make_unique(key::kAllowSystemNotifications, prefs::kAllowSystemNotifications, base::Value::Type::BOOLEAN))); -#endif // defined(OS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS) +#endif // defined(OS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS) || defined(OS_BSD) return handlers; } 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 1dec6f86d1c6..b26510726f6b 100644 --- a/www/chromium/files/patch-chrome_browser_prefs_browser__prefs.cc +++ b/www/chromium/files/patch-chrome_browser_prefs_browser__prefs.cc @@ -1,50 +1,50 @@ ---- chrome/browser/prefs/browser_prefs.cc.orig 2021-05-12 22:05:44 UTC +--- chrome/browser/prefs/browser_prefs.cc.orig 2021-07-19 18:45:09 UTC +++ chrome/browser/prefs/browser_prefs.cc -@@ -386,14 +386,14 @@ +@@ -395,14 +395,14 @@ #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) #include "chrome/browser/web_applications/components/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) #include "chrome/browser/browser_switcher/browser_switcher_prefs.h" #endif -@@ -840,10 +840,10 @@ void RegisterLocalState(PrefRegistrySimple* registry) +@@ -883,10 +883,10 @@ 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) 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) #if defined(OS_MAC) confirm_quit::RegisterLocalState(registry); -@@ -871,7 +871,7 @@ void RegisterLocalState(PrefRegistrySimple* registry) +@@ -914,7 +914,7 @@ void RegisterLocalState(PrefRegistrySimple* registry) #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) web_app::url_handler_prefs::RegisterLocalStatePrefs(registry); #endif -@@ -1153,7 +1153,7 @@ void RegisterProfilePrefs(user_prefs::PrefRegistrySync +@@ -1205,7 +1205,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) browser_switcher::BrowserSwitcherPrefs::RegisterProfilePrefs(registry); #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 a6255af471a6..7274f38c5818 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,29 @@ ---- chrome/browser/printing/print_job_worker.cc.orig 2021-04-14 18:40:54 UTC +--- chrome/browser/printing/print_job_worker.cc.orig 2021-07-19 18:45:09 UTC +++ chrome/browser/printing/print_job_worker.cc -@@ -224,7 +224,7 @@ void PrintJobWorker::UpdatePrintSettings(base::Value n - crash_key = std::make_unique( - print_backend->GetPrinterDriverInfo(printer_name)); +@@ -47,7 +47,7 @@ + #include "printing/printing_features.h" + #endif -#if (defined(OS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS)) && defined(USE_CUPS) +#if (defined(OS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS) || defined(OS_BSD)) && defined(USE_CUPS) + #include "printing/mojom/print.mojom.h" + #endif + +@@ -228,7 +228,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)) { - base::Value advanced_settings(base::Value::Type::DICTIONARY); -@@ -234,7 +234,7 @@ void PrintJobWorker::UpdatePrintSettings(base::Value n + if (print_backend->GetPrinterBasicInfo(printer_name, &basic_info) == + mojom::ResultCode::kSuccess) { +@@ -239,7 +239,7 @@ void PrintJobWorker::UpdatePrintSettings(base::Value n new_settings.SetKey(kSettingAdvancedSettings, std::move(advanced_settings)); } --#endif // (defined(OS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS)) && -+#endif // (defined(OS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS) || defined(OS_BSD)) && - // defined(USE_CUPS) +-#endif // defined(OS_LINUX) && defined(USE_CUPS) ++#endif // (defined(OS_LINUX) || defined(OS_BSD)) && defined(USE_CUPS) } + PrintingContext::Result 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 39db6078c3c7..59e5c6ede8bf 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-05-12 22:05:44 UTC +--- chrome/browser/profiles/chrome_browser_main_extra_parts_profiles.cc.orig 2021-07-19 18:45:09 UTC +++ chrome/browser/profiles/chrome_browser_main_extra_parts_profiles.cc -@@ -349,7 +349,7 @@ void ChromeBrowserMainExtraPartsProfiles:: +@@ -361,7 +361,7 @@ void ChromeBrowserMainExtraPartsProfiles:: // 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) metrics::DesktopProfileSessionDurationsServiceFactory::GetInstance(); #endif ModelTypeStoreServiceFactory::GetInstance(); diff --git a/www/chromium/files/patch-chrome_browser_profiles_profile.cc b/www/chromium/files/patch-chrome_browser_profiles_profile.cc index 33250bb38305..c17915b8cc92 100644 --- a/www/chromium/files/patch-chrome_browser_profiles_profile.cc +++ b/www/chromium/files/patch-chrome_browser_profiles_profile.cc @@ -1,11 +1,11 @@ ---- chrome/browser/profiles/profile.cc.orig 2021-05-12 22:05:44 UTC +--- chrome/browser/profiles/profile.cc.orig 2021-07-19 18:45:09 UTC +++ chrome/browser/profiles/profile.cc -@@ -376,7 +376,7 @@ bool Profile::IsIncognitoProfile() const { +@@ -385,7 +385,7 @@ bool Profile::IsIncognitoProfile() const { bool Profile::IsEphemeralGuestProfileEnabled() { // 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) || \ defined(OS_MAC) return base::FeatureList::IsEnabled( features::kEnableEphemeralGuestProfilesOnDesktop); diff --git a/www/chromium/files/patch-chrome_browser_profiles_profile__attributes__entry.cc b/www/chromium/files/patch-chrome_browser_profiles_profile__attributes__entry.cc index 304842f01f61..6fd0273fc570 100644 --- a/www/chromium/files/patch-chrome_browser_profiles_profile__attributes__entry.cc +++ b/www/chromium/files/patch-chrome_browser_profiles_profile__attributes__entry.cc @@ -1,11 +1,11 @@ ---- chrome/browser/profiles/profile_attributes_entry.cc.orig 2021-05-12 22:05:44 UTC +--- chrome/browser/profiles/profile_attributes_entry.cc.orig 2021-07-19 18:45:09 UTC +++ chrome/browser/profiles/profile_attributes_entry.cc -@@ -159,7 +159,7 @@ void ProfileAttributesEntry::Initialize(ProfileInfoCac - if (is_force_signin_enabled_) { - if (!IsAuthenticated()) +@@ -163,7 +163,7 @@ void ProfileAttributesEntry::Initialize(ProfileInfoCac + base::FeatureList::IsEnabled(features::kForceSignInReauth))) { is_force_signin_profile_locked_ = true; + } -#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_WIN) } else if (IsSigninRequired()) { // Profiles that require signin in the absence of an enterprise policy are 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 58fabfe570e8..fe98bcd27603 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-05-12 22:05:44 UTC +--- chrome/browser/profiles/profiles_state.cc.orig 2021-07-19 18:45:09 UTC +++ chrome/browser/profiles/profiles_state.cc -@@ -227,7 +227,7 @@ bool IsRegularOrGuestSession(Browser* browser) { +@@ -185,7 +185,7 @@ bool IsRegularOrGuestSession(Browser* browser) { bool IsGuestModeRequested(const base::CommandLine& command_line, 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) DCHECK(local_state); 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 index 0fb329c8fca4..19a8a5eed6b6 100644 --- 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 @@ -1,11 +1,11 @@ ---- chrome/browser/renderer_context_menu/render_view_context_menu.cc.orig 2021-05-12 22:05:44 UTC +--- chrome/browser/renderer_context_menu/render_view_context_menu.cc.orig 2021-07-19 18:45:09 UTC +++ chrome/browser/renderer_context_menu/render_view_context_menu.cc -@@ -2148,7 +2148,7 @@ bool RenderViewContextMenu::IsCommandIdEnabled(int id) +@@ -2176,7 +2176,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 e702f0d14fd8..dc1a762d4609 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-05-12 22:05:44 UTC +--- chrome/browser/renderer_preferences_util.cc.orig 2021-07-19 18:45:09 UTC +++ chrome/browser/renderer_preferences_util.cc @@ -42,7 +42,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" -@@ -171,7 +171,7 @@ void UpdateFromSystemSettings(blink::RendererPreferenc +@@ -170,7 +170,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()) { -@@ -190,7 +190,7 @@ void UpdateFromSystemSettings(blink::RendererPreferenc +@@ -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) content::UpdateFontRendererPreferencesFromSystemSettings(prefs); #endif diff --git a/www/chromium/files/patch-chrome_browser_resources_media__router_extension_src_utils_platform__utils.js b/www/chromium/files/patch-chrome_browser_resources_media__router_extension_src_utils_platform__utils.js deleted file mode 100644 index ee9ff1a103bf..000000000000 --- a/www/chromium/files/patch-chrome_browser_resources_media__router_extension_src_utils_platform__utils.js +++ /dev/null @@ -1,11 +0,0 @@ ---- chrome/browser/resources/media_router/extension/src/utils/platform_utils.js.orig 2021-06-11 09:26:56 UTC -+++ chrome/browser/resources/media_router/extension/src/utils/platform_utils.js -@@ -58,5 +58,8 @@ mr.PlatformUtils.getCurrentOS = function() { - if (userAgent.includes('Linux')) { - return mr.PlatformUtils.OS.LINUX; - } -+ if (userAgent.includes('FreeBSD')) { -+ return mr.PlatformUtils.OS.LINUX; -+ } - return mr.PlatformUtils.OS.OTHER; - }; diff --git a/www/chromium/files/patch-chrome_browser_resources_settings_route.js b/www/chromium/files/patch-chrome_browser_resources_settings_route.js index e813d2950790..bbd253a01b81 100644 --- a/www/chromium/files/patch-chrome_browser_resources_settings_route.js +++ b/www/chromium/files/patch-chrome_browser_resources_settings_route.js @@ -1,11 +1,11 @@ ---- chrome/browser/resources/settings/route.js.orig 2021-06-11 09:29:55 UTC +--- chrome/browser/resources/settings/route.js.orig 2021-07-19 18:45:09 UTC +++ chrome/browser/resources/settings/route.js -@@ -183,7 +183,7 @@ function createBrowserSettingsRoutes() { +@@ -184,7 +184,7 @@ function createBrowserSettingsRoutes() { r.ACCESSIBILITY = r.ADVANCED.createSection('/accessibility', 'a11y'); - // + // r.CAPTIONS = r.ACCESSIBILITY.createChild('/captions'); // diff --git a/www/chromium/files/patch-chrome_browser_search_drive_drive__service.cc b/www/chromium/files/patch-chrome_browser_search_drive_drive__service.cc index 9a7c1b397c42..e650cbd3c101 100644 --- a/www/chromium/files/patch-chrome_browser_search_drive_drive__service.cc +++ b/www/chromium/files/patch-chrome_browser_search_drive_drive__service.cc @@ -1,11 +1,11 @@ ---- chrome/browser/search/drive/drive_service.cc.orig 2021-06-10 11:15:16 UTC +--- chrome/browser/search/drive/drive_service.cc.orig 2021-07-19 18:45:09 UTC +++ chrome/browser/search/drive/drive_service.cc -@@ -19,6 +19,8 @@ namespace { +@@ -27,6 +27,8 @@ namespace { constexpr char kDriveScope[] = "https://www.googleapis.com/auth/drive.readonly"; #if OS_LINUX constexpr char kPlatform[] = "LINUX"; +#elif OS_FREEBSD +constexpr char kPlatform[] = "FREEBSD"; #elif OS_WIN constexpr char kPlatform[] = "WINDOWS"; #elif OS_MAC 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 4ea9f3758e34..b766698ee952 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,20 +1,29 @@ ---- chrome/browser/send_tab_to_self/receiving_ui_handler_registry.cc.orig 2021-04-14 18:40:55 UTC +--- chrome/browser/send_tab_to_self/receiving_ui_handler_registry.cc.orig 2021-07-19 18:45:09 UTC +++ chrome/browser/send_tab_to_self/receiving_ui_handler_registry.cc -@@ -11,7 +11,7 @@ - #include "chrome/browser/profiles/profile.h" - #include "chrome/browser/send_tab_to_self/receiving_ui_handler.h" +@@ -13,7 +13,7 @@ + #include "chrome/browser/ui/send_tab_to_self/send_tab_to_self_toolbar_button_controller.h" + #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) #include "chrome/browser/send_tab_to_self/desktop_notification_handler.h" #endif -@@ -33,7 +33,7 @@ ReceivingUiHandlerRegistry* ReceivingUiHandlerRegistry +@@ -35,7 +35,7 @@ ReceivingUiHandlerRegistry* ReceivingUiHandlerRegistry // Instantiates all the handlers relevant to this platform. 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) - applicable_handlers_.push_back( - std::make_unique(profile)); + + // If STTS 2.0 is enabled the handler will be created when the toolbar +@@ -54,7 +54,7 @@ void ReceivingUiHandlerRegistry::InstantiatePlatformSp + SendTabToSelfToolbarButtonController* + 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) + for (const std::unique_ptr& handler : + applicable_handlers_) { 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 b58d997f47f6..ea033448ba83 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,11 +1,11 @@ ---- chrome/browser/send_tab_to_self/send_tab_to_self_client_service.cc.orig 2021-04-14 18:40:55 UTC +--- chrome/browser/send_tab_to_self/send_tab_to_self_client_service.cc.orig 2021-07-19 18:45:09 UTC +++ chrome/browser/send_tab_to_self/send_tab_to_self_client_service.cc -@@ -40,7 +40,7 @@ void SendTabToSelfClientService::SendTabToSelfModelLoa +@@ -42,7 +42,7 @@ void SendTabToSelfClientService::SendTabToSelfModelLoa 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) // Only respond to notifications corresponding to this service's profile // for these OSes; mobile does not have a Profile. diff --git a/www/chromium/files/patch-chrome_browser_service__sandbox__type.h b/www/chromium/files/patch-chrome_browser_service__sandbox__type.h new file mode 100644 index 000000000000..691d359471fb --- /dev/null +++ b/www/chromium/files/patch-chrome_browser_service__sandbox__type.h @@ -0,0 +1,33 @@ +--- chrome/browser/service_sandbox_type.h.orig 2021-07-28 07:42:53 UTC ++++ chrome/browser/service_sandbox_type.h +@@ -12,8 +12,8 @@ + #include "printing/buildflags/buildflags.h" + #include "sandbox/policy/sandbox_type.h" + +-#if (defined(OS_WIN) || defined(OS_MAC) || defined(OS_LINUX) || \ +- defined(OS_CHROMEOS)) && \ ++#if (defined(OS_WIN) || defined(OS_MAC) || defined(OS_LINUX) || defined(OS_BSD) || \ ++ defined(OS_CHROMEOS)) && \ + BUILDFLAG(ENABLE_PRINTING) + #include "chrome/browser/printing/print_backend_service_manager.h" + #endif +@@ -127,8 +127,8 @@ content::GetServiceSandboxTypeGetBoolean(spellcheck::prefs::kSpellCheckEnable)) { -@@ -475,7 +475,7 @@ ChromeSyncClient::CreateDataTypeControllers(syncer::Sy +@@ -480,7 +480,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_profile__sync__service__factory.cc b/www/chromium/files/patch-chrome_browser_sync_profile__sync__service__factory.cc index 8dc23b6fff54..9f3d3f9dac08 100644 --- a/www/chromium/files/patch-chrome_browser_sync_profile__sync__service__factory.cc +++ b/www/chromium/files/patch-chrome_browser_sync_profile__sync__service__factory.cc @@ -1,20 +1,20 @@ ---- chrome/browser/sync/profile_sync_service_factory.cc.orig 2021-04-14 18:40:55 UTC +--- chrome/browser/sync/profile_sync_service_factory.cc.orig 2021-07-19 18:45:09 UTC +++ chrome/browser/sync/profile_sync_service_factory.cc -@@ -213,7 +213,7 @@ KeyedService* ProfileSyncServiceFactory::BuildServiceI +@@ -217,7 +217,7 @@ KeyedService* ProfileSyncServiceFactory::BuildServiceI // 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); -@@ -231,7 +231,7 @@ KeyedService* ProfileSyncServiceFactory::BuildServiceI +@@ -235,7 +235,7 @@ KeyedService* ProfileSyncServiceFactory::BuildServiceI init_params.start_behavior = syncer::ProfileSyncService::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 f0cd5ce5aa31..4427d816e1ee 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,56 @@ ---- chrome/browser/task_manager/sampling/task_group.cc.orig 2021-05-12 22:05:45 UTC +--- chrome/browser/task_manager/sampling/task_group.cc.orig 2021-07-19 18:45:09 UTC +++ chrome/browser/task_manager/sampling/task_group.cc -@@ -33,9 +33,9 @@ const int kBackgroundRefreshTypesMask = +@@ -38,9 +38,9 @@ const int kBackgroundRefreshTypesMask = #if defined(OS_WIN) REFRESH_TYPE_START_TIME | REFRESH_TYPE_CPU_TIME | #endif // defined(OS_WIN) -#if defined(OS_LINUX) || defined(OS_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) #if BUILDFLAG(ENABLE_NACL) REFRESH_TYPE_NACL | #endif // BUILDFLAG(ENABLE_NACL) -@@ -114,9 +114,9 @@ TaskGroup::TaskGroup( +@@ -123,9 +123,9 @@ 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) idle_wakeups_per_second_(-1), gpu_memory_has_duplicates_(false), is_backgrounded_(false) { -@@ -129,10 +129,10 @@ TaskGroup::TaskGroup( +@@ -142,10 +142,10 @@ 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())); -@@ -301,14 +301,14 @@ void TaskGroup::OnRefreshNaClDebugStubPortDone(int nac +@@ -329,14 +329,14 @@ 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 bf9eeea29fc0..442b6e7d1208 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,48 +1,49 @@ ---- chrome/browser/task_manager/sampling/task_group.h.orig 2021-04-14 18:40:55 UTC +--- chrome/browser/task_manager/sampling/task_group.h.orig 2021-07-19 18:45:09 UTC +++ chrome/browser/task_manager/sampling/task_group.h -@@ -40,7 +40,7 @@ constexpr int kUnsupportedVMRefreshFlags = +@@ -41,7 +41,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; -@@ -123,9 +123,9 @@ class TaskGroup { - int nacl_debug_stub_port() const { return nacl_debug_stub_port_; } +@@ -147,10 +147,10 @@ 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_; } - -@@ -139,9 +139,9 @@ class TaskGroup { + void set_idle_wakeups_per_second(int idle_wakeups) { +@@ -167,9 +167,9 @@ 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) void OnCpuRefreshDone(double cpu_usage); void OnSwappedMemRefreshDone(int64_t swapped_mem_bytes); -@@ -210,10 +210,10 @@ class TaskGroup { +@@ -239,10 +239,10 @@ 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_; 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 9dd8365bf649..69ed2530f60f 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,50 @@ ---- chrome/browser/task_manager/sampling/task_group_sampler.h.orig 2021-04-14 18:40:55 UTC +--- 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 -@@ -32,9 +32,9 @@ class TaskGroupSampler : public base::RefCountedThread +@@ -31,9 +31,9 @@ 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) using OnProcessPriorityCallback = base::RepeatingCallback; TaskGroupSampler( -@@ -43,9 +43,9 @@ class TaskGroupSampler : public base::RefCountedThread +@@ -42,9 +42,9 @@ class TaskGroupSampler : public base::RefCountedThread const OnCpuRefreshCallback& on_cpu_refresh, const OnSwappedMemRefreshCallback& on_memory_refresh, const OnIdleWakeupsCallback& on_idle_wakeups, -#if defined(OS_LINUX) || defined(OS_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) const OnProcessPriorityCallback& on_process_priority); - // Refreshes the expensive process' stats (CPU usage, memory usage, and idle -@@ -60,9 +60,9 @@ class TaskGroupSampler : public base::RefCountedThread + TaskGroupSampler(const TaskGroupSampler&) = delete; +@@ -62,9 +62,9 @@ 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) bool RefreshProcessPriority(); // The process that holds the handle that we own so that we can use it for -@@ -84,9 +84,9 @@ class TaskGroupSampler : public base::RefCountedThread +@@ -86,9 +86,9 @@ class TaskGroupSampler : public base::RefCountedThread const OnCpuRefreshCallback on_cpu_refresh_callback_; const OnSwappedMemRefreshCallback on_swapped_mem_refresh_callback_; const OnIdleWakeupsCallback on_idle_wakeups_callback_; -#if defined(OS_LINUX) || defined(OS_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) 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 2c0a5994a470..3eca0ac2d0ad 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,16 @@ ---- chrome/browser/task_manager/sampling/task_manager_impl.cc.orig 2021-05-12 22:05:45 UTC +--- 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 -@@ -213,11 +213,11 @@ void TaskManagerImpl::GetUSERHandles(TaskId task_id, +@@ -217,11 +217,11 @@ 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 77111779aba6..3489fa191a1c 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,16 @@ ---- chrome/browser/task_manager/task_manager_observer.h.orig 2021-05-12 22:05:45 UTC +--- chrome/browser/task_manager/task_manager_observer.h.orig 2021-07-19 18:45:09 UTC +++ chrome/browser/task_manager/task_manager_observer.h -@@ -47,11 +47,11 @@ enum RefreshType { +@@ -46,11 +46,11 @@ 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_ui_BUILD.gn b/www/chromium/files/patch-chrome_browser_ui_BUILD.gn index 5a6da10d2346..53f39b1c2008 100644 --- a/www/chromium/files/patch-chrome_browser_ui_BUILD.gn +++ b/www/chromium/files/patch-chrome_browser_ui_BUILD.gn @@ -1,22 +1,34 @@ ---- chrome/browser/ui/BUILD.gn.orig 2021-05-12 22:05:45 UTC +--- chrome/browser/ui/BUILD.gn.orig 2021-07-19 18:45:09 UTC +++ chrome/browser/ui/BUILD.gn -@@ -648,11 +648,18 @@ static_library("ui") { - deps += [ "//components/autofill/content/browser/webauthn" ] +@@ -615,7 +615,7 @@ static_library("ui") { + deps += [ "//chrome/browser/vr:vr_base" ] } - if (!is_fuchsia) { + if (!is_fuchsia && !is_bsd) { # TODO(crbug.com/753619): Enable crash reporting on Fuchsia. deps += [ "//components/crash/core/app", - "//components/crash/core/browser", -+ ] -+ } -+ +@@ -623,6 +623,13 @@ static_library("ui") { + ] + } + + if (is_bsd) { + sources -= [ + "webui/crashes_ui.cc", + "webui/crashes_ui.h", - ] ++ ] ++ } ++ + if (is_win || is_android || is_linux || is_chromeos) { + sources += [ + "webui/sandbox/sandbox_internals_ui.cc", +@@ -3425,7 +3432,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", 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 699789496981..5f13fc7c621b 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-04-14 18:40:55 UTC +--- chrome/browser/ui/browser_command_controller.cc.orig 2021-07-19 18:45:10 UTC +++ chrome/browser/ui/browser_command_controller.cc -@@ -88,7 +88,7 @@ +@@ -89,7 +89,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 -@@ -256,7 +256,7 @@ bool BrowserCommandController::IsReservedCommandOrKey( +@@ -257,7 +257,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 = -@@ -496,7 +496,7 @@ bool BrowserCommandController::ExecuteCommandWithDispo +@@ -493,7 +493,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; -@@ -1013,7 +1013,7 @@ void BrowserCommandController::InitCommandState() { +@@ -989,7 +989,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 new file mode 100644 index 000000000000..0d13cced8a27 --- /dev/null +++ b/www/chromium/files/patch-chrome_browser_ui_browser__dialogs.h @@ -0,0 +1,11 @@ +--- chrome/browser/ui/browser_dialogs.h.orig 2021-07-28 07:44:03 UTC ++++ chrome/browser/ui/browser_dialogs.h +@@ -121,7 +121,7 @@ void ShowWebAppInstallDialog(content::WebContents* web + std::unique_ptr web_app_info, + AppInstallationAcceptanceCallback callback); + +-#if defined(OS_WIN) || defined(OS_MAC) || defined(OS_LINUX) ++#if defined(OS_WIN) || defined(OS_MAC) || defined(OS_LINUX) || defined(OS_BSD) + // Callback used to indicate whether a user has accepted the launch of a + // web app. The boolean parameter is true when the user accepts the dialog. + using WebAppProtocolHandlerAcceptanceCallback = 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 697b2f071ad3..4b2a8716fc5c 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,29 +1,44 @@ ---- chrome/browser/ui/startup/startup_browser_creator.cc.orig 2021-06-10 11:17:17 UTC +--- chrome/browser/ui/startup/startup_browser_creator.cc.orig 2021-07-19 18:45:10 UTC +++ chrome/browser/ui/startup/startup_browser_creator.cc -@@ -125,7 +125,7 @@ +@@ -126,12 +126,12 @@ + #include "ui/base/ui_base_features.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) + #include "chrome/browser/ui/startup/web_app_protocol_handling_startup_utils.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) #include "chrome/browser/web_applications/components/url_handler_launch_params.h" #include "chrome/browser/web_applications/components/url_handler_manager_impl.h" - #include "third_party/blink/public/common/features.h" -@@ -510,7 +510,7 @@ bool MaybeLaunchApplication( + #endif +@@ -471,7 +471,7 @@ bool MaybeLaunchApplication( } #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 |command_line| contains a single URL argument and that URL matches URL // handling registration from installed web apps, show app options to user and // launch one if accepted. -@@ -1061,7 +1061,7 @@ bool StartupBrowserCreator::ProcessCmdLineImpl( +@@ -999,7 +999,7 @@ bool StartupBrowserCreator::ProcessCmdLineImpl( + } + } + +-#if defined(OS_WIN) || defined(OS_MAC) || defined(OS_LINUX) ++#if defined(OS_WIN) || defined(OS_MAC) || defined(OS_LINUX) || defined(OS_BSD) + // Web app Protocol handling. + auto startup_callback = base::BindOnce( + [](bool process_startup, const base::CommandLine& command_line, +@@ -1060,7 +1060,7 @@ bool StartupBrowserCreator::StartupLaunchAfterProtocol // Web app URL handling. #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 (MaybeLaunchUrlHandlerWebApp(command_line, cur_dir, std::make_unique())) { return true; 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 4847977ad5ef..4c6a9158ec1f 100644 --- a/www/chromium/files/patch-chrome_browser_ui_tab__helpers.cc +++ b/www/chromium/files/patch-chrome_browser_ui_tab__helpers.cc @@ -1,25 +1,25 @@ ---- chrome/browser/ui/tab_helpers.cc.orig 2021-05-12 22:05:45 UTC +--- chrome/browser/ui/tab_helpers.cc.orig 2021-07-19 18:45:10 UTC +++ chrome/browser/ui/tab_helpers.cc -@@ -150,7 +150,7 @@ - #include "chrome/browser/ui/app_list/search/cros_action_history/cros_action_recorder_tab_tracker.h" +@@ -155,7 +155,7 @@ + #include "chrome/browser/lacros/web_contents_can_go_back_observer.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) #include "chrome/browser/ui/blocked_content/framebust_block_tab_helper.h" #include "chrome/browser/ui/hats/hats_helper.h" -@@ -414,11 +414,11 @@ void TabHelpers::AttachTabHelpers(WebContents* web_con +@@ -423,11 +423,11 @@ 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) 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 (base::FeatureList::IsEnabled( features::kHappinessTrackingSurveysForDesktopDemo)) { 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 169bdfe15f85..93122f906e77 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,50 @@ ---- chrome/browser/ui/task_manager/task_manager_table_model.cc.orig 2021-05-12 22:05:45 UTC +--- chrome/browser/ui/task_manager/task_manager_table_model.cc.orig 2021-07-19 18:45:10 UTC +++ chrome/browser/ui/task_manager/task_manager_table_model.cc -@@ -449,13 +449,13 @@ std::u16string TaskManagerTableModel::GetText(int row, +@@ -450,13 +450,13 @@ 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( -@@ -615,7 +615,7 @@ int TaskManagerTableModel::CompareValues(int row1, +@@ -616,7 +616,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]); -@@ -623,7 +623,7 @@ int TaskManagerTableModel::CompareValues(int row1, +@@ -624,7 +624,7 @@ int TaskManagerTableModel::CompareValues(int row1, observed_task_manager()->GetOpenFdCount(tasks_[row2]); return ValueCompare(proc1_fd_count, proc2_fd_count); } -#endif // defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_MAC) +#endif // defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_MAC) || defined(OS_BSD) default: NOTREACHED(); -@@ -789,11 +789,11 @@ void TaskManagerTableModel::UpdateRefreshTypes(int col +@@ -790,11 +790,11 @@ 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_views_accelerator__table.cc b/www/chromium/files/patch-chrome_browser_ui_views_accelerator__table.cc index ddaa3ef2dcc6..dcec6207d8fc 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,46 @@ ---- chrome/browser/ui/views/accelerator_table.cc.orig 2021-04-14 18:40:55 UTC +--- chrome/browser/ui/views/accelerator_table.cc.orig 2021-07-19 18:45:10 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}, @@ -138,14 +138,14 @@ 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) - // On Chrome OS, VKEY_BROWSER_SEARCH is handled in Ash. + #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_chrome__browser__main__extra__parts__views.cc b/www/chromium/files/patch-chrome_browser_ui_views_chrome__browser__main__extra__parts__views.cc index 5035f8cb1bea..89ac2c80c9c0 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,38 @@ ---- chrome/browser/ui/views/chrome_browser_main_extra_parts_views.cc.orig 2021-04-14 18:40:55 UTC +--- chrome/browser/ui/views/chrome_browser_main_extra_parts_views.cc.orig 2021-07-19 18:45:10 UTC +++ chrome/browser/ui/views/chrome_browser_main_extra_parts_views.cc -@@ -38,7 +38,7 @@ +@@ -40,7 +40,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 -@@ -48,7 +48,7 @@ +@@ -50,7 +50,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 { -@@ -131,7 +131,7 @@ void ChromeBrowserMainExtraPartsViews::PreProfileInit( +@@ -135,7 +135,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. -@@ -162,7 +162,7 @@ void ChromeBrowserMainExtraPartsViews::PreProfileInit( +@@ -166,7 +166,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_download_download__item__view.cc b/www/chromium/files/patch-chrome_browser_ui_views_download_download__item__view.cc index 427d9f99c7c3..1b49df8903bc 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-04-14 18:40:55 UTC +--- chrome/browser/ui/views/download/download_item_view.cc.orig 2021-07-19 18:45:10 UTC +++ chrome/browser/ui/views/download/download_item_view.cc -@@ -188,7 +188,7 @@ bool UseNewWarnings() { +@@ -185,7 +185,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 -@@ -196,7 +196,7 @@ int GetFilenameStyle(const views::Label& label) { +@@ -193,7 +193,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_frame_browser__frame.cc b/www/chromium/files/patch-chrome_browser_ui_views_frame_browser__frame.cc index 0dc665cd252d..9314d065ffb8 100644 --- a/www/chromium/files/patch-chrome_browser_ui_views_frame_browser__frame.cc +++ b/www/chromium/files/patch-chrome_browser_ui_views_frame_browser__frame.cc @@ -1,29 +1,52 @@ ---- chrome/browser/ui/views/frame/browser_frame.cc.orig 2021-05-12 22:05:46 UTC +--- chrome/browser/ui/views/frame/browser_frame.cc.orig 2021-07-19 18:45:10 UTC +++ chrome/browser/ui/views/frame/browser_frame.cc -@@ -44,7 +44,7 @@ +@@ -44,11 +44,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 "ui/display/screen.h" #endif -@@ -53,7 +53,7 @@ namespace { +-#if defined(OS_LINUX) ++#if defined(OS_LINUX) || defined(OS_BSD) + #include "ui/views/linux_ui/linux_ui.h" + #endif + +@@ -57,7 +57,7 @@ namespace { bool IsUsingGtkTheme(Profile* profile) { // 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 ThemeServiceFactory::GetForProfile(profile)->UsingSystemTheme(); #else return false; -@@ -221,7 +221,7 @@ void BrowserFrame::OnNativeWidgetWorkspaceChanged() { +@@ -237,7 +237,7 @@ void BrowserFrame::OnNativeWidgetWorkspaceChanged() { IsVisibleOnAllWorkspaces()); // 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 the window was sent to a different workspace, prioritize it if // it was sent to the current workspace and deprioritize it // otherwise. This is done by MoveBrowsersInWorkspaceToFront() +@@ -358,7 +358,7 @@ void BrowserFrame::SelectNativeTheme() { + } + } + +-#if defined(OS_LINUX) ++#if defined(OS_LINUX) || defined(OS_BSD) + if (const views::LinuxUI* linux_ui = views::LinuxUI::instance()) + native_theme = linux_ui->GetNativeTheme(GetNativeWindow()); + #endif +@@ -371,7 +371,7 @@ bool BrowserFrame::RegenerateFrameOnThemeChange( + bool need_regenerate = false; + // 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) + // GTK and user theme changes can both change frame buttons, so the frame + // always needs to be regenerated on Linux. + need_regenerate = true; 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 f3bbeb57a328..96c3636335d1 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,20 +1,11 @@ ---- chrome/browser/ui/views/frame/browser_view.cc.orig 2021-05-12 22:05:46 UTC +--- chrome/browser/ui/views/frame/browser_view.cc.orig 2021-07-19 18:45:10 UTC +++ chrome/browser/ui/views/frame/browser_view.cc -@@ -1563,7 +1563,7 @@ void BrowserView::TabDraggingStatusChanged(bool is_dra +@@ -1586,7 +1586,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 -@@ -1951,7 +1951,7 @@ void BrowserView::UserChangedTheme(BrowserThemeChangeT - bool must_regenerate_frame; - // 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) - // GTK and user theme changes can both change frame buttons, so the frame - // always needs to be regenerated on Linux. - must_regenerate_frame = true; diff --git a/www/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 f88d437a755a..01fd780ef2de 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-04-14 18:40:55 UTC +--- chrome/browser/ui/views/frame/opaque_browser_frame_view.cc.orig 2021-07-19 18:45:10 UTC +++ chrome/browser/ui/views/frame/opaque_browser_frame_view.cc -@@ -51,7 +51,7 @@ +@@ -52,7 +52,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 -@@ -462,7 +462,7 @@ OpaqueBrowserFrameView::FrameButtonStyle +@@ -463,7 +463,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; -@@ -656,7 +656,7 @@ gfx::Rect OpaqueBrowserFrameView::GetIconBounds() cons +@@ -657,7 +657,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(), 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 236289b8191a..051c085e216a 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-04-14 18:40:55 UTC +--- chrome/browser/ui/views/frame/system_menu_model_builder.cc.orig 2021-07-19 18:45:10 UTC +++ chrome/browser/ui/views/frame/system_menu_model_builder.cc -@@ -70,7 +70,7 @@ void SystemMenuModelBuilder::BuildSystemMenuForBrowser +@@ -68,7 +68,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) 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); -@@ -87,7 +87,7 @@ void SystemMenuModelBuilder::BuildSystemMenuForBrowser +@@ -85,7 +85,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) model->AddSeparator(ui::NORMAL_SEPARATOR); model->AddCheckItemWithStringId(IDC_USE_SYSTEM_TITLE_BAR, IDS_SHOW_WINDOW_DECORATIONS_MENU); -@@ -130,7 +130,7 @@ void SystemMenuModelBuilder::BuildSystemMenuForAppOrPo +@@ -128,7 +128,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) model->AddSeparator(ui::NORMAL_SEPARATOR); model->AddItemWithStringId(IDC_CLOSE_WINDOW, IDS_CLOSE); #endif diff --git a/www/chromium/files/patch-chrome_browser_ui_views_frame_system__menu__model__delegate.cc b/www/chromium/files/patch-chrome_browser_ui_views_frame_system__menu__model__delegate.cc index 5cb23e290028..458e7ae62a45 100644 --- a/www/chromium/files/patch-chrome_browser_ui_views_frame_system__menu__model__delegate.cc +++ b/www/chromium/files/patch-chrome_browser_ui_views_frame_system__menu__model__delegate.cc @@ -1,29 +1,29 @@ ---- chrome/browser/ui/views/frame/system_menu_model_delegate.cc.orig 2021-04-14 18:40:55 UTC +--- chrome/browser/ui/views/frame/system_menu_model_delegate.cc.orig 2021-07-19 18:45:10 UTC +++ chrome/browser/ui/views/frame/system_menu_model_delegate.cc -@@ -19,7 +19,7 @@ +@@ -23,7 +23,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/pref_names.h" #include "components/prefs/pref_service.h" #endif -@@ -36,7 +36,7 @@ SystemMenuModelDelegate::~SystemMenuModelDelegate() {} +@@ -40,7 +40,7 @@ SystemMenuModelDelegate::~SystemMenuModelDelegate() {} bool SystemMenuModelDelegate::IsCommandIdChecked(int command_id) 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) if (command_id == IDC_USE_SYSTEM_TITLE_BAR) { PrefService* prefs = browser_->profile()->GetPrefs(); return !prefs->GetBoolean(prefs::kUseCustomChromeFrame); -@@ -52,7 +52,7 @@ bool SystemMenuModelDelegate::IsCommandIdEnabled(int c +@@ -60,7 +60,7 @@ bool SystemMenuModelDelegate::IsCommandIdEnabled(int c bool SystemMenuModelDelegate::IsCommandIdVisible(int command_id) 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) bool is_maximized = browser_->window()->IsMaximized(); switch (command_id) { case IDC_MAXIMIZE_WINDOW: 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 be6611aa92eb..caa8e1fd6443 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-04-14 18:40:55 UTC +--- chrome/browser/ui/views/profiles/profile_menu_view_base.cc.orig 2021-07-19 18:45:10 UTC +++ chrome/browser/ui/views/profiles/profile_menu_view_base.cc -@@ -586,7 +586,7 @@ void ProfileMenuViewBase::SetProfileIdentityInfo( +@@ -604,7 +604,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_tabs_tab.cc b/www/chromium/files/patch-chrome_browser_ui_views_tabs_tab.cc index fe26cd435c31..3d2ec505ef78 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-05-12 22:05:46 UTC +--- chrome/browser/ui/views/tabs/tab.cc.orig 2021-07-19 18:45:10 UTC +++ chrome/browser/ui/views/tabs/tab.cc -@@ -582,7 +582,7 @@ void Tab::MaybeUpdateHoverStatus(const ui::MouseEvent& +@@ -580,7 +580,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 c39053d48c6e..201c3e610835 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-05-12 22:05:46 UTC +--- chrome/browser/ui/views/tabs/tab_drag_controller.cc.orig 2021-07-19 18:45:10 UTC +++ chrome/browser/ui/views/tabs/tab_drag_controller.cc -@@ -456,7 +456,7 @@ void TabDragController::Init(TabDragContext* source_co +@@ -457,7 +457,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()); @@ -918,7 +918,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. -@@ -2145,7 +2145,7 @@ TabDragController::Liveness TabDragController::GetLoca +@@ -2193,7 +2193,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_webui_about__ui.cc b/www/chromium/files/patch-chrome_browser_ui_webui_about__ui.cc index d7cb824e0b47..f1cf64c1f419 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-04-14 18:40:56 UTC +--- chrome/browser/ui/webui/about_ui.cc.orig 2021-07-19 18:45:10 UTC +++ chrome/browser/ui/webui/about_ui.cc -@@ -580,7 +580,7 @@ std::string ChromeURLs() { +@@ -582,7 +582,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, 0, -@@ -636,7 +636,7 @@ void AboutUIHTMLSource::StartDataRequest( +@@ -638,7 +638,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 37296e596a29..95bb4e8f30d5 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,92 +1,92 @@ ---- chrome/browser/ui/webui/chrome_web_ui_controller_factory.cc.orig 2021-05-12 22:05:46 UTC +--- chrome/browser/ui/webui/chrome_web_ui_controller_factory.cc.orig 2021-07-19 18:45:10 UTC +++ chrome/browser/ui/webui/chrome_web_ui_controller_factory.cc -@@ -30,7 +30,9 @@ +@@ -31,7 +31,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" -@@ -272,12 +274,12 @@ +@@ -280,12 +282,12 @@ #include "chrome/browser/ui/webui/conflicts/conflicts_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) #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) #include "chrome/browser/ui/webui/sandbox/sandbox_internals_ui.h" #endif -@@ -496,7 +498,7 @@ bool IsAboutUI(const GURL& url) { +@@ -523,7 +525,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) -@@ -545,8 +547,10 @@ WebUIFactoryFunction GetWebUIFactoryFunction(WebUI* we +@@ -572,8 +574,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) -@@ -927,7 +931,7 @@ WebUIFactoryFunction GetWebUIFactoryFunction(WebUI* we +@@ -969,7 +973,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) || \ defined(USE_AURA) if (url.host_piece() == chrome::kChromeUITabModalConfirmDialogHost) return &NewWebUI; -@@ -971,13 +975,13 @@ WebUIFactoryFunction GetWebUIFactoryFunction(WebUI* we +@@ -1019,13 +1023,13 @@ WebUIFactoryFunction GetWebUIFactoryFunction(WebUI* we return &NewWebUI; } #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 (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) || \ defined(OS_CHROMEOS) if (url.host_piece() == chrome::kChromeUIDiscardsHost) return &NewWebUI; -@@ -985,7 +989,7 @@ WebUIFactoryFunction GetWebUIFactoryFunction(WebUI* we +@@ -1033,7 +1037,7 @@ WebUIFactoryFunction GetWebUIFactoryFunction(WebUI* we // 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 (url.host_piece() == chrome::kChromeUIBrowserSwitchHost) return &NewWebUI; #endif -@@ -1181,8 +1185,10 @@ base::RefCountedMemory* ChromeWebUIControllerFactory:: +@@ -1221,8 +1225,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_ntp_app__launcher__handler.cc b/www/chromium/files/patch-chrome_browser_ui_webui_ntp_app__launcher__handler.cc index 3e444821332d..b61da1dfe144 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,11 +1,11 @@ ---- chrome/browser/ui/webui/ntp/app_launcher_handler.cc.orig 2021-05-12 22:05:46 UTC +--- chrome/browser/ui/webui/ntp/app_launcher_handler.cc.orig 2021-07-19 18:45:10 UTC +++ chrome/browser/ui/webui/ntp/app_launcher_handler.cc -@@ -1396,7 +1396,7 @@ void AppLauncherHandler::InstallOsHooks(const web_app: +@@ -1373,7 +1373,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) 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_settings__localized__strings__provider.cc b/www/chromium/files/patch-chrome_browser_ui_webui_settings_settings__localized__strings__provider.cc index 5c31faca434c..fbc3d6227265 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,20 +1,20 @@ ---- chrome/browser/ui/webui/settings/settings_localized_strings_provider.cc.orig 2021-05-12 22:05:46 UTC +--- chrome/browser/ui/webui/settings/settings_localized_strings_provider.cc.orig 2021-07-19 18:45:10 UTC +++ chrome/browser/ui/webui/settings/settings_localized_strings_provider.cc -@@ -338,7 +338,7 @@ void AddAppearanceStrings(content::WebUIDataSource* ht +@@ -337,7 +337,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) {"systemTheme", IDS_SETTINGS_SYSTEM_THEME}, {"useSystemTheme", IDS_SETTINGS_USE_SYSTEM_THEME}, {"classicTheme", IDS_SETTINGS_CLASSIC_THEME}, -@@ -346,7 +346,7 @@ void AddAppearanceStrings(content::WebUIDataSource* ht +@@ -345,7 +345,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) {"showWindowDecorations", IDS_SHOW_WINDOW_DECORATIONS}, #endif #if defined(OS_MAC) diff --git a/www/chromium/files/patch-chrome_browser_web__applications_components_web__app__file__handler__registration.h b/www/chromium/files/patch-chrome_browser_web__applications_components_web__app__file__handler__registration.h index 5097be46172b..b78451aa5d1c 100644 --- a/www/chromium/files/patch-chrome_browser_web__applications_components_web__app__file__handler__registration.h +++ b/www/chromium/files/patch-chrome_browser_web__applications_components_web__app__file__handler__registration.h @@ -1,11 +1,11 @@ ---- chrome/browser/web_applications/components/web_app_file_handler_registration.h.orig 2021-05-12 22:05:46 UTC +--- chrome/browser/web_applications/components/web_app_file_handler_registration.h.orig 2021-07-19 18:45:10 UTC +++ chrome/browser/web_applications/components/web_app_file_handler_registration.h @@ -42,7 +42,7 @@ void UnregisterFileHandlersWithOs(const AppId& app_id, std::unique_ptr info, - base::OnceCallback callback); + base::OnceCallback callback); -#if defined(OS_LINUX) || defined(OS_CHROMEOS) +#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD) using RegisterMimeTypesOnLinuxCallback = base::OnceCallback; diff --git a/www/chromium/files/patch-chrome_browser_web__applications_components_web__app__protocol__handler__registration.cc b/www/chromium/files/patch-chrome_browser_web__applications_components_web__app__protocol__handler__registration.cc deleted file mode 100644 index edb22367ca2c..000000000000 --- a/www/chromium/files/patch-chrome_browser_web__applications_components_web__app__protocol__handler__registration.cc +++ /dev/null @@ -1,11 +0,0 @@ ---- chrome/browser/web_applications/components/web_app_protocol_handler_registration.cc.orig 2021-06-10 11:20:20 UTC -+++ chrome/browser/web_applications/components/web_app_protocol_handler_registration.cc -@@ -10,7 +10,7 @@ - - namespace web_app { - --#if !(defined(OS_WIN) || defined(OS_MAC) || defined(OS_LINUX)) -+#if !(defined(OS_WIN) || defined(OS_MAC) || defined(OS_LINUX) || defined(OS_BSD)) - // Registers a protocol handler for the web app with the OS. - void RegisterProtocolHandlersWithOs( - const AppId& app_id, diff --git a/www/chromium/files/patch-chrome_browser_web__applications_components_web__app__utils.cc b/www/chromium/files/patch-chrome_browser_web__applications_components_web__app__utils.cc new file mode 100644 index 000000000000..7e2f7da3a998 --- /dev/null +++ b/www/chromium/files/patch-chrome_browser_web__applications_components_web__app__utils.cc @@ -0,0 +1,27 @@ +--- chrome/browser/web_applications/components/web_app_utils.cc.orig 2021-07-28 07:46:50 UTC ++++ chrome/browser/web_applications/components/web_app_utils.cc +@@ -198,13 +198,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()); +@@ -215,7 +215,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) + + return base::UTF8ToUTF16(base::JoinString( + associations, l10n_util::GetStringUTF8( diff --git a/www/chromium/files/patch-chrome_browser_web__applications_pending__app__install__task.cc b/www/chromium/files/patch-chrome_browser_web__applications_externally__managed__app__install__task.cc similarity index 62% rename from www/chromium/files/patch-chrome_browser_web__applications_pending__app__install__task.cc rename to www/chromium/files/patch-chrome_browser_web__applications_externally__managed__app__install__task.cc index 0d5abcf7e73b..586f42d173fc 100644 --- a/www/chromium/files/patch-chrome_browser_web__applications_pending__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/pending_app_install_task.cc.orig 2021-05-12 22:05:46 UTC -+++ chrome/browser/web_applications/pending_app_install_task.cc -@@ -311,7 +311,7 @@ void PendingAppInstallTask::OnWebAppInstalled(bool is_ +--- chrome/browser/web_applications/externally_managed_app_install_task.cc.orig 2021-07-28 07:47:22 UTC ++++ chrome/browser/web_applications/externally_managed_app_install_task.cc +@@ -318,7 +318,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) 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 cd86b668259c..848f6b353548 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-05-12 22:05:46 UTC +--- chrome/browser/web_applications/web_app_install_task.cc.orig 2021-07-19 18:45:10 UTC +++ chrome/browser/web_applications/web_app_install_task.cc -@@ -861,7 +861,7 @@ void WebAppInstallTask::OnInstallFinalizedCreateShortc +@@ -862,7 +862,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) 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 ff3a3f95bf8c..2f5383c2bcca 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-05-12 22:05:46 UTC +--- chrome/browser/web_applications/web_app_provider.cc.orig 2021-07-19 18:45:10 UTC +++ chrome/browser/web_applications/web_app_provider.cc -@@ -237,7 +237,7 @@ void WebAppProvider::CreateWebAppsSubsystems(Profile* +@@ -229,7 +229,7 @@ void WebAppProvider::CreateWebAppsSubsystems(Profile* - std::unique_ptr url_handler_manager = nullptr; + 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) url_handler_manager = std::make_unique(profile); #endif diff --git a/www/chromium/files/patch-chrome_common_BUILD.gn b/www/chromium/files/patch-chrome_common_BUILD.gn index f946906ed434..3416a0ba2728 100644 --- a/www/chromium/files/patch-chrome_common_BUILD.gn +++ b/www/chromium/files/patch-chrome_common_BUILD.gn @@ -1,36 +1,36 @@ ---- chrome/common/BUILD.gn.orig 2021-05-12 22:05:46 UTC +--- chrome/common/BUILD.gn.orig 2021-07-19 18:45:10 UTC +++ chrome/common/BUILD.gn -@@ -253,6 +253,10 @@ static_library("common") { +@@ -257,6 +257,10 @@ static_library("common") { public_deps += [ "//ppapi/shared_impl" ] } + if (is_bsd) { + deps -= [ "//components/crash/core/app" ] + } + if (enable_extensions) { sources += [ "extensions/api/commands/commands_handler.cc", -@@ -480,13 +484,21 @@ static_library("common") { +@@ -484,13 +488,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 c3d10dbcde87..f96130441ac9 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,20 @@ ---- chrome/common/channel_info_posix.cc.orig 2021-05-12 22:05:46 UTC +--- chrome/common/channel_info_posix.cc.orig 2021-07-19 18:45:10 UTC +++ chrome/common/channel_info_posix.cc -@@ -90,7 +90,7 @@ std::string GetChannelSuffixForDataDir() { +@@ -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 -@@ -120,7 +120,7 @@ std::string GetDesktopName(base::Environment* env) { +@@ -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 9e7679b1e5ba..590df2168c31 100644 --- a/www/chromium/files/patch-chrome_common_chrome__features.cc +++ b/www/chromium/files/patch-chrome_common_chrome__features.cc @@ -1,52 +1,52 @@ ---- chrome/common/chrome_features.cc.orig 2021-06-09 22:13:57 UTC +--- chrome/common/chrome_features.cc.orig 2021-07-19 18:45:10 UTC +++ chrome/common/chrome_features.cc -@@ -81,13 +81,13 @@ const base::Feature kAsyncDns { +@@ -83,13 +83,13 @@ const base::Feature kAsyncDns { #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. -@@ -265,7 +265,7 @@ const base::Feature kDesktopPWAsFlashAppNameInsteadOfO +@@ -282,7 +282,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 -@@ -356,13 +356,13 @@ const base::Feature kEnableAllSystemWebApps{"EnableAll +@@ -378,13 +378,13 @@ const base::Feature kEnableAllSystemWebApps{"EnableAll // 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) || \ defined(OS_MAC) COMPONENT_EXPORT(CHROME_FEATURES) // Enables ephemeral Guest profiles on desktop. extern const base::Feature kEnableEphemeralGuestProfilesOnDesktop{ "EnableEphemeralGuestProfilesOnDesktop", base::FEATURE_DISABLED_BY_DEFAULT}; -#endif // defined(OS_WIN) || (defined(OS_LINUX) || +#endif // defined(OS_WIN) || (defined(OS_LINUX) || defined(OS_BSD) || // BUILDFLAG(IS_CHROMEOS_LACROS)) || defined(OS_MAC) #if defined(OS_WIN) -@@ -544,7 +544,7 @@ const base::Feature kIncompatibleApplicationsWarning{ - "IncompatibleApplicationsWarning", base::FEATURE_DISABLED_BY_DEFAULT}; +@@ -566,7 +566,7 @@ const base::Feature kIncognitoBrandConsistencyForAndro + "IncognitoBrandConsistencyForAndroid", base::FEATURE_DISABLED_BY_DEFAULT}; #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) // When enabled, removes any theme or background customization done by the user // on the Incognito UI. diff --git a/www/chromium/files/patch-chrome_common_chrome__features.h b/www/chromium/files/patch-chrome_common_chrome__features.h index a10edda0168a..dc1c03e1f02d 100644 --- a/www/chromium/files/patch-chrome_common_chrome__features.h +++ b/www/chromium/files/patch-chrome_common_chrome__features.h @@ -1,38 +1,38 @@ ---- chrome/common/chrome_features.h.orig 2021-06-09 22:13:57 UTC +--- chrome/common/chrome_features.h.orig 2021-07-19 18:45:10 UTC +++ chrome/common/chrome_features.h -@@ -70,10 +70,10 @@ extern const base::Feature kAppShimNewCloseBehavior; +@@ -69,10 +69,10 @@ extern const base::Feature kAppShimNewCloseBehavior; COMPONENT_EXPORT(CHROME_FEATURES) extern const base::Feature kAsyncDns; -#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; -@@ -234,11 +234,11 @@ extern const base::Feature kEnableAmbientAuthenticatio +@@ -250,11 +250,11 @@ extern const base::Feature kEnableAmbientAuthenticatio // 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) || \ defined(OS_MAC) COMPONENT_EXPORT(CHROME_FEATURES) extern const base::Feature kEnableEphemeralGuestProfilesOnDesktop; -#endif // defined(OS_WIN) || (defined(OS_LINUX) || +#endif // defined(OS_WIN) || (defined(OS_LINUX) || defined(OS_BSD) || // BUILDFLAG(IS_CHROMEOS_LACROS)) || defined(OS_MAC) #if defined(OS_WIN) -@@ -358,7 +358,7 @@ COMPONENT_EXPORT(CHROME_FEATURES) - extern const base::Feature kIncompatibleApplicationsWarning; - #endif // defined(OS_ANDROID) +@@ -374,7 +374,7 @@ COMPONENT_EXPORT(CHROME_FEATURES) + extern const base::Feature kIncognitoBrandConsistencyForAndroid; + #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) COMPONENT_EXPORT(CHROME_FEATURES) extern const base::Feature kIncognitoBrandConsistencyForDesktop; diff --git a/www/chromium/files/patch-chrome_common_chrome__paths.cc b/www/chromium/files/patch-chrome_common_chrome__paths.cc index 29f21126b859..e5809d62f4ce 100644 --- a/www/chromium/files/patch-chrome_common_chrome__paths.cc +++ b/www/chromium/files/patch-chrome_common_chrome__paths.cc @@ -1,92 +1,92 @@ ---- chrome/common/chrome_paths.cc.orig 2021-04-14 18:40:56 UTC +--- chrome/common/chrome_paths.cc.orig 2021-07-19 18:45:10 UTC +++ chrome/common/chrome_paths.cc -@@ -44,15 +44,23 @@ +@@ -43,15 +43,23 @@ 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/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"); #endif // BUILDFLAG(GOOGLE_CHROME_BRANDING) +#endif #endif // defined(OS_LINUX) || defined(OS_CHROMEOS) -@@ -175,7 +183,7 @@ bool PathProvider(int key, base::FilePath* result) { +@@ -172,7 +180,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; -@@ -425,6 +433,9 @@ bool PathProvider(int key, base::FilePath* result) { +@@ -416,6 +424,9 @@ bool PathProvider(int key, base::FilePath* result) { case chrome::DIR_POLICY_FILES: { #if BUILDFLAG(GOOGLE_CHROME_BRANDING) cur = base::FilePath(FILE_PATH_LITERAL("/etc/opt/chrome/policies")); +#elif defined(OS_BSD) + cur = base::FilePath(FILE_PATH_LITERAL( + "/usr/local/etc/chrome/policies")); #else cur = base::FilePath(FILE_PATH_LITERAL("/etc/chromium/policies")); #endif -@@ -436,7 +447,7 @@ bool PathProvider(int key, base::FilePath* result) { +@@ -427,7 +438,7 @@ bool PathProvider(int key, base::FilePath* result) { #if BUILDFLAG(IS_CHROMEOS_ASH) || \ ((defined(OS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS)) && \ BUILDFLAG(CHROMIUM_BRANDING)) || \ - defined(OS_MAC) + defined(OS_MAC) || defined(OS_BSD) case chrome::DIR_USER_EXTERNAL_EXTENSIONS: { if (!base::PathService::Get(chrome::DIR_USER_DATA, &cur)) return false; -@@ -444,7 +455,7 @@ bool PathProvider(int key, base::FilePath* result) { +@@ -435,7 +446,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; -@@ -479,7 +490,7 @@ bool PathProvider(int key, base::FilePath* result) { +@@ -470,7 +481,7 @@ bool PathProvider(int key, base::FilePath* result) { #endif 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 chrome::DIR_NATIVE_MESSAGING: #if defined(OS_MAC) #if BUILDFLAG(GOOGLE_CHROME_BRANDING) -@@ -493,6 +504,9 @@ bool PathProvider(int key, base::FilePath* result) { +@@ -484,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) + cur = base::FilePath(FILE_PATH_LITERAL( + "/usr/local/etc/chrome/native-messaging-hosts")); #else cur = base::FilePath(FILE_PATH_LITERAL( "/etc/chromium/native-messaging-hosts")); -@@ -505,7 +519,7 @@ bool PathProvider(int key, base::FilePath* result) { +@@ -496,7 +510,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 cb0abf26c283..927894223b5e 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-04-14 18:40:56 UTC +--- chrome/common/chrome_paths.h.orig 2021-07-19 18:45:10 UTC +++ chrome/common/chrome_paths.h -@@ -56,7 +56,7 @@ enum { +@@ -57,7 +57,7 @@ enum { #if BUILDFLAG(IS_CHROMEOS_ASH) || \ ((defined(OS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS)) && \ BUILDFLAG(CHROMIUM_BRANDING)) || \ - defined(OS_MAC) + defined(OS_MAC) || defined(OS_BSD) 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 { +@@ -65,7 +65,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 -@@ -111,7 +111,7 @@ enum { +@@ -109,7 +109,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 2a4679643445..1a6a28086ffe 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-05-12 22:05:46 UTC +--- chrome/common/chrome_switches.cc.orig 2021-07-19 18:45:10 UTC +++ chrome/common/chrome_switches.cc -@@ -803,7 +803,7 @@ const char kAllowNaClFileHandleAPI[] = "allow-n +@@ -810,7 +810,7 @@ const char kAllowNaClFileHandleAPI[] = "allow-n const char kAllowNaClSocketAPI[] = "allow-nacl-socket-api"; #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) const char kEnableNewAppMenuIcon[] = "enable-new-app-menu-icon"; diff --git a/www/chromium/files/patch-chrome_common_chrome__switches.h b/www/chromium/files/patch-chrome_common_chrome__switches.h index 971ef7da360d..cb1e3c7a1732 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-05-12 22:05:46 UTC +--- chrome/common/chrome_switches.h.orig 2021-07-19 18:45:10 UTC +++ chrome/common/chrome_switches.h -@@ -253,7 +253,7 @@ extern const char kAllowNaClFileHandleAPI[]; +@@ -254,7 +254,7 @@ extern const char kAllowNaClFileHandleAPI[]; 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) extern const char kEnableNewAppMenuIcon[]; extern const char kGuest[]; diff --git a/www/chromium/files/patch-chrome_common_pref__names.cc b/www/chromium/files/patch-chrome_common_pref__names.cc index b787e20781bc..d798a2d3c94c 100644 --- a/www/chromium/files/patch-chrome_common_pref__names.cc +++ b/www/chromium/files/patch-chrome_common_pref__names.cc @@ -1,62 +1,62 @@ ---- chrome/common/pref_names.cc.orig 2021-05-12 22:05:46 UTC +--- chrome/common/pref_names.cc.orig 2021-07-19 18:45:10 UTC +++ chrome/common/pref_names.cc -@@ -1123,7 +1123,7 @@ const char kAllowedDomainsForApps[] = "settings.allowe +@@ -1125,7 +1125,7 @@ const char kAllowedDomainsForApps[] = "settings.allowe // 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 -@@ -1264,7 +1264,7 @@ const char kShowUpdatePromotionInfoBar[] = +@@ -1228,7 +1228,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"; -@@ -1722,7 +1722,7 @@ const char kDownloadDefaultDirectory[] = "download.def +@@ -1686,7 +1686,7 @@ const char kDownloadDefaultDirectory[] = "download.def // upgrade a unsafe location to a safe location. const char kDownloadDirUpgraded[] = "download.directory_upgrade"; -#if defined(OS_WIN) || defined(OS_LINUX) || defined(OS_CHROMEOS) || \ +#if defined(OS_WIN) || defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD) || \ defined(OS_MAC) const char kOpenPdfDownloadInSystemReader[] = "download.open_pdf_in_system_reader"; -@@ -1993,7 +1993,7 @@ const char kWebAppsUninstalledDefaultChromeApps[] = +@@ -1958,7 +1958,7 @@ const char kWebAppsUninstalledDefaultChromeApps[] = const char kWebAppsPreferences[] = "web_apps.web_app_ids"; #if defined(OS_WIN) || defined(OS_MAC) || \ - (defined(OS_LINUX) && !BUILDFLAG(IS_CHROMEOS_LACROS)) + (defined(OS_LINUX) && !BUILDFLAG(IS_CHROMEOS_LACROS)) || defined(OS_BSD) // Dictionary that maps origins to web apps that can act as URL handlers. const char kWebAppsUrlHandlerInfo[] = "web_apps.url_handler_info"; #endif -@@ -2109,12 +2109,12 @@ const char kAmbientAuthenticationInPrivateModesEnabled +@@ -2074,12 +2074,12 @@ 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) // Boolean that specifies whether NTLMv2 is enabled. -@@ -3015,7 +3015,7 @@ const char kBlockAutoplayEnabled[] = "media.block_auto +@@ -2993,7 +2993,7 @@ const char kBlockAutoplayEnabled[] = "media.block_auto // 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 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"; diff --git a/www/chromium/files/patch-chrome_common_pref__names.h b/www/chromium/files/patch-chrome_common_pref__names.h index 1bf5efd122d4..b8e9f85dd341 100644 --- a/www/chromium/files/patch-chrome_common_pref__names.h +++ b/www/chromium/files/patch-chrome_common_pref__names.h @@ -1,59 +1,59 @@ ---- chrome/common/pref_names.h.orig 2021-05-12 22:05:46 UTC +--- chrome/common/pref_names.h.orig 2021-07-19 18:45:10 UTC +++ chrome/common/pref_names.h -@@ -366,7 +366,7 @@ extern const char kForceYouTubeRestrict[]; +@@ -360,7 +360,7 @@ extern const char kForceYouTubeRestrict[]; extern const char kAllowedDomainsForApps[]; // 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[]; -@@ -395,7 +395,7 @@ extern const char kShowUpdatePromotionInfoBar[]; +@@ -389,7 +389,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) -@@ -567,7 +567,7 @@ extern const char kDownloadExtensionsToOpen[]; +@@ -561,7 +561,7 @@ extern const char kDownloadExtensionsToOpen[]; 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) extern const char kOpenPdfDownloadInSystemReader[]; #endif -@@ -671,7 +671,7 @@ extern const char kWebAppsUninstalledDefaultChromeApps +@@ -665,7 +665,7 @@ extern const char kWebAppsUninstalledDefaultChromeApps extern const char kWebAppsPreferences[]; #if defined(OS_WIN) || defined(OS_MAC) || \ - (defined(OS_LINUX) && !BUILDFLAG(IS_CHROMEOS_LACROS)) + (defined(OS_LINUX) && !BUILDFLAG(IS_CHROMEOS_LACROS)) || defined(OS_BSD) extern const char kWebAppsUrlHandlerInfo[]; #endif -@@ -807,9 +807,9 @@ extern const char kGloballyScopeHTTPAuthCacheEnabled[] +@@ -801,9 +801,9 @@ 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) #if defined(OS_POSIX) extern const char kNtlmV2Enabled[]; -@@ -1042,7 +1042,7 @@ extern const char kBlockAutoplayEnabled[]; +@@ -1039,7 +1039,7 @@ extern const char kBlockAutoplayEnabled[]; // 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 kAllowNativeNotifications[]; extern const char kAllowSystemNotifications[]; #endif 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 9554246a4f3e..99058328f9a9 100644 --- a/www/chromium/files/patch-chrome_common_webui__url__constants.cc +++ b/www/chromium/files/patch-chrome_common_webui__url__constants.cc @@ -1,70 +1,70 @@ ---- chrome/common/webui_url_constants.cc.orig 2021-05-12 22:05:46 UTC +--- chrome/common/webui_url_constants.cc.orig 2021-07-19 18:45:10 UTC +++ chrome/common/webui_url_constants.cc -@@ -358,12 +358,12 @@ const char kChromeUIOSSettingsHost[] = "os-settings"; +@@ -359,12 +359,12 @@ const char kChromeUIOSSettingsHost[] = "os-settings"; const char kChromeUIOSSettingsURL[] = "chrome://os-settings/"; #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) const char kChromeUIDiscardsHost[] = "discards"; const char kChromeUIDiscardsURL[] = "chrome://discards/"; -@@ -378,7 +378,7 @@ const char kChromeUINearbyShareURL[] = "chrome://nearb +@@ -379,7 +379,7 @@ const char kChromeUINearbyShareURL[] = "chrome://nearb const char kChromeUILinuxProxyConfigHost[] = "linux-proxy-config"; #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) const char kChromeUISandboxHost[] = "sandbox"; #endif -@@ -386,7 +386,7 @@ const char kChromeUISandboxHost[] = "sandbox"; +@@ -387,7 +387,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_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[] = -@@ -401,7 +401,7 @@ const char kChromeUIProfilePickerUrl[] = "chrome://pro +@@ -402,7 +402,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) || \ defined(USE_AURA) const char kChromeUITabModalConfirmDialogHost[] = "tab-modal-confirm-dialog"; #endif -@@ -583,14 +583,14 @@ const char* const kChromeHostURLs[] = { +@@ -584,14 +584,14 @@ const char* const kChromeHostURLs[] = { kChromeUIInternetDetailDialogHost, 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) 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) kChromeUISandboxHost, #endif -@@ -649,7 +649,7 @@ const char* const kChromeDebugURLs[] = { - content::kChromeUIGpuJavaCrashURL, +@@ -653,7 +653,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 c1ed02dde8ec..7f2d7d09500e 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,44 @@ ---- chrome/common/webui_url_constants.h.orig 2021-05-12 22:05:46 UTC +--- chrome/common/webui_url_constants.h.orig 2021-07-19 18:45:10 UTC +++ chrome/common/webui_url_constants.h -@@ -308,12 +308,12 @@ extern const char kChromeUIOSSettingsHost[]; +@@ -309,12 +309,12 @@ extern const char kChromeUIOSSettingsHost[]; extern const char kChromeUIOSSettingsURL[]; #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) extern const char kChromeUIDiscardsHost[]; extern const char kChromeUIDiscardsURL[]; -@@ -328,7 +328,7 @@ extern const char kChromeUINearbyShareURL[]; +@@ -329,7 +329,7 @@ extern const char kChromeUINearbyShareURL[]; 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) extern const char kChromeUISandboxHost[]; #endif -@@ -336,7 +336,7 @@ extern const char kChromeUISandboxHost[]; +@@ -337,7 +337,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_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[]; -@@ -348,7 +348,7 @@ extern const char kChromeUIProfilePickerUrl[]; +@@ -349,7 +349,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) || \ defined(USE_AURA) extern const char kChromeUITabModalConfirmDialogHost[]; #endif 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 new file mode 100644 index 000000000000..01fe02d3da8e --- /dev/null +++ b/www/chromium/files/patch-chrome_services_speech_soda_soda__test__paths.h @@ -0,0 +1,11 @@ +--- chrome/services/speech/soda/soda_test_paths.h.orig 2021-07-28 07:49:56 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 62f876089f6a..3f895d679117 100644 --- a/www/chromium/files/patch-chrome_test_BUILD.gn +++ b/www/chromium/files/patch-chrome_test_BUILD.gn @@ -1,29 +1,40 @@ ---- chrome/test/BUILD.gn.orig 2021-06-09 22:13:57 UTC +--- chrome/test/BUILD.gn.orig 2021-07-19 18:45:11 UTC +++ chrome/test/BUILD.gn -@@ -1666,7 +1666,7 @@ if (!is_android) { +@@ -476,6 +476,10 @@ static_library("test_support") { + ] + } + ++ if (is_bsd) { ++ public_deps -= [ "//components/crash/core/app" ] ++ } ++ + if (is_chromeos_lacros) { + deps += [ + "//chromeos/lacros", +@@ -1799,7 +1803,7 @@ if (!is_android) { ] } - if (is_linux || is_chromeos) { + if ((is_linux || is_chromeos) && !is_bsd) { sources += [ "../browser/error_reporting/webui_js_error_reporting_browsertest.cc", ] -@@ -5193,7 +5193,7 @@ test("unit_tests") { +@@ -5425,7 +5429,7 @@ test("unit_tests") { ] } - if (is_linux || is_chromeos) { + if ((is_linux || is_chromeos) && !is_bsd) { deps += [ "//chrome/browser/error_reporting:unit_test" ] } -@@ -7031,7 +7031,7 @@ test("chrome_app_unittests") { +@@ -7354,7 +7358,7 @@ test("chrome_app_unittests") { "//components/safe_browsing:buildflags", "//pdf:pdf_ppapi", ] - if (!is_fuchsia) { + if (!is_fuchsia && !is_bsd) { # TODO(crbug.com/753619): Enable crash reporting on Fuchsia. deps += [ "//third_party/breakpad:client" ] } diff --git a/www/chromium/files/patch-chrome_test_base_in__process__browser__test.cc b/www/chromium/files/patch-chrome_test_base_in__process__browser__test.cc index 5e0ce19ad492..f1ac5eeef45b 100644 --- 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 @@ -1,31 +1,31 @@ ---- chrome/test/base/in_process_browser_test.cc.orig 2021-05-12 22:05:46 UTC +--- chrome/test/base/in_process_browser_test.cc.orig 2021-07-19 18:45:11 UTC +++ chrome/test/base/in_process_browser_test.cc @@ -83,6 +83,10 @@ - #include "services/device/public/cpp/test/fake_geolocation_system_permission.h" + #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" @@ -334,7 +338,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 -@@ -400,7 +404,7 @@ void InProcessBrowserTest::TearDown() { +@@ -403,7 +407,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_interactive__ui__tests__main.cc b/www/chromium/files/patch-chrome_test_base_interactive__ui__tests__main.cc index 3f2c50aabc0e..e4dcf52752f9 100644 --- a/www/chromium/files/patch-chrome_test_base_interactive__ui__tests__main.cc +++ b/www/chromium/files/patch-chrome_test_base_interactive__ui__tests__main.cc @@ -1,20 +1,20 @@ ---- chrome/test/base/interactive_ui_tests_main.cc.orig 2021-05-12 22:05:46 UTC +--- chrome/test/base/interactive_ui_tests_main.cc.orig 2021-07-19 18:45:11 UTC +++ chrome/test/base/interactive_ui_tests_main.cc -@@ -17,7 +17,7 @@ +@@ -19,7 +19,7 @@ #if defined(USE_AURA) #include "ui/aura/test/ui_controls_factory_aura.h" #include "ui/base/test/ui_controls_aura.h" -#if defined(USE_OZONE) && (defined(OS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS)) +#if defined(USE_OZONE) && (defined(OS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS) || defined(OS_BSD)) #include "ui/base/ui_base_features.h" #include "ui/ozone/public/ozone_platform.h" #include "ui/platform_window/common/platform_window_defaults.h" -@@ -53,7 +53,7 @@ class InteractiveUITestSuite : public ChromeTestSuite - com_initializer_.reset(new base::win::ScopedCOMInitializer()); +@@ -57,7 +57,7 @@ class InteractiveUITestSuite : public ChromeTestSuite + com_initializer_ = std::make_unique(); ui_controls::InstallUIControlsAura( aura::test::CreateUIControlsAura(nullptr)); -#elif defined(OS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS) +#elif defined(OS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS) || defined(OS_BSD) #if defined(USE_OZONE) if (features::IsUsingOzonePlatform()) { // Notifies the platform that test config is needed. For Wayland, for 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 index abc7dc942803..9ddaefead968 100644 --- a/www/chromium/files/patch-chrome_test_base_test__browser__window.h +++ b/www/chromium/files/patch-chrome_test_base_test__browser__window.h @@ -1,11 +1,11 @@ ---- chrome/test/base/test_browser_window.h.orig 2021-05-24 22:05:36 UTC +--- chrome/test/base/test_browser_window.h.orig 2021-07-19 18:45:11 UTC +++ chrome/test/base/test_browser_window.h -@@ -179,7 +179,7 @@ class TestBrowserWindow : public BrowserWindow { +@@ -188,7 +188,7 @@ class TestBrowserWindow : public BrowserWindow { void MaybeShowProfileSwitchIPH() override {} #if defined(OS_CHROMEOS) || defined(OS_MAC) || defined(OS_WIN) || \ - defined(OS_LINUX) + defined(OS_LINUX) || defined(OS_BSD) void ShowHatsDialog( const std::string& site_id, base::OnceClosure success_callback, diff --git a/www/chromium/files/patch-chrome_utility_services.cc b/www/chromium/files/patch-chrome_utility_services.cc index 20078fb5d89a..2eebfd5bbd5f 100644 --- a/www/chromium/files/patch-chrome_utility_services.cc +++ b/www/chromium/files/patch-chrome_utility_services.cc @@ -1,29 +1,29 @@ ---- chrome/utility/services.cc.orig 2021-05-12 22:05:48 UTC +--- chrome/utility/services.cc.orig 2021-07-19 18:45:12 UTC +++ chrome/utility/services.cc -@@ -81,7 +81,7 @@ +@@ -80,7 +80,7 @@ #endif #if BUILDFLAG(ENABLE_PRINTING) -#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) #include "chrome/services/printing/print_backend_service_impl.h" #include "chrome/services/printing/public/mojom/print_backend_service.mojom.h" -@@ -241,7 +241,7 @@ auto RunPaintPreviewCompositor( +@@ -244,7 +244,7 @@ auto RunPaintPreviewCompositor( #endif // BUILDFLAG(ENABLE_PAINT_PREVIEW) #if BUILDFLAG(ENABLE_PRINTING) -#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) auto RunPrintBackendService( mojo::PendingReceiver receiver) { -@@ -355,7 +355,7 @@ void RegisterMainThreadServices(mojo::ServiceFactory& +@@ -365,7 +365,7 @@ void RegisterMainThreadServices(mojo::ServiceFactory& #endif #if BUILDFLAG(ENABLE_PRINTING) -#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) services.Add(RunPrintBackendService); #endif 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 b9ada070acfd..0f48b637db80 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,83 @@ ---- chromecast/browser/cast_browser_main_parts.cc.orig 2021-05-12 22:05:48 UTC +--- chromecast/browser/cast_browser_main_parts.cc.orig 2021-07-19 18:45:12 UTC +++ chromecast/browser/cast_browser_main_parts.cc @@ -77,7 +77,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 @@ -132,7 +132,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 @@ -274,7 +274,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()); @@ -290,7 +290,7 @@ base::FilePath GetApplicationFontsDir() { } } -#endif // defined(OS_LINUX) || defined(OS_CHROMEOS) +#endif // defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD) } // namespace @@ -319,7 +319,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. @@ -329,7 +329,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. @@ -486,7 +486,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)) { -@@ -668,7 +668,7 @@ int CastBrowserMainParts::PreMainMessageLoopRun() { +@@ -671,7 +671,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 -@@ -749,7 +749,7 @@ void CastBrowserMainParts::PostMainMessageLoopRun() { +@@ -752,7 +752,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 index 0bbed18f5686..792e4ce0ee94 100644 --- a/www/chromium/files/patch-chromecast_browser_cast__browser__main__parts.h +++ b/www/chromium/files/patch-chromecast_browser_cast__browser__main__parts.h @@ -1,11 +1,11 @@ ---- chromecast/browser/cast_browser_main_parts.h.orig 2021-05-12 22:05:48 UTC +--- chromecast/browser/cast_browser_main_parts.h.orig 2021-07-19 18:45:12 UTC +++ chromecast/browser/cast_browser_main_parts.h -@@ -134,7 +134,7 @@ class CastBrowserMainParts : public content::BrowserMa +@@ -136,7 +136,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 fe4e0d43330b..2ae9a8335894 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,38 @@ ---- chromecast/browser/cast_content_browser_client.cc.orig 2021-05-12 22:05:48 UTC +--- chromecast/browser/cast_content_browser_client.cc.orig 2021-07-19 18:45:12 UTC +++ chromecast/browser/cast_content_browser_client.cc -@@ -130,9 +130,9 @@ +@@ -131,9 +131,9 @@ #include "chromecast/external_mojo/broker_service/broker_service.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) #if BUILDFLAG(ENABLE_CAST_RENDERER) #include "base/sequenced_task_runner.h" -@@ -479,7 +479,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. -@@ -876,12 +876,12 @@ CastContentBrowserClient::CreateThrottlesForNavigation +@@ -867,12 +867,12 @@ 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 5c96348b6a04..dc24d792bf34 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-04-14 18:40:58 UTC +--- chromecast/browser/cast_content_browser_client_receiver_bindings.cc.orig 2021-07-19 18:45:12 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 -@@ -205,7 +205,7 @@ void CastContentBrowserClient::RunServiceInstance( +@@ -217,7 +217,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_renderer_cast__content__renderer__client.cc b/www/chromium/files/patch-chromecast_renderer_cast__content__renderer__client.cc index 08f1d6a0d28f..821c3998eca1 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-05-12 22:05:48 UTC +--- chromecast/renderer/cast_content_renderer_client.cc.orig 2021-07-19 18:45:12 UTC +++ chromecast/renderer/cast_content_renderer_client.cc -@@ -199,7 +199,7 @@ void CastContentRendererClient::RenderFrameCreated( +@@ -201,7 +201,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 index c01d87f4527e..f9a9626784e5 100644 --- a/www/chromium/files/patch-components_BUILD.gn +++ b/www/chromium/files/patch-components_BUILD.gn @@ -1,18 +1,18 @@ ---- components/BUILD.gn.orig 2021-05-12 22:05:49 UTC +--- components/BUILD.gn.orig 2021-07-19 18:45:12 UTC +++ components/BUILD.gn -@@ -342,9 +342,13 @@ test("components_unittests") { +@@ -351,9 +351,13 @@ test("components_unittests") { } if (!is_fuchsia) { # !iOS and !Fuchsia + if (!is_bsd) { + deps += [ + "//components/crash/content/browser:unit_tests", + "//components/crash/core/app:unit_tests", + ] + } deps += [ - "//components/crash/content/browser:unit_tests", - "//components/crash/core/app:unit_tests", "//components/data_reduction_proxy/core/browser:unit_tests", "//components/data_reduction_proxy/core/common:unit_tests", ] 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 index 5e2c49b5526d..f0f4c87cd9ec 100644 --- 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 @@ -1,14 +1,14 @@ ---- components/autofill/content/renderer/password_form_conversion_utils.cc.orig 2021-04-14 18:40:58 UTC +--- 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 -@@ -18,7 +18,11 @@ +@@ -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 11a02ec27b47..9249850f1464 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-04-14 18:40:58 UTC +--- components/autofill/core/browser/autofill_external_delegate.cc.orig 2021-07-19 18:45:12 UTC +++ components/autofill/core/browser/autofill_external_delegate.cc -@@ -128,7 +128,7 @@ void AutofillExternalDelegate::OnSuggestionsReturned( +@@ -129,7 +129,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 (base::FeatureList::IsEnabled( features::kAutofillEnableHideSuggestionsUI)) { 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 c2ba1998044f..4b7d30437279 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,20 @@ ---- components/autofill/core/browser/personal_data_manager.cc.orig 2021-04-14 18:40:58 UTC +--- components/autofill/core/browser/personal_data_manager.cc.orig 2021-07-19 18:45:12 UTC +++ components/autofill/core/browser/personal_data_manager.cc -@@ -1931,7 +1931,7 @@ bool PersonalDataManager::ShouldShowCardsFromAccountOp +@@ -2034,7 +2034,7 @@ bool PersonalDataManager::ShouldShowCardsFromAccountOp // The feature is only for Linux, Windows and Mac. // 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) // This option should only be shown for users that have not enabled the Sync // Feature and that have server credit cards available. -@@ -1955,7 +1955,7 @@ bool PersonalDataManager::ShouldShowCardsFromAccountOp +@@ -2058,7 +2058,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) } 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 b36acf996c2e..72ac12b0d73e 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-05-12 22:05:49 UTC +--- components/autofill/core/common/autofill_payments_features.cc.orig 2021-07-19 18:45:12 UTC +++ components/autofill/core/common/autofill_payments_features.cc -@@ -144,7 +144,7 @@ bool ShouldShowImprovedUserConsentForCreditCardSave() +@@ -176,7 +176,7 @@ 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) // 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 e6679c548588..30e21d8c3748 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-05-12 22:05:49 UTC +--- components/autofill/core/common/autofill_util.cc.orig 2021-07-19 18:45:12 UTC +++ components/autofill/core/common/autofill_util.cc -@@ -171,7 +171,7 @@ bool SanitizedFieldIsEmpty(const std::u16string& value +@@ -161,7 +161,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) return true; #else diff --git a/www/chromium/files/patch-components_cast__channel_cast__message__util.cc b/www/chromium/files/patch-components_cast__channel_cast__message__util.cc index b27003024abd..bf1889c74d42 100644 --- a/www/chromium/files/patch-components_cast__channel_cast__message__util.cc +++ b/www/chromium/files/patch-components_cast__channel_cast__message__util.cc @@ -1,11 +1,11 @@ ---- components/cast_channel/cast_message_util.cc.orig 2021-06-11 09:34:59 UTC +--- components/cast_channel/cast_message_util.cc.orig 2021-07-19 18:45:12 UTC +++ components/cast_channel/cast_message_util.cc -@@ -168,7 +168,7 @@ int GetVirtualConnectPlatformValue() { +@@ -169,7 +169,7 @@ int GetVirtualConnectPlatformValue() { return 4; #elif BUILDFLAG(IS_CHROMEOS_ASH) return 5; -#elif defined(OS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS) +#elif defined(OS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS) || defined(OS_BSD) return 6; #else return 0; 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 cdc51637ac7f..9c9aa78af044 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,28 +1,28 @@ ---- components/feature_engagement/public/event_constants.cc.orig 2021-05-12 22:05:49 UTC +--- components/feature_engagement/public/event_constants.cc.orig 2021-07-19 18:45:13 UTC +++ components/feature_engagement/public/event_constants.cc @@ -10,13 +10,13 @@ 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) const char kNewTabOpened[] = "new_tab_opened"; -#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_WIN) || defined(OS_APPLE) || defined(OS_LINUX) || \ +#if defined(OS_WIN) || defined(OS_APPLE) || defined(OS_LINUX) || defined(OS_BSD) || \ defined(OS_CHROMEOS) const char kSixthTabOpened[] = "sixth_tab_opened"; const char kTabGroupCreated[] = "tab_group_created"; -@@ -39,7 +39,7 @@ const char kWebUITabStripClosed[] = "webui_tab_strip_c - const char kWebUITabStripOpened[] = "webui_tab_strip_opened"; +@@ -43,7 +43,7 @@ const char kDesktopPwaInstalled[] = "desktop_pwa_insta + const char kUpdatedConnectionSecurityIndicatorDisplayed[] = + "updated_connection_security_indicator_displayed"; - const char kDesktopPwaInstalled[] = "desktop_pwa_installed"; -#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_IOS) 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 f3cc7e19c434..ddc196ab72d2 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,31 +1,31 @@ ---- components/feature_engagement/public/event_constants.h.orig 2021-05-12 22:05:49 UTC +--- components/feature_engagement/public/event_constants.h.orig 2021-07-19 18:45:13 UTC +++ components/feature_engagement/public/event_constants.h @@ -12,16 +12,16 @@ namespace feature_engagement { namespace events { // Desktop and 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) // The user has explicitly opened a new tab via an entry point from inside of // Chrome. extern const char kNewTabOpened[]; -#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) // 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) // A new tab was opened when 5 (or more) tabs were already open. extern const char kSixthTabOpened[]; -@@ -66,7 +66,7 @@ extern const char kWebUITabStripOpened[]; - // The PWA was installed by the user. - extern const char kDesktopPwaInstalled[]; +@@ -69,7 +69,7 @@ extern const char kDesktopPwaInstalled[]; + // Omnibox displayed the updated connection security indicator. + extern const char kUpdatedConnectionSecurityIndicatorDisplayed[]; -#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_IOS) 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 39483e8eeea2..b49649b481ad 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,20 @@ ---- components/feature_engagement/public/feature_configurations.cc.orig 2021-05-12 22:05:49 UTC +--- components/feature_engagement/public/feature_configurations.cc.orig 2021-07-19 18:45:13 UTC +++ components/feature_engagement/public/feature_configurations.cc @@ -12,7 +12,7 @@ namespace feature_engagement { - base::Optional GetClientSideFeatureConfig( + 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 (kIPHPasswordsAccountStorageFeature.name == feature->name) { - base::Optional config = FeatureConfig(); -@@ -41,7 +41,7 @@ base::Optional GetClientSideFeatureConf + absl::optional config = FeatureConfig(); +@@ -41,7 +41,7 @@ absl::optional GetClientSideFeatureConf EventConfig("profile_menu_shown", Comparator(EQUAL, 0), 360, 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) 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 41656d31555b..5a73260c5d3b 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,20 +1,20 @@ ---- components/feature_engagement/public/feature_constants.cc.orig 2021-05-12 22:05:49 UTC +--- components/feature_engagement/public/feature_constants.cc.orig 2021-07-19 18:45:13 UTC +++ components/feature_engagement/public/feature_constants.cc @@ -12,7 +12,7 @@ const base::Feature kIPHDemoMode{"IPH_DemoMode", 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) const base::Feature kIPHDesktopTabGroupsNewGroupFeature{ "IPH_DesktopTabGroupsNewGroup", base::FEATURE_DISABLED_BY_DEFAULT}; -@@ -38,7 +38,7 @@ const base::Feature kIPHDesktopPwaInstallFeature{ - "IPH_DesktopPwaInstall", base::FEATURE_DISABLED_BY_DEFAULT}; - const base::Feature kIPHProfileSwitchFeature{"IPH_ProfileSwitch", - base::FEATURE_DISABLED_BY_DEFAULT}; +@@ -42,7 +42,7 @@ const base::Feature kIPHUpdatedConnectionSecurityIndic + "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) #if defined(OS_ANDROID) 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 44d3a8d7ba2d..4e337050f26c 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,20 +1,20 @@ ---- components/feature_engagement/public/feature_constants.h.orig 2021-05-12 22:05:49 UTC +--- components/feature_engagement/public/feature_constants.h.orig 2021-07-19 18:45:13 UTC +++ components/feature_engagement/public/feature_constants.h @@ -16,7 +16,7 @@ extern const base::Feature kIPHDemoMode; // A feature to ensure all arrays can contain at least one feature. extern const base::Feature kIPHDummyFeature; -#if defined(OS_WIN) || defined(OS_APPLE) || defined(OS_LINUX) || \ +#if defined(OS_WIN) || defined(OS_APPLE) || defined(OS_LINUX) || defined(OS_BSD) || \ defined(OS_CHROMEOS) extern const base::Feature kIPHDesktopTabGroupsNewGroupFeature; extern const base::Feature kIPHFocusModeFeature; -@@ -30,7 +30,7 @@ extern const base::Feature kIPHWebUITabStripFeature; - extern const base::Feature kIPHDesktopSnoozeFeature; +@@ -31,7 +31,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) // All the features declared for Android below that are also used in Java, 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 9de0a150036c..8e2a954081a3 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,20 @@ ---- components/feature_engagement/public/feature_list.cc.orig 2021-05-12 22:05:49 UTC +--- components/feature_engagement/public/feature_list.cc.orig 2021-07-19 18:45:13 UTC +++ components/feature_engagement/public/feature_list.cc -@@ -83,7 +83,7 @@ const base::Feature* const kAllFeatures[] = { +@@ -89,7 +89,7 @@ const base::Feature* const kAllFeatures[] = { &kIPHBadgedTranslateManualTriggerFeature, &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) &kIPHDesktopTabGroupsNewGroupFeature, &kIPHFocusModeFeature, -@@ -96,7 +96,7 @@ const base::Feature* const kAllFeatures[] = { - &kIPHWebUITabStripFeature, +@@ -103,7 +103,7 @@ const base::Feature* const kAllFeatures[] = { &kIPHDesktopPwaInstallFeature, &kIPHProfileSwitchFeature, + &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) }; } // namespace 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 e6c4785bc965..92c16c5056eb 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,38 @@ ---- components/feature_engagement/public/feature_list.h.orig 2021-05-24 22:05:38 UTC +--- components/feature_engagement/public/feature_list.h.orig 2021-07-19 18:45:13 UTC +++ components/feature_engagement/public/feature_list.h -@@ -155,7 +155,7 @@ DEFINE_VARIATION_PARAM(kIPHDiscoverFeedHeaderFeature, +@@ -167,7 +167,7 @@ DEFINE_VARIATION_PARAM(kIPHDiscoverFeedHeaderFeature, "IPH_DiscoverFeedHeaderMenu"); #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) DEFINE_VARIATION_PARAM(kIPHDesktopTabGroupsNewGroupFeature, "IPH_DesktopTabGroupsNewGroup"); -@@ -172,7 +172,7 @@ DEFINE_VARIATION_PARAM(kIPHReopenTabFeature, "IPH_Reop - DEFINE_VARIATION_PARAM(kIPHWebUITabStripFeature, "IPH_WebUITabStrip"); - DEFINE_VARIATION_PARAM(kIPHDesktopPwaInstallFeature, "IPH_DesktopPwaInstall"); +@@ -186,7 +186,7 @@ DEFINE_VARIATION_PARAM(kIPHDesktopPwaInstallFeature, " DEFINE_VARIATION_PARAM(kIPHProfileSwitchFeature, "IPH_ProfileSwitch"); + DEFINE_VARIATION_PARAM(kIPHUpdatedConnectionSecurityIndicatorsFeature, + "IPH_UpdatedConnectionSecurityIndicators"); -#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 -@@ -248,7 +248,7 @@ constexpr flags_ui::FeatureEntry::FeatureVariation +@@ -271,7 +271,7 @@ constexpr flags_ui::FeatureEntry::FeatureVariation VARIATION_ENTRY(kIPHBadgedReadingListFeature), VARIATION_ENTRY(kIPHBadgedTranslateManualTriggerFeature), VARIATION_ENTRY(kIPHDiscoverFeedHeaderFeature), --#elif defined(OS_WIN) || defined(OS_APPLE) || defined(OS_LINUX) || \ -+#elif defined(OS_WIN) || defined(OS_APPLE) || defined(OS_LINUX) || defined(OS_BSD) || \ +-#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) VARIATION_ENTRY(kIPHDesktopTabGroupsNewGroupFeature), VARIATION_ENTRY(kIPHFocusModeFeature), -@@ -261,7 +261,7 @@ constexpr flags_ui::FeatureEntry::FeatureVariation - VARIATION_ENTRY(kIPHWebUITabStripFeature), +@@ -285,7 +285,7 @@ constexpr flags_ui::FeatureEntry::FeatureVariation VARIATION_ENTRY(kIPHDesktopPwaInstallFeature), VARIATION_ENTRY(kIPHProfileSwitchFeature), --#endif // defined(OS_WIN) || defined(OS_APPLE) || defined(OS_LINUX) || -+#endif // defined(OS_WIN) || defined(OS_APPLE) || defined(OS_LINUX) || defined(OS_BSD) || + VARIATION_ENTRY(kIPHUpdatedConnectionSecurityIndicatorsFeature), +-#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-components_feed_core_v2_proto__util.cc b/www/chromium/files/patch-components_feed_core_v2_proto__util.cc index cc61053a0670..adbda9ec11a1 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-04-14 18:40:59 UTC +--- components/feed/core/v2/proto_util.cc.orig 2021-07-19 18:45:13 UTC +++ components/feed/core/v2/proto_util.cc -@@ -81,8 +81,8 @@ feedwire::Version GetPlatformVersionMessage() { +@@ -83,8 +83,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()); -@@ -97,8 +97,8 @@ feedwire::Version GetAppVersionMessage(const ChromeInf +@@ -99,8 +99,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 13ceab52451f..39c90be47bc4 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-05-12 22:05:49 UTC +--- components/flags_ui/flags_state.cc.orig 2021-07-19 18:45:13 UTC +++ components/flags_ui/flags_state.cc -@@ -633,7 +633,7 @@ int FlagsState::GetCurrentPlatform() { +@@ -631,7 +631,7 @@ int FlagsState::GetCurrentPlatform() { return kOsWin; #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) return kOsLinux; #elif defined(OS_ANDROID) 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 index 0428c8f95930..658fb2372bfd 100644 --- a/www/chromium/files/patch-components_gcm__driver_gcm__client__impl.cc +++ b/www/chromium/files/patch-components_gcm__driver_gcm__client__impl.cc @@ -1,12 +1,12 @@ ---- components/gcm_driver/gcm_client_impl.cc.orig 2021-04-14 18:40:59 UTC +--- components/gcm_driver/gcm_client_impl.cc.orig 2021-07-19 18:45:13 UTC +++ components/gcm_driver/gcm_client_impl.cc -@@ -135,6 +135,9 @@ void ToCheckinProtoVersion( +@@ -134,6 +134,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_invalidation_impl_invalidation__switches.cc b/www/chromium/files/patch-components_invalidation_impl_invalidation__switches.cc index 59c20de740eb..3e15ce7b318f 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-04-14 18:40:59 UTC +--- components/invalidation/impl/invalidation_switches.cc.orig 2021-07-19 18:45:13 UTC +++ components/invalidation/impl/invalidation_switches.cc -@@ -28,7 +28,7 @@ const base::Feature kFCMInvalidationsForSyncDontCheckV +@@ -20,7 +20,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) base::FEATURE_ENABLED_BY_DEFAULT #else diff --git a/www/chromium/files/patch-components_metrics_metrics__log.cc b/www/chromium/files/patch-components_metrics_metrics__log.cc index 5b271ad6e474..a6486356fe46 100644 --- a/www/chromium/files/patch-components_metrics_metrics__log.cc +++ b/www/chromium/files/patch-components_metrics_metrics__log.cc @@ -1,11 +1,11 @@ ---- components/metrics/metrics_log.cc.orig 2021-05-12 22:05:49 UTC +--- components/metrics/metrics_log.cc.orig 2021-07-19 18:45:13 UTC +++ components/metrics/metrics_log.cc -@@ -240,7 +240,7 @@ void MetricsLog::RecordCoreSystemProfile( +@@ -249,7 +249,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_paint__preview_browser_paint__preview__client.cc b/www/chromium/files/patch-components_paint__preview_browser_paint__preview__client.cc index 54290adcc3e4..d0d9a63236c8 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-05-12 22:05:50 UTC +--- components/paint_preview/browser/paint_preview_client.cc.orig 2021-07-19 18:45:13 UTC +++ components/paint_preview/browser/paint_preview_client.cc -@@ -303,8 +303,8 @@ void PaintPreviewClient::CapturePaintPreview( +@@ -308,8 +308,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_features.cc b/www/chromium/files/patch-components_performance__manager_features.cc new file mode 100644 index 000000000000..fba7d5ed85c9 --- /dev/null +++ b/www/chromium/files/patch-components_performance__manager_features.cc @@ -0,0 +1,11 @@ +--- components/performance_manager/features.cc.orig 2021-07-28 07:52:32 UTC ++++ components/performance_manager/features.cc +@@ -54,7 +54,7 @@ const base::Feature kRunOnMainThread{"RunOnMainThread" + #if !defined(OS_ANDROID) + const base::Feature kUrgentDiscardingFromPerformanceManager { + "UrgentDiscardingFromPerformanceManager", +-#if BUILDFLAG(IS_CHROMEOS_ASH) || defined(OS_LINUX) ++#if BUILDFLAG(IS_CHROMEOS_ASH) || defined(OS_LINUX) || defined(OS_BSD) + base::FEATURE_DISABLED_BY_DEFAULT + #else + base::FEATURE_ENABLED_BY_DEFAULT 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 64e9cc3f9145..b39d1232a3ce 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,58 @@ ---- components/policy/core/common/cloud/cloud_policy_util.cc.orig 2021-04-14 18:41:00 UTC +--- components/policy/core/common/cloud/cloud_policy_util.cc.orig 2021-07-19 18:45:13 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 @@ -35,7 +35,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 // For HOST_NAME_MAX #endif @@ -71,7 +71,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 "base/system/sys_info.h" #endif @@ -108,6 +108,10 @@ std::string GetMachineName() { 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(); -@@ -156,7 +160,7 @@ std::string GetMachineName() { +@@ -158,7 +162,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) return base::SysInfo::OperatingSystemVersion(); #elif defined(OS_WIN) base::win::OSInfo::VersionNumber version_number = -@@ -179,7 +183,7 @@ std::string GetOSArchitecture() { +@@ -183,7 +187,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_resources_policy__templates.json b/www/chromium/files/patch-components_policy_resources_policy__templates.json index 13e80d1cc49c..9e729a66c201 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,74 @@ ---- components/policy/resources/policy_templates.json.orig 2021-05-12 22:05:50 UTC +--- components/policy/resources/policy_templates.json.orig 2021-07-19 18:45:14 UTC +++ components/policy/resources/policy_templates.json @@ -1246,7 +1246,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-'], 'features': { 'can_be_recommended': True, 'dynamic_refresh': True, @@ -1272,7 +1272,7 @@ 'owners': ['file://components/policy/resources/OWNERS', 'rsorokin@chromium.org'], 'type': 'main', 'schema': { 'type': 'boolean' }, - 'supported_on': ['chrome.*:8-', 'chrome_os:11-'], + 'supported_on': ['chrome.*:8-', 'chrome_os:11-', 'chrome.freebsd:9-'], 'features': { 'can_be_recommended': True, 'dynamic_refresh': True, @@ -1293,7 +1293,7 @@ 'owners': ['file://components/policy/resources/OWNERS', 'rsorokin@chromium.org'], 'type': 'string', 'schema': { 'type': 'string' }, - 'supported_on': ['chrome.*:58-', 'chrome_os:58-'], + 'supported_on': ['chrome.*:58-', 'chrome_os:58-', 'chrome.freebsd:9-'], 'features': { 'dynamic_refresh': True, 'per_profile': True, @@ -4604,7 +4604,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-'], 'features': { 'dynamic_refresh': False, 'per_profile': False, @@ -4660,7 +4660,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-'], 'features': { 'dynamic_refresh': True, 'per_profile': False, -@@ -9103,7 +9103,7 @@ +@@ -9137,7 +9137,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-'], 'features': { 'dynamic_refresh': True, 'per_profile': False, -@@ -10808,7 +10808,7 @@ +@@ -10851,7 +10851,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-'], 'features': { 'can_be_recommended': True, 'dynamic_refresh': True, -@@ -11618,7 +11618,7 @@ +@@ -11698,7 +11698,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-'], 'features': { 'dynamic_refresh': True, 'per_profile': True, diff --git a/www/chromium/files/patch-components_safe__browsing_core_realtime_url__lookup__service__base.cc b/www/chromium/files/patch-components_safe__browsing_core_realtime_url__lookup__service__base.cc index 46b5f4d571df..8d740bc014ec 100644 --- a/www/chromium/files/patch-components_safe__browsing_core_realtime_url__lookup__service__base.cc +++ b/www/chromium/files/patch-components_safe__browsing_core_realtime_url__lookup__service__base.cc @@ -1,11 +1,11 @@ ---- components/safe_browsing/core/realtime/url_lookup_service_base.cc.orig 2021-04-14 18:41:00 UTC +--- components/safe_browsing/core/realtime/url_lookup_service_base.cc.orig 2021-07-19 18:45:14 UTC +++ components/safe_browsing/core/realtime/url_lookup_service_base.cc -@@ -108,7 +108,7 @@ RTLookupRequest::OSType GetRTLookupRequestOSType() { +@@ -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) || BUILDFLAG(IS_CHROMEOS_LACROS) +#elif defined(OS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS) || 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_safe__browsing_core_resources_gen__file__type__proto.py b/www/chromium/files/patch-components_safe__browsing_core_resources_gen__file__type__proto.py index dc1fe64442f9..ce1f514c3990 100644 --- a/www/chromium/files/patch-components_safe__browsing_core_resources_gen__file__type__proto.py +++ b/www/chromium/files/patch-components_safe__browsing_core_resources_gen__file__type__proto.py @@ -1,19 +1,19 @@ ---- components/safe_browsing/core/resources/gen_file_type_proto.py.orig 2021-04-14 18:41:00 UTC +--- components/safe_browsing/core/resources/gen_file_type_proto.py.orig 2021-07-19 18:45:14 UTC +++ components/safe_browsing/core/resources/gen_file_type_proto.py -@@ -31,6 +31,7 @@ def PlatformTypes(): +@@ -33,6 +33,7 @@ def PlatformTypes(): "android": download_file_types_pb2.DownloadFileType.PLATFORM_ANDROID, "chromeos": download_file_types_pb2.DownloadFileType.PLATFORM_CHROME_OS, "linux": download_file_types_pb2.DownloadFileType.PLATFORM_LINUX, + "bsd": download_file_types_pb2.DownloadFileType.PLATFORM_LINUX, "mac": download_file_types_pb2.DownloadFileType.PLATFORM_MAC, "win": download_file_types_pb2.DownloadFileType.PLATFORM_WINDOWS, } -@@ -169,7 +170,7 @@ class DownloadFileTypeProtoGenerator(BinaryProtoGenera +@@ -171,7 +172,7 @@ class DownloadFileTypeProtoGenerator(BinaryProtoGenera 'Outfile must have a %d for version and %s for platform.') parser.add_option('-t', '--type', help='The platform type. One of android, chromeos, ' + - 'linux, mac, win') + 'linux, bsd, mac, win') def AddExtraCommandLineArgsForVirtualEnvRun(self, opts, command): if opts.type is not None: diff --git a/www/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 0f898beeaec6..e9dfc4eb8cae 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-04-14 18:41:00 UTC +--- components/services/paint_preview_compositor/paint_preview_compositor_collection_impl.cc.orig 2021-07-19 18:45:14 UTC +++ components/services/paint_preview_compositor/paint_preview_compositor_collection_impl.cc -@@ -15,7 +15,7 @@ +@@ -17,7 +17,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 -@@ -36,7 +36,7 @@ PaintPreviewCompositorCollectionImpl::PaintPreviewComp +@@ -56,7 +56,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()); -@@ -55,7 +55,7 @@ PaintPreviewCompositorCollectionImpl::PaintPreviewComp +@@ -75,7 +75,7 @@ PaintPreviewCompositorCollectionImpl::PaintPreviewComp // encoding to PNG or we could provide our own codec implementations. // 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_services_paint__preview__compositor_paint__preview__compositor__collection__impl.h b/www/chromium/files/patch-components_services_paint__preview__compositor_paint__preview__compositor__collection__impl.h index f9baf0198a50..56e74d23d3ba 100644 --- a/www/chromium/files/patch-components_services_paint__preview__compositor_paint__preview__compositor__collection__impl.h +++ b/www/chromium/files/patch-components_services_paint__preview__compositor_paint__preview__compositor__collection__impl.h @@ -1,20 +1,20 @@ ---- components/services/paint_preview_compositor/paint_preview_compositor_collection_impl.h.orig 2021-04-14 18:41:00 UTC +--- components/services/paint_preview_compositor/paint_preview_compositor_collection_impl.h.orig 2021-07-19 18:45:14 UTC +++ components/services/paint_preview_compositor/paint_preview_compositor_collection_impl.h -@@ -20,7 +20,7 @@ +@@ -21,7 +21,7 @@ #include "mojo/public/cpp/bindings/pending_receiver.h" #include "mojo/public/cpp/bindings/receiver.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 -@@ -70,7 +70,7 @@ class PaintPreviewCompositorCollectionImpl +@@ -73,7 +73,7 @@ class PaintPreviewCompositorCollectionImpl std::unique_ptr> compositors_; -#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-components_storage__monitor_removable__device__constants.h b/www/chromium/files/patch-components_storage__monitor_removable__device__constants.h index b724ec0aea63..57a05ea7efbd 100644 --- a/www/chromium/files/patch-components_storage__monitor_removable__device__constants.h +++ b/www/chromium/files/patch-components_storage__monitor_removable__device__constants.h @@ -1,11 +1,11 @@ ---- components/storage_monitor/removable_device_constants.h.orig 2021-05-12 22:05:51 UTC +--- components/storage_monitor/removable_device_constants.h.orig 2021-07-19 18:45:14 UTC +++ components/storage_monitor/removable_device_constants.h -@@ -16,7 +16,7 @@ namespace storage_monitor { +@@ -14,7 +14,7 @@ namespace storage_monitor { extern const char kFSUniqueIdPrefix[]; extern const char kVendorModelSerialPrefix[]; -#if defined(OS_LINUX) || defined(OS_CHROMEOS) +#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD) extern const char kVendorModelVolumeStoragePrefix[]; #endif diff --git a/www/chromium/files/patch-components_viz_common_features.cc b/www/chromium/files/patch-components_viz_common_features.cc index 05b7904dd702..f6c743023c65 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-05-12 22:05:51 UTC +--- components/viz/common/features.cc.orig 2021-07-19 18:45:15 UTC +++ components/viz/common/features.cc -@@ -38,7 +38,7 @@ const base::Feature kEnableOverlayPrioritization { +@@ -42,7 +42,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_LINUX) || defined(OS_BSD) base::FEATURE_ENABLED_BY_DEFAULT - #else - base::FEATURE_DISABLED_BY_DEFAULT + #elif defined(OS_MAC) + base::FEATURE_ENABLED_BY_DEFAULT diff --git a/www/chromium/files/patch-components_viz_host_renderer__settings__creation.cc b/www/chromium/files/patch-components_viz_host_renderer__settings__creation.cc new file mode 100644 index 000000000000..621479f36b72 --- /dev/null +++ b/www/chromium/files/patch-components_viz_host_renderer__settings__creation.cc @@ -0,0 +1,11 @@ +--- components/viz/host/renderer_settings_creation.cc.orig 2021-07-28 07:54:43 UTC ++++ components/viz/host/renderer_settings_creation.cc +@@ -57,7 +57,7 @@ RendererSettings CreateRendererSettings() { + renderer_settings.partial_swap_enabled = + !command_line->HasSwitch(switches::kUIDisablePartialSwap); + +-#if defined(OS_APPLE) || defined(OS_LINUX) ++#if defined(OS_APPLE) || defined(OS_LINUX) || defined(OS_BSD) + // Simple frame rate throttling only works on macOS and Linux + renderer_settings.apply_simple_frame_rate_throttling = + features::IsSimpleFrameRateThrottlingEnabled(); 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 0dc96a5c900e..91a306e9752f 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-05-12 22:05:52 UTC +--- 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 -@@ -114,7 +114,7 @@ void SoftwareOutputSurface::SwapBuffersCallback(base:: +@@ -115,7 +115,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 -@@ -145,7 +145,7 @@ gfx::OverlayTransform SoftwareOutputSurface::GetDispla +@@ -146,7 +146,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_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 0a5beadbd1fe..ff79929650a8 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-05-12 22:05:52 UTC +--- components/viz/service/frame_sinks/root_compositor_frame_sink_impl.cc.orig 2021-07-19 18:45:15 UTC +++ components/viz/service/frame_sinks/root_compositor_frame_sink_impl.cc @@ -60,7 +60,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); -@@ -479,7 +479,7 @@ void RootCompositorFrameSinkImpl::DisplayDidCompleteSw +@@ -493,7 +493,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 80181cf13beb..b9f41ebb1c2f 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-05-12 22:05:52 UTC +--- components/viz/service/frame_sinks/root_compositor_frame_sink_impl.h.orig 2021-07-19 18:45:15 UTC +++ components/viz/service/frame_sinks/root_compositor_frame_sink_impl.h -@@ -172,7 +172,7 @@ class RootCompositorFrameSinkImpl : public mojom::Comp +@@ -177,7 +177,7 @@ class RootCompositorFrameSinkImpl : public mojom::Comp // 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__output__surface.cc b/www/chromium/files/patch-components_viz_test_fake__output__surface.cc index 3f6cbedad15d..f61fee3e3a98 100644 --- a/www/chromium/files/patch-components_viz_test_fake__output__surface.cc +++ b/www/chromium/files/patch-components_viz_test_fake__output__surface.cc @@ -1,11 +1,11 @@ ---- components/viz/test/fake_output_surface.cc.orig 2021-04-14 18:41:02 UTC +--- components/viz/test/fake_output_surface.cc.orig 2021-07-19 18:45:15 UTC +++ components/viz/test/fake_output_surface.cc -@@ -118,7 +118,7 @@ gfx::OverlayTransform FakeOutputSurface::GetDisplayTra +@@ -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 index d0ce29297551..ce8cc503bbcc 100644 --- a/www/chromium/files/patch-components_viz_test_fake__output__surface.h +++ b/www/chromium/files/patch-components_viz_test_fake__output__surface.h @@ -1,11 +1,11 @@ ---- components/viz/test/fake_output_surface.h.orig 2021-04-14 18:41:02 UTC +--- components/viz/test/fake_output_surface.h.orig 2021-07-19 18:45:15 UTC +++ components/viz/test/fake_output_surface.h -@@ -89,7 +89,7 @@ class FakeOutputSurface : public OutputSurface { +@@ -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_viz_test_mock__display__client.h b/www/chromium/files/patch-components_viz_test_mock__display__client.h index 55e119ea2652..ff51e42ff434 100644 --- a/www/chromium/files/patch-components_viz_test_mock__display__client.h +++ b/www/chromium/files/patch-components_viz_test_mock__display__client.h @@ -1,11 +1,11 @@ ---- components/viz/test/mock_display_client.h.orig 2021-04-14 18:41:02 UTC +--- components/viz/test/mock_display_client.h.orig 2021-07-19 18:45:15 UTC +++ components/viz/test/mock_display_client.h -@@ -39,7 +39,7 @@ class MockDisplayClient : public mojom::DisplayClient +@@ -40,7 +40,7 @@ class MockDisplayClient : public mojom::DisplayClient #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) MOCK_METHOD1(DidCompleteSwapWithNewSize, void(const gfx::Size&)); #endif diff --git a/www/chromium/files/patch-components_zucchini_main__utils.cc b/www/chromium/files/patch-components_zucchini_main__utils.cc new file mode 100644 index 000000000000..0fcf64400867 --- /dev/null +++ b/www/chromium/files/patch-components_zucchini_main__utils.cc @@ -0,0 +1,63 @@ +--- components/zucchini/main_utils.cc.orig 2021-07-28 07:55:17 UTC ++++ components/zucchini/main_utils.cc +@@ -78,7 +78,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 +@@ -120,7 +120,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. +@@ -145,17 +145,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); +@@ -171,7 +171,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"; +@@ -179,10 +179,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 2e1a6f105a3e..11811afdc3fc 100644 --- a/www/chromium/files/patch-content_app_content__main.cc +++ b/www/chromium/files/patch-content_app_content__main.cc @@ -1,11 +1,29 @@ ---- content/app/content_main.cc.orig 2021-04-14 18:41:02 UTC +--- content/app/content_main.cc.orig 2021-07-19 18:45:15 UTC +++ content/app/content_main.cc -@@ -229,7 +229,7 @@ int RunContentProcess(const ContentMainParams& params, +@@ -62,7 +62,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 + +@@ -233,7 +233,7 @@ int RunContentProcess(const 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 +@@ -308,7 +308,7 @@ int 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 79d200357ac4..fc29048b83c7 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,65 @@ ---- content/app/content_main_runner_impl.cc.orig 2021-05-12 22:05:52 UTC +--- content/app/content_main_runner_impl.cc.orig 2021-07-19 18:45:15 UTC +++ content/app/content_main_runner_impl.cc -@@ -138,7 +138,7 @@ +@@ -137,7 +137,7 @@ #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" -@@ -158,7 +158,7 @@ +@@ -157,7 +157,7 @@ #include "content/public/common/content_client.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 "content/browser/sandbox_host_linux.h" -@@ -311,7 +311,7 @@ void InitializeZygoteSandboxForBrowserProcess( +@@ -310,7 +310,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 -@@ -402,7 +402,7 @@ void PreSandboxInit() { +@@ -401,7 +401,7 @@ void PreSandboxInit() { } #endif // BUILDFLAG(USE_ZYGOTE_HANDLE) -#endif // defined(OS_LINUX) || defined(OS_CHROMEOS) +#endif // defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD) mojo::ScopedMessagePipeHandle MaybeAcceptMojoInvitation() { const auto& command_line = *base::CommandLine::ForCurrentProcess(); -@@ -533,7 +533,7 @@ int RunZygote(ContentMainDelegate* delegate) { +@@ -532,7 +532,7 @@ int RunZygote(ContentMainDelegate* delegate) { 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 -@@ -928,7 +928,7 @@ int ContentMainRunnerImpl::Run(bool start_minimal_brow +@@ -927,7 +927,7 @@ int ContentMainRunnerImpl::Run(bool start_minimal_brow 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 -@@ -938,7 +938,7 @@ int ContentMainRunnerImpl::Run(bool start_minimal_brow +@@ -937,7 +937,7 @@ int ContentMainRunnerImpl::Run(bool start_minimal_brow 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) } MainFunctionParams main_params(command_line); diff --git a/www/chromium/files/patch-content_browser_BUILD.gn b/www/chromium/files/patch-content_browser_BUILD.gn index 94516bd6ef97..b98b7e56b8db 100644 --- a/www/chromium/files/patch-content_browser_BUILD.gn +++ b/www/chromium/files/patch-content_browser_BUILD.gn @@ -1,18 +1,20 @@ ---- content/browser/BUILD.gn.orig 2021-05-12 22:05:52 UTC +--- content/browser/BUILD.gn.orig 2021-07-19 18:45:15 UTC +++ content/browser/BUILD.gn -@@ -2222,6 +2222,15 @@ source_set("browser") { +@@ -2255,6 +2255,17 @@ source_set("browser") { deps += [ "//third_party/speech-dispatcher" ] } + 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) { sources += [ 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 81386e0bfb77..b187c973fd19 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,29 @@ ---- content/browser/browser_main_loop.cc.orig 2021-05-12 22:05:52 UTC +--- content/browser/browser_main_loop.cc.orig 2021-07-19 18:45:15 UTC +++ content/browser/browser_main_loop.cc -@@ -562,7 +562,7 @@ int BrowserMainLoop::EarlyInitialization() { +@@ -559,7 +559,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() < -@@ -572,7 +572,7 @@ int BrowserMainLoop::EarlyInitialization() { +@@ -569,7 +569,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) // 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. -@@ -582,7 +582,7 @@ int BrowserMainLoop::EarlyInitialization() { +@@ -579,7 +579,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_devtools_protocol_system__info__handler.cc b/www/chromium/files/patch-content_browser_devtools_protocol_system__info__handler.cc index f05bfe856d34..3db4b0966c12 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,13 +1,13 @@ ---- content/browser/devtools/protocol/system_info_handler.cc.orig 2021-05-12 22:05:52 UTC +--- content/browser/devtools/protocol/system_info_handler.cc.orig 2021-07-19 18:45:15 UTC +++ content/browser/devtools/protocol/system_info_handler.cc -@@ -51,8 +51,8 @@ std::unique_ptr GfxSizeToSystemInfoS +@@ -52,8 +52,8 @@ std::unique_ptr GfxSizeToSystemInfoS // 1153667. // Windows builds need more time -- see Issue 873112 and 1004472. // ASAN builds need more time -- see Issue 1167875. -#if ((defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_MAC)) && \ - !defined(NDEBUG)) || \ +#if ((defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_MAC) || defined(OS_BSD)) && \ + !defined(NDEBUG)) || \ defined(OS_WIN) || defined(ADDRESS_SANITIZER) || defined(USE_OZONE) const int kGPUInfoWatchdogTimeoutMs = 30000; #else 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 2cd41c079f51..cd44c7c40a10 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-05-12 22:05:52 UTC +--- content/browser/download/download_manager_impl.cc.orig 2021-07-19 18:45:15 UTC +++ content/browser/download/download_manager_impl.cc -@@ -83,7 +83,7 @@ +@@ -82,7 +82,7 @@ #include "third_party/blink/public/common/loader/referrer_utils.h" #include "third_party/blink/public/common/loader/throttling_url_loader.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 -@@ -229,7 +229,7 @@ class DownloadItemFactoryImpl : public download::Downl +@@ -228,7 +228,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"); -@@ -570,7 +570,7 @@ bool DownloadManagerImpl::InterceptDownload( +@@ -568,7 +568,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 e26de4c44329..7659d34c6309 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-04-14 18:41:02 UTC +--- content/browser/font_access/font_enumeration_cache.h.orig 2021-07-19 18:45:15 UTC +++ content/browser/font_access/font_enumeration_cache.h -@@ -16,7 +16,7 @@ +@@ -15,7 +15,7 @@ #include "third_party/blink/public/common/font_access/font_enumeration_table.pb.h" #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) #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 c1b41fea3c81..5154d254aac5 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,16 @@ ---- content/browser/gpu/compositor_util.cc.orig 2021-05-12 22:05:52 UTC +--- content/browser/gpu/compositor_util.cc.orig 2021-07-19 18:45:15 UTC +++ content/browser/gpu/compositor_util.cc -@@ -127,11 +127,11 @@ const GpuFeatureData GetGpuFeatureData( +@@ -128,11 +128,11 @@ 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."), 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 aff9c080f205..4f8775f85c7c 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,22 +1,22 @@ ---- content/browser/gpu/gpu_process_host.cc.orig 2021-05-12 22:05:52 UTC +--- content/browser/gpu/gpu_process_host.cc.orig 2021-07-19 18:45:15 UTC +++ content/browser/gpu/gpu_process_host.cc -@@ -231,8 +231,8 @@ static const char* const kSwitchNames[] = { +@@ -232,8 +232,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) -@@ -1177,7 +1177,7 @@ bool GpuProcessHost::LaunchGpuProcess() { +@@ -1169,7 +1169,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_renderer__host_pepper_pepper__file__io__host.cc b/www/chromium/files/patch-content_browser_renderer__host_pepper_pepper__file__io__host.cc index 4aeed406d409..10a885767b44 100644 --- a/www/chromium/files/patch-content_browser_renderer__host_pepper_pepper__file__io__host.cc +++ b/www/chromium/files/patch-content_browser_renderer__host_pepper_pepper__file__io__host.cc @@ -1,20 +1,20 @@ ---- content/browser/renderer_host/pepper/pepper_file_io_host.cc.orig 2021-05-12 22:05:52 UTC +--- content/browser/renderer_host/pepper/pepper_file_io_host.cc.orig 2021-07-19 18:45:15 UTC +++ content/browser/renderer_host/pepper/pepper_file_io_host.cc -@@ -438,7 +438,7 @@ void PepperFileIOHost::OnLocalFileOpened( +@@ -480,7 +480,7 @@ void PepperFileIOHost::OnLocalFileOpened( ppapi::host::ReplyMessageContext reply_context, const base::FilePath& path, base::File::Error error_code) { -#if defined(OS_WIN) || defined(OS_LINUX) || defined(OS_CHROMEOS) +#if defined(OS_WIN) || defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD) // Quarantining a file before its contents are available is only supported on // Windows and Linux. if (!FileOpenForWrite(open_flags_) || error_code != base::File::FILE_OK) { -@@ -472,7 +472,7 @@ void PepperFileIOHost::OnLocalFileOpened( +@@ -514,7 +514,7 @@ void PepperFileIOHost::OnLocalFileOpened( #endif } -#if defined(OS_WIN) || defined(OS_LINUX) || defined(OS_CHROMEOS) +#if defined(OS_WIN) || defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD) void PepperFileIOHost::OnLocalFileQuarantined( ppapi::host::ReplyMessageContext reply_context, const base::FilePath& path, diff --git a/www/chromium/files/patch-content_browser_renderer__host_render__message__filter.cc b/www/chromium/files/patch-content_browser_renderer__host_render__message__filter.cc index 83450a0db7a4..305d1fa32d6d 100644 --- a/www/chromium/files/patch-content_browser_renderer__host_render__message__filter.cc +++ b/www/chromium/files/patch-content_browser_renderer__host_render__message__filter.cc @@ -1,29 +1,29 @@ ---- content/browser/renderer_host/render_message_filter.cc.orig 2021-05-12 22:05:52 UTC +--- content/browser/renderer_host/render_message_filter.cc.orig 2021-07-19 18:45:15 UTC +++ content/browser/renderer_host/render_message_filter.cc @@ -68,7 +68,7 @@ #if defined(OS_MAC) #include "ui/accelerated_widget_mac/window_resize_helper_mac.h" #endif -#if defined(OS_LINUX) || defined(OS_CHROMEOS) +#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD) #include "base/linux_util.h" #include "base/threading/platform_thread.h" #endif -@@ -116,7 +116,7 @@ void RenderMessageFilter::GenerateFrameRoutingID( +@@ -130,7 +130,7 @@ void RenderMessageFilter::GenerateFrameRoutingID( std::move(callback).Run(routing_id, frame_token, devtools_frame_token); } -#if defined(OS_LINUX) || defined(OS_CHROMEOS) +#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD) void RenderMessageFilter::SetThreadPriorityOnFileThread( base::PlatformThreadId ns_tid, base::ThreadPriority priority) { -@@ -137,7 +137,7 @@ void RenderMessageFilter::SetThreadPriorityOnFileThrea +@@ -151,7 +151,7 @@ void RenderMessageFilter::SetThreadPriorityOnFileThrea } #endif -#if defined(OS_LINUX) || defined(OS_CHROMEOS) +#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD) void RenderMessageFilter::SetThreadPriority(int32_t ns_tid, base::ThreadPriority priority) { constexpr base::TaskTraits kTraits = { 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 458f27226819..f9d6038b2c0e 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-05-12 22:05:52 UTC +--- content/browser/renderer_host/render_message_filter.h.orig 2021-07-19 18:45:15 UTC +++ content/browser/renderer_host/render_message_filter.h -@@ -77,14 +77,14 @@ class CONTENT_EXPORT RenderMessageFilter +@@ -76,14 +76,14 @@ class CONTENT_EXPORT 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 01fe8c07a94f..130c84131877 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,67 @@ ---- content/browser/renderer_host/render_process_host_impl.cc.orig 2021-05-12 22:05:52 UTC +--- content/browser/renderer_host/render_process_host_impl.cc.orig 2021-07-19 18:45:15 UTC +++ content/browser/renderer_host/render_process_host_impl.cc -@@ -223,7 +223,7 @@ +@@ -224,7 +224,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 -@@ -1243,7 +1243,7 @@ static constexpr size_t kUnknownPlatformProcessLimit = +@@ -1371,7 +1371,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; -@@ -1254,7 +1254,7 @@ size_t GetPlatformProcessLimit() { +@@ -1382,7 +1382,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) -@@ -1328,7 +1328,7 @@ class RenderProcessHostImpl::IOThreadHostImpl : public +@@ -1456,7 +1456,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; -@@ -1748,7 +1748,7 @@ bool RenderProcessHostImpl::Init() { +@@ -1884,7 +1884,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) -@@ -3176,8 +3176,8 @@ void RenderProcessHostImpl::PropagateBrowserCommandLin +@@ -3294,8 +3294,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) -@@ -4806,6 +4806,8 @@ void RenderProcessHostImpl::OnProcessLaunched() { +@@ -4968,6 +4968,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(); diff --git a/www/chromium/files/patch-content_browser_renderer__host_render__view__host__impl.cc b/www/chromium/files/patch-content_browser_renderer__host_render__view__host__impl.cc index 0f8ede625093..3a068d1274ed 100644 --- a/www/chromium/files/patch-content_browser_renderer__host_render__view__host__impl.cc +++ b/www/chromium/files/patch-content_browser_renderer__host_render__view__host__impl.cc @@ -1,11 +1,11 @@ ---- content/browser/renderer_host/render_view_host_impl.cc.orig 2021-05-12 22:05:52 UTC +--- content/browser/renderer_host/render_view_host_impl.cc.orig 2021-07-19 18:45:15 UTC +++ content/browser/renderer_host/render_view_host_impl.cc -@@ -259,7 +259,7 @@ void RenderViewHostImpl::GetPlatformSpecificPrefs( +@@ -257,7 +257,7 @@ void RenderViewHostImpl::GetPlatformSpecificPrefs( display::win::ScreenWin::GetSystemMetricsInDIP(SM_CYVSCROLL); prefs->arrow_bitmap_width_horizontal_scroll_bar_in_dips = display::win::ScreenWin::GetSystemMetricsInDIP(SM_CXHSCROLL); -#elif defined(OS_LINUX) || defined(OS_CHROMEOS) +#elif defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD) prefs->system_font_family_name = gfx::Font().GetFontName(); #elif defined(OS_FUCHSIA) // Make Blink's "focus ring" invisible. The focus ring is a hairline border 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 9fbd89d7250e..e02b7154ab82 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,38 +1,38 @@ ---- content/browser/renderer_host/render_widget_host_view_aura.cc.orig 2021-04-14 18:41:02 UTC +--- content/browser/renderer_host/render_widget_host_view_aura.cc.orig 2021-07-19 18:45:15 UTC +++ content/browser/renderer_host/render_widget_host_view_aura.cc -@@ -110,7 +110,7 @@ +@@ -112,7 +112,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" -@@ -466,7 +466,7 @@ gfx::NativeViewAccessible RenderWidgetHostViewAura::Ge +@@ -464,7 +464,7 @@ gfx::NativeViewAccessible RenderWidgetHostViewAura::Ge if (manager) return ToBrowserAccessibilityWin(manager->GetRoot())->GetCOM(); -#elif defined(OS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS) +#elif defined(OS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS) || defined(OS_BSD) BrowserAccessibilityManager* manager = host()->GetOrCreateRootBrowserAccessibilityManager(); if (manager && manager->GetRoot()) -@@ -2199,7 +2199,7 @@ bool RenderWidgetHostViewAura::NeedsInputGrab() { +@@ -2255,7 +2255,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; -@@ -2365,7 +2365,7 @@ void RenderWidgetHostViewAura::ForwardKeyboardEventWit +@@ -2421,7 +2421,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__event__handler.cc b/www/chromium/files/patch-content_browser_renderer__host_render__widget__host__view__event__handler.cc index 88c5c15955f7..1de5e8dfee82 100644 --- a/www/chromium/files/patch-content_browser_renderer__host_render__widget__host__view__event__handler.cc +++ b/www/chromium/files/patch-content_browser_renderer__host_render__widget__host__view__event__handler.cc @@ -1,11 +1,11 @@ ---- content/browser/renderer_host/render_widget_host_view_event_handler.cc.orig 2021-05-12 22:05:52 UTC +--- content/browser/renderer_host/render_widget_host_view_event_handler.cc.orig 2021-07-19 18:45:15 UTC +++ content/browser/renderer_host/render_widget_host_view_event_handler.cc -@@ -714,7 +714,7 @@ bool RenderWidgetHostViewEventHandler::CanRendererHand +@@ -715,7 +715,7 @@ bool RenderWidgetHostViewEventHandler::CanRendererHand if (event->type() == ui::ET_MOUSE_EXITED) { if (mouse_locked || selection_popup) return false; -#if defined(OS_WIN) || defined(OS_LINUX) || defined(OS_CHROMEOS) +#if defined(OS_WIN) || defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD) // Don't forward the mouse leave message which is received when the context // menu is displayed by the page. This confuses the page and causes state // changes. diff --git a/www/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 1a6d9325a198..8db1688aa96b 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-05-12 22:05:52 UTC +--- content/browser/web_contents/web_contents_view_aura.cc.orig 2021-07-19 18:45:15 UTC +++ content/browser/web_contents/web_contents_view_aura.cc -@@ -152,7 +152,7 @@ class WebDragSourceAura : public content::WebContentsO +@@ -156,7 +156,7 @@ class WebDragSourceAura : public content::WebContentsO DISALLOW_COPY_AND_ASSIGN(WebDragSourceAura); }; -#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, -@@ -235,7 +235,7 @@ void PrepareDragData(const DropData& drop_data, +@@ -239,7 +239,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. -@@ -1210,7 +1210,7 @@ void WebContentsViewAura::OnMouseEvent(ui::MouseEvent* +@@ -1205,7 +1205,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_common_mojo__core__library__support.cc b/www/chromium/files/patch-content_common_mojo__core__library__support.cc index d0088f91541d..1663d3aeb5b1 100644 --- a/www/chromium/files/patch-content_common_mojo__core__library__support.cc +++ b/www/chromium/files/patch-content_common_mojo__core__library__support.cc @@ -1,11 +1,11 @@ ---- content/common/mojo_core_library_support.cc.orig 2021-04-14 18:41:03 UTC +--- content/common/mojo_core_library_support.cc.orig 2021-07-19 18:45:15 UTC +++ content/common/mojo_core_library_support.cc @@ -15,7 +15,7 @@ bool IsMojoCoreSharedLibraryEnabled() { } - base::Optional GetMojoCoreSharedLibraryPath() { + absl::optional GetMojoCoreSharedLibraryPath() { -#if defined(OS_LINUX) || defined(OS_CHROMEOS) +#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD) const base::CommandLine& command_line = *base::CommandLine::ForCurrentProcess(); if (!command_line.HasSwitch(switches::kMojoCoreLibraryPath)) diff --git a/www/chromium/files/patch-content_gpu_gpu__main.cc b/www/chromium/files/patch-content_gpu_gpu__main.cc index 8ad3aceeabd6..56356738d1ee 100644 --- a/www/chromium/files/patch-content_gpu_gpu__main.cc +++ b/www/chromium/files/patch-content_gpu_gpu__main.cc @@ -1,20 +1,20 @@ ---- content/gpu/gpu_main.cc.orig 2021-05-12 22:05:53 UTC +--- content/gpu/gpu_main.cc.orig 2021-07-19 18:45:15 UTC +++ content/gpu/gpu_main.cc -@@ -87,7 +87,7 @@ +@@ -86,7 +86,7 @@ #include "ui/gfx/x/x11_switches.h" // nogncheck #endif -#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" -@@ -310,7 +310,7 @@ int GpuMain(const MainFunctionParams& parameters) { +@@ -282,7 +282,7 @@ int GpuMain(const MainFunctionParams& parameters) { gpu_preferences.message_pump_type); } #endif -#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 diff --git a/www/chromium/files/patch-content_ppapi__plugin_ppapi__blink__platform__impl.cc b/www/chromium/files/patch-content_ppapi__plugin_ppapi__blink__platform__impl.cc index bacf58aeb806..cf13df3412ea 100644 --- a/www/chromium/files/patch-content_ppapi__plugin_ppapi__blink__platform__impl.cc +++ b/www/chromium/files/patch-content_ppapi__plugin_ppapi__blink__platform__impl.cc @@ -1,29 +1,29 @@ ---- content/ppapi_plugin/ppapi_blink_platform_impl.cc.orig 2021-04-14 18:41:03 UTC +--- content/ppapi_plugin/ppapi_blink_platform_impl.cc.orig 2021-07-19 18:45:15 UTC +++ content/ppapi_plugin/ppapi_blink_platform_impl.cc -@@ -19,7 +19,7 @@ +@@ -20,7 +20,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" #include "mojo/public/cpp/bindings/pending_remote.h" #endif -@@ -34,7 +34,7 @@ typedef struct CGFont* CGFontRef; +@@ -35,7 +35,7 @@ typedef struct CGFont* CGFontRef; namespace content { PpapiBlinkPlatformImpl::PpapiBlinkPlatformImpl() { -#if defined(OS_LINUX) || defined(OS_CHROMEOS) +#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD) mojo::PendingRemote font_service; ChildThread::Get()->BindHostReceiver( font_service.InitWithNewPipeAndPassReceiver()); -@@ -52,7 +52,7 @@ PpapiBlinkPlatformImpl::~PpapiBlinkPlatformImpl() { +@@ -53,7 +53,7 @@ PpapiBlinkPlatformImpl::~PpapiBlinkPlatformImpl() { void PpapiBlinkPlatformImpl::Shutdown() {} blink::WebSandboxSupport* PpapiBlinkPlatformImpl::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 return nullptr; 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 new file mode 100644 index 000000000000..be9b238c7fd5 --- /dev/null +++ b/www/chromium/files/patch-content_ppapi__plugin_ppapi__plugin__main.cc @@ -0,0 +1,23 @@ +--- content/ppapi_plugin/ppapi_plugin_main.cc.orig 2021-07-19 18:45:15 UTC ++++ content/ppapi_plugin/ppapi_plugin_main.cc +@@ -49,6 +49,10 @@ + #include "content/public/common/sandbox_init.h" + #include "sandbox/policy/linux/sandbox_linux.h" + #endif ++#if defined(OS_FREEBSD) ++#include "content/public/common/sandbox_init.h" ++#include "sandbox/policy/freebsd/sandbox_freebsd.h" ++#endif + + #ifdef V8_USE_EXTERNAL_STARTUP_DATA + #include "gin/v8_initializer.h" +@@ -140,6 +144,9 @@ int PpapiPluginMain(const MainFunctionParams& paramete + 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_common_content__features.cc b/www/chromium/files/patch-content_public_common_content__features.cc index 4516a60d7ece..8e911845dda6 100644 --- a/www/chromium/files/patch-content_public_common_content__features.cc +++ b/www/chromium/files/patch-content_public_common_content__features.cc @@ -1,31 +1,47 @@ ---- content/public/common/content_features.cc.orig 2021-05-12 22:05:53 UTC +--- content/public/common/content_features.cc.orig 2021-07-19 18:45:16 UTC +++ content/public/common/content_features.cc @@ -50,7 +50,7 @@ const base::Feature kAudioServiceOutOfProcess { // 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) base::FEATURE_ENABLED_BY_DEFAULT #else base::FEATURE_DISABLED_BY_DEFAULT -@@ -821,8 +821,8 @@ const base::Feature kWebAssemblyThreads { - }; +@@ -851,13 +851,13 @@ const base::Feature kWebAssemblyBaseline{"WebAssemblyB + const base::Feature kWebAssemblyCodeProtection{ + "WebAssemblyCodeProtection", base::FEATURE_DISABLED_BY_DEFAULT}; + +-#if defined(OS_LINUX) && defined(ARCH_CPU_X86_64) ++#if (defined(OS_LINUX) || 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(ARCH_CPU_X86_64) ++#endif // (defined(OS_LINUX) || defined(OS_BSD)) && defined(ARCH_CPU_X86_64) + + // Enable WebAssembly lazy compilation (JIT on first call). + const base::Feature kWebAssemblyLazyCompilation{ +@@ -873,8 +873,8 @@ const base::Feature kWebAssemblyTiering{"WebAssemblyTi + base::FEATURE_ENABLED_BY_DEFAULT}; // Enable WebAssembly trap handler. -#if (defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_WIN) || \ - defined(OS_MAC)) && \ +#if (defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_WIN) || defined(OS_BSD) || \ + defined(OS_MAC)) && \ defined(ARCH_CPU_X86_64) const base::Feature kWebAssemblyTrapHandler{"WebAssemblyTrapHandler", base::FEATURE_ENABLED_BY_DEFAULT}; -@@ -844,7 +844,7 @@ const base::Feature kWebAuthCable { +@@ -896,7 +896,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 diff --git a/www/chromium/files/patch-content_public_common_content__features.h b/www/chromium/files/patch-content_public_common_content__features.h new file mode 100644 index 000000000000..6774c4dd01ec --- /dev/null +++ b/www/chromium/files/patch-content_public_common_content__features.h @@ -0,0 +1,14 @@ +--- content/public/common/content_features.h.orig 2021-07-29 12:15:43 UTC ++++ content/public/common/content_features.h +@@ -219,9 +219,9 @@ 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(ARCH_CPU_X86_64) ++#if (defined(OS_LINUX) || defined(OS_BSD)) && defined(ARCH_CPU_X86_64) + CONTENT_EXPORT extern const base::Feature kWebAssemblyCodeProtectionPku; +-#endif // defined(OS_LINUX) && defined(ARCH_CPU_X86_64) ++#endif // (defined(OS_LINUX) || defined(OS_BSD)) && defined(ARCH_CPU_X86_64) + CONTENT_EXPORT extern const base::Feature kWebAssemblyLazyCompilation; + CONTENT_EXPORT extern const base::Feature kWebAssemblySimd; + CONTENT_EXPORT extern const base::Feature kWebAssemblyTiering; 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 573b62c2e6be..9cd0a6561e80 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,11 @@ ---- content/public/common/content_switches.cc.orig 2021-05-12 22:05:53 UTC +--- content/public/common/content_switches.cc.orig 2021-07-19 18:45:16 UTC +++ content/public/common/content_switches.cc -@@ -977,7 +977,7 @@ const char kEnableAutomation[] = "enable-automation"; +@@ -985,7 +985,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 7e04dd770eca..e30459b60233 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,11 @@ ---- content/public/common/content_switches.h.orig 2021-05-12 22:05:53 UTC +--- content/public/common/content_switches.h.orig 2021-07-19 18:45:16 UTC +++ content/public/common/content_switches.h -@@ -268,7 +268,7 @@ CONTENT_EXPORT extern const char kRendererWaitForJavaD +@@ -270,7 +270,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_test_browser__test__base.cc b/www/chromium/files/patch-content_public_test_browser__test__base.cc index afc7c9b63882..9173cc5a0f53 100644 --- a/www/chromium/files/patch-content_public_test_browser__test__base.cc +++ b/www/chromium/files/patch-content_public_test_browser__test__base.cc @@ -1,13 +1,13 @@ ---- content/public/test/browser_test_base.cc.orig 2021-05-12 22:05:53 UTC +--- content/public/test/browser_test_base.cc.orig 2021-07-19 18:45:16 UTC +++ content/public/test/browser_test_base.cc -@@ -110,6 +110,10 @@ +@@ -112,6 +112,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_renderer_render__process__impl.cc b/www/chromium/files/patch-content_renderer_render__process__impl.cc index 655e69021770..c37b958aafe1 100644 --- a/www/chromium/files/patch-content_renderer_render__process__impl.cc +++ b/www/chromium/files/patch-content_renderer_render__process__impl.cc @@ -1,20 +1,35 @@ ---- content/renderer/render_process_impl.cc.orig 2021-05-12 22:05:53 UTC +--- content/renderer/render_process_impl.cc.orig 2021-07-19 18:45:16 UTC +++ content/renderer/render_process_impl.cc -@@ -47,7 +47,7 @@ +@@ -48,7 +48,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 namespace { -@@ -197,7 +197,7 @@ RenderProcessImpl::RenderProcessImpl() +@@ -142,12 +142,12 @@ RenderProcessImpl::RenderProcessImpl() + SetV8FlagIfNotFeature(features::kWebAssemblyCodeProtection, + "--no-wasm-write-protect-code-memory"); + +-#if defined(OS_LINUX) && defined(ARCH_CPU_X86_64) ++#if (defined(OS_LINUX) || 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(ARCH_CPU_X86_64) ++#endif // (defined(OS_LINUX) || defined(OS_BSD)) && defined(ARCH_CPU_X86_64) + + SetV8FlagIfFeature(features::kWebAssemblyLazyCompilation, + "--wasm-lazy-compilation"); +@@ -207,7 +207,7 @@ RenderProcessImpl::RenderProcessImpl() SetV8FlagIfNotFeature(features::kWebAssemblyTrapHandler, "--no-wasm-trap-handler"); -#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 4a6ee05f3dd8..ebab58016b00 100644 --- a/www/chromium/files/patch-content_renderer_render__thread__impl.cc +++ b/www/chromium/files/patch-content_renderer_render__thread__impl.cc @@ -1,52 +1,52 @@ ---- content/renderer/render_thread_impl.cc.orig 2021-05-12 22:05:53 UTC +--- content/renderer/render_thread_impl.cc.orig 2021-07-19 18:45:16 UTC +++ content/renderer/render_thread_impl.cc @@ -180,7 +180,7 @@ #if defined(OS_MAC) #include -#else +#elif !defined(OS_BSD) #include #endif -@@ -714,7 +714,7 @@ void RenderThreadImpl::Init() { +@@ -695,7 +695,7 @@ void RenderThreadImpl::Init() { compositor_thread_pipeline_.get())); } -#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( -@@ -737,7 +737,7 @@ void RenderThreadImpl::Init() { +@@ -718,7 +718,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( -@@ -1058,11 +1058,11 @@ media::GpuVideoAcceleratorFactories* RenderThreadImpl: +@@ -1040,11 +1040,11 @@ media::GpuVideoAcceleratorFactories* RenderThreadImpl: const bool enable_video_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); -@@ -1072,7 +1072,7 @@ media::GpuVideoAcceleratorFactories* RenderThreadImpl: +@@ -1054,7 +1054,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 46c661ec0b16..498f7cad0759 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,47 @@ ---- content/renderer/renderer_blink_platform_impl.cc.orig 2021-05-12 22:05:53 UTC +--- content/renderer/renderer_blink_platform_impl.cc.orig 2021-07-19 18:45:16 UTC +++ content/renderer/renderer_blink_platform_impl.cc -@@ -102,7 +102,7 @@ +@@ -106,7 +106,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 -@@ -171,7 +171,7 @@ RendererBlinkPlatformImpl::RendererBlinkPlatformImpl( +@@ -175,7 +175,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()); -@@ -181,7 +181,7 @@ RendererBlinkPlatformImpl::RendererBlinkPlatformImpl( +@@ -185,7 +185,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(); -@@ -249,7 +249,7 @@ RendererBlinkPlatformImpl::WrapSharedURLLoaderFactory( +@@ -253,7 +253,7 @@ RendererBlinkPlatformImpl::WrapSharedURLLoaderFactory( /*terminate_sync_load_event=*/nullptr); } -#if defined(OS_LINUX) || defined(OS_CHROMEOS) +#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD) void RendererBlinkPlatformImpl::SetDisplayThreadPriority( base::PlatformThreadId thread_id) { if (RenderThreadImpl* render_thread = RenderThreadImpl::current()) { -@@ -264,7 +264,7 @@ blink::BlameContext* RendererBlinkPlatformImpl::GetTop +@@ -268,7 +268,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 eb4e05bb9589..86a40be7d41c 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,38 @@ ---- content/renderer/renderer_blink_platform_impl.h.orig 2021-05-12 22:05:53 UTC +--- content/renderer/renderer_blink_platform_impl.h.orig 2021-07-19 18:45:16 UTC +++ content/renderer/renderer_blink_platform_impl.h @@ -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 -@@ -183,7 +183,7 @@ class CONTENT_EXPORT RendererBlinkPlatformImpl : publi +@@ -194,7 +194,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; -@@ -230,7 +230,7 @@ class CONTENT_EXPORT RendererBlinkPlatformImpl : publi - // Return the mojo interface for making CodeCache calls. - blink::mojom::CodeCacheHost& GetCodeCacheHost(); +@@ -268,7 +268,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 -@@ -251,7 +251,7 @@ class CONTENT_EXPORT RendererBlinkPlatformImpl : publi +@@ -289,7 +289,7 @@ class CONTENT_EXPORT RendererBlinkPlatformImpl : publi mojo::PendingRemote code_cache_host_remote_; mojo::SharedRemote code_cache_host_; -#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 43c2b524d5ce..b2287ddbbe2e 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,23 @@ ---- content/renderer/renderer_main_platform_delegate_linux.cc.orig 2021-06-09 22:14:02 UTC +--- content/renderer/renderer_main_platform_delegate_linux.cc.orig 2021-07-19 18:45:16 UTC +++ content/renderer/renderer_main_platform_delegate_linux.cc @@ -30,6 +30,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/+/master/docs/linux/suid_sandbox.md + // https://chromium.googlesource.com/chromium/src/+/main/docs/linux/suid_sandbox.md // @@ -65,7 +70,7 @@ bool RendererMainPlatformDelegate::EnableSandbox() { CHECK_EQ(errno, EPERM); } #endif // __x86_64__ - +#endif // OS_FREEBSD return true; } diff --git a/www/chromium/files/patch-content_shell_BUILD.gn b/www/chromium/files/patch-content_shell_BUILD.gn index 99b5375d1c04..bd858193b96e 100644 --- a/www/chromium/files/patch-content_shell_BUILD.gn +++ b/www/chromium/files/patch-content_shell_BUILD.gn @@ -1,47 +1,47 @@ ---- content/shell/BUILD.gn.orig 2021-04-14 18:41:03 UTC +--- content/shell/BUILD.gn.orig 2021-07-19 18:45:16 UTC +++ content/shell/BUILD.gn @@ -87,7 +87,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", @@ -268,7 +268,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", -@@ -522,7 +522,7 @@ if (is_android) { +@@ -523,7 +523,7 @@ if (is_android) { } } - if (is_win || is_linux || is_chromeos) { + if ((is_win || is_linux || is_chromeos) && !is_bsd) { data_deps += [ "//third_party/crashpad/crashpad/handler:crashpad_handler" ] } -@@ -808,7 +808,7 @@ group("content_shell_crash_test") { +@@ -837,7 +837,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", -@@ -817,7 +817,7 @@ group("content_shell_crash_test") { +@@ -846,7 +846,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_browser_shell__browser__main__parts.cc b/www/chromium/files/patch-content_shell_browser_shell__browser__main__parts.cc index 2c3a0e40c0b3..fe1b5be5b752 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-04-14 18:41:03 UTC +--- content/shell/browser/shell_browser_main_parts.cc.orig 2021-07-19 18:45:16 UTC +++ content/shell/browser/shell_browser_main_parts.cc -@@ -56,7 +56,7 @@ +@@ -57,7 +57,7 @@ #if defined(USE_AURA) && defined(USE_X11) #include "ui/events/devices/x11/touch_factory_x11.h" // nogncheck #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 "ui/base/ime/init/input_method_initializer.h" #endif #if BUILDFLAG(IS_CHROMEOS_ASH) -@@ -142,7 +142,7 @@ void ShellBrowserMainParts::PostMainMessageLoopStart() +@@ -137,7 +137,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_utility_shell__content__utility__client.cc b/www/chromium/files/patch-content_shell_utility_shell__content__utility__client.cc new file mode 100644 index 000000000000..4d2e1c1b3ac1 --- /dev/null +++ b/www/chromium/files/patch-content_shell_utility_shell__content__utility__client.cc @@ -0,0 +1,20 @@ +--- content/shell/utility/shell_content_utility_client.cc.orig 2021-07-28 08:08:13 UTC ++++ content/shell/utility/shell_content_utility_client.cc +@@ -33,7 +33,7 @@ + #include "sandbox/policy/sandbox.h" + #include "services/test/echo/echo_service.h" + +-#if defined(OS_LINUX) || defined(OS_CHROMEOS) ++#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD) + #include "content/test/sandbox_status_service.h" + #endif + +@@ -142,7 +142,7 @@ void ShellContentUtilityClient::ExposeInterfacesToBrow + binders->Add( + base::BindRepeating(&PowerMonitorTestImpl::MakeSelfOwnedReceiver), + base::ThreadTaskRunnerHandle::Get()); +-#if defined(OS_LINUX) || defined(OS_CHROMEOS) ++#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD) + if (register_sandbox_status_helper_) { + binders->Add( + base::BindRepeating( diff --git a/www/chromium/files/patch-content_test_BUILD.gn b/www/chromium/files/patch-content_test_BUILD.gn index a42b25208fa2..89c0d21fa25f 100644 --- a/www/chromium/files/patch-content_test_BUILD.gn +++ b/www/chromium/files/patch-content_test_BUILD.gn @@ -1,37 +1,37 @@ ---- content/test/BUILD.gn.orig 2021-05-12 22:05:53 UTC +--- content/test/BUILD.gn.orig 2021-07-19 18:45:16 UTC +++ content/test/BUILD.gn -@@ -1502,10 +1502,12 @@ test("content_browsertests") { +@@ -1528,10 +1528,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 += [ "//ui/gfx:test_support" ] - - if (use_atk) { -@@ -1754,7 +1756,7 @@ static_library("run_all_unittests") { + deps += [ + "//printing/buildflags", + "//ui/gfx:test_support", +@@ -1786,7 +1788,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" ] } } -@@ -2613,7 +2615,7 @@ test("content_unittests") { +@@ -2674,7 +2676,7 @@ test("content_unittests") { deps += [ "//ui/gfx/x" ] } - 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_utility_BUILD.gn b/www/chromium/files/patch-content_utility_BUILD.gn index c65b8bd9cb49..c0ddeaa5242d 100644 --- a/www/chromium/files/patch-content_utility_BUILD.gn +++ b/www/chromium/files/patch-content_utility_BUILD.gn @@ -1,11 +1,11 @@ ---- content/utility/BUILD.gn.orig 2021-05-12 22:05:53 UTC +--- content/utility/BUILD.gn.orig 2021-07-19 18:45:16 UTC +++ content/utility/BUILD.gn -@@ -94,7 +94,7 @@ source_set("utility") { +@@ -102,7 +102,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", - "//printing:printing_sandbox_hook", + "//services/network:network_sandbox_hook", diff --git a/www/chromium/files/patch-content_utility_utility__main.cc b/www/chromium/files/patch-content_utility_utility__main.cc index f85f6e097fff..501ac6883c9e 100644 --- a/www/chromium/files/patch-content_utility_utility__main.cc +++ b/www/chromium/files/patch-content_utility_utility__main.cc @@ -1,14 +1,14 @@ ---- content/utility/utility_main.cc.orig 2021-06-11 14:43:47 UTC +--- content/utility/utility_main.cc.orig 2021-07-19 18:45:16 UTC +++ content/utility/utility_main.cc -@@ -89,6 +89,11 @@ int UtilityMain(const MainFunctionParams& parameters) - if (parameters.command_line.HasSwitch(switches::kUtilityStartupDialog)) - WaitForDebugger("Utility"); +@@ -113,6 +113,11 @@ int UtilityMain(const MainFunctionParams& parameters) + } + } +#if defined(OS_FREEBSD) + sandbox::policy::Sandbox::Initialize( + sandbox::policy::SandboxTypeFromCommandLine(parameters.command_line)); +#endif + #if defined(OS_LINUX) || defined(OS_CHROMEOS) // Initializes the sandbox before any threads are created. // TODO(jorgelo): move this after GTK initialization when we enable a strict 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 index f920ab8e8c1b..af8c790160d4 100644 --- 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 @@ -1,14 +1,14 @@ ---- extensions/browser/api/declarative_webrequest/webrequest_action.cc.orig 2021-04-14 18:41:03 UTC +--- extensions/browser/api/declarative_webrequest/webrequest_action.cc.orig 2021-07-19 18:45:16 UTC +++ extensions/browser/api/declarative_webrequest/webrequest_action.cc -@@ -28,7 +28,11 @@ +@@ -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 7761cf05d50d..aa311d889677 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,35 @@ ---- extensions/browser/api/messaging/message_service.cc.orig 2021-05-12 22:05:54 UTC +--- extensions/browser/api/messaging/message_service.cc.orig 2021-07-19 18:45:16 UTC +++ extensions/browser/api/messaging/message_service.cc -@@ -63,7 +63,7 @@ namespace { +@@ -65,7 +65,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) const char kMissingPermissionError[] = "Access to native messaging requires nativeMessaging permission."; -@@ -394,7 +394,7 @@ void MessageService::OpenChannelToNativeApp( +@@ -404,7 +404,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) bool has_permission = extension->permissions_data()->HasAPIPermission( mojom::APIPermissionID::kNativeMessaging); -@@ -445,12 +445,12 @@ void MessageService::OpenChannelToNativeApp( +@@ -459,12 +459,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)) } 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 index 160783b76492..96b605cf72ae 100644 --- 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 @@ -1,14 +1,14 @@ ---- extensions/browser/api/web_request/form_data_parser.cc.orig 2021-04-14 18:41:04 UTC +--- 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 -@@ -16,7 +16,11 @@ +@@ -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 7118ec4f2cee..c34950bfeb2c 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-05-12 22:05:54 UTC +--- extensions/browser/browser_context_keyed_service_factories.cc.orig 2021-07-19 18:45:16 UTC +++ extensions/browser/browser_context_keyed_service_factories.cc -@@ -86,7 +86,7 @@ void EnsureBrowserContextKeyedServiceFactoriesBuilt() +@@ -88,7 +88,7 @@ void EnsureBrowserContextKeyedServiceFactoriesBuilt() HidDeviceManager::GetFactoryInstance(); 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) NetworkingPrivateEventRouterFactory::GetInstance(); #endif 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 91738100a88b..1a402042403d 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,20 @@ ---- extensions/common/api/_permission_features.json.orig 2021-04-14 18:41:04 UTC +--- extensions/common/api/_permission_features.json.orig 2021-07-19 18:45:16 UTC +++ extensions/common/api/_permission_features.json -@@ -451,7 +451,7 @@ +@@ -442,7 +442,7 @@ }, { "channel": "stable", "extension_types": ["extension", "legacy_packaged_app", "platform_app"], - "platforms": ["chromeos", "mac", "win", "linux"], + "platforms": ["chromeos", "mac", "win", "linux", "bsd"], "allowlist": [ "0DE0F05680A4A056BCEC864ED8DDA84296F82B40", // http://crbug.com/434651 "1C93BD3CF875F4A73C0B2A163BB8FBDA8B8B3D80", // http://crbug.com/293683 -@@ -486,7 +486,7 @@ +@@ -477,7 +477,7 @@ "networkingPrivate": { "channel": "stable", "extension_types": ["extension", "legacy_packaged_app", "platform_app"], - "platforms": ["chromeos", "mac", "win", "linux"], + "platforms": ["chromeos", "mac", "win", "linux", "bsd"], "allowlist": [ // DO NOT ADD ANY MORE ENTRIES HERE. // networkingPrivate is being migrated to networking.onc. diff --git a/www/chromium/files/patch-extensions_shell_BUILD.gn b/www/chromium/files/patch-extensions_shell_BUILD.gn index 938c773a1866..45b666f18078 100644 --- a/www/chromium/files/patch-extensions_shell_BUILD.gn +++ b/www/chromium/files/patch-extensions_shell_BUILD.gn @@ -1,31 +1,31 @@ ---- extensions/shell/BUILD.gn.orig 2021-05-12 22:05:54 UTC +--- extensions/shell/BUILD.gn.orig 2021-07-19 18:45:17 UTC +++ extensions/shell/BUILD.gn -@@ -209,16 +209,24 @@ source_set("app_shell_lib") { +@@ -210,16 +210,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-gpu_command__buffer_common_gpu__memory__buffer__support.cc b/www/chromium/files/patch-gpu_command__buffer_common_gpu__memory__buffer__support.cc index 17a9f28e18d2..e3d589c30c53 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-04-14 18:41:04 UTC +--- gpu/command_buffer/common/gpu_memory_buffer_support.cc.orig 2021-07-19 18:45:17 UTC +++ gpu/command_buffer/common/gpu_memory_buffer_support.cc -@@ -55,7 +55,7 @@ bool IsImageSizeValidForGpuMemoryBufferFormat(const gf +@@ -119,7 +119,7 @@ gfx::BufferFormat GetPlaneBufferFormat(gfx::BufferPlan 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) +-#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) return GL_TEXTURE_EXTERNAL_OES; - #elif defined(OS_WIN) || defined(OS_FUCHSIA) - return GL_TEXTURE_2D; -@@ -85,7 +85,7 @@ GPU_EXPORT uint32_t GetBufferTextureTarget(gfx::Buffer + #elif defined(OS_FUCHSIA) +@@ -150,7 +150,7 @@ GPU_EXPORT uint32_t GetBufferTextureTarget(gfx::Buffer GPU_EXPORT bool NativeBufferNeedsPlatformSpecificTextureTarget( gfx::BufferFormat format) { --#if defined(USE_OZONE) || defined(OS_LINUX) || defined(OS_CHROMEOS) -+#if defined(USE_OZONE) || defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD) +-#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) // 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__semaphore.cc b/www/chromium/files/patch-gpu_command__buffer_service_external__semaphore.cc index 881dcd59d65e..5069ebc251de 100644 --- a/www/chromium/files/patch-gpu_command__buffer_service_external__semaphore.cc +++ b/www/chromium/files/patch-gpu_command__buffer_service_external__semaphore.cc @@ -1,11 +1,11 @@ ---- gpu/command_buffer/service/external_semaphore.cc.orig 2021-04-14 18:41:04 UTC +--- gpu/command_buffer/service/external_semaphore.cc.orig 2021-07-19 18:45:17 UTC +++ gpu/command_buffer/service/external_semaphore.cc -@@ -39,7 +39,7 @@ GLuint ImportSemaphoreHandleToGLSemaphore(SemaphoreHan - }, - base::Time::Now())); +@@ -27,7 +27,7 @@ GLuint ImportSemaphoreHandleToGLSemaphore(SemaphoreHan + if (!handle.is_valid()) + return 0; -#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_ANDROID) +#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_ANDROID) || defined(OS_BSD) if (handle.vk_handle_type() != VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_OPAQUE_FD_BIT) { DLOG(ERROR) << "Importing semaphore handle of unexpected type:" 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 d1fb6c6e50aa..f0e13f27d8d5 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,38 @@ ---- gpu/command_buffer/service/external_vk_image_backing.cc.orig 2021-04-14 18:41:04 UTC +--- gpu/command_buffer/service/external_vk_image_backing.cc.orig 2021-07-19 18:45:17 UTC +++ gpu/command_buffer/service/external_vk_image_backing.cc @@ -30,7 +30,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 -@@ -616,7 +616,7 @@ std::unique_ptr +@@ -601,7 +601,7 @@ std::unique_ptr ExternalVkImageBacking::ProduceDawn(SharedImageManager* manager, MemoryTypeTracker* tracker, WGPUDevice wgpuDevice) { -#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) { -@@ -635,7 +635,7 @@ ExternalVkImageBacking::ProduceDawn(SharedImageManager +@@ -620,7 +620,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 -@@ -648,7 +648,7 @@ GLuint ExternalVkImageBacking::ProduceGLTextureInterna +@@ -633,7 +633,7 @@ GLuint ExternalVkImageBacking::ProduceGLTextureInterna gl::GLApi* api = gl::g_current_gl_context; - base::Optional memory_object; + 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 index b5bd47c3d467..a2c2525f0c25 100644 --- a/www/chromium/files/patch-gpu_command__buffer_service_program__manager.cc +++ b/www/chromium/files/patch-gpu_command__buffer_service_program__manager.cc @@ -1,14 +1,14 @@ ---- gpu/command_buffer/service/program_manager.cc.orig 2021-04-14 18:41:04 UTC +--- gpu/command_buffer/service/program_manager.cc.orig 2021-07-19 18:45:17 UTC +++ gpu/command_buffer/service/program_manager.cc -@@ -30,7 +30,11 @@ +@@ -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 0c230ea56fbb..f94010069ac4 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,37 @@ ---- gpu/command_buffer/service/shared_image_factory.cc.orig 2021-04-22 08:17:28 UTC +--- gpu/command_buffer/service/shared_image_factory.cc.orig 2021-07-19 18:45:17 UTC +++ gpu/command_buffer/service/shared_image_factory.cc -@@ -29,12 +29,12 @@ +@@ -28,12 +28,12 @@ #include "ui/gl/gl_implementation.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) @@ -66,8 +66,8 @@ 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) && \ BUILDFLAG(ENABLE_VULKAN) namespace { @@ -143,7 +143,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()) { 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 b2ce122eaa29..2f0dcf323ce1 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,17 @@ ---- gpu/command_buffer/service/webgpu_decoder_impl.cc.orig 2021-05-12 22:05:54 UTC +--- gpu/command_buffer/service/webgpu_decoder_impl.cc.orig 2021-07-19 18:45:17 UTC +++ gpu/command_buffer/service/webgpu_decoder_impl.cc -@@ -813,12 +813,12 @@ error::Error WebGPUDecoderImpl::HandleRequestAdapter( +@@ -823,12 +823,12 @@ error::Error WebGPUDecoderImpl::HandleRequestAdapter( static_cast(c.request_adapter_serial); if (gr_context_type_ != GrContextType::kVulkan) { -#if defined(OS_LINUX) || defined(OS_CHROMEOS) +#if defined(OS_LINUX) || defined(OS_CHROMEOS) || 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) || defined(OS_CHROMEOS) +#endif // defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD) } int32_t requested_adapter_index = GetPreferredAdapterIndex(power_preference); 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 d694eef02447..da801708bd99 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,32 @@ ---- gpu/config/gpu_control_list.cc.orig 2021-04-14 18:41:04 UTC +--- gpu/config/gpu_control_list.cc.orig 2021-07-19 18:45:17 UTC +++ gpu/config/gpu_control_list.cc -@@ -18,7 +18,11 @@ +@@ -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 { -@@ -276,7 +280,7 @@ bool GpuControlList::More::GLVersionInfoMismatch( +@@ -277,7 +281,7 @@ bool GpuControlList::More::GLVersionInfoMismatch( GpuControlList::GLType GpuControlList::More::GetDefaultGLType() { #if BUILDFLAG(IS_CHROMEOS_ASH) return kGLTypeGL; -#elif (defined(OS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS)) || \ +#elif (defined(OS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS)) || defined(OS_BSD) || \ defined(OS_OPENBSD) return kGLTypeGL; #elif defined(OS_MAC) @@ -783,7 +787,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) return kOsLinux; #elif defined(OS_MAC) 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 52e2fa773534..4665fea9616d 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,47 @@ ---- gpu/ipc/common/gpu_memory_buffer_support.cc.orig 2021-05-12 22:05:54 UTC +--- gpu/ipc/common/gpu_memory_buffer_support.cc.orig 2021-07-19 18:45:17 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 @@ #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() 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) return gfx::NATIVE_PIXMAP; #elif defined(OS_WIN) return gfx::DXGI_SHARED_HANDLE; -@@ -207,7 +207,7 @@ GpuMemoryBufferSupport::CreateGpuMemoryBufferImplFromH +@@ -209,7 +209,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_service_gpu__init.cc b/www/chromium/files/patch-gpu_ipc_service_gpu__init.cc index d33ef4bee500..85a36bfb0f06 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,137 @@ ---- gpu/ipc/service/gpu_init.cc.orig 2021-05-12 22:05:54 UTC +--- gpu/ipc/service/gpu_init.cc.orig 2021-07-19 18:45:17 UTC +++ gpu/ipc/service/gpu_init.cc -@@ -118,7 +118,7 @@ void InitializePlatformOverlaySettings(GPUInfo* gpu_in +@@ -119,7 +119,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) bool CanAccessNvidiaDeviceFile() { bool res = true; base::ScopedBlockingCall scoped_blocking_call(FROM_HERE, -@@ -129,7 +129,7 @@ bool CanAccessNvidiaDeviceFile() { +@@ -130,7 +130,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 { -@@ -216,7 +216,7 @@ bool GpuInit::InitializeAndStartSandbox(base::CommandL +@@ -217,7 +217,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 (gpu_info_.gpu.vendor_id == 0x10de && // NVIDIA gpu_info_.gpu.driver_vendor == "NVIDIA" && !CanAccessNvidiaDeviceFile()) return false; -@@ -268,7 +268,7 @@ bool GpuInit::InitializeAndStartSandbox(base::CommandL +@@ -269,7 +269,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. -@@ -308,7 +308,7 @@ bool GpuInit::InitializeAndStartSandbox(base::CommandL +@@ -309,7 +309,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. -@@ -317,7 +317,7 @@ bool GpuInit::InitializeAndStartSandbox(base::CommandL +@@ -318,7 +318,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(); -@@ -359,7 +359,7 @@ bool GpuInit::InitializeAndStartSandbox(base::CommandL +@@ -360,7 +360,7 @@ bool GpuInit::InitializeAndStartSandbox(base::CommandL } if (gl_initialized && gl_use_swiftshader_ && gl::GetGLImplementation() != gl::kGLImplementationSwiftShaderGL) { -#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; -@@ -367,7 +367,7 @@ bool GpuInit::InitializeAndStartSandbox(base::CommandL +@@ -368,7 +368,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) { -@@ -393,7 +393,7 @@ bool GpuInit::InitializeAndStartSandbox(base::CommandL +@@ -394,7 +394,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 -@@ -458,7 +458,7 @@ bool GpuInit::InitializeAndStartSandbox(base::CommandL +@@ -459,7 +459,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; -@@ -473,7 +473,7 @@ bool GpuInit::InitializeAndStartSandbox(base::CommandL +@@ -474,7 +474,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) { -@@ -549,7 +549,7 @@ bool GpuInit::InitializeAndStartSandbox(base::CommandL +@@ -550,7 +550,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. -@@ -568,7 +568,7 @@ bool GpuInit::InitializeAndStartSandbox(base::CommandL +@@ -569,7 +569,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(); -@@ -755,7 +755,7 @@ void GpuInit::InitializeInProcess(base::CommandLine* c +@@ -761,7 +761,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. -@@ -776,7 +776,7 @@ void GpuInit::InitializeInProcess(base::CommandLine* c +@@ -782,7 +782,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 index 18dfaad660c4..928d1511ba43 100644 --- a/www/chromium/files/patch-gpu_ipc_service_gpu__watchdog__thread.cc +++ b/www/chromium/files/patch-gpu_ipc_service_gpu__watchdog__thread.cc @@ -1,47 +1,47 @@ ---- gpu/ipc/service/gpu_watchdog_thread.cc.orig 2021-04-14 18:41:04 UTC +--- gpu/ipc/service/gpu_watchdog_thread.cc.orig 2021-07-19 18:45:17 UTC +++ gpu/ipc/service/gpu_watchdog_thread.cc -@@ -73,7 +73,7 @@ GpuWatchdogThread::GpuWatchdogThread(base::TimeDelta t +@@ -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(); -@@ -101,7 +101,7 @@ GpuWatchdogThread::~GpuWatchdogThread() { +@@ -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 -@@ -440,7 +440,7 @@ void GpuWatchdogThread::OnWatchdogTimeout() { +@@ -449,7 +449,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 -@@ -773,7 +773,7 @@ bool GpuWatchdogThread::WithinOneMinFromForegrounded() +@@ -782,7 +782,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_; -@@ -790,7 +790,7 @@ void GpuWatchdogThread::UpdateActiveTTY() { +@@ -799,7 +799,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-headless_BUILD.gn b/www/chromium/files/patch-headless_BUILD.gn index 99d736cf614e..05d8956f1945 100644 --- a/www/chromium/files/patch-headless_BUILD.gn +++ b/www/chromium/files/patch-headless_BUILD.gn @@ -1,38 +1,38 @@ ---- headless/BUILD.gn.orig 2021-05-12 22:05:54 UTC +--- headless/BUILD.gn.orig 2021-07-19 18:45:17 UTC +++ headless/BUILD.gn -@@ -290,7 +290,7 @@ source_set("headless_shared_sources") { +@@ -289,7 +289,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") { +@@ -308,7 +308,7 @@ source_set("headless_shared_sources") { "//url", ] - if (!is_fuchsia) { + if (!is_fuchsia && !is_bsd) { deps += [ "//components/crash/content/browser" ] } if (is_component_build && is_win) { -@@ -487,7 +487,7 @@ component("headless_non_renderer") { +@@ -488,7 +488,7 @@ component("headless_non_renderer") { "//v8", ] - if (!is_fuchsia) { + if (!is_fuchsia && !is_bsd) { deps += [ "//components/crash/content/browser" ] } if (is_win) { -@@ -808,7 +808,7 @@ static_library("headless_shell_lib") { +@@ -817,7 +817,7 @@ static_library("headless_shell_lib") { public_deps += [ ":headless_non_renderer" ] } - if (!is_fuchsia) { + if (!is_fuchsia && !is_bsd) { deps += [ "//components/crash/content/browser" ] } diff --git a/www/chromium/files/patch-headless_lib_browser_headless__browser__main__parts.h b/www/chromium/files/patch-headless_lib_browser_headless__browser__main__parts.h index 9cdfcbad4d43..d31b071a6996 100644 --- a/www/chromium/files/patch-headless_lib_browser_headless__browser__main__parts.h +++ b/www/chromium/files/patch-headless_lib_browser_headless__browser__main__parts.h @@ -1,11 +1,11 @@ ---- headless/lib/browser/headless_browser_main_parts.h.orig 2021-05-12 22:05:54 UTC +--- headless/lib/browser/headless_browser_main_parts.h.orig 2021-07-19 18:45:17 UTC +++ headless/lib/browser/headless_browser_main_parts.h -@@ -46,7 +46,7 @@ class HeadlessBrowserMainParts : public content::Brows - void PreMainMessageLoopStart() override; - device::GeolocationSystemPermissionManager* GetLocationPermissionManager(); +@@ -44,7 +44,7 @@ class HeadlessBrowserMainParts : public content::Brows + #if defined(OS_MAC) + void PreCreateMainMessageLoop() override; #endif -#if defined(OS_LINUX) || defined(OS_CHROMEOS) +#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD) - void PostMainMessageLoopStart() override; + void PostCreateMainMessageLoop() override; #endif void QuitMainMessageLoop(); diff --git a/www/chromium/files/patch-headless_lib_browser_headless__browser__main__parts__linux.cc b/www/chromium/files/patch-headless_lib_browser_headless__browser__main__parts__linux.cc index 3ec3a7f0124b..62e89bae0f7d 100644 --- a/www/chromium/files/patch-headless_lib_browser_headless__browser__main__parts__linux.cc +++ b/www/chromium/files/patch-headless_lib_browser_headless__browser__main__parts__linux.cc @@ -1,11 +1,11 @@ ---- headless/lib/browser/headless_browser_main_parts_linux.cc.orig 2021-04-14 18:41:04 UTC +--- headless/lib/browser/headless_browser_main_parts_linux.cc.orig 2021-07-19 18:45:17 UTC +++ headless/lib/browser/headless_browser_main_parts_linux.cc @@ -11,7 +11,7 @@ namespace headless { - void HeadlessBrowserMainParts::PostMainMessageLoopStart() { + void HeadlessBrowserMainParts::PostCreateMainMessageLoop() { -#if defined(USE_DBUS) && !BUILDFLAG(IS_CHROMEOS_ASH) +#if defined(USE_DBUS) && !BUILDFLAG(IS_CHROMEOS_ASH) && !defined(OS_BSD) bluez::BluezDBusManager::Initialize(/*system_bus=*/nullptr); #endif } 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 5c878606ed24..539d8f34c5bd 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-05-12 22:05:54 UTC +--- headless/lib/browser/headless_content_browser_client.cc.orig 2021-07-19 18:45:17 UTC +++ headless/lib/browser/headless_content_browser_client.cc -@@ -280,7 +280,7 @@ void HeadlessContentBrowserClient::AppendExtraCommandL +@@ -288,7 +288,7 @@ void HeadlessContentBrowserClient::AppendExtraCommandL process_type, child_process_id); } -#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)) { diff --git a/www/chromium/files/patch-headless_lib_browser_headless__request__context__manager.cc b/www/chromium/files/patch-headless_lib_browser_headless__request__context__manager.cc index 59f6b0c99851..38f82d819b3d 100644 --- a/www/chromium/files/patch-headless_lib_browser_headless__request__context__manager.cc +++ b/www/chromium/files/patch-headless_lib_browser_headless__request__context__manager.cc @@ -1,20 +1,20 @@ ---- headless/lib/browser/headless_request_context_manager.cc.orig 2021-04-14 18:41:04 UTC +--- headless/lib/browser/headless_request_context_manager.cc.orig 2021-07-19 18:45:17 UTC +++ headless/lib/browser/headless_request_context_manager.cc -@@ -35,7 +35,7 @@ namespace { +@@ -36,7 +36,7 @@ namespace { // 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) constexpr char kProductName[] = "HeadlessChrome"; #endif -@@ -73,7 +73,7 @@ void SetCryptConfigOnce(const base::FilePath& user_dat +@@ -74,7 +74,7 @@ void SetCryptConfigOnce(const base::FilePath& user_dat // 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) ::network::mojom::CryptConfigPtr config = ::network::mojom::CryptConfig::New(); config->store = base::CommandLine::ForCurrentProcess()->GetSwitchValueASCII( 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 index a32036194727..891f0409a690 100644 --- a/www/chromium/files/patch-headless_lib_headless__content__main__delegate.cc +++ b/www/chromium/files/patch-headless_lib_headless__content__main__delegate.cc @@ -1,11 +1,11 @@ ---- headless/lib/headless_content_main_delegate.cc.orig 2021-05-12 22:05:54 UTC +--- headless/lib/headless_content_main_delegate.cc.orig 2021-07-19 18:45:17 UTC +++ headless/lib/headless_content_main_delegate.cc -@@ -323,7 +323,7 @@ void HeadlessContentMainDelegate::InitCrashReporter( +@@ -327,7 +327,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(fuchsia): Implement this when crash reporting/Breakpad are available // in Fuchsia. (crbug.com/753619) NOTIMPLEMENTED(); diff --git a/www/chromium/files/patch-ipc_ipc__channel__mojo.cc b/www/chromium/files/patch-ipc_ipc__channel__mojo.cc index 259ef231364a..06974ddfbe06 100644 --- a/www/chromium/files/patch-ipc_ipc__channel__mojo.cc +++ b/www/chromium/files/patch-ipc_ipc__channel__mojo.cc @@ -1,15 +1,15 @@ ---- ipc/ipc_channel_mojo.cc.orig 2021-04-14 18:41:05 UTC +--- ipc/ipc_channel_mojo.cc.orig 2021-07-19 18:45:18 UTC +++ ipc/ipc_channel_mojo.cc -@@ -76,10 +76,10 @@ class MojoChannelFactory : public ChannelFactory { +@@ -111,10 +111,10 @@ 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 diff --git a/www/chromium/files/patch-ipc_ipc__message__utils.cc b/www/chromium/files/patch-ipc_ipc__message__utils.cc index 6c36c7ed5a1c..4320772145da 100644 --- a/www/chromium/files/patch-ipc_ipc__message__utils.cc +++ b/www/chromium/files/patch-ipc_ipc__message__utils.cc @@ -1,11 +1,11 @@ ---- ipc/ipc_message_utils.cc.orig 2021-05-12 22:05:55 UTC +--- ipc/ipc_message_utils.cc.orig 2021-07-19 18:45:18 UTC +++ ipc/ipc_message_utils.cc -@@ -361,7 +361,7 @@ void ParamTraits::Log(const param_type& +@@ -353,7 +353,7 @@ void ParamTraits::Log(const param_type& l->append(base::NumberToString(p)); } -#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_FUCHSIA) || (defined(OS_ANDROID) && defined(ARCH_CPU_64_BITS)) void ParamTraits::Log(const param_type& p, std::string* l) { l->append(base::NumberToString(p)); diff --git a/www/chromium/files/patch-ipc_ipc__message__utils.h b/www/chromium/files/patch-ipc_ipc__message__utils.h index 2b9e9b6c5654..49fbbcd29396 100644 --- a/www/chromium/files/patch-ipc_ipc__message__utils.h +++ b/www/chromium/files/patch-ipc_ipc__message__utils.h @@ -1,11 +1,11 @@ ---- ipc/ipc_message_utils.h.orig 2021-05-12 22:05:55 UTC +--- ipc/ipc_message_utils.h.orig 2021-07-19 18:45:18 UTC +++ ipc/ipc_message_utils.h -@@ -207,7 +207,7 @@ struct ParamTraits { +@@ -206,7 +206,7 @@ struct ParamTraits { // 3) Android 64 bit and Fuchsia also have int64_t typedef'd to long. // Since we want to support Android 32<>64 bit IPC, as long as we don't have // these traits for 32 bit ARM then that'll catch any errors. -#if defined(OS_WIN) || defined(OS_LINUX) || defined(OS_CHROMEOS) || \ +#if defined(OS_WIN) || defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD) || \ defined(OS_FUCHSIA) || (defined(OS_ANDROID) && defined(ARCH_CPU_64_BITS)) template <> struct ParamTraits { diff --git a/www/chromium/files/patch-media_audio_BUILD.gn b/www/chromium/files/patch-media_audio_BUILD.gn index 5082825d2617..d96b475bbd25 100644 --- a/www/chromium/files/patch-media_audio_BUILD.gn +++ b/www/chromium/files/patch-media_audio_BUILD.gn @@ -1,29 +1,29 @@ ---- media/audio/BUILD.gn.orig 2021-04-14 18:41:05 UTC +--- media/audio/BUILD.gn.orig 2021-07-19 18:45:18 UTC +++ media/audio/BUILD.gn -@@ -236,7 +236,7 @@ source_set("audio") { +@@ -238,7 +238,7 @@ source_set("audio") { ] } - if (is_linux || is_chromeos) { + if ((is_linux || is_chromeos) && !use_sndio) { sources += [ "linux/audio_manager_linux.cc" ] } -@@ -301,6 +301,17 @@ source_set("audio") { +@@ -303,6 +303,17 @@ source_set("audio") { } else { deps += [ ":libpulse_stubs" ] } + } + + if (use_sndio) { + libs += [ "sndio" ] + sources += [ + "openbsd/audio_manager_openbsd.cc", + "sndio/sndio_input.cc", + "sndio/sndio_input.h", + "sndio/sndio_output.cc", + "sndio/sndio_output.h", + ] } if (is_fuchsia) { 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 7f12cbe4c484..ed884fcfed42 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-05-12 22:05:55 UTC +--- media/audio/audio_input_device.cc.orig 2021-07-19 18:45:18 UTC +++ media/audio/audio_input_device.cc -@@ -254,7 +254,7 @@ void AudioInputDevice::OnStreamCreated( +@@ -253,7 +253,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_base_media__switches.cc b/www/chromium/files/patch-media_base_media__switches.cc index 08d6e8514ebf..f05a9c5e74f7 100644 --- a/www/chromium/files/patch-media_base_media__switches.cc +++ b/www/chromium/files/patch-media_base_media__switches.cc @@ -1,38 +1,56 @@ ---- media/base/media_switches.cc.orig 2021-05-12 22:05:55 UTC +--- media/base/media_switches.cc.orig 2021-07-19 18:45:18 UTC +++ media/base/media_switches.cc -@@ -379,7 +379,7 @@ const base::Feature kGav1VideoDecoder{"Gav1VideoDecode +@@ -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 + +@@ -388,7 +388,7 @@ const base::Feature kGav1VideoDecoder{"Gav1VideoDecode // Show toolbar button that opens dialog for controlling media sessions. 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) base::FEATURE_ENABLED_BY_DEFAULT #else -@@ -421,7 +421,7 @@ const base::Feature kGlobalMediaControlsOverlayControl +@@ -430,7 +430,7 @@ const base::Feature kGlobalMediaControlsOverlayControl // Show picture-in-picture button in Global Media Controls. const base::Feature kGlobalMediaControlsPictureInPicture { "GlobalMediaControlsPictureInPicture", -#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) base::FEATURE_ENABLED_BY_DEFAULT #else -@@ -463,7 +463,7 @@ const base::Feature kUseR16Texture{"use-r16-texture", +@@ -472,7 +472,7 @@ const base::Feature kUseR16Texture{"use-r16-texture", const base::Feature kUnifiedAutoplay{"UnifiedAutoplay", base::FEATURE_ENABLED_BY_DEFAULT}; -#if defined(OS_LINUX) +#if defined(OS_LINUX) || defined(OS_BSD) // Enable vaapi video decoding on linux. This is already enabled by default on // chromeos, but needs an experiment on linux. const base::Feature kVaapiVideoDecodeLinux{"VaapiVideoDecoder", -@@ -471,7 +471,7 @@ const base::Feature kVaapiVideoDecodeLinux{"VaapiVideo +@@ -480,7 +480,7 @@ const base::Feature kVaapiVideoDecodeLinux{"VaapiVideo const base::Feature kVaapiVideoEncodeLinux{"VaapiVideoEncoder", base::FEATURE_DISABLED_BY_DEFAULT}; -#endif // defined(OS_LINUX) +#endif // defined(OS_LINUX) || defined(OS_BSD) // Enable VA-API hardware decode acceleration for AV1. const base::Feature kVaapiAV1Decoder{"VaapiAV1Decoder", +@@ -884,7 +884,7 @@ bool IsLiveCaptionFeatureEnabled() { + return false; + #endif + +-#if defined(OS_LINUX) ++#if defined(OS_LINUX) || defined(OS_BSD) + if (base::FeatureList::IsEnabled(media::kUseSodaForLiveCaption)) { + // Check if the CPU has the required instruction set to run the Speech + // On-Device API (SODA) library. diff --git a/www/chromium/files/patch-media_base_media__switches.h b/www/chromium/files/patch-media_base_media__switches.h index da7306901b73..a752d349f688 100644 --- a/www/chromium/files/patch-media_base_media__switches.h +++ b/www/chromium/files/patch-media_base_media__switches.h @@ -1,15 +1,15 @@ ---- media/base/media_switches.h.orig 2021-05-12 22:05:55 UTC +--- media/base/media_switches.h.orig 2021-07-19 18:45:18 UTC +++ media/base/media_switches.h -@@ -179,10 +179,10 @@ MEDIA_EXPORT extern const base::Feature kUseFakeDevice +@@ -181,10 +181,10 @@ MEDIA_EXPORT extern const base::Feature kUseFakeDevice MEDIA_EXPORT extern const base::Feature kUseMediaHistoryStore; MEDIA_EXPORT extern const base::Feature kUseR16Texture; MEDIA_EXPORT extern const base::Feature kUseSodaForLiveCaption; -#if defined(OS_LINUX) +#if defined(OS_LINUX) || defined(OS_BSD) MEDIA_EXPORT extern const base::Feature kVaapiVideoDecodeLinux; MEDIA_EXPORT extern const base::Feature kVaapiVideoEncodeLinux; -#endif // defined(OS_LINUX) +#endif // defined(OS_LINUX) || defined(OS_BSD) MEDIA_EXPORT extern const base::Feature kVaapiAV1Decoder; MEDIA_EXPORT extern const base::Feature kVaapiLowPowerEncoderGen9x; MEDIA_EXPORT extern const base::Feature kVaapiEnforceVideoMinMaxResolution; diff --git a/www/chromium/files/patch-media_base_video__frame.cc b/www/chromium/files/patch-media_base_video__frame.cc index c3857eb28113..70aa9955ae86 100644 --- a/www/chromium/files/patch-media_base_video__frame.cc +++ b/www/chromium/files/patch-media_base_video__frame.cc @@ -1,83 +1,83 @@ ---- media/base/video_frame.cc.orig 2021-05-12 22:05:55 UTC +--- media/base/video_frame.cc.orig 2021-07-19 18:45:18 UTC +++ media/base/video_frame.cc @@ -60,7 +60,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 @@ -77,7 +77,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 && -@@ -265,7 +265,7 @@ static base::Optional GetDefaultLayo +@@ -265,7 +265,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 @@ -283,7 +283,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, -@@ -623,7 +623,7 @@ scoped_refptr VideoFrame::WrapExternalGpuM +@@ -598,7 +598,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() || -@@ -668,7 +668,7 @@ scoped_refptr VideoFrame::WrapExternalGpuM +@@ -643,7 +643,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, -@@ -891,7 +891,7 @@ scoped_refptr VideoFrame::WrapVideoFrame( +@@ -866,7 +866,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_; -@@ -1242,7 +1242,7 @@ const gpu::MailboxHolder& VideoFrame::mailbox_holder( +@@ -1218,7 +1218,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); -@@ -1327,7 +1327,7 @@ VideoFrame::VideoFrame(const VideoFrameLayout& layout, +@@ -1304,7 +1304,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 68b0710d80ba..5b8e1ce39807 100644 --- a/www/chromium/files/patch-media_base_video__frame.h +++ b/www/chromium/files/patch-media_base_video__frame.h @@ -1,50 +1,50 @@ ---- media/base/video_frame.h.orig 2021-05-12 22:05:55 UTC +--- media/base/video_frame.h.orig 2021-07-19 18:45:18 UTC +++ media/base/video_frame.h -@@ -40,9 +40,9 @@ +@@ -39,9 +39,9 @@ #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) namespace gfx { class GpuMemoryBuffer; -@@ -82,7 +82,7 @@ class MEDIA_EXPORT VideoFrame : public base::RefCounte +@@ -81,7 +81,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 -@@ -259,7 +259,7 @@ class MEDIA_EXPORT VideoFrame : public base::RefCounte +@@ -263,7 +263,7 @@ class MEDIA_EXPORT VideoFrame : public base::RefCounte ReleaseMailboxCB mailbox_holder_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 -@@ -515,7 +515,7 @@ class MEDIA_EXPORT VideoFrame : public base::RefCounte +@@ -519,7 +519,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 -@@ -697,7 +697,7 @@ class MEDIA_EXPORT VideoFrame : public base::RefCounte +@@ -718,7 +718,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 5d462771fef8..5b9d79680945 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-04-14 18:41:05 UTC +--- media/capture/video/create_video_capture_device_factory.cc.orig 2021-07-19 18:45:18 UTC +++ media/capture/video/create_video_capture_device_factory.cc @@ -11,7 +11,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" -@@ -80,7 +80,7 @@ CreateChromeOSVideoCaptureDeviceFactory( +@@ -58,7 +58,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 CreateChromeOSVideoCaptureDeviceFactory(ui_task_runner); + return std::make_unique(ui_task_runner); diff --git a/www/chromium/files/patch-media_capture_video_file__video__capture__device__factory.cc b/www/chromium/files/patch-media_capture_video_file__video__capture__device__factory.cc index 3eae180bb49d..73c6a118c486 100644 --- a/www/chromium/files/patch-media_capture_video_file__video__capture__device__factory.cc +++ b/www/chromium/files/patch-media_capture_video_file__video__capture__device__factory.cc @@ -1,11 +1,11 @@ ---- media/capture/video/file_video_capture_device_factory.cc.orig 2021-04-14 18:41:05 UTC +--- media/capture/video/file_video_capture_device_factory.cc.orig 2021-07-19 18:45:18 UTC +++ media/capture/video/file_video_capture_device_factory.cc -@@ -53,7 +53,7 @@ void FileVideoCaptureDeviceFactory::GetDevicesInfo( +@@ -52,7 +52,7 @@ void FileVideoCaptureDeviceFactory::GetDevicesInfo( VideoCaptureApi::WIN_DIRECT_SHOW; #elif defined(OS_MAC) VideoCaptureApi::MACOSX_AVFOUNDATION; -#elif defined(OS_LINUX) || defined(OS_CHROMEOS) +#elif defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD) VideoCaptureApi::LINUX_V4L2_SINGLE_PLANE; #else VideoCaptureApi::UNKNOWN; diff --git a/www/chromium/files/patch-media_capture_video_video__capture__device__client.cc b/www/chromium/files/patch-media_capture_video_video__capture__device__client.cc index e3426b41f3ab..99ff745c5747 100644 --- a/www/chromium/files/patch-media_capture_video_video__capture__device__client.cc +++ b/www/chromium/files/patch-media_capture_video_video__capture__device__client.cc @@ -1,11 +1,11 @@ ---- media/capture/video/video_capture_device_client.cc.orig 2021-04-14 18:41:05 UTC +--- media/capture/video/video_capture_device_client.cc.orig 2021-07-19 18:45:18 UTC +++ media/capture/video/video_capture_device_client.cc -@@ -319,7 +319,7 @@ void VideoCaptureDeviceClient::OnIncomingCapturedData( +@@ -320,7 +320,7 @@ void VideoCaptureDeviceClient::OnIncomingCapturedData( // see http://linuxtv.org/downloads/v4l-dvb-apis/packed-rgb.html. // Windows RGB24 defines blue at lowest byte, // see https://msdn.microsoft.com/en-us/library/windows/desktop/dd407253 -#if defined(OS_LINUX) || defined(OS_CHROMEOS) +#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD) fourcc_format = libyuv::FOURCC_RAW; #elif defined(OS_WIN) fourcc_format = libyuv::FOURCC_24BG; diff --git a/www/chromium/files/patch-media_video_gpu__memory__buffer__video__frame__pool.cc b/www/chromium/files/patch-media_video_gpu__memory__buffer__video__frame__pool.cc index f24be27eca29..e76a07f84f8b 100644 --- a/www/chromium/files/patch-media_video_gpu__memory__buffer__video__frame__pool.cc +++ b/www/chromium/files/patch-media_video_gpu__memory__buffer__video__frame__pool.cc @@ -1,11 +1,11 @@ ---- media/video/gpu_memory_buffer_video_frame_pool.cc.orig 2021-05-12 22:05:56 UTC +--- media/video/gpu_memory_buffer_video_frame_pool.cc.orig 2021-07-19 18:45:18 UTC +++ media/video/gpu_memory_buffer_video_frame_pool.cc -@@ -643,7 +643,7 @@ void GpuMemoryBufferVideoFramePool::PoolImpl::CreateHa +@@ -648,7 +648,7 @@ void GpuMemoryBufferVideoFramePool::PoolImpl::CreateHa } bool is_software_backed_video_frame = !video_frame->HasTextures(); -#if defined(OS_LINUX) || defined(OS_CHROMEOS) +#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD) is_software_backed_video_frame &= !video_frame->HasDmaBufs(); #endif diff --git a/www/chromium/files/patch-media_video_video__encode__accelerator__adapter.cc b/www/chromium/files/patch-media_video_video__encode__accelerator__adapter.cc index 766aa7f3e841..e43603f4e54d 100644 --- a/www/chromium/files/patch-media_video_video__encode__accelerator__adapter.cc +++ b/www/chromium/files/patch-media_video_video__encode__accelerator__adapter.cc @@ -1,20 +1,20 @@ ---- media/video/video_encode_accelerator_adapter.cc.orig 2021-05-12 22:05:56 UTC +--- media/video/video_encode_accelerator_adapter.cc.orig 2021-07-19 18:45:18 UTC +++ media/video/video_encode_accelerator_adapter.cc -@@ -67,7 +67,7 @@ VideoEncodeAccelerator::Config SetUpVeaConfig( +@@ -69,7 +69,7 @@ VideoEncodeAccelerator::Config SetUpVeaConfig( if (is_rgb) config.input_format = PIXEL_FORMAT_I420; -#if defined(OS_LINUX) || defined(OS_CHROMEOS) +#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD) if (storage_type == VideoFrame::STORAGE_DMABUFS || storage_type == VideoFrame::STORAGE_GPU_MEMORY_BUFFER) { if (is_rgb) -@@ -209,7 +209,7 @@ void VideoEncodeAcceleratorAdapter::InitializeInternal +@@ -211,7 +211,7 @@ void VideoEncodeAcceleratorAdapter::InitializeInternal auto vea_config = SetUpVeaConfig(profile_, options_, format, first_frame->storage_type()); -#if defined(OS_LINUX) || defined(OS_CHROMEOS) +#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD) // Linux/ChromeOS require a special configuration to use dmabuf storage. // We need to keep sending frames the same way the first frame was sent. // Other platforms will happily mix GpuMemoryBuffer storage with regular 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 index 9ec416f93d34..55a1edd588de 100644 --- 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 @@ -1,11 +1,11 @@ ---- media/video/video_encode_accelerator_adapter_test.cc.orig 2021-05-12 22:05:56 UTC +--- media/video/video_encode_accelerator_adapter_test.cc.orig 2021-07-19 18:45:18 UTC +++ media/video/video_encode_accelerator_adapter_test.cc -@@ -329,7 +329,7 @@ TEST_P(VideoEncodeAcceleratorAdapterTest, TwoFramesRes +@@ -328,7 +328,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-mojo_public_c_system_thunks.cc b/www/chromium/files/patch-mojo_public_c_system_thunks.cc index 354cd1873335..95fd459e0170 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,46 @@ ---- mojo/public/c/system/thunks.cc.orig 2021-04-14 18:41:06 UTC +--- mojo/public/c/system/thunks.cc.orig 2021-07-19 18:45:18 UTC +++ mojo/public/c/system/thunks.cc @@ -20,7 +20,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/optional.h" + #include "base/scoped_native_library.h" @@ -68,7 +68,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 { 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) } private: -#if defined(OS_CHROMEOS) || defined(OS_LINUX) || defined(OS_WIN) +#if defined(OS_CHROMEOS) || defined(OS_LINUX) || defined(OS_WIN) || defined(OS_BSD) - base::Optional library_; + absl::optional library_; #endif }; diff --git a/www/chromium/files/patch-mojo_public_js_mojo__bindings__resources.grd b/www/chromium/files/patch-mojo_public_js_mojo__bindings__resources.grd index dd62f0f480c3..efe70eda6459 100644 --- a/www/chromium/files/patch-mojo_public_js_mojo__bindings__resources.grd +++ b/www/chromium/files/patch-mojo_public_js_mojo__bindings__resources.grd @@ -1,11 +1,11 @@ ---- mojo/public/js/mojo_bindings_resources.grd.orig 2021-05-12 22:05:56 UTC +--- mojo/public/js/mojo_bindings_resources.grd.orig 2021-07-19 18:45:18 UTC +++ mojo/public/js/mojo_bindings_resources.grd -@@ -90,7 +90,7 @@ +@@ -95,7 +95,7 @@ use_base_dir="false" resource_path="mojo/mojo/public/mojom/base/unguessable_token.mojom-webui.js" type="BINDATA" /> - + 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; +@@ -435,7 +438,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() { +@@ -773,7 +776,7 @@ NetworkChangeNotifier::NetworkChangeNotifier( + can_add_observers_ = true; + } + +-#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; diff --git a/www/chromium/files/patch-net_base_network__change__notifier.h b/www/chromium/files/patch-net_base_network__change__notifier.h new file mode 100644 index 000000000000..635ad6897bd0 --- /dev/null +++ b/www/chromium/files/patch-net_base_network__change__notifier.h @@ -0,0 +1,20 @@ +--- net/base/network_change_notifier.h.orig 2021-07-28 11:56:28 UTC ++++ net/base/network_change_notifier.h +@@ -415,7 +415,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 +@@ -571,7 +571,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_cert_cert__verifier.cc b/www/chromium/files/patch-net_cert_cert__verifier.cc index d9bf78a4a2f0..1d99d2e5abf8 100644 --- a/www/chromium/files/patch-net_cert_cert__verifier.cc +++ b/www/chromium/files/patch-net_cert_cert__verifier.cc @@ -1,11 +1,11 @@ ---- net/cert/cert_verifier.cc.orig 2021-04-14 18:41:06 UTC +--- net/cert/cert_verifier.cc.orig 2021-07-19 18:45:19 UTC +++ net/cert/cert_verifier.cc -@@ -87,7 +87,7 @@ std::unique_ptr CertVerifier::CreateDefa - return std::unique_ptr(); - #else +@@ -78,7 +78,7 @@ bool CertVerifier::RequestParams::operator<( + std::unique_ptr CertVerifier::CreateDefaultWithoutCaching( + scoped_refptr cert_net_fetcher) { scoped_refptr verify_proc; -#if defined(OS_FUCHSIA) || defined(OS_LINUX) || defined(OS_CHROMEOS) +#if defined(OS_FUCHSIA) || defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD) verify_proc = CertVerifyProc::CreateBuiltinVerifyProc(std::move(cert_net_fetcher)); #elif BUILDFLAG(BUILTIN_CERT_VERIFIER_FEATURE_SUPPORTED) diff --git a/www/chromium/files/patch-net_cert_cert__verify__proc.cc b/www/chromium/files/patch-net_cert_cert__verify__proc.cc index f1321276e7c3..c25aaa3115be 100644 --- a/www/chromium/files/patch-net_cert_cert__verify__proc.cc +++ b/www/chromium/files/patch-net_cert_cert__verify__proc.cc @@ -1,11 +1,11 @@ ---- net/cert/cert_verify_proc.cc.orig 2021-04-14 18:41:06 UTC +--- net/cert/cert_verify_proc.cc.orig 2021-07-19 18:45:19 UTC +++ net/cert/cert_verify_proc.cc -@@ -493,7 +493,7 @@ base::Value CertVerifyParams(X509Certificate* cert, +@@ -494,7 +494,7 @@ base::Value CertVerifyParams(X509Certificate* cert, } // namespace -#if !(defined(OS_FUCHSIA) || defined(OS_LINUX) || defined(OS_CHROMEOS)) +#if !(defined(OS_FUCHSIA) || defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD)) // static scoped_refptr CertVerifyProc::CreateSystemVerifyProc( scoped_refptr cert_net_fetcher) { diff --git a/www/chromium/files/patch-net_cert_test__root__certs.h b/www/chromium/files/patch-net_cert_test__root__certs.h deleted file mode 100644 index f711304cf4be..000000000000 --- a/www/chromium/files/patch-net_cert_test__root__certs.h +++ /dev/null @@ -1,26 +0,0 @@ ---- net/cert/test_root_certs.h.orig 2021-04-14 18:41:06 UTC -+++ net/cert/test_root_certs.h -@@ -75,7 +75,7 @@ class NET_EXPORT TestRootCerts { - // engine is appropriate. The caller is responsible for freeing the - // returned HCERTCHAINENGINE. - HCERTCHAINENGINE GetChainEngine() const; --#elif defined(OS_FUCHSIA) || defined(OS_LINUX) || defined(OS_CHROMEOS) -+#elif defined(OS_BSD) || defined(OS_FUCHSIA) || defined(OS_LINUX) || defined(OS_CHROMEOS) - TrustStore* test_trust_store() { return &test_trust_store_; } - #endif - -@@ -93,12 +93,12 @@ class NET_EXPORT TestRootCerts { - #elif defined(OS_APPLE) - base::ScopedCFTypeRef temporary_roots_; - TrustStoreInMemory test_trust_store_; --#elif defined(OS_FUCHSIA) || defined(OS_LINUX) || defined(OS_CHROMEOS) -+#elif defined(OS_BSD) || defined(OS_FUCHSIA) || defined(OS_LINUX) || defined(OS_CHROMEOS) - TrustStoreInMemory test_trust_store_; - #endif - - #if defined(OS_WIN) || defined(OS_ANDROID) || defined(OS_FUCHSIA) || \ -- defined(OS_LINUX) || defined(OS_CHROMEOS) -+ defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD) - // True if there are no temporarily trusted root certificates. - bool empty_ = true; - #endif diff --git a/www/chromium/files/patch-net_dns_BUILD.gn b/www/chromium/files/patch-net_dns_BUILD.gn index d90a2991b4c3..de2a4effb563 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-06-11 08:54:45 UTC +--- net/dns/BUILD.gn.orig 2021-07-19 18:45:19 UTC +++ net/dns/BUILD.gn -@@ -114,7 +114,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", +@@ -110,7 +110,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_dns__util.cc b/www/chromium/files/patch-net_dns_dns__util.cc index 2d25398c12d9..4453cb52e222 100644 --- a/www/chromium/files/patch-net_dns_dns__util.cc +++ b/www/chromium/files/patch-net_dns_dns__util.cc @@ -1,11 +1,11 @@ ---- net/dns/dns_util.cc.orig 2021-04-14 18:41:07 UTC +--- net/dns/dns_util.cc.orig 2021-07-19 18:45:19 UTC +++ net/dns/dns_util.cc @@ -28,6 +28,8 @@ - #include "net/third_party/uri_template/uri_template.h" + #include "third_party/abseil-cpp/absl/types/optional.h" #include "url/url_canon.h" +#include + #if defined(OS_POSIX) #include - #if !defined(OS_NACL) + #include diff --git a/www/chromium/files/patch-net_nqe_network__quality__estimator.cc b/www/chromium/files/patch-net_nqe_network__quality__estimator.cc index a95e0fb7179a..4107f2f5eda2 100644 --- a/www/chromium/files/patch-net_nqe_network__quality__estimator.cc +++ b/www/chromium/files/patch-net_nqe_network__quality__estimator.cc @@ -1,11 +1,11 @@ ---- net/nqe/network_quality_estimator.cc.orig 2021-05-12 22:05:57 UTC +--- net/nqe/network_quality_estimator.cc.orig 2021-07-19 18:45:19 UTC +++ net/nqe/network_quality_estimator.cc -@@ -110,7 +110,7 @@ nqe::internal::NetworkID DoGetCurrentNetworkID( +@@ -109,7 +109,7 @@ nqe::internal::NetworkID DoGetCurrentNetworkID( case NetworkChangeNotifier::ConnectionType::CONNECTION_ETHERNET: break; case NetworkChangeNotifier::ConnectionType::CONNECTION_WIFI: -#if defined(OS_ANDROID) || defined(OS_LINUX) || defined(OS_CHROMEOS) || \ +#if defined(OS_ANDROID) || defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD) || \ defined(OS_WIN) network_id.id = GetWifiSSID(); #endif 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 09d20182d1b7..ecfe40f88d54 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,39 +1,40 @@ ---- net/proxy_resolution/proxy_config_service_linux.cc.orig 2021-05-12 22:05:57 UTC +--- net/proxy_resolution/proxy_config_service_linux.cc.orig 2021-07-19 18:45:19 UTC +++ net/proxy_resolution/proxy_config_service_linux.cc @@ -6,7 +6,9 @@ #include #include +#if !defined(OS_BSD) #include +#endif #include #include -@@ -512,6 +514,7 @@ int StringToIntOrDefault(base::StringPiece value, int - return default_value; +@@ -504,6 +506,7 @@ bool SettingGetterImplGSettings::CheckVersion( } + #endif // defined(USE_GIO) +#if !defined(OS_BSD) - // This is the KDE version that reads kioslaverc and simulates gsettings. - // Doing this allows the main Delegate code, as well as the unit tests - // for it, to stay the same - and the settings map fairly well besides. -@@ -1002,6 +1005,7 @@ class SettingGetterImplKDE : public ProxyConfigService + // 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) { +@@ -1003,6 +1006,7 @@ class SettingGetterImplKDE : public ProxyConfigService DISALLOW_COPY_AND_ASSIGN(SettingGetterImplKDE); }; +#endif } // namespace -@@ -1216,8 +1220,10 @@ ProxyConfigServiceLinux::Delegate::Delegate( +@@ -1217,9 +1221,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_.reset(new SettingGetterImplKDE(env_var_getter_.get())); + 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_udp__socket__posix.cc b/www/chromium/files/patch-net_socket_udp__socket__posix.cc index bf286e78bd68..bd1b06bf26e4 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,82 @@ ---- net/socket/udp_socket_posix.cc.orig 2021-05-12 22:05:57 UTC +--- net/socket/udp_socket_posix.cc.orig 2021-07-19 18:45:19 UTC +++ net/socket/udp_socket_posix.cc -@@ -74,6 +74,32 @@ const int kActivityMonitorMinimumSamplesForThroughputE +@@ -76,6 +76,32 @@ const int kActivityMonitorMinimumSamplesForThroughputE const base::TimeDelta kActivityMonitorMsThreshold = base::TimeDelta::FromMilliseconds(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 -@@ -622,13 +648,13 @@ int UDPSocketPosix::SetDoNotFragment() { +@@ -626,13 +652,13 @@ 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() { -@@ -920,7 +946,11 @@ int UDPSocketPosix::SetMulticastOptions() { +@@ -927,7 +953,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; -@@ -1021,9 +1051,18 @@ int UDPSocketPosix::LeaveGroup(const IPAddress& group_ +@@ -1028,9 +1058,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_tools_cert__verify__tool_cert__verify__tool.cc b/www/chromium/files/patch-net_tools_cert__verify__tool_cert__verify__tool.cc index 6e38f1c09971..2707eb75e91a 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,29 +1,29 @@ ---- net/tools/cert_verify_tool/cert_verify_tool.cc.orig 2021-04-14 18:41:07 UTC +--- net/tools/cert_verify_tool/cert_verify_tool.cc.orig 2021-07-19 18:45:19 UTC +++ net/tools/cert_verify_tool/cert_verify_tool.cc @@ -29,7 +29,7 @@ #include "net/url_request/url_request_context_builder.h" #include "net/url_request/url_request_context_getter.h" -#if defined(OS_LINUX) || 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 @@ -46,7 +46,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. // -@@ -192,7 +192,7 @@ std::unique_ptr CreateCertVerifyImplFr +@@ -183,7 +183,7 @@ std::unique_ptr CreateCertVerifyImplFr base::StringPiece impl_name, scoped_refptr cert_net_fetcher, bool use_system_roots) { -#if !(defined(OS_FUCHSIA) || defined(OS_LINUX) || defined(OS_CHROMEOS)) +#if !(defined(OS_FUCHSIA) || defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD)) if (impl_name == "platform") { if (!use_system_roots) { std::cerr << "WARNING: platform verifier not supported with " diff --git a/www/chromium/files/patch-net_tools_quic_quic__http__proxy__backend.cc b/www/chromium/files/patch-net_tools_quic_quic__http__proxy__backend.cc index 0b5e2eb7c30e..cfbd37439911 100644 --- a/www/chromium/files/patch-net_tools_quic_quic__http__proxy__backend.cc +++ b/www/chromium/files/patch-net_tools_quic_quic__http__proxy__backend.cc @@ -1,11 +1,11 @@ ---- net/tools/quic/quic_http_proxy_backend.cc.orig 2021-04-14 18:41:07 UTC +--- net/tools/quic/quic_http_proxy_backend.cc.orig 2021-07-19 18:45:19 UTC +++ net/tools/quic/quic_http_proxy_backend.cc -@@ -162,7 +162,7 @@ void QuicHttpProxyBackend::InitializeURLRequestContext +@@ -161,7 +161,7 @@ void QuicHttpProxyBackend::InitializeURLRequestContext // Enable HTTP2, but disable QUIC on the backend context_builder.SetSpdyAndQuicEnabled(true /* http2 */, false /* quic */); -#if defined(OS_LINUX) || 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. context_builder.set_proxy_config_service( diff --git a/www/chromium/files/patch-pdf_pdfium_pdfium__engine.cc b/www/chromium/files/patch-pdf_pdfium_pdfium__engine.cc index 5f7c80253a9d..bbae0e27e20a 100644 --- a/www/chromium/files/patch-pdf_pdfium_pdfium__engine.cc +++ b/www/chromium/files/patch-pdf_pdfium_pdfium__engine.cc @@ -1,56 +1,56 @@ ---- pdf/pdfium/pdfium_engine.cc.orig 2021-05-12 22:05:58 UTC +--- pdf/pdfium/pdfium_engine.cc.orig 2021-07-19 18:45:19 UTC +++ pdf/pdfium/pdfium_engine.cc -@@ -77,7 +77,7 @@ +@@ -84,7 +84,7 @@ #include "v8/include/cppgc/platform.h" #endif -#if defined(OS_LINUX) || defined(OS_CHROMEOS) +#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD) #include "pdf/pdfium/pdfium_font_linux.h" #endif -@@ -511,7 +511,7 @@ void InitializeSDK(bool enable_v8) { +@@ -514,7 +514,7 @@ void InitializeSDK(bool enable_v8) { FPDF_InitLibraryWithConfig(&config); -#if defined(OS_LINUX) || defined(OS_CHROMEOS) +#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD) InitializeLinuxFontMapper(); #endif -@@ -542,7 +542,7 @@ PDFiumEngine::PDFiumEngine(PDFEngine::Client* client, +@@ -545,7 +545,7 @@ PDFiumEngine::PDFiumEngine(PDFEngine::Client* client, IFSDK_PAUSE::user = nullptr; IFSDK_PAUSE::NeedToPauseNow = Pause_NeedToPauseNow; -#if defined(OS_LINUX) || defined(OS_CHROMEOS) +#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD) // PreviewModeClient does not know its pp::Instance. SetLastInstance(client_->GetPluginInstance()); #endif -@@ -999,7 +999,7 @@ pp::Buffer_Dev PDFiumEngine::PrintPagesAsRasterPdf( +@@ -1003,7 +1003,7 @@ pp::Buffer_Dev PDFiumEngine::PrintPagesAsRasterPdf( KillFormFocus(); -#if defined(OS_LINUX) || defined(OS_CHROMEOS) +#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD) SetLastInstance(client_->GetPluginInstance()); #endif -@@ -3132,7 +3132,7 @@ bool PDFiumEngine::ContinuePaint(int progressive_index +@@ -3154,7 +3154,7 @@ bool PDFiumEngine::ContinuePaint(int progressive_index DCHECK_LT(static_cast(progressive_index), progressive_paints_.size()); last_progressive_start_time_ = base::Time::Now(); -#if defined(OS_LINUX) || defined(OS_CHROMEOS) +#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD) SetLastInstance(client_->GetPluginInstance()); #endif -@@ -3620,7 +3620,7 @@ void PDFiumEngine::SetCurrentPage(int index) { +@@ -3643,7 +3643,7 @@ void PDFiumEngine::SetCurrentPage(int index) { FORM_DoPageAAction(old_page, form(), FPDFPAGE_AACTION_CLOSE); } most_visible_page_ = index; -#if defined(OS_LINUX) || defined(OS_CHROMEOS) +#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD) SetLastInstance(client_->GetPluginInstance()); #endif if (most_visible_page_ != -1 && called_do_document_action_) { diff --git a/www/chromium/files/patch-printing_BUILD.gn b/www/chromium/files/patch-printing_BUILD.gn index 1969545fbf08..123fa4fee5fa 100644 --- a/www/chromium/files/patch-printing_BUILD.gn +++ b/www/chromium/files/patch-printing_BUILD.gn @@ -1,20 +1,20 @@ ---- printing/BUILD.gn.orig 2021-06-10 12:12:00 UTC +--- printing/BUILD.gn.orig 2021-07-19 18:45:19 UTC +++ printing/BUILD.gn -@@ -48,7 +48,7 @@ if (use_cups_ipp && is_chromeos_ash) { - } +@@ -65,7 +65,7 @@ component("printing_base") { + ] } -if (is_linux || is_chromeos) { +if ((is_linux || is_chromeos) && !is_bsd) { source_set("printing_sandbox_hook") { sources = [ "sandbox/print_backend_sandbox_hook_linux.cc", -@@ -297,7 +297,7 @@ component("printing") { - ] +@@ -213,7 +213,7 @@ component("printing") { + } } - if (is_linux || is_chromeos) { + if ((is_linux || is_chromeos) && !is_bsd) { deps += [ ":printing_sandbox_hook" ] } } diff --git a/www/chromium/files/patch-printing_backend_cups__helper.cc b/www/chromium/files/patch-printing_backend_cups__helper.cc deleted file mode 100644 index 6f3d809262b3..000000000000 --- a/www/chromium/files/patch-printing_backend_cups__helper.cc +++ /dev/null @@ -1,38 +0,0 @@ ---- printing/backend/cups_helper.cc.orig 2021-06-10 11:43:23 UTC -+++ printing/backend/cups_helper.cc -@@ -24,7 +24,7 @@ - #include "printing/units.h" - #include "url/gurl.h" - --#if defined(OS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS) -+#if defined(OS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS) || defined(OS_BSD) - #include - - #include "base/files/scoped_file.h" -@@ -578,7 +578,7 @@ bool ParsePpdCapabilities(cups_dest_t* dest, - base::StringPiece printer_capabilities, - PrinterSemanticCapsAndDefaults* printer_info) { - base::FilePath ppd_file_path; --#if defined(OS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS) -+#if defined(OS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS) || defined(OS_BSD) - // A file created while in a sandbox will be automatically deleted once all - // handles to it have been closed. This precludes the use of multiple - // operations against a file path. -@@ -625,7 +625,7 @@ bool ParsePpdCapabilities(cups_dest_t* dest, - ppd_status_t ppd_status = ppdLastError(&line); - LOG(ERROR) << "Failed to open PDD file: error " << ppd_status << " at line " - << line << ", " << ppdErrorString(ppd_status); --#if defined(OS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS) -+#if defined(OS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS) || defined(OS_BSD) - if (ppd_status != PPD_FILE_OPEN_ERROR) { - // When the error is not from opening the file then the CUPS library - // internals will have already closed the file descriptor. It is -@@ -716,7 +716,7 @@ bool ParsePpdCapabilities(cups_dest_t* dest, - } - - ppdClose(ppd); --#if defined(OS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS) -+#if defined(OS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS) || defined(OS_BSD) - // The CUPS library internals close the file descriptor upon successfully - // reading it. Explicitly release the `ScopedFD` to prevent a crash caused - // by a bad file descriptor. diff --git a/www/chromium/files/patch-printing_print__settings.cc b/www/chromium/files/patch-printing_print__settings.cc index 458ed01d9f65..0a9f0f14cc02 100644 --- a/www/chromium/files/patch-printing_print__settings.cc +++ b/www/chromium/files/patch-printing_print__settings.cc @@ -1,14 +1,14 @@ ---- printing/print_settings.cc.orig 2021-04-14 18:41:07 UTC +--- printing/print_settings.cc.orig 2021-07-19 18:45:19 UTC +++ printing/print_settings.cc @@ -278,9 +278,9 @@ void PrintSettings::Clear() { #endif is_modifiable_ = true; pages_per_sheet_ = 1; -#if defined(OS_LINUX) || defined(OS_CHROMEOS) +#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD) advanced_settings_.clear(); -#endif // defined(OS_LINUX) || defined(OS_CHROMEOS) +#endif // defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD) - #if BUILDFLAG(IS_CHROMEOS_ASH) + #if defined(OS_CHROMEOS) send_user_info_ = false; username_.clear(); diff --git a/www/chromium/files/patch-printing_print__settings.h b/www/chromium/files/patch-printing_print__settings.h index 1c333b09ad0d..b68fcc21d6ac 100644 --- a/www/chromium/files/patch-printing_print__settings.h +++ b/www/chromium/files/patch-printing_print__settings.h @@ -1,56 +1,56 @@ ---- printing/print_settings.h.orig 2021-05-12 22:05:58 UTC +--- printing/print_settings.h.orig 2021-07-19 18:45:19 UTC +++ printing/print_settings.h @@ -19,11 +19,11 @@ #include "ui/gfx/geometry/rect.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 #include "base/values.h" -#endif // defined(OS_LINUX) || defined(OS_CHROMEOS) +#endif // defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD) namespace printing { -@@ -80,9 +80,9 @@ class PRINTING_EXPORT PrintSettings { +@@ -82,9 +82,9 @@ 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) PrintSettings(); PrintSettings(const PrintSettings&) = delete; -@@ -221,12 +221,12 @@ class PRINTING_EXPORT PrintSettings { +@@ -223,12 +223,12 @@ 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 BUILDFLAG(IS_CHROMEOS_ASH) + #if defined(OS_CHROMEOS) void set_send_user_info(bool send_user_info) { -@@ -320,10 +320,10 @@ class PRINTING_EXPORT PrintSettings { +@@ -322,10 +322,10 @@ 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 BUILDFLAG(IS_CHROMEOS_ASH) + #if defined(OS_CHROMEOS) // Whether to send user info. diff --git a/www/chromium/files/patch-printing_print__settings__conversion.cc b/www/chromium/files/patch-printing_print__settings__conversion.cc index c8746d07dd5e..a1cc46f226d9 100644 --- a/www/chromium/files/patch-printing_print__settings__conversion.cc +++ b/www/chromium/files/patch-printing_print__settings__conversion.cc @@ -1,22 +1,19 @@ ---- printing/print_settings_conversion.cc.orig 2021-04-14 18:41:07 UTC +--- printing/print_settings_conversion.cc.orig 2021-07-19 18:45:19 UTC +++ printing/print_settings_conversion.cc -@@ -213,8 +213,8 @@ std::unique_ptr PrintSettingsFromJobSet +@@ -211,14 +211,14 @@ std::unique_ptr PrintSettingsFromJobSet + #endif + } - // TODO(crbug.com/1052397): Revisit once build flag switch of lacros-chrome is - // complete. --#if defined(OS_CHROMEOS) || \ -- ((defined(OS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS)) && \ -+#if defined(OS_CHROMEOS) || \ -+ ((defined(OS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS) || defined(OS_BSD)) && \ - defined(USE_CUPS)) +-#if defined(OS_CHROMEOS) || (defined(OS_LINUX) && defined(USE_CUPS)) ++#if defined(OS_CHROMEOS) || ((defined(OS_LINUX) || defined(OS_BSD)) && defined(USE_CUPS)) const base::Value* advanced_settings = job_settings.FindDictKey(kSettingAdvancedSettings); -@@ -222,7 +222,7 @@ std::unique_ptr PrintSettingsFromJobSet + if (advanced_settings) { for (const auto& item : advanced_settings->DictItems()) settings->advanced_settings().emplace(item.first, item.second.Clone()); } --#endif // defined(OS_CHROMEOS) || ((defined(OS_LINUX) || -+#endif // defined(OS_CHROMEOS) || ((defined(OS_LINUX) || defined(OS_BSD) || - // BUILDFLAG(IS_CHROMEOS_LACROS)) && defined(USE_CUPS)) +-#endif // defined(OS_CHROMEOS) || (defined(OS_LINUX) && defined(USE_CUPS)) ++#endif // defined(OS_CHROMEOS) || ((defined(OS_LINUX) || defined(OS_BSD)) && defined(USE_CUPS)) - #if BUILDFLAG(IS_CHROMEOS_ASH) + #if defined(OS_CHROMEOS) + bool send_user_info = diff --git a/www/chromium/files/patch-printing_printing__features.h b/www/chromium/files/patch-printing_printing__features.h index a115c8611675..e9048bff0614 100644 --- a/www/chromium/files/patch-printing_printing__features.h +++ b/www/chromium/files/patch-printing_printing__features.h @@ -1,15 +1,16 @@ ---- printing/printing_features.h.orig 2021-04-14 18:41:07 UTC +--- printing/printing_features.h.orig 2021-07-19 18:45:19 UTC +++ printing/printing_features.h -@@ -34,10 +34,10 @@ PRINTING_EXPORT bool IsXpsPrintCapabilityRequired(); - PRINTING_EXPORT bool ShouldPrintUsingXps(bool source_is_pdf); +@@ -39,11 +39,11 @@ COMPONENT_EXPORT(PRINTING_BASE) + bool ShouldPrintUsingXps(bool source_is_pdf); #endif // defined(OS_WIN) -#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) - PRINTING_EXPORT extern const base::Feature kEnableOopPrintDrivers; + COMPONENT_EXPORT(PRINTING_BASE) + extern const base::Feature kEnableOopPrintDrivers; -#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) } // namespace features diff --git a/www/chromium/files/patch-remoting_host_host__main.cc b/www/chromium/files/patch-remoting_host_host__main.cc index ea2637c1e9c1..53d915bac659 100644 --- a/www/chromium/files/patch-remoting_host_host__main.cc +++ b/www/chromium/files/patch-remoting_host_host__main.cc @@ -1,44 +1,44 @@ ---- remoting/host/host_main.cc.orig 2021-04-14 18:41:08 UTC +--- remoting/host/host_main.cc.orig 2021-07-19 18:45:20 UTC +++ remoting/host/host_main.cc -@@ -48,9 +48,9 @@ int DesktopProcessMain(); +@@ -47,9 +47,9 @@ int DesktopProcessMain(); int FileChooserMain(); int RdpDesktopSessionMain(); #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) namespace { -@@ -61,10 +61,14 @@ const char kUsageMessage[] = +@@ -60,10 +60,14 @@ const char kUsageMessage[] = "\n" "Options:\n" -#if defined(OS_LINUX) +#if defined(OS_LINUX) || defined(OS_FREEBSD) " --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 " -@@ -148,10 +152,10 @@ MainRoutineFn SelectMainRoutine(const std::string& pro +@@ -147,10 +151,10 @@ MainRoutineFn SelectMainRoutine(const std::string& pro } else if (process_type == kProcessTypeRdpDesktopSession) { main_routine = &RdpDesktopSessionMain; #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; diff --git a/www/chromium/files/patch-remoting_host_host__settings.cc b/www/chromium/files/patch-remoting_host_host__settings.cc new file mode 100644 index 000000000000..4e69efa74688 --- /dev/null +++ b/www/chromium/files/patch-remoting_host_host__settings.cc @@ -0,0 +1,23 @@ +--- remoting/host/host_settings.cc.orig 2021-07-28 08:16:52 UTC ++++ remoting/host/host_settings.cc +@@ -13,9 +13,9 @@ + #include "remoting/host/mac/constants_mac.h" + #endif // defined(OS_APPLE) + +-#if defined(OS_LINUX) ++#if defined(OS_LINUX) || defined(OS_BSD) + #include "remoting/host/linux/file_path_util.h" +-#endif // defined(OS_LINUX) ++#endif // defined(OS_LINUX) || defined(OS_BSD) + + namespace remoting { + +@@ -46,7 +46,7 @@ HostSettings* HostSettings::GetInstance() { + #if defined(OS_APPLE) + static const base::FilePath settings_file(kHostSettingsFilePath); + static base::NoDestructor instance(settings_file); +-#elif defined(OS_LINUX) ++#elif defined(OS_LINUX) || defined(OS_BSD) + static base::NoDestructor instance(base::FilePath( + GetConfigDirectoryPath().Append(GetHostHash() + ".settings.json"))); + #else diff --git a/www/chromium/files/patch-remoting_host_me2me__desktop__environment.cc b/www/chromium/files/patch-remoting_host_me2me__desktop__environment.cc index a593c82d7abc..40df04517d44 100644 --- a/www/chromium/files/patch-remoting_host_me2me__desktop__environment.cc +++ b/www/chromium/files/patch-remoting_host_me2me__desktop__environment.cc @@ -1,11 +1,24 @@ ---- remoting/host/me2me_desktop_environment.cc.orig 2021-05-12 22:05:58 UTC +--- remoting/host/me2me_desktop_environment.cc.orig 2021-07-19 18:45:20 UTC +++ remoting/host/me2me_desktop_environment.cc -@@ -131,7 +131,7 @@ bool Me2MeDesktopEnvironment::InitializeSecurity( +@@ -86,10 +86,10 @@ std::string Me2MeDesktopEnvironment::GetCapabilities() + } + #endif // defined(OS_WIN) + +-#if !defined(NDEBUG) && defined(OS_LINUX) ++#if !defined(NDEBUG) && (defined(OS_LINUX) || defined(OS_BSD)) + capabilities += " "; + capabilities += protocol::kRemoteOpenUrlCapability; +-#endif // !defined(NDEBUG) && defined(OS_LINUX) ++#endif // !defined(NDEBUG) && (defined(OS_LINUX) || defined(OS_BSD)) + + return capabilities; + } +@@ -136,7 +136,7 @@ bool Me2MeDesktopEnvironment::InitializeSecurity( // Otherwise, if the session is shared with the local user start monitoring // the local input and create the in-session UI. -#if defined(OS_LINUX) || defined(OS_CHROMEOS) +#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD) bool want_user_interface = false; #elif defined(OS_APPLE) // Don't try to display any UI on top of the system's login screen as this diff --git a/www/chromium/files/patch-remoting_host_mojo__ipc__server.cc b/www/chromium/files/patch-remoting_host_mojo__ipc__server.cc new file mode 100644 index 000000000000..6b2618134aec --- /dev/null +++ b/www/chromium/files/patch-remoting_host_mojo__ipc__server.cc @@ -0,0 +1,32 @@ +--- remoting/host/mojo_ipc_server.cc.orig 2021-07-28 08:18:06 UTC ++++ remoting/host/mojo_ipc_server.cc +@@ -12,9 +12,9 @@ + #include "build/build_config.h" + #include "mojo/public/cpp/system/invitation.h" + +-#if defined(OS_LINUX) ++#if defined(OS_LINUX) || defined(OS_BSD) + #include "base/files/file_util.h" +-#endif // defined(OS_LINUX) ++#endif // defined(OS_LINUX) || defined(OS_BSD) + + #if defined(OS_WIN) + #include "base/strings/stringprintf.h" +@@ -101,7 +101,7 @@ void MojoIpcServerBase::StopServer() { + server_started_ = false; + CloseAllConnections(); + +-#if defined(OS_LINUX) ++#if defined(OS_LINUX) || defined(OS_BSD) + // Any pending invitations will become orphaned, and a client that accepts an + // orphaned invitation may incorrectly believe that the server is still alive, + // so we just simply delete the socket file to prevent clients from +@@ -109,7 +109,7 @@ void MojoIpcServerBase::StopServer() { + io_sequence_->PostTask(FROM_HERE, + base::BindOnce(base::IgnoreResult(&base::DeleteFile), + base::FilePath(server_name_))); +-#endif // defined(OS_LINUX) ++#endif // defined(OS_LINUX) || defined(OS_BSD) + } + + void MojoIpcServerBase::SendInvitation() { diff --git a/www/chromium/files/patch-remoting_host_remote__open__url__constants.cc b/www/chromium/files/patch-remoting_host_remote__open__url__constants.cc new file mode 100644 index 000000000000..8dcbdf05a2e2 --- /dev/null +++ b/www/chromium/files/patch-remoting_host_remote__open__url__constants.cc @@ -0,0 +1,11 @@ +--- remoting/host/remote_open_url_constants.cc.orig 2021-07-28 08:18:44 UTC ++++ remoting/host/remote_open_url_constants.cc +@@ -11,7 +11,7 @@ namespace remoting { + + namespace { + +-#if defined(OS_LINUX) ++#if defined(OS_LINUX) || defined(OS_BSD) + + // The channel name on Linux is the path to a unix domain socket, so it needs + // to be an absolute path to allow the IPC client binary to be executed from 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 0eb49af0ad5f..4472794eda80 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,120 @@ ---- remoting/host/remoting_me2me_host.cc.orig 2021-05-12 22:05:58 UTC +--- remoting/host/remoting_me2me_host.cc.orig 2021-07-19 18:45:20 UTC +++ remoting/host/remoting_me2me_host.cc @@ -119,7 +119,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" @@ -127,7 +127,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 @@ -162,11 +162,11 @@ 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 @@ -359,7 +359,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 -@@ -772,7 +772,7 @@ void HostProcess::CreateAuthenticatorFactory() { +@@ -773,7 +773,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, -@@ -861,7 +861,7 @@ void HostProcess::StartOnUiThread() { +@@ -862,7 +862,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()-> -@@ -870,7 +870,7 @@ void HostProcess::StartOnUiThread() { +@@ -871,7 +871,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 = -@@ -919,7 +919,7 @@ void HostProcess::ShutdownOnUiThread() { +@@ -920,7 +920,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. -@@ -1763,7 +1763,7 @@ void HostProcess::OnCrash(const std::string& function_ +@@ -1764,7 +1764,7 @@ void HostProcess::OnCrash(const std::string& function_ 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(); -@@ -1800,7 +1800,7 @@ int HostProcessMain() { +@@ -1801,7 +1801,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 = -@@ -1809,7 +1809,7 @@ int HostProcessMain() { +@@ -1810,7 +1810,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(). -@@ -1822,11 +1822,11 @@ int HostProcessMain() { +@@ -1823,11 +1823,11 @@ 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_scoped__url__forwarder.cc b/www/chromium/files/patch-remoting_host_scoped__url__forwarder.cc new file mode 100644 index 000000000000..c8ac0b25f86f --- /dev/null +++ b/www/chromium/files/patch-remoting_host_scoped__url__forwarder.cc @@ -0,0 +1,19 @@ +--- remoting/host/scoped_url_forwarder.cc.orig 2021-07-28 08:18:58 UTC ++++ remoting/host/scoped_url_forwarder.cc +@@ -13,7 +13,7 @@ ScopedUrlForwarder::ScopedUrlForwarder() = default; + + ScopedUrlForwarder::~ScopedUrlForwarder() = default; + +-#if !defined(OS_LINUX) ++#if !defined(OS_LINUX) && !defined(OS_BSD) + + // static + std::unique_ptr ScopedUrlForwarder::Create() { +@@ -22,6 +22,6 @@ std::unique_ptr ScopedUrlForwarder + return base::WrapUnique(new ScopedUrlForwarder()); + } + +-#endif // !defined(OS_LINUX) ++#endif // !defined(OS_LINUX) && !defined(OS_BSD) + + } // namespace remoting 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 new file mode 100644 index 000000000000..4e79015c11c4 --- /dev/null +++ b/www/chromium/files/patch-remoting_host_setup_start__host__main.cc @@ -0,0 +1,48 @@ +--- remoting/host/setup/start_host_main.cc.orig 2021-07-28 08:19:29 UTC ++++ remoting/host/setup/start_host_main.cc +@@ -32,10 +32,10 @@ + #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" +@@ -124,12 +124,12 @@ 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); +@@ -161,7 +161,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 +@@ -171,7 +171,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-sandbox_policy_BUILD.gn b/www/chromium/files/patch-sandbox_policy_BUILD.gn index 39e06988de6a..fa4576ca7f0c 100644 --- a/www/chromium/files/patch-sandbox_policy_BUILD.gn +++ b/www/chromium/files/patch-sandbox_policy_BUILD.gn @@ -1,27 +1,27 @@ ---- sandbox/policy/BUILD.gn.orig 2021-06-09 22:14:06 UTC +--- sandbox/policy/BUILD.gn.orig 2021-07-19 18:45:20 UTC +++ sandbox/policy/BUILD.gn -@@ -29,7 +29,7 @@ component("policy") { +@@ -32,7 +32,7 @@ component("policy") { "//sandbox:common", ] 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", -@@ -78,6 +78,15 @@ component("policy") { +@@ -81,6 +81,15 @@ component("policy") { "//sandbox/linux:sandbox_services", "//sandbox/linux:seccomp_bpf", "//sandbox/linux:suid_sandbox_client", + ] + } + if (is_bsd) { + sources += [ + "freebsd/sandbox_freebsd.h", + "freebsd/sandbox_freebsd.cc", + ] + deps += [ + "//sandbox:sandbox_buildflags", ] } if (is_chromeos_ash) { diff --git a/www/chromium/files/patch-sandbox_policy_switches.cc b/www/chromium/files/patch-sandbox_policy_switches.cc index 7ef50037534f..bf10a762f441 100644 --- a/www/chromium/files/patch-sandbox_policy_switches.cc +++ b/www/chromium/files/patch-sandbox_policy_switches.cc @@ -1,11 +1,11 @@ ---- sandbox/policy/switches.cc.orig 2021-05-12 22:05:58 UTC +--- sandbox/policy/switches.cc.orig 2021-07-19 18:45:20 UTC +++ sandbox/policy/switches.cc -@@ -83,7 +83,7 @@ const char kGpuSandboxFailuresFatal[] = "gpu-sandbox-f +@@ -93,7 +93,7 @@ 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) +#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 bbb515944cf3..67cc68ca76ac 100644 --- a/www/chromium/files/patch-sandbox_policy_switches.h +++ b/www/chromium/files/patch-sandbox_policy_switches.h @@ -1,11 +1,11 @@ ---- sandbox/policy/switches.h.orig 2021-05-12 22:05:58 UTC +--- sandbox/policy/switches.h.orig 2021-07-19 18:45:20 UTC +++ sandbox/policy/switches.h -@@ -55,7 +55,7 @@ SANDBOX_POLICY_EXPORT extern const char kDisableSetuid +@@ -69,7 +69,7 @@ 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) +#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_device_geolocation_location__arbitrator.cc b/www/chromium/files/patch-services_device_geolocation_location__arbitrator.cc index 92fa11977008..6df9248f3107 100644 --- a/www/chromium/files/patch-services_device_geolocation_location__arbitrator.cc +++ b/www/chromium/files/patch-services_device_geolocation_location__arbitrator.cc @@ -1,11 +1,11 @@ ---- services/device/geolocation/location_arbitrator.cc.orig 2021-04-14 18:41:08 UTC +--- services/device/geolocation/location_arbitrator.cc.orig 2021-07-19 18:45:20 UTC +++ services/device/geolocation/location_arbitrator.cc -@@ -162,7 +162,7 @@ LocationArbitrator::NewNetworkLocationProvider( +@@ -161,7 +161,7 @@ LocationArbitrator::NewNetworkLocationProvider( std::unique_ptr LocationArbitrator::NewSystemLocationProvider() { -#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_FUCHSIA) +#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_FUCHSIA) || defined(OS_BSD) return nullptr; #else - return device::NewSystemLocationProvider(); + return device::NewSystemLocationProvider(main_task_runner_, 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 d5aa38b97848..a975412af2cb 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,244 +1,244 @@ ---- services/device/hid/hid_connection_freebsd.cc.orig 2021-04-15 08:13:27 UTC +--- services/device/hid/hid_connection_freebsd.cc.orig 2021-07-28 08:43:36 UTC +++ services/device/hid/hid_connection_freebsd.cc @@ -0,0 +1,241 @@ +// 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/single_thread_task_runner.h" +#include "base/strings/stringprintf.h" +#include "base/task/post_task.h" +#include "base/threading/scoped_blocking_call.h" +#include "base/threading/thread_restrictions.h" +#include "base/threading/thread_task_runner_handle.h" +#include "components/device_event_log/device_event_log.h" +#include "services/device/hid/hid_service.h" + +namespace device { + +class HidConnectionFreeBSD::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() { DCHECK_CALLED_ON_VALID_SEQUENCE(sequence_checker_); } + + // Starts the FileDescriptorWatcher that reads input events from the device. + // Must be called on a thread that has a base::MessageLoopForIO. + void Start() { + DCHECK_CALLED_ON_VALID_SEQUENCE(sequence_checker_); + base::internal::AssertBlockingAllowed(); + + file_watcher_ = base::FileDescriptorWatcher::WatchReadable( -+ fd_.get(), base::Bind(&BlockingTaskRunnerHelper::OnFileCanReadWithoutBlocking, -+ base::Unretained(this))); ++ 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) + : HidConnection(device_info, allow_protected_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__service__freebsd.cc b/www/chromium/files/patch-services_device_hid_hid__service__freebsd.cc index 4c6d4a904196..f37a3466fcdb 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,394 +1,394 @@ ---- services/device/hid/hid_service_freebsd.cc.orig 2021-06-10 13:30:27 UTC +--- services/device/hid/hid_service_freebsd.cc.orig 2021-07-28 08:43:36 UTC +++ services/device/hid/hid_service_freebsd.cc @@ -0,0 +1,391 @@ +// 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/single_thread_task_runner.h" +#include "base/stl_util.h" +#include "base/strings/pattern.h" +#include "base/strings/stringprintf.h" +#include "base/strings/sys_string_conversions.h" +#include "base/strings/string_util.h" +#include "base/strings/string_split.h" +#include "base/task/post_task.h" +#include "base/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, + ConnectCallback callback) + : device_info(std::move(device_info)), + allow_protected_reports(allow_protected_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; + 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() { + } + + void Start() { + DCHECK_CALLED_ON_VALID_SEQUENCE(sequence_checker_); + + const base::FilePath kDevRoot("/dev"); + const std::string kUHIDPattern("/dev/uhid*"); + + base::FileEnumerator enumerator(kDevRoot, false, base::FileEnumerator::FILES); + do { + const base::FilePath next_device_path(enumerator.Next()); + const std::string next_device = next_device_path.value(); + if (next_device.empty()) + break; + + if (base::MatchPattern(next_device, kUHIDPattern)) + OnDeviceAdded(next_device.substr(5)); + } while (true); + + SetupDevdMonitor(); + + task_runner_->PostTask( + FROM_HERE, -+ base::Bind(&HidServiceFreeBSD::FirstEnumerationComplete, service_)); ++ 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::Bind(&HidServiceFreeBSD::RemoveDevice, service_, -+ device_id)); ++ 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::Bind(&BlockingTaskRunnerHelper::OnDevdMessageCanBeRead, -+ base::Unretained(this))); ++ 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::TimeDelta::FromSeconds(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, + 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, + 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 + )); +} + +} // namespace device diff --git a/www/chromium/files/patch-services_network_network__context.cc b/www/chromium/files/patch-services_network_network__context.cc index 3babf4cacbec..44a757711a14 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-06-11 09:55:35 UTC +--- services/network/network_context.cc.orig 2021-07-19 18:45:20 UTC +++ services/network/network_context.cc -@@ -2331,7 +2331,7 @@ NetworkContext::MakeSessionCleanupCookieStore() const +@@ -2333,7 +2333,7 @@ NetworkContext::MakeSessionCleanupCookieStore() const net::CookieCryptoDelegate* crypto_delegate = nullptr; if (params_->enable_encrypted_cookies) { -#if (defined(IS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS)) && \ +#if (defined(IS_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__service.cc b/www/chromium/files/patch-services_network_network__service.cc index 853383a096db..58e10dbe2c29 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-05-12 22:05:58 UTC +--- services/network/network_service.cc.orig 2021-07-19 18:45:20 UTC +++ services/network/network_service.cc -@@ -71,7 +71,7 @@ +@@ -72,7 +72,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 -@@ -614,7 +614,7 @@ void NetworkService::OnCertDBChanged() { +@@ -616,7 +616,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_network_network__service.h b/www/chromium/files/patch-services_network_network__service.h index 4e8c46106889..aa7844c7dd09 100644 --- a/www/chromium/files/patch-services_network_network__service.h +++ b/www/chromium/files/patch-services_network_network__service.h @@ -1,11 +1,11 @@ ---- services/network/network_service.h.orig 2021-05-12 22:05:58 UTC +--- services/network/network_service.h.orig 2021-07-19 18:45:20 UTC +++ services/network/network_service.h -@@ -155,7 +155,7 @@ class COMPONENT_EXPORT(NETWORK_SERVICE) NetworkService +@@ -156,7 +156,7 @@ class COMPONENT_EXPORT(NETWORK_SERVICE) NetworkService base::span crl_set, mojom::NetworkService::UpdateCRLSetCallback callback) override; void OnCertDBChanged() override; -#if defined(OS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS) +#if defined(OS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS) || defined(OS_BSD) void SetCryptConfig(mojom::CryptConfigPtr crypt_config) override; #endif #if defined(OS_WIN) || defined(OS_MAC) 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 index afab6d63dbdb..a3f5cb760ec4 100644 --- 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 @@ -1,20 +1,20 @@ ---- services/resource_coordinator/memory_instrumentation/queued_request_dispatcher.cc.orig 2021-04-14 18:41:08 UTC +--- 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 -@@ -50,7 +50,7 @@ namespace { +@@ -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; -@@ -90,7 +90,7 @@ memory_instrumentation::mojom::OSMemDumpPtr CreatePubl +@@ -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__linux.cc b/www/chromium/files/patch-services_resource__coordinator_public_cpp_memory__instrumentation_os__metrics__linux.cc index 3a574794931f..d7e52946a36d 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,144 @@ ---- services/resource_coordinator/public/cpp/memory_instrumentation/os_metrics_linux.cc.orig 2021-04-14 18:41:08 UTC +--- 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 @@ -5,7 +5,6 @@ #include #include #include -#include #include -@@ -25,8 +24,14 @@ +@@ -26,8 +25,14 @@ #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 { 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) 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; +#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 } private: @@ -282,6 +295,7 @@ bool OSMetrics::FillOSMemoryDump(base::ProcessId pid, mojom::RawOSMemDump* dump) { // TODO(chiniforooshan): There is no need to read both /statm and /status // files. Refactor to get everything from /status using ProcessMetric. +#if !defined(OS_BSD) auto statm_file = GetProcPidDir(pid).Append("statm"); auto autoclose = base::ScopedFD(open(statm_file.value().c_str(), O_RDONLY)); int statm_fd = autoclose.get(); @@ -296,6 +310,10 @@ bool OSMetrics::FillOSMemoryDump(base::ProcessId pid, if (!success) return false; +#else + uint64_t resident_pages = 0; + uint64_t shared_pages = 0; +#endif auto process_metrics = CreateProcessMetrics(pid); @@ -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 std::vector maps; uint32_t res = 0; if (g_proc_smaps_for_testing) { @@ -357,6 +379,7 @@ std::vector OSMetrics::GetProcessMemoryMa return std::vector(); return maps; +#endif } // static @@ -364,6 +387,10 @@ OSMetrics::MappedAndResidentPagesDumpState OSMetrics:: 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:: } } return OSMetrics::MappedAndResidentPagesDumpState::kSuccess; +#endif } // static diff --git a/www/chromium/files/patch-services_tracing_public_cpp_perfetto_trace__time.cc b/www/chromium/files/patch-services_tracing_public_cpp_perfetto_trace__time.cc deleted file mode 100644 index 4376cbccdf35..000000000000 --- a/www/chromium/files/patch-services_tracing_public_cpp_perfetto_trace__time.cc +++ /dev/null @@ -1,18 +0,0 @@ ---- services/tracing/public/cpp/perfetto/trace_time.cc.orig 2021-06-14 15:19:11 UTC -+++ services/tracing/public/cpp/perfetto/trace_time.cc -@@ -12,10 +12,14 @@ 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) || \ -+#if defined(OS_BSD) || defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_ANDROID) || \ - defined(OS_FUCHSIA) - struct timespec ts; -+#if defined(OS_BSD) -+ int res = clock_gettime(CLOCK_MONOTONIC, &ts); -+#else - int res = clock_gettime(CLOCK_BOOTTIME, &ts); -+#endif - if (res != -1) - return static_cast(perfetto::base::FromPosixTimespec(ts).count()); - #endif 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 index 78f33bf35441..4838791a7d6a 100644 --- 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 @@ -1,11 +1,11 @@ ---- services/tracing/public/cpp/stack_sampling/tracing_sampler_profiler.cc.orig 2021-05-12 22:05:58 UTC +--- services/tracing/public/cpp/stack_sampling/tracing_sampler_profiler.cc.orig 2021-07-19 18:45:20 UTC +++ services/tracing/public/cpp/stack_sampling/tracing_sampler_profiler.cc -@@ -630,7 +630,7 @@ void TracingSamplerProfiler::TracingProfileBuilder::Sa +@@ -588,7 +588,7 @@ TracingSamplerProfiler::TracingProfileBuilder::GetCall // 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-third__party_angle_BUILD.gn b/www/chromium/files/patch-third__party_angle_BUILD.gn index 5f100d7f1765..b4d9ecfc47e1 100644 --- a/www/chromium/files/patch-third__party_angle_BUILD.gn +++ b/www/chromium/files/patch-third__party_angle_BUILD.gn @@ -1,19 +1,19 @@ ---- third_party/angle/BUILD.gn.orig 2021-05-12 22:13:33 UTC +--- third_party/angle/BUILD.gn.orig 2021-07-19 18:47:19 UTC +++ third_party/angle/BUILD.gn -@@ -201,7 +201,7 @@ config("extra_warnings") { +@@ -206,7 +206,7 @@ config("extra_warnings") { "-Wunreachable-code", "-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 += [ - "-Wdeprecated-copy", -@@ -454,6 +454,7 @@ angle_static_library("angle_gpu_info_util") { + "-Wsuggest-destructor-override", +@@ -470,6 +470,7 @@ angle_static_library("angle_gpu_info_util") { "X11", "Xi", "Xext", + "GL", ] } } 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 9445ea98988a..1ab26752d412 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,21 +1,26 @@ ---- third_party/angle/src/gpu_info_util/SystemInfo_linux.cpp.orig 2021-04-14 18:42:58 UTC +--- third_party/angle/src/gpu_info_util/SystemInfo_linux.cpp.orig 2021-07-19 18:47:19 UTC +++ third_party/angle/src/gpu_info_util/SystemInfo_linux.cpp -@@ -71,10 +71,18 @@ bool GetPCIDevicesWithLibPCI(std::vectorgpus))) + { + if (!GetPCIDevicesFreeBSD(&(info->gpus))) -+ return false; ++ { ++ return GetSystemInfoVulkan(info); ++ } + } +#else if (!GetPCIDevicesWithLibPCI(&(info->gpus))) { + #if defined(ANGLE_HAS_VULKAN_SYSTEM_INFO) +@@ -80,6 +89,7 @@ bool GetSystemInfo(SystemInfo *info) return false; + #endif // defined(ANGLE_HAS_VULKAN_SYSTEM_INFO) } +#endif if (info->gpus.size() == 0) { 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 d055f5573118..16c6013b2407 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-04-14 18:42:58 UTC +--- third_party/angle/src/libANGLE/Display.cpp.orig 2021-07-19 18:47:19 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) # include "libANGLE/renderer/gl/egl/DisplayEGL.h" # if defined(ANGLE_USE_GBM) # include "libANGLE/renderer/gl/egl/gbm/DisplayGbm.h" @@ -279,7 +279,7 @@ rx::DisplayImpl *CreateDisplayFromAttribs(EGLAttrib di impl = rx::CreateDisplayCGLOrEAGL(state); break; -# elif defined(ANGLE_PLATFORM_LINUX) +# elif defined(ANGLE_PLATFORM_POSIX) # if defined(ANGLE_USE_GBM) if (platformType == 0) { @@ -320,7 +320,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) # if defined(ANGLE_USE_GBM) if (platformType == 0) { @@ -361,7 +361,7 @@ rx::DisplayImpl *CreateDisplayFromAttribs(EGLAttrib di { impl = rx::CreateVulkanWin32Display(state); } -# elif defined(ANGLE_PLATFORM_LINUX) +# elif defined(ANGLE_PLATFORM_POSIX) # if defined(ANGLE_USE_X11) if (platformType == EGL_PLATFORM_X11_EXT && rx::IsVulkanXcbDisplayAvailable()) { -@@ -1667,7 +1667,7 @@ static ClientExtensions GenerateClientExtensions() +@@ -1675,7 +1675,7 @@ static ClientExtensions GenerateClientExtensions() extensions.x11Visual = true; #endif -#if defined(ANGLE_PLATFORM_LINUX) +#if defined(ANGLE_PLATFORM_POSIX) 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 index 153258696df0..3e5ad6ee6a78 100644 --- 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 @@ -1,52 +1,52 @@ ---- third_party/angle/src/libANGLE/renderer/driver_utils.cpp.orig 2021-05-12 22:13:33 UTC +--- third_party/angle/src/libANGLE/renderer/driver_utils.cpp.orig 2021-07-19 18:47:19 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 -@@ -230,7 +230,7 @@ OSVersion GetMacOSVersion() +@@ -235,7 +235,7 @@ OSVersion GetMacOSVersion() } #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. -@@ -242,6 +242,14 @@ bool ParseLinuxOSVersion(const char *version, int *maj +@@ -247,6 +247,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; -@@ -252,6 +260,7 @@ bool ParseLinuxOSVersion(const char *version, int *maj +@@ -257,6 +265,7 @@ bool ParseLinuxOSVersion(const char *version, int *maj { return false; } +#endif return true; } -@@ -259,7 +268,7 @@ bool ParseLinuxOSVersion(const char *version, int *maj +@@ -264,7 +273,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 7764d946b3ed..c6c9b8f2302d 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-05-12 22:13:33 UTC +--- third_party/angle/src/libANGLE/renderer/driver_utils.h.orig 2021-07-19 18:47:19 UTC +++ third_party/angle/src/libANGLE/renderer/driver_utils.h -@@ -165,7 +165,7 @@ inline bool IsWindows() +@@ -166,7 +166,7 @@ inline bool IsWindows() inline bool IsLinux() { -#if defined(ANGLE_PLATFORM_LINUX) +#if defined(ANGLE_PLATFORM_POSIX) return true; #else return false; diff --git a/www/chromium/files/patch-third__party_blink_public_platform_platform.h b/www/chromium/files/patch-third__party_blink_public_platform_platform.h index feb26dff359d..4eac705578d9 100644 --- a/www/chromium/files/patch-third__party_blink_public_platform_platform.h +++ b/www/chromium/files/patch-third__party_blink_public_platform_platform.h @@ -1,11 +1,11 @@ ---- third_party/blink/public/platform/platform.h.orig 2021-04-14 18:41:09 UTC +--- third_party/blink/public/platform/platform.h.orig 2021-07-19 18:45:21 UTC +++ third_party/blink/public/platform/platform.h -@@ -391,7 +391,7 @@ class BLINK_PLATFORM_EXPORT Platform { +@@ -430,7 +430,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_renderer_controller_blink__initializer.cc b/www/chromium/files/patch-third__party_blink_renderer_controller_blink__initializer.cc index 2069ac9aee7e..e261d16aa845 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,34 @@ ---- third_party/blink/renderer/controller/blink_initializer.cc.orig 2021-05-12 22:06:00 UTC +--- third_party/blink/renderer/controller/blink_initializer.cc.orig 2021-07-19 18:45:21 UTC +++ third_party/blink/renderer/controller/blink_initializer.cc -@@ -66,11 +66,11 @@ +@@ -65,11 +65,11 @@ #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) #include "third_party/blink/renderer/controller/highest_pmf_reporter.h" #include "third_party/blink/renderer/controller/user_level_memory_pressure_signal_generator.h" -@@ -147,7 +147,7 @@ void InitializeCommon(Platform* platform, mojo::Binder +@@ -146,7 +146,7 @@ void InitializeCommon(Platform* platform, mojo::Binder CrashMemoryMetricsReporterImpl::Instance(); #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) // Initialize UserLevelMemoryPressureSignalGenerator so it starts monitoring. if (UserLevelMemoryPressureSignalGenerator::Enabled()) -@@ -212,7 +212,7 @@ void BlinkInitializer::RegisterInterfaces(mojo::Binder +@@ -218,7 +218,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_core_clipboard_system__clipboard.cc b/www/chromium/files/patch-third__party_blink_renderer_core_clipboard_system__clipboard.cc deleted file mode 100644 index d77698ca5edc..000000000000 --- a/www/chromium/files/patch-third__party_blink_renderer_core_clipboard_system__clipboard.cc +++ /dev/null @@ -1,15 +0,0 @@ ---- third_party/blink/renderer/core/clipboard/system_clipboard.cc.orig 2021-04-14 18:41:09 UTC -+++ third_party/blink/renderer/core/clipboard/system_clipboard.cc -@@ -43,10 +43,10 @@ SystemClipboard::SystemClipboard(LocalFrame* frame) - frame->GetBrowserInterfaceBroker().GetInterface( - clipboard_.BindNewPipeAndPassReceiver( - frame->GetTaskRunner(TaskType::kUserInteraction))); --#if defined(OS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS) -+#if defined(OS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS) || defined(OS_BSD) - is_selection_buffer_available_ = - frame->GetSettings()->GetSelectionClipboardBufferAvailable(); --#endif // defined(OS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS) -+#endif // defined(OS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS) || defined(OS_BSD) - } - - bool SystemClipboard::IsSelectionMode() const { diff --git a/www/chromium/files/patch-third__party_blink_renderer_core_editing_editing__behavior.cc b/www/chromium/files/patch-third__party_blink_renderer_core_editing_editing__behavior.cc index 1b5d2c12454c..090bf822e112 100644 --- a/www/chromium/files/patch-third__party_blink_renderer_core_editing_editing__behavior.cc +++ b/www/chromium/files/patch-third__party_blink_renderer_core_editing_editing__behavior.cc @@ -1,11 +1,11 @@ ---- third_party/blink/renderer/core/editing/editing_behavior.cc.orig 2021-04-14 18:41:09 UTC +--- third_party/blink/renderer/core/editing/editing_behavior.cc.orig 2021-07-19 18:45:21 UTC +++ third_party/blink/renderer/core/editing/editing_behavior.cc -@@ -274,7 +274,7 @@ bool EditingBehavior::ShouldInsertCharacter(const Keyb +@@ -273,7 +273,7 @@ bool EditingBehavior::ShouldInsertCharacter(const Keyb // unexpected behaviour if (ch < ' ') return false; -#if defined(OS_LINUX) || defined(OS_CHROMEOS) +#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD) // According to XKB map no keyboard combinations with ctrl key are mapped to // printable characters, however we need the filter as the DomKey/text could // contain printable characters. diff --git a/www/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 4ceedb20724a..15bdba549781 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,26 @@ ---- third_party/blink/renderer/core/exported/web_view_impl.cc.orig 2021-05-24 22:05:45 UTC +--- third_party/blink/renderer/core/exported/web_view_impl.cc.orig 2021-07-19 18:45:21 UTC +++ third_party/blink/renderer/core/exported/web_view_impl.cc -@@ -414,7 +414,7 @@ SkFontHinting RendererPreferencesToSkiaHinting( +@@ -415,7 +415,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' -@@ -3089,12 +3089,12 @@ void WebViewImpl::UpdateFontRenderingFromRendererPrefs +@@ -3106,12 +3106,12 @@ 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 (!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 index 9ce59642a1b0..236a90384601 100644 --- 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 @@ -1,20 +1,20 @@ ---- third_party/blink/renderer/core/frame/web_frame_test.cc.orig 2021-05-12 22:06:00 UTC +--- third_party/blink/renderer/core/frame/web_frame_test.cc.orig 2021-07-19 18:45:21 UTC +++ third_party/blink/renderer/core/frame/web_frame_test.cc -@@ -6057,7 +6057,7 @@ TEST_F(WebFrameTest, DISABLED_PositionForPointTest) { +@@ -6064,7 +6064,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"); -@@ -6426,7 +6426,7 @@ TEST_P(CompositedSelectionBoundsTest, SVGBasic) { +@@ -6433,7 +6433,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) { RunTest("composited_selection_bounds_input.html"); 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 253611a7712d..e67f34c46736 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-04-14 18:41:10 UTC +--- third_party/blink/renderer/core/scroll/scrollbar_theme_aura.cc.orig 2021-07-19 18:45:22 UTC +++ third_party/blink/renderer/core/scroll/scrollbar_theme_aura.cc -@@ -139,7 +139,7 @@ bool ScrollbarThemeAura::SupportsDragSnapBack() const +@@ -151,7 +151,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; -@@ -307,7 +307,7 @@ bool ScrollbarThemeAura::ShouldCenterOnThumb(const Scr +@@ -326,7 +326,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_mediastream_processed__local__audio__source.cc b/www/chromium/files/patch-third__party_blink_renderer_modules_mediastream_processed__local__audio__source.cc index e0f02a6704d4..9ff2a6862d74 100644 --- a/www/chromium/files/patch-third__party_blink_renderer_modules_mediastream_processed__local__audio__source.cc +++ b/www/chromium/files/patch-third__party_blink_renderer_modules_mediastream_processed__local__audio__source.cc @@ -1,11 +1,11 @@ ---- third_party/blink/renderer/modules/mediastream/processed_local_audio_source.cc.orig 2021-05-12 22:06:01 UTC +--- third_party/blink/renderer/modules/mediastream/processed_local_audio_source.cc.orig 2021-07-19 18:45:22 UTC +++ third_party/blink/renderer/modules/mediastream/processed_local_audio_source.cc -@@ -413,7 +413,7 @@ void ProcessedLocalAudioSource::CaptureUsingProcessor( +@@ -521,7 +521,7 @@ void ProcessedLocalAudioSource::CaptureUsingProcessor( bool key_pressed) { #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_OPENBSD) || 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-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 index f87e32425587..459922a4b5a1 100644 --- 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 @@ -1,11 +1,11 @@ ---- third_party/blink/renderer/modules/peerconnection/webrtc_audio_renderer_test.cc.orig 2021-05-12 22:06:01 UTC +--- third_party/blink/renderer/modules/peerconnection/webrtc_audio_renderer_test.cc.orig 2021-07-19 18:45:22 UTC +++ third_party/blink/renderer/modules/peerconnection/webrtc_audio_renderer_test.cc -@@ -286,7 +286,7 @@ TEST_F(MAYBE_WebRtcAudioRendererTest, DISABLED_Multipl +@@ -287,7 +287,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 index 3b6c959295a5..8911c7d84a36 100644 --- 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 @@ -1,13 +1,13 @@ ---- third_party/blink/renderer/modules/webaudio/audio_worklet_thread_test.cc.orig 2021-04-14 18:41:10 UTC +--- third_party/blink/renderer/modules/webaudio/audio_worklet_thread_test.cc.orig 2021-07-19 18:45:22 UTC +++ third_party/blink/renderer/modules/webaudio/audio_worklet_thread_test.cc -@@ -431,8 +431,8 @@ class AudioWorkletThreadPriorityTest +@@ -409,8 +409,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 676fa5370b72..7c6a69dca761 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-05-12 22:06:01 UTC +--- third_party/blink/renderer/modules/webgl/webgl_rendering_context_base.cc.orig 2021-07-19 18:45:22 UTC +++ third_party/blink/renderer/modules/webgl/webgl_rendering_context_base.cc -@@ -6052,7 +6052,7 @@ void WebGLRenderingContextBase::TexImageHelperMediaVid +@@ -6074,7 +6074,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