diff --git a/www/chromium/Makefile b/www/chromium/Makefile index 7cb80cd8a2da..148a502fda02 100644 --- a/www/chromium/Makefile +++ b/www/chromium/Makefile @@ -1,432 +1,435 @@ PORTNAME= chromium -PORTVERSION= 150.0.7871.186 +PORTVERSION= 151.0.7922.137 PULSEMV= 16 PULSEV= ${PULSEMV}.1 CATEGORIES= www wayland MASTER_SITES= https://commondatastorage.googleapis.com/chromium-browser-official/ \ https://nerd.hu/distfiles/:external \ https://freedesktop.org/software/pulseaudio/releases/:pulseaudio DISTFILES= ${DISTNAME}-lite${EXTRACT_SUFX} \ pulseaudio-${PULSEV}.tar.gz:pulseaudio USE_GITHUB= nodefault GH_TUPLE= rollup:rollup:v4.60.4:rollup/rollup \ evanw:esbuild:v${_ESBUILD_VERSION:sh}:esbuild/esbuild MAINTAINER= chromium@FreeBSD.org COMMENT= Google web browser based on WebKit WWW= https://www.chromium.org/Home LICENSE= BSD3CLAUSE LGPL21 MPL11 LICENSE_COMB= multi ONLY_FOR_ARCHS= aarch64 amd64 BUILD_DEPENDS= bash:shells/bash \ ${PYTHON_PKGNAMEPREFIX}Jinja2>0:devel/py-Jinja2@${PY_FLAVOR} \ ${PYTHON_PKGNAMEPREFIX}ply>0:devel/py-ply@${PY_FLAVOR} \ bindgen:devel/rust-bindgen-cli \ esbuild:devel/esbuild \ gperf:devel/gperf \ flock:sysutils/flock \ node:www/node \ rustc:lang/rust \ xcb-proto>0:x11/xcb-proto \ ${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}/libdata/pkgconfig/dri.pc:graphics/mesa-libs \ ${LOCALBASE}/libdata/pkgconfig/Qt5Core.pc:devel/qt5-core \ ${LOCALBASE}/libdata/pkgconfig/Qt5Widgets.pc:x11-toolkits/qt5-widgets LIB_DEPENDS= libatk-bridge-2.0.so:accessibility/at-spi2-core \ libatspi.so:accessibility/at-spi2-core \ libspeechd.so:accessibility/speech-dispatcher \ libFLAC.so:audio/flac \ libopus.so:audio/opus \ libspeex.so:audio/speex \ libdbus-1.so:devel/dbus \ libdbus-glib-1.so:devel/dbus-glib \ libepoll-shim.so:devel/libepoll-shim \ libevent.so:devel/libevent \ libffi.so:devel/libffi \ 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 \ libdav1d.so:multimedia/dav1d \ 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 \ libwayland-client.so:graphics/wayland \ libxkbcommon.so:x11/libxkbcommon \ libxshmfence.so:x11/libxshmfence RUN_DEPENDS= xdg-open:devel/xdg-utils \ noto-basic>0:x11-fonts/noto-basic USES= bison cargo compiler:c++17-lang cpe desktop-file-utils gl gmake \ - gnome iconv:wchar_t jpeg localbase:ldflags ninja perl5 pkgconfig \ - python:build qt:5 shebangfix tar:xz xorg + go:no_targets gnome iconv:wchar_t jpeg localbase:ldflags ninja perl5 \ + pkgconfig python:build qt:5 shebangfix tar:xz xorg WITHOUT_FBSD10_FIX= Yes CARGO_CARGOTOML= ${WRKSRC}/rollup/rust/Cargo.toml CARGO_CARGOLOCK= ${WRKSRC}/rollup/rust/Cargo.lock CARGO_TARGET_DIR= ${WRKSRC}/rollup/rust/target CARGO_INSTALL= No CARGO_BUILD= No CARGO_TEST= No _ESBUILD_VERSION= ${MAKE} -C ${PORTSDIR}/devel/esbuild -V DISTVERSION CPE_VENDOR= google CPE_PRODUCT= chrome USE_GL= gbm gl USE_GNOME= atk dconf gdkpixbuf glib20 gtk30 libxml2 libxslt USE_LDCONFIG= ${DATADIR} USE_PERL5= build USE_XORG= x11 xcb xcomposite xcursor xext xdamage xfixes xi \ xorgproto xrandr xrender xscrnsaver xtst USE_QT= buildtools:build SHEBANG_FILES= chrome/tools/build/linux/chrome-wrapper #buildtools/linux64/clang-format MAKE_ARGS= -C out/${BUILDTYPE} ALL_TARGET= chrome BINARY_ALIAS= python3=${PYTHON_CMD} # 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_backup_ref_ptr_support=false \ enable_hangout_services_extension=true \ enable_remoting=false \ enable_widevine=true \ fatal_linker_warnings=false \ icu_use_data_file=false \ is_clang=true \ moc_qt5_path="${QT_TOOLDIR}/moc" \ optimize_webui=true \ toolkit_views=true \ treat_warnings_as_errors=false \ use_allocator_shim=false \ use_aura=true \ use_custom_libcxx=true \ use_custom_libunwind=true \ use_lld=true \ use_partition_alloc=true \ use_partition_alloc_as_malloc=false \ use_qt5=true \ use_sysroot=false \ use_system_freetype=false \ use_system_harfbuzz=true \ use_system_libffi=true \ use_system_libjpeg=true \ use_udev=false \ extra_cxxflags="${CXXFLAGS} -I${LOCALBASE}/include/libepoll-shim ${PINCLUDES}" \ extra_ldflags="${LDFLAGS}" \ ffmpeg_branding="${FFMPEG_BRAND}" # 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 PIPEWIRE TEST WIDEVINE OPTIONS_DEFAULT= CODECS CUPS DRIVER KERBEROS PIPEWIRE SNDIO ALSA PULSEAUDIO OPTIONS_EXCLUDE_aarch64=LTO OPTIONS_GROUP= AUDIO OPTIONS_GROUP_AUDIO= ALSA PULSEAUDIO SNDIO OPTIONS_RADIO= KERBEROS OPTIONS_RADIO_KERBEROS= HEIMDAL HEIMDAL_BASE MIT OPTIONS_SUB= yes CODECS_DESC= Compile and enable patented codecs like H.264 DRIVER_DESC= Install chromedriver HEIMDAL_BASE_DESC= Heimdal Kerberos (base) HEIMDAL_DESC= Heimdal Kerberos (security/heimdal) MIT_DESC= MIT Kerberos (security/krb5) ALSA_LIB_DEPENDS= libasound.so:audio/alsa-lib ALSA_RUN_DEPENDS= ${LOCALBASE}/lib/alsa-lib/libasound_module_pcm_oss.so:audio/alsa-plugins \ alsa-lib>=1.1.1_1:audio/alsa-lib ALSA_VARS= GN_ARGS+=use_alsa=true ALSA_VARS_OFF= GN_ARGS+=use_alsa=false CODECS_VARS= GN_ARGS+=proprietary_codecs=true \ FFMPEG_BRAND="Chrome" CODECS_VARS_OFF= GN_ARGS+=proprietary_codecs=false \ FFMPEG_BRAND="Chromium" 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="60 GB" \ WANTMEM="32 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="35 GB" \ WANTMEM="8 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="40 GB" \ WANTMEM="16 GB" LTO_VARS_OFF= GN_ARGS+=use_thin_lto=false MIT_LIB_DEPENDS= libkrb.so.3:security/krb5 PIPEWIRE_DESC= Screen capture via PipeWire PIPEWIRE_LIB_DEPENDS= libpipewire-0.3.so:multimedia/pipewire PIPEWIRE_VARS= GN_ARGS+=rtc_use_pipewire=true \ GN_ARGS+=rtc_link_pipewire=true PIPEWIRE_VARS_OFF= GN_ARGS+=rtc_use_pipewire=false \ GN_ARGS+=rtc_link_pipewire=false PULSEAUDIO_VARS= GN_ARGS+=use_pulseaudio=true \ PINCLUDES="-I${WRKDIR}/pulseaudio-${PULSEV}/src -DPA_MAJOR=${PULSEMV}" PULSEAUDIO_VARS_OFF= GN_ARGS+=use_pulseaudio=false SNDIO_LIB_DEPENDS= libsndio.so:audio/sndio SNDIO_VARS= GN_ARGS+=use_sndio=true SNDIO_VARS_OFF= GN_ARGS+=use_sndio=false WIDEVINE_DESC= Depend on foreign-cdm to enable playback of DRM content WIDEVINE_RUN_DEPENDS= foreign-cdm>0:www/foreign-cdm .include "Makefile.tests" TEST_DISTFILES= ${PORTNAME}-${DISTVERSION}-testdata${EXTRACT_SUFX} TEST_ALL_TARGET= ${TEST_TARGETS} .include .include # for COMPILER_VERSION .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 LLVM_DEFAULT= 22 BUILD_DEPENDS+= clang${LLVM_DEFAULT}:devel/llvm${LLVM_DEFAULT} BINARY_ALIAS+= cpp=${LOCALBASE}/bin/clang-cpp${LLVM_DEFAULT} \ cc=${LOCALBASE}/bin/clang${LLVM_DEFAULT} \ c++=${LOCALBASE}/bin/clang++${LLVM_DEFAULT} \ ar=${LOCALBASE}/bin/llvm-ar${LLVM_DEFAULT} \ nm=${LOCALBASE}/bin/llvm-nm${LLVM_DEFAULT} \ ld=${LOCALBASE}/bin/ld.lld${LLVM_DEFAULT} # - swiftshader/lib/{libEGL.so,libGLESv2.so} is x86 only # - map ffmpeg target to ${ARCH} .if ${ARCH} == aarch64 PLIST_SUB+= NOT_AARCH64="@comment " FFMPEG_TARGET= arm64 .elif ${ARCH} == amd64 BUILD_DEPENDS+= nasm:devel/nasm PLIST_SUB+= NOT_AARCH64="" FFMPEG_TARGET= x64 .elif ${ARCH} == i386 BUILD_DEPENDS+= nasm:devel/nasm PLIST_SUB+= NOT_AARCH64="" FFMPEG_TARGET= ia32 .endif FFMPEG_BDIR= ${WRKSRC}/third_party/ffmpeg/build.${FFMPEG_TARGET}.freebsd/${FFMPEG_BRAND} FFMPEG_CDIR= ${WRKSRC}/third_party/ffmpeg/chromium/config/${FFMPEG_BRAND}/freebsd/${FFMPEG_TARGET} # 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 # rust MAKE_ENV+= RUSTC_BOOTSTRAP=1 GN_ARGS+= enable_rust=true \ rust_sysroot_absolute="${LOCALBASE}" +# go +MAKE_ENV+= GOCACHE=${WRKDIR}/go-cache + pre-everything:: @${ECHO_MSG} @${ECHO_MSG} "To build ${PORTNAME}, you should have at least:" @${ECHO_MSG} "- ${WANTMEM} of memory" @${ECHO_MSG} "- ${WANTSPACE} of free disk space" @${ECHO_MSG} "- 1.5 million free inodes" @${ECHO_MSG} 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 \ dav1d flac fontconfig harfbuzz libdrm libpng \ libusb libwebp libxml libxslt openh264 opus || ${FALSE} # Chromium uses an unreleased version of FFmpeg, so configure it cd ${WRKSRC}/media/ffmpeg && \ ${PYTHON_CMD} scripts/build_ffmpeg.py freebsd ${FFMPEG_TARGET} \ --config-only --branding=${FFMPEG_BRAND} cd ${FFMPEG_BDIR} && ${GMAKE} ffversion.h ${MKDIR} ${FFMPEG_CDIR} .for _e in config.h config.asm config_components.asm config_components.h libavcodec libavformat libavutil -${CP} -pR ${FFMPEG_BDIR}/${_e} ${FFMPEG_CDIR} .endfor touch ${WRKDIR}/pulseaudio-${PULSEV}/src/pulse/version.h @${REINPLACE_CMD} -e 's|$${LOCALBASE}|${LOCALBASE}|;s|$${MODCLANG_VERSION}|${LLVM_DEFAULT}|' \ ${WRKSRC}/build/linux/strip_binary.gni \ ${WRKSRC}/build/rust/rust_bindgen.gni \ ${WRKSRC}/build/rust/rust_bindgen_generator.gni pre-build: @${CARGO_CARGO_RUN} build \ --manifest-path ${CARGO_CARGOTOML} \ --verbose \ --verbose \ ${CARGO_BUILD_ARGS} (cd ${WRKSRC}/third_party/devtools-frontend/src/node_modules/@rollup && \ mkdir -p rollup-freebsd && \ cp ${CARGO_TARGET_DIR}/release/libbindings_napi.so \ rollup-freebsd/rollup.freebsd.node && \ echo '{ "main": "./rollup.freebsd.node" }' \ > rollup-freebsd/package.json) do-configure: (cd ${WRKSRC}/esbuild && \ ${LOCALBASE}/bin/node scripts/esbuild.js \ /usr/local/bin/esbuild --neutral && \ rm -rf ${WRKSRC}/third_party/devtools-frontend/src/node_modules/esbuild && \ ln -sf ${WRKSRC}/esbuild/npm/esbuild \ ${WRKSRC}/third_party/devtools-frontend/src/node_modules/esbuild \ ) # 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/bin ${LN} -sf ${LOCALBASE}/bin/node ${WRKSRC}/third_party/node/freebsd/node-freebsd/bin/node # Setup rustc dependency @${MKDIR} ${WRKSRC}/third_party/rust-toolchain/bin ${LN} -sf ${LOCALBASE}/bin/rustc ${WRKSRC}/third_party/rust-toolchain/bin/rustc # Setup esbuild dependency ${LN} -sf ${LOCALBASE}/bin/esbuild ${WRKSRC}/third_party/devtools-frontend/src/third_party/esbuild/esbuild # Setup gperf dependency ${LN} -sf ${LOCALBASE}/bin/gperf ${WRKSRC}/third_party/gperf/cipd/bin/gperf # 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}${PREFIX}/share/man/man1/chrome.1 @${SED} -i "" -e 's,\@\@PACKAGE\@\@,chromium,g;s,\@\@MENUNAME\@\@,Chromium Web Browser,g' \ ${STAGEDIR}${PREFIX}/share/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 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 ${INSTALL_LIB} ${WRKSRC}/out/${BUILDTYPE}/libvulkan.so.1 \ ${STAGEDIR}${DATADIR}/libvulkan.so .if ${BUILDTYPE} == Debug ${INSTALL_LIB} ${WRKSRC}/out/${BUILDTYPE}/libVkLayer_khronos_validation.so ${STAGEDIR}${DATADIR} .endif # SwiftShader .if ${ARCH} != aarch64 ${INSTALL_LIB} ${WRKSRC}/out/${BUILDTYPE}/libvk_swiftshader.so ${STAGEDIR}${DATADIR} ${INSTALL_DATA} ${WRKSRC}/out/${BUILDTYPE}/vk_swiftshader_icd.json ${STAGEDIR}${DATADIR} .endif post-install-DEBUG-on: ${INSTALL_LIB} ${WRKSRC}/out/${BUILDTYPE}/*.so \ ${STAGEDIR}${DATADIR} ${INSTALL_PROGRAM} ${WRKSRC}/out/${BUILDTYPE}/character_data_generator \ ${STAGEDIR}${DATADIR} post-install-DRIVER-on: ${INSTALL_PROGRAM} ${WRKSRC}/out/${BUILDTYPE}/chromedriver.unstripped \ ${STAGEDIR}${PREFIX}/bin/chromedriver do-test-TEST-on: .for t in ${TEST_TARGETS} cd ${WRKSRC}/out/${BUILDTYPE} && \ ./${t} --gtest_filter=-${EXCLUDE_${t}:ts:} || ${TRUE} .endfor .include diff --git a/www/chromium/distinfo b/www/chromium/distinfo index fe71acaa8ffc..41197d1162b4 100644 --- a/www/chromium/distinfo +++ b/www/chromium/distinfo @@ -1,419 +1,419 @@ -TIMESTAMP = 1785323324 -SHA256 (chromium-150.0.7871.186-lite.tar.xz) = 4ff4b64971c8097631a4f17d2f7fb050e8ede62b1b3c0f1ef0a1fffcac11bbb7 -SIZE (chromium-150.0.7871.186-lite.tar.xz) = 1668536212 +TIMESTAMP = 1786526231 +SHA256 (chromium-151.0.7922.137-lite.tar.xz) = 3fa13440c0c99145f6628b2cd62438da05c989469c7113b19d11425f9853f645 +SIZE (chromium-151.0.7922.137-lite.tar.xz) = 1712008940 SHA256 (pulseaudio-16.1.tar.gz) = 027266c62f2a84422ac45fa721a649508f0f1628fb1fd9242315ac54ce2d7c92 SIZE (pulseaudio-16.1.tar.gz) = 2763111 -SHA256 (chromium-150.0.7871.186-testdata.tar.xz) = 33a31e68a081dcae38d3b1060508f2a0a35e732618f42e9524738c27ed4af5cc -SIZE (chromium-150.0.7871.186-testdata.tar.xz) = 1314381172 +SHA256 (chromium-151.0.7922.137-testdata.tar.xz) = 3562b7d9182d9ff61e591d0c7087363a255af165c399c84c8c735a2845fa6098 +SIZE (chromium-151.0.7922.137-testdata.tar.xz) = 1305247952 SHA256 (rust/crates/ahash-0.8.12.crate) = 5a15f179cd60c4584b8a8c596927aadc462e27f2ca70c04e0071964a73ba7a75 SIZE (rust/crates/ahash-0.8.12.crate) = 43413 SHA256 (rust/crates/aho-corasick-1.1.4.crate) = ddd31a130427c27518df266943a5308ed92d4b226cc639f5a8f1002816174301 SIZE (rust/crates/aho-corasick-1.1.4.crate) = 184015 SHA256 (rust/crates/allocator-api2-0.2.21.crate) = 683d7910e743518b0e34f1186f92494becacb047c7b6bf616c96772180fef923 SIZE (rust/crates/allocator-api2-0.2.21.crate) = 63622 SHA256 (rust/crates/anyhow-1.0.102.crate) = 7f202df86484c868dbad7eaa557ef785d5c66295e41b460ef922eca0723b842c SIZE (rust/crates/anyhow-1.0.102.crate) = 48658 SHA256 (rust/crates/ar_archive_writer-0.5.1.crate) = 7eb93bbb63b9c227414f6eb3a0adfddca591a8ce1e9b60661bb08969b87e340b SIZE (rust/crates/ar_archive_writer-0.5.1.crate) = 85345 SHA256 (rust/crates/arrayvec-0.7.6.crate) = 7c02d123df017efcdfbd739ef81735b36c5ba83ec3c59c80a9d7ecc718f92e50 SIZE (rust/crates/arrayvec-0.7.6.crate) = 31237 SHA256 (rust/crates/ascii-1.1.0.crate) = d92bec98840b8f03a5ff5413de5293bfcd8bf96467cf5452609f939ec6f5de16 SIZE (rust/crates/ascii-1.1.0.crate) = 36075 SHA256 (rust/crates/ast_node-5.0.0.crate) = 2eb025ef00a6da925cf40870b9c8d008526b6004ece399cb0974209720f0b194 SIZE (rust/crates/ast_node-5.0.0.crate) = 12169 SHA256 (rust/crates/autocfg-1.5.0.crate) = c08606f8c3cbf4ce6ec8e28fb0014a2c086708fe954eaa885384a6165172e7e8 SIZE (rust/crates/autocfg-1.5.0.crate) = 18729 SHA256 (rust/crates/base-encode-0.3.1.crate) = a17bd29f7c70f32e9387f4d4acfa5ea7b7749ef784fb78cf382df97069337b8c SIZE (rust/crates/base-encode-0.3.1.crate) = 3630 SHA256 (rust/crates/base64-0.22.1.crate) = 72b3254f16251a8381aa12e40e3c4d2f0199f8c6508fbecb9d91f575e0fbb8c6 SIZE (rust/crates/base64-0.22.1.crate) = 81597 SHA256 (rust/crates/base64-simd-0.8.0.crate) = 339abbe78e73178762e23bea9dfd08e697eb3f3301cd4be981c0f78ba5859195 SIZE (rust/crates/base64-simd-0.8.0.crate) = 12531 SHA256 (rust/crates/better_scoped_tls-1.0.1.crate) = 7cd228125315b132eed175bf47619ac79b945b26e56b848ba203ae4ea8603609 SIZE (rust/crates/better_scoped_tls-1.0.1.crate) = 2140 SHA256 (rust/crates/bitflags-2.11.1.crate) = c4512299f36f043ab09a583e57bceb5a5aab7a73db1805848e8fef3c9e8c78b3 SIZE (rust/crates/bitflags-2.11.1.crate) = 49082 SHA256 (rust/crates/bitvec-1.0.1.crate) = 1bc2832c24239b0141d5674bb9174f9d68a8b5b3f2753311927c172ca46f7e9c SIZE (rust/crates/bitvec-1.0.1.crate) = 224375 SHA256 (rust/crates/bstr-1.12.1.crate) = 63044e1ae8e69f3b5a92c736ca6269b8d12fa7efe39bf34ddb06d102cf0e2cab SIZE (rust/crates/bstr-1.12.1.crate) = 354916 SHA256 (rust/crates/bumpalo-3.20.2.crate) = 5d20789868f4b01b2f2caec9f5c4e0213b41e3e5702a50157d699ae31ced2fcb SIZE (rust/crates/bumpalo-3.20.2.crate) = 97696 SHA256 (rust/crates/bytes-1.11.1.crate) = 1e748733b7cbc798e1434b6ac524f0c1ff2ab456fe201501e6497c8417a4fc33 SIZE (rust/crates/bytes-1.11.1.crate) = 78584 SHA256 (rust/crates/bytes-str-0.2.7.crate) = 7c60b5ce37e0b883c37eb89f79a1e26fbe9c1081945d024eee93e8d91a7e18b3 SIZE (rust/crates/bytes-str-0.2.7.crate) = 10230 SHA256 (rust/crates/castaway-0.2.4.crate) = dec551ab6e7578819132c713a93c022a05d60159dc86e7a7050223577484c55a SIZE (rust/crates/castaway-0.2.4.crate) = 12546 SHA256 (rust/crates/cc-1.2.61.crate) = d16d90359e986641506914ba71350897565610e87ce0ad9e6f28569db3dd5c6d SIZE (rust/crates/cc-1.2.61.crate) = 97163 SHA256 (rust/crates/cfg-if-1.0.4.crate) = 9330f8b2ff13f34540b44e946ef35111825727b38d33286ef986142615121801 SIZE (rust/crates/cfg-if-1.0.4.crate) = 9360 SHA256 (rust/crates/cmake-0.1.58.crate) = c0f78a02292a74a88ac736019ab962ece0bc380e3f977bf72e376c5d78ff0678 SIZE (rust/crates/cmake-0.1.58.crate) = 20474 SHA256 (rust/crates/compact_str-0.7.1.crate) = f86b9c4c00838774a6d902ef931eff7470720c51d90c2e32cfe15dc304737b3f SIZE (rust/crates/compact_str-0.7.1.crate) = 57246 SHA256 (rust/crates/console_error_panic_hook-0.1.7.crate) = a06aeb73f470f66dcdbf7223caeebb85984942f22f1adb2a088cf9668146bbbc SIZE (rust/crates/console_error_panic_hook-0.1.7.crate) = 507196 SHA256 (rust/crates/convert_case-0.11.0.crate) = affbf0190ed2caf063e3def54ff444b449371d55c58e513a95ab98eca50adb49 SIZE (rust/crates/convert_case-0.11.0.crate) = 31545 SHA256 (rust/crates/ctor-0.11.1.crate) = 400a21f1014a968ec518c7ccdf9b4a4ed0cac8c56ccb6d604f8b91f00110501e SIZE (rust/crates/ctor-0.11.1.crate) = 32910 SHA256 (rust/crates/dashmap-5.5.3.crate) = 978747c1d849a7d2ee5e8adc0159961c48fb7e5db2f06af6723b80123bb53856 SIZE (rust/crates/dashmap-5.5.3.crate) = 24061 SHA256 (rust/crates/data-encoding-2.11.0.crate) = a4ae5f15dda3c708c0ade84bfee31ccab44a3da4f88015ed22f63732abe300c8 SIZE (rust/crates/data-encoding-2.11.0.crate) = 22677 SHA256 (rust/crates/debugid-0.8.0.crate) = bef552e6f588e446098f6ba40d89ac146c8c7b64aade83c051ee00bb5d2bc18d SIZE (rust/crates/debugid-0.8.0.crate) = 12757 SHA256 (rust/crates/displaydoc-0.2.5.crate) = 97369cbbc041bc366949bc74d34658d6cda5621039731c6310521892a3a20ae0 SIZE (rust/crates/displaydoc-0.2.5.crate) = 24219 SHA256 (rust/crates/dragonbox_ecma-0.1.12.crate) = fd8e701084c37e7ef62d3f9e453b618130cbc0ef3573847785952a3ac3f746bf SIZE (rust/crates/dragonbox_ecma-0.1.12.crate) = 46796 SHA256 (rust/crates/either-1.15.0.crate) = 48c757948c5ede0e46177b7add2e67155f70e33c07fea8284df6576da70b3719 SIZE (rust/crates/either-1.15.0.crate) = 20114 SHA256 (rust/crates/equivalent-1.0.2.crate) = 877a4ace8713b0bcf2a4e7eec82529c029f1d0619886d18145fea96c3ffe5c0f SIZE (rust/crates/equivalent-1.0.2.crate) = 7419 SHA256 (rust/crates/find-msvc-tools-0.1.9.crate) = 5baebc0774151f905a1a2cc41989300b1e6fbb29aff0ceffa1064fdd3088d582 SIZE (rust/crates/find-msvc-tools-0.1.9.crate) = 31493 SHA256 (rust/crates/fixedbitset-0.5.7.crate) = 1d674e81391d1e1ab681a28d99df07927c6d4aa5b027d7da16ba32d1d21ecd99 SIZE (rust/crates/fixedbitset-0.5.7.crate) = 26537 SHA256 (rust/crates/foldhash-0.2.0.crate) = 77ce24cb58228fbb8aa041425bb1050850ac19177686ea6e0f41a70416f56fdb SIZE (rust/crates/foldhash-0.2.0.crate) = 23329 SHA256 (rust/crates/form_urlencoded-1.2.2.crate) = cb4cb245038516f5f85277875cdaa4f7d2c9a0fa0468de06ed190163b1581fcf SIZE (rust/crates/form_urlencoded-1.2.2.crate) = 9347 SHA256 (rust/crates/from_variant-3.0.0.crate) = e5ff35a391aef949120a0340d690269b3d9f63460a6106e99bd07b961f345ea9 SIZE (rust/crates/from_variant-3.0.0.crate) = 2391 SHA256 (rust/crates/funty-2.0.0.crate) = e6d5a32815ae3f33302d95fdcb2ce17862f8c65363dcfd29360480ba1001fc9c SIZE (rust/crates/funty-2.0.0.crate) = 13160 SHA256 (rust/crates/futures-0.3.32.crate) = 8b147ee9d1f6d097cef9ce628cd2ee62288d963e16fb287bd9286455b241382d SIZE (rust/crates/futures-0.3.32.crate) = 61234 SHA256 (rust/crates/futures-channel-0.3.32.crate) = 07bbe89c50d7a535e539b8c17bc0b49bdb77747034daa8087407d655f3f7cc1d SIZE (rust/crates/futures-channel-0.3.32.crate) = 33213 SHA256 (rust/crates/futures-core-0.3.32.crate) = 7e3450815272ef58cec6d564423f6e755e25379b217b0bc688e295ba24df6b1d SIZE (rust/crates/futures-core-0.3.32.crate) = 14684 SHA256 (rust/crates/futures-executor-0.3.32.crate) = baf29c38818342a3b26b5b923639e7b1f4a61fc5e76102d4b1981c6dc7a7579d SIZE (rust/crates/futures-executor-0.3.32.crate) = 18581 SHA256 (rust/crates/futures-io-0.3.32.crate) = cecba35d7ad927e23624b22ad55235f2239cfa44fd10428eecbeba6d6a717718 SIZE (rust/crates/futures-io-0.3.32.crate) = 9191 SHA256 (rust/crates/futures-macro-0.3.32.crate) = e835b70203e41293343137df5c0664546da5745f82ec9b84d40be8336958447b SIZE (rust/crates/futures-macro-0.3.32.crate) = 11929 SHA256 (rust/crates/futures-sink-0.3.32.crate) = c39754e157331b013978ec91992bde1ac089843443c49cbc7f46150b0fad0893 SIZE (rust/crates/futures-sink-0.3.32.crate) = 8106 SHA256 (rust/crates/futures-task-0.3.32.crate) = 037711b3d59c33004d3856fbdc83b99d4ff37a24768fa1be9ce3538a1cde4393 SIZE (rust/crates/futures-task-0.3.32.crate) = 11377 SHA256 (rust/crates/futures-util-0.3.32.crate) = 389ca41296e6190b48053de0321d02a77f32f8a5d2461dd38762c0593805c6d6 SIZE (rust/crates/futures-util-0.3.32.crate) = 168797 SHA256 (rust/crates/globset-0.4.18.crate) = 52dfc19153a48bde0cbd630453615c8151bce3a5adfac7a0aebfbf0a1e1f57e3 SIZE (rust/crates/globset-0.4.18.crate) = 28970 SHA256 (rust/crates/hashbrown-0.14.5.crate) = e5274423e17b7c9fc20b6e7e208532f9b19825d82dfd615708b70edd83df41f1 SIZE (rust/crates/hashbrown-0.14.5.crate) = 141498 SHA256 (rust/crates/hashbrown-0.16.1.crate) = 841d1cc9bed7f9236f321df977030373f4a4163ae1a7dbfe1a51a2c1a51d9100 SIZE (rust/crates/hashbrown-0.16.1.crate) = 147785 SHA256 (rust/crates/hashbrown-0.17.0.crate) = 4f467dd6dccf739c208452f8014c75c18bb8301b050ad1cfb27153803edb0f51 SIZE (rust/crates/hashbrown-0.17.0.crate) = 154597 SHA256 (rust/crates/heck-0.5.0.crate) = 2304e00983f87ffb38b55b444b5e3b60a884b5d30c0fca7d82fe33449bbe55ea SIZE (rust/crates/heck-0.5.0.crate) = 11517 SHA256 (rust/crates/hermit-abi-0.5.2.crate) = fc0fef456e4baa96da950455cd02c081ca953b141298e41db3fc7e36b1da849c SIZE (rust/crates/hermit-abi-0.5.2.crate) = 17435 SHA256 (rust/crates/hstr-3.0.4.crate) = faa57007c3c9dab34df2fa4c1fb52fe9c34ec5a27ed9d8edea53254b50cd7887 SIZE (rust/crates/hstr-3.0.4.crate) = 41168 SHA256 (rust/crates/icu_collections-2.2.0.crate) = 2984d1cd16c883d7935b9e07e44071dca8d917fd52ecc02c04d5fa0b5a3f191c SIZE (rust/crates/icu_collections-2.2.0.crate) = 88011 SHA256 (rust/crates/icu_locale_core-2.2.0.crate) = 92219b62b3e2b4d88ac5119f8904c10f8f61bf7e95b640d25ba3075e6cac2c29 SIZE (rust/crates/icu_locale_core-2.2.0.crate) = 78639 SHA256 (rust/crates/icu_normalizer-2.2.0.crate) = c56e5ee99d6e3d33bd91c5d85458b6005a22140021cc324cea84dd0e72cff3b4 SIZE (rust/crates/icu_normalizer-2.2.0.crate) = 78154 SHA256 (rust/crates/icu_normalizer_data-2.2.0.crate) = da3be0ae77ea334f4da67c12f149704f19f81d1adf7c51cf482943e84a2bad38 SIZE (rust/crates/icu_normalizer_data-2.2.0.crate) = 67134 SHA256 (rust/crates/icu_properties-2.2.0.crate) = bee3b67d0ea5c2cca5003417989af8996f8604e34fb9ddf96208a033901e70de SIZE (rust/crates/icu_properties-2.2.0.crate) = 63950 SHA256 (rust/crates/icu_properties_data-2.2.0.crate) = 8e2bbb201e0c04f7b4b3e14382af113e17ba4f63e2c9d2ee626b720cbce54a14 SIZE (rust/crates/icu_properties_data-2.2.0.crate) = 168901 SHA256 (rust/crates/icu_provider-2.2.0.crate) = 139c4cf31c8b5f33d7e199446eff9c1e02decfc2f0eec2c8d71f65befa45b421 SIZE (rust/crates/icu_provider-2.2.0.crate) = 51620 SHA256 (rust/crates/idna-1.1.0.crate) = 3b0875f23caa03898994f6ddc501886a45c7d3d62d04d2d90788d47be1b1e4de SIZE (rust/crates/idna-1.1.0.crate) = 148747 SHA256 (rust/crates/idna_adapter-1.2.2.crate) = cb68373c0d6620ef8105e855e7745e18b0d00d3bdb07fb532e434244cdb9a714 SIZE (rust/crates/idna_adapter-1.2.2.crate) = 10444 SHA256 (rust/crates/if_chain-1.0.3.crate) = cd62e6b5e86ea8eeeb8db1de02880a6abc01a397b2ebb64b5d74ac255318f5cb SIZE (rust/crates/if_chain-1.0.3.crate) = 8384 SHA256 (rust/crates/indexmap-2.14.0.crate) = d466e9454f08e4a911e14806c24e16fba1b4c121d1ea474396f396069cf949d9 SIZE (rust/crates/indexmap-2.14.0.crate) = 104085 SHA256 (rust/crates/is-macro-0.3.7.crate) = 1d57a3e447e24c22647738e4607f1df1e0ec6f72e16182c4cd199f647cdfb0e4 SIZE (rust/crates/is-macro-0.3.7.crate) = 9060 SHA256 (rust/crates/itoa-1.0.18.crate) = 8f42a60cbdf9a97f5d2305f08a87dc4e09308d1276d28c869c684d7777685682 SIZE (rust/crates/itoa-1.0.18.crate) = 15935 SHA256 (rust/crates/js-sys-0.3.98.crate) = 67df7112613f8bfd9150013a0314e196f4800d3201ae742489d999db2f979f08 SIZE (rust/crates/js-sys-0.3.98.crate) = 108519 SHA256 (rust/crates/libc-0.2.186.crate) = 68ab91017fe16c622486840e4c83c9a37afeff978bd239b5293d61ece587de66 SIZE (rust/crates/libc-0.2.186.crate) = 821883 SHA256 (rust/crates/libloading-0.9.0.crate) = 754ca22de805bb5744484a5b151a9e1a8e837d5dc232c2d7d8c2e3492edc8b60 SIZE (rust/crates/libloading-0.9.0.crate) = 33816 SHA256 (rust/crates/libmimalloc-sys2-0.1.54.crate) = e8cac9b2d60928163027249a1ebd0ec8e6c58b66dca93cccf58ee618e66fc062 SIZE (rust/crates/libmimalloc-sys2-0.1.54.crate) = 1642853 SHA256 (rust/crates/litemap-0.8.2.crate) = 92daf443525c4cce67b150400bc2316076100ce0b3686209eb8cf3c31612e6f0 SIZE (rust/crates/litemap-0.8.2.crate) = 34572 SHA256 (rust/crates/lock_api-0.4.14.crate) = 224399e74b87b5f3557511d98dff8b14089b3dadafcab6bb93eab67d3aace965 SIZE (rust/crates/lock_api-0.4.14.crate) = 29249 SHA256 (rust/crates/memchr-2.8.0.crate) = f8ca58f447f06ed17d5fc4043ce1b10dd205e060fb3ce5b979b8ed8e59ff3f79 SIZE (rust/crates/memchr-2.8.0.crate) = 97780 SHA256 (rust/crates/mimalloc-safe-0.1.58.crate) = a8bf95a709c09e85ae74e77b2413cbb11a1b8f2f3d11e23b3751382467c9c15c SIZE (rust/crates/mimalloc-safe-0.1.58.crate) = 7282 SHA256 (rust/crates/napi-3.8.6.crate) = 8e55037284865448ecf329baa86a4d05401f647ebde99f5747b640d32c2c5226 SIZE (rust/crates/napi-3.8.6.crate) = 129092 SHA256 (rust/crates/napi-build-2.3.1.crate) = d376940fd5b723c6893cd1ee3f33abbfd86acb1cd1ec079f3ab04a2a3bc4d3b1 SIZE (rust/crates/napi-build-2.3.1.crate) = 3233 SHA256 (rust/crates/napi-derive-3.5.5.crate) = a4ba740fe4c9524d86fd90798fd8ccdb23402b3eef7e7c30897a8a369b529fcf SIZE (rust/crates/napi-derive-3.5.5.crate) = 22629 SHA256 (rust/crates/napi-derive-backend-5.0.4.crate) = 0d5af30503edf933ce7377cf6d4c877a62b0f1107ea05585f1b5e430e88d5baf SIZE (rust/crates/napi-derive-backend-5.0.4.crate) = 35478 SHA256 (rust/crates/napi-sys-3.2.1.crate) = 8eb602b84d7c1edae45e50bbf1374696548f36ae179dfa667f577e384bb90c2b SIZE (rust/crates/napi-sys-3.2.1.crate) = 7465 SHA256 (rust/crates/new_debug_unreachable-1.0.6.crate) = 650eef8c711430f1a879fdd01d4745a7deea475becfb90269c06775983bbf086 SIZE (rust/crates/new_debug_unreachable-1.0.6.crate) = 2582 SHA256 (rust/crates/nohash-hasher-0.2.0.crate) = 2bf50223579dc7cdcfb3bfcacf7069ff68243f8c363f62ffa99cf000a6b9c451 SIZE (rust/crates/nohash-hasher-0.2.0.crate) = 8051 SHA256 (rust/crates/num-bigint-0.4.6.crate) = a5e44f723f1133c9deac646763579fdb3ac745e418f2a7af9cd0c431da1f20b9 SIZE (rust/crates/num-bigint-0.4.6.crate) = 102801 SHA256 (rust/crates/num-integer-0.1.46.crate) = 7969661fd2958a5cb096e56c8e1ad0444ac2bbcd0061bd28660485a44879858f SIZE (rust/crates/num-integer-0.1.46.crate) = 22331 SHA256 (rust/crates/num-traits-0.2.19.crate) = 071dfc062690e90b734c0b2273ce72ad0ffa95f0c74596bc250dcfd960262841 SIZE (rust/crates/num-traits-0.2.19.crate) = 51631 SHA256 (rust/crates/num_cpus-1.17.0.crate) = 91df4bbde75afed763b708b7eee1e8e7651e02d97f6d5dd763e89367e957b23b SIZE (rust/crates/num_cpus-1.17.0.crate) = 15874 SHA256 (rust/crates/object-0.37.3.crate) = ff76201f031d8863c38aa7f905eca4f53abbfa15f609db4277d44cd8938f33fe SIZE (rust/crates/object-0.37.3.crate) = 344032 SHA256 (rust/crates/once_cell-1.21.4.crate) = 9f7c3e4beb33f85d45ae3e3a1792185706c8e16d043238c593331cc7cd313b50 SIZE (rust/crates/once_cell-1.21.4.crate) = 35010 SHA256 (rust/crates/outref-0.5.2.crate) = 1a80800c0488c3a21695ea981a54918fbb37abf04f4d0720c453632255e2ff0e SIZE (rust/crates/outref-0.5.2.crate) = 5621 SHA256 (rust/crates/par-core-2.0.0.crate) = e96cbd21255b7fb29a5d51ef38a779b517a91abd59e2756c039583f43ef4c90f SIZE (rust/crates/par-core-2.0.0.crate) = 2443 SHA256 (rust/crates/par-iter-2.0.0.crate) = 3eae0176a010bb94b9a67f0eb9da0fd31410817d58850649c54f485124c9a71a SIZE (rust/crates/par-iter-2.0.0.crate) = 152109 SHA256 (rust/crates/parking_lot-0.12.5.crate) = 93857453250e3077bd71ff98b6a65ea6621a19bb0f559a85248955ac12c45a1a SIZE (rust/crates/parking_lot-0.12.5.crate) = 46735 SHA256 (rust/crates/parking_lot_core-0.9.12.crate) = 2621685985a2ebf1c516881c026032ac7deafcda1a2c9b7850dc81e3dfcb64c1 SIZE (rust/crates/parking_lot_core-0.9.12.crate) = 34110 SHA256 (rust/crates/pathdiff-0.2.3.crate) = df94ce210e5bc13cb6651479fa48d14f601d9858cfe0467f43ae157023b938d3 SIZE (rust/crates/pathdiff-0.2.3.crate) = 7495 SHA256 (rust/crates/percent-encoding-2.3.2.crate) = 9b4f627cb1b25917193a259e49bdad08f671f8d9708acfd5fe0a8c1455d87220 SIZE (rust/crates/percent-encoding-2.3.2.crate) = 11583 SHA256 (rust/crates/petgraph-0.7.1.crate) = 3672b37090dbd86368a4145bc067582552b29c27377cad4e0a306c97f9bd7772 SIZE (rust/crates/petgraph-0.7.1.crate) = 736025 SHA256 (rust/crates/phf-0.11.3.crate) = 1fd6780a80ae0c52cc120a26a1a42c1ae51b247a253e4e06113d23d2c2edd078 SIZE (rust/crates/phf-0.11.3.crate) = 23231 SHA256 (rust/crates/phf_generator-0.11.3.crate) = 3c80231409c20246a13fddb31776fb942c38553c51e871f8cbd687a4cfb5843d SIZE (rust/crates/phf_generator-0.11.3.crate) = 15431 SHA256 (rust/crates/phf_macros-0.11.3.crate) = f84ac04429c13a7ff43785d75ad27569f2951ce0ffd30a3321230db2fc727216 SIZE (rust/crates/phf_macros-0.11.3.crate) = 18436 SHA256 (rust/crates/phf_shared-0.11.3.crate) = 67eabc2ef2a60eb7faa00097bd1ffdb5bd28e62bf39990626a582201b7a754e5 SIZE (rust/crates/phf_shared-0.11.3.crate) = 15199 SHA256 (rust/crates/pin-project-lite-0.2.17.crate) = a89322df9ebe1c1578d689c92318e070967d1042b512afbe49518723f4e6d5cd SIZE (rust/crates/pin-project-lite-0.2.17.crate) = 31034 SHA256 (rust/crates/potential_utf-0.1.5.crate) = 0103b1cef7ec0cf76490e969665504990193874ea05c85ff9bab8b911d0a0564 SIZE (rust/crates/potential_utf-0.1.5.crate) = 10189 SHA256 (rust/crates/proc-macro2-1.0.106.crate) = 8fd00f0bb2e90d81d1044c2b32617f68fcb9fa3bb7640c23e9c748e53fb30934 SIZE (rust/crates/proc-macro2-1.0.106.crate) = 59765 SHA256 (rust/crates/psm-0.1.31.crate) = 645dbe486e346d9b5de3ef16ede18c26e6c70ad97418f4874b8b1889d6e761ea SIZE (rust/crates/psm-0.1.31.crate) = 25059 SHA256 (rust/crates/quote-1.0.45.crate) = 41f2619966050689382d2b44f664f4bc593e129785a36d6ee376ddf37259b924 SIZE (rust/crates/quote-1.0.45.crate) = 31564 SHA256 (rust/crates/radium-0.7.0.crate) = dc33ff2d4973d518d823d61aa239014831e521c75da58e3df4840d3f47749d09 SIZE (rust/crates/radium-0.7.0.crate) = 10906 SHA256 (rust/crates/radix_fmt-1.0.0.crate) = ce082a9940a7ace2ad4a8b7d0b1eac6aa378895f18be598230c5f2284ac05426 SIZE (rust/crates/radix_fmt-1.0.0.crate) = 8743 SHA256 (rust/crates/rand-0.8.6.crate) = 5ca0ecfa931c29007047d1bc58e623ab12e5590e8c7cc53200d5202b69266d8a SIZE (rust/crates/rand-0.8.6.crate) = 83339 SHA256 (rust/crates/rand_core-0.6.4.crate) = ec0be4795e2f6a28069bec0b5ff3e2ac9bafc99e6a9a7dc3547996c5c816922c SIZE (rust/crates/rand_core-0.6.4.crate) = 22666 SHA256 (rust/crates/redox_syscall-0.5.18.crate) = ed2bf2547551a7053d6fdfafda3f938979645c44812fbfcda098faae3f1a362d SIZE (rust/crates/redox_syscall-0.5.18.crate) = 30747 SHA256 (rust/crates/regex-1.12.3.crate) = e10754a14b9137dd7b1e3e5b0493cc9171fdd105e0ab477f51b72e7f3ac0e276 SIZE (rust/crates/regex-1.12.3.crate) = 153392 SHA256 (rust/crates/regex-automata-0.4.14.crate) = 6e1dd4122fc1595e8162618945476892eefca7b88c52820e74af6262213cae8f SIZE (rust/crates/regex-automata-0.4.14.crate) = 618012 SHA256 (rust/crates/regex-syntax-0.8.10.crate) = dc897dd8d9e8bd1ed8cdad82b5966c3e0ecae09fb1907d58efaa013543185d0a SIZE (rust/crates/regex-syntax-0.8.10.crate) = 358781 SHA256 (rust/crates/regress-0.10.5.crate) = 2057b2325e68a893284d1538021ab90279adac1139957ca2a74426c6f118fb48 SIZE (rust/crates/regress-0.10.5.crate) = 346868 SHA256 (rust/crates/rustc-hash-2.1.2.crate) = 94300abf3f1ae2e2b8ffb7b58043de3d399c73fa6f4b73826402a5c457614dbe SIZE (rust/crates/rustc-hash-2.1.2.crate) = 14754 SHA256 (rust/crates/rustversion-1.0.22.crate) = b39cdef0fa800fc44525c84ccb54a029961a8215f9619753635a9c0d2538d46d SIZE (rust/crates/rustversion-1.0.22.crate) = 21096 SHA256 (rust/crates/ryu-1.0.23.crate) = 9774ba4a74de5f7b1c1451ed6cd5285a32eddb5cccb8cc655a4e50009e06477f SIZE (rust/crates/ryu-1.0.23.crate) = 52823 SHA256 (rust/crates/ryu-js-1.0.2.crate) = dd29631678d6fb0903b69223673e122c32e9ae559d0960a38d574695ebc0ea15 SIZE (rust/crates/ryu-js-1.0.2.crate) = 75035 SHA256 (rust/crates/scoped-tls-1.0.1.crate) = e1cf6437eb19a8f4a6cc0f7dca544973b0b78843adbfeb3683d1a94a0024a294 SIZE (rust/crates/scoped-tls-1.0.1.crate) = 8202 SHA256 (rust/crates/scopeguard-1.2.0.crate) = 94143f37725109f92c262ed2cf5e59bce7498c01bcc1502d7b9afe439a4e9f49 SIZE (rust/crates/scopeguard-1.2.0.crate) = 11619 SHA256 (rust/crates/semver-1.0.28.crate) = 8a7852d02fc848982e0c167ef163aaff9cd91dc640ba85e263cb1ce46fae51cd SIZE (rust/crates/semver-1.0.28.crate) = 33064 SHA256 (rust/crates/seq-macro-0.3.6.crate) = 1bc711410fbe7399f390ca1c3b60ad0f53f80e95c5eb935e52268a0e2cd49acc SIZE (rust/crates/seq-macro-0.3.6.crate) = 16031 SHA256 (rust/crates/serde-1.0.228.crate) = 9a8e94ea7f378bd32cbbd37198a4a91436180c5bb472411e48b5ec2e2124ae9e SIZE (rust/crates/serde-1.0.228.crate) = 83652 SHA256 (rust/crates/serde_core-1.0.228.crate) = 41d385c7d4ca58e59fc732af25c3983b67ac852c1a25000afe1175de458b67ad SIZE (rust/crates/serde_core-1.0.228.crate) = 63111 SHA256 (rust/crates/serde_derive-1.0.228.crate) = d540f220d3187173da220f885ab66608367b6574e925011a9353e4badda91d79 SIZE (rust/crates/serde_derive-1.0.228.crate) = 59605 SHA256 (rust/crates/serde_json-1.0.149.crate) = 83fc039473c5595ace860d8c4fafa220ff474b3fc6bfdb4293327f1a37e94d86 SIZE (rust/crates/serde_json-1.0.149.crate) = 155994 SHA256 (rust/crates/shlex-1.3.0.crate) = 0fda2ff0d084019ba4d7c6f371c95d8fd75ce3524c3cb8fb653a3023f6323e64 SIZE (rust/crates/shlex-1.3.0.crate) = 18713 SHA256 (rust/crates/siphasher-0.3.11.crate) = 38b58827f4464d87d377d175e90bf58eb00fd8716ff0a62f80356b5e61555d0d SIZE (rust/crates/siphasher-0.3.11.crate) = 10442 SHA256 (rust/crates/siphasher-1.0.3.crate) = 8ee5873ec9cce0195efcb7a4e9507a04cd49aec9c83d0389df45b1ef7ba2e649 SIZE (rust/crates/siphasher-1.0.3.crate) = 11643 SHA256 (rust/crates/slab-0.4.12.crate) = 0c790de23124f9ab44544d7ac05d60440adc586479ce501c1d6d7da3cd8c9cf5 SIZE (rust/crates/slab-0.4.12.crate) = 19080 SHA256 (rust/crates/smallvec-1.15.1.crate) = 67b1b7a3b5fe4f1376887184045fcf45c69e92af734b7aaddc05fb777b6fbd03 SIZE (rust/crates/smallvec-1.15.1.crate) = 38116 SHA256 (rust/crates/smartstring-1.0.1.crate) = 3fb72c633efbaa2dd666986505016c32c3044395ceaf881518399d2f4127ee29 SIZE (rust/crates/smartstring-1.0.1.crate) = 29555 SHA256 (rust/crates/stable_deref_trait-1.2.1.crate) = 6ce2be8dc25455e1f91df71bfa12ad37d7af1092ae736f3a6cd0e37bc7810596 SIZE (rust/crates/stable_deref_trait-1.2.1.crate) = 8186 SHA256 (rust/crates/stacker-0.1.23.crate) = 08d74a23609d509411d10e2176dc2a4346e3b4aea2e7b1869f19fdedbc71c013 SIZE (rust/crates/stacker-0.1.23.crate) = 17813 SHA256 (rust/crates/static_assertions-1.1.0.crate) = a2eb9349b6444b326872e140eb1cf5e7c522154d69e7a0ffb0fb81c06b37543f SIZE (rust/crates/static_assertions-1.1.0.crate) = 18480 SHA256 (rust/crates/string_enum-1.0.2.crate) = ae36a4951ca7bd1cfd991c241584a9824a70f6aff1e7d4f693fb3f2465e4030e SIZE (rust/crates/string_enum-1.0.2.crate) = 4523 SHA256 (rust/crates/swc_allocator-4.0.1.crate) = 9d7eefd2c8b228a8c73056482b2ae4b3a1071fbe07638e3b55ceca8570cc48bb SIZE (rust/crates/swc_allocator-4.0.1.crate) = 10424 SHA256 (rust/crates/swc_atoms-9.0.0.crate) = d4ccbe2ecad10ad7432100f878a107b1d972a8aee83ca53184d00c23a078bb8a SIZE (rust/crates/swc_atoms-9.0.0.crate) = 8934 SHA256 (rust/crates/swc_common-21.0.1.crate) = 078f2144aa2c33ff8485773f1b81b9985fa2d00f4ad60879158ad6897db2de88 SIZE (rust/crates/swc_common-21.0.1.crate) = 100154 SHA256 (rust/crates/swc_compiler_base-55.0.0.crate) = d25b6d506f20c3a750336756602b92467b3d93347104920c20e9d0c64184b286 SIZE (rust/crates/swc_compiler_base-55.0.0.crate) = 23316 SHA256 (rust/crates/swc_config-4.0.1.crate) = a737811bc412f055818d80ae999db259678e1e2dacd91639d28a61750a251373 SIZE (rust/crates/swc_config-4.0.1.crate) = 12778 SHA256 (rust/crates/swc_config_macro-1.0.1.crate) = 7b416e8ce6de17dc5ea496e10c7012b35bbc0e3fef38d2e065eed936490db0b3 SIZE (rust/crates/swc_config_macro-1.0.1.crate) = 2221 SHA256 (rust/crates/swc_ecma_ast-23.0.0.crate) = 39f4173ab7e676eed4938d5ad8bbdf14418f87c9a8d36e6cdda82ac9645912b0 SIZE (rust/crates/swc_ecma_ast-23.0.0.crate) = 50591 SHA256 (rust/crates/swc_ecma_codegen-26.0.1.crate) = fafbcdd29cc03b0c04860bb0143e781e13a4e2dac03eb8747df520f602e0aa94 SIZE (rust/crates/swc_ecma_codegen-26.0.1.crate) = 63550 SHA256 (rust/crates/swc_ecma_codegen_macros-2.0.2.crate) = e276dc62c0a2625a560397827989c82a93fd545fcf6f7faec0935a82cc4ddbb8 SIZE (rust/crates/swc_ecma_codegen_macros-2.0.2.crate) = 2549 SHA256 (rust/crates/swc_ecma_hooks-0.7.0.crate) = ee7662517362f6726b0e107a3caec2b4cc7d629f9bf702958948e9350722e52f SIZE (rust/crates/swc_ecma_hooks-0.7.0.crate) = 88056 SHA256 (rust/crates/swc_ecma_minifier-52.0.4.crate) = 4011c4a9b320a73ac8ff27beb209a39700873b7f7492cfd8184eaf7bd71f8271 SIZE (rust/crates/swc_ecma_minifier-52.0.4.crate) = 279744 SHA256 (rust/crates/swc_ecma_parser-39.0.2.crate) = 8b13829b24cbdb2d7a08282bd968af8a258fd762c918df9a7b82291d44068bbc SIZE (rust/crates/swc_ecma_parser-39.0.2.crate) = 181929 SHA256 (rust/crates/swc_ecma_transforms_base-42.0.0.crate) = 45e58612045e827e7d3ae9f1dc6ae3590ba9abc6a3d93ff2adf27350ab409822 SIZE (rust/crates/swc_ecma_transforms_base-42.0.0.crate) = 93990 SHA256 (rust/crates/swc_ecma_transforms_optimization-44.0.0.crate) = 2098c7da8c4f235342ec1f7a0eb61264214d4d1b3185a0d43b2833543745b3ca SIZE (rust/crates/swc_ecma_transforms_optimization-44.0.0.crate) = 80660 SHA256 (rust/crates/swc_ecma_utils-29.1.0.crate) = 8e64243f2c9e9c9e631a18b42ad51f62137cf4f57b21fb93b1d58836322c2c81 SIZE (rust/crates/swc_ecma_utils-29.1.0.crate) = 44910 SHA256 (rust/crates/swc_ecma_visit-23.0.0.crate) = ad65d392ed427dc9e94f16a3d802b02e27722c21227639c8d5f45f19757b447b SIZE (rust/crates/swc_ecma_visit-23.0.0.crate) = 330047 SHA256 (rust/crates/swc_eq_ignore_macros-1.0.1.crate) = c16ce73424a6316e95e09065ba6a207eba7765496fed113702278b7711d4b632 SIZE (rust/crates/swc_eq_ignore_macros-1.0.1.crate) = 3313 SHA256 (rust/crates/swc_macros_common-1.0.1.crate) = aae1efbaa74943dc5ad2a2fb16cbd78b77d7e4d63188f3c5b4df2b4dcd2faaae SIZE (rust/crates/swc_macros_common-1.0.1.crate) = 7108 SHA256 (rust/crates/swc_sourcemap-10.0.2.crate) = 0c421e5e39e43a4b1b70c07922d7bffd5c22e8eff1340c0b15d0bfd0328822ee SIZE (rust/crates/swc_sourcemap-10.0.2.crate) = 113214 SHA256 (rust/crates/swc_timer-1.0.0.crate) = 4db06b46cc832f7cf83c2ce21905fc465d01443a2bdccf63644383e1f5847532 SIZE (rust/crates/swc_timer-1.0.0.crate) = 1685 SHA256 (rust/crates/swc_visit-2.0.1.crate) = 62fb71484b486c185e34d2172f0eabe7f4722742aad700f426a494bb2de232a2 SIZE (rust/crates/swc_visit-2.0.1.crate) = 5576 SHA256 (rust/crates/syn-2.0.117.crate) = e665b8803e7b1d2a727f4023456bbbbe74da67099c585258af0ad9c5013b9b99 SIZE (rust/crates/syn-2.0.117.crate) = 306011 SHA256 (rust/crates/synstructure-0.13.2.crate) = 728a70f3dbaf5bab7f0c4b1ac8d7ae5ea60a4b5549c8a5914361c99147a709d2 SIZE (rust/crates/synstructure-0.13.2.crate) = 18950 SHA256 (rust/crates/tap-1.0.1.crate) = 55937e1799185b12863d447f42597ed69d9928686b8d88a1df17376a097d8369 SIZE (rust/crates/tap-1.0.1.crate) = 11316 SHA256 (rust/crates/tinystr-0.8.3.crate) = c8323304221c2a851516f22236c5722a72eaa19749016521d6dff0824447d96d SIZE (rust/crates/tinystr-0.8.3.crate) = 24710 SHA256 (rust/crates/tracing-0.1.44.crate) = 63e71662fa4b2a2c3a26f570f037eb95bb1f85397f3cd8076caed2f026a6d100 SIZE (rust/crates/tracing-0.1.44.crate) = 463135 SHA256 (rust/crates/tracing-attributes-0.1.31.crate) = 7490cfa5ec963746568740651ac6781f701c9c5ea257c58e057f3ba8cf69e8da SIZE (rust/crates/tracing-attributes-0.1.31.crate) = 39733 SHA256 (rust/crates/tracing-core-0.1.36.crate) = db97caf9d906fbde555dd62fa95ddba9eecfd14cb388e4f491a66d74cd5fb79a SIZE (rust/crates/tracing-core-0.1.36.crate) = 63967 SHA256 (rust/crates/triomphe-0.1.15.crate) = dd69c5aa8f924c7519d6372789a74eac5b94fb0f8fcf0d4a97eb0bfc3e785f39 SIZE (rust/crates/triomphe-0.1.15.crate) = 34711 SHA256 (rust/crates/unicode-id-start-1.4.0.crate) = 81b79ad29b5e19de4260020f8919b443b2ef0277d242ce532ec7b7a2cc8b6007 SIZE (rust/crates/unicode-id-start-1.4.0.crate) = 48270 SHA256 (rust/crates/unicode-ident-1.0.24.crate) = e6e4313cd5fcd3dad5cafa179702e2b244f760991f45397d14d4ebf38247da75 SIZE (rust/crates/unicode-ident-1.0.24.crate) = 49298 SHA256 (rust/crates/unicode-segmentation-1.13.2.crate) = 9629274872b2bfaf8d66f5f15725007f635594914870f65218920345aa11aa8c SIZE (rust/crates/unicode-segmentation-1.13.2.crate) = 111829 SHA256 (rust/crates/unicode-width-0.2.2.crate) = b4ac048d71ede7ee76d585517add45da530660ef4390e49b098733c6e897f254 SIZE (rust/crates/unicode-width-0.2.2.crate) = 282768 SHA256 (rust/crates/url-2.5.8.crate) = ff67a8a4397373c3ef660812acab3268222035010ab8680ec4215f38ba3d0eed SIZE (rust/crates/url-2.5.8.crate) = 86512 SHA256 (rust/crates/utf8_iter-1.0.4.crate) = b6c140620e7ffbb22c2dee59cafe6084a59b5ffc27a8859a5f0d494b5d52b6be SIZE (rust/crates/utf8_iter-1.0.4.crate) = 10437 SHA256 (rust/crates/uuid-1.23.1.crate) = ddd74a9687298c6858e9b88ec8935ec45d22e8fd5e6394fa1bd4e99a87789c76 SIZE (rust/crates/uuid-1.23.1.crate) = 62932 SHA256 (rust/crates/version_check-0.9.5.crate) = 0b928f33d975fc6ad9f86c8f283853ad26bdd5b10b7f1542aa2fa15e2289105a SIZE (rust/crates/version_check-0.9.5.crate) = 15554 SHA256 (rust/crates/vsimd-0.8.0.crate) = 5c3082ca00d5a5ef149bb8b555a72ae84c9c59f7250f013ac822ac2e49b19c64 SIZE (rust/crates/vsimd-0.8.0.crate) = 21377 SHA256 (rust/crates/wasm-bindgen-0.2.121.crate) = 49ace1d07c165b0864824eee619580c4689389afa9dc9ed3a4c75040d82e6790 SIZE (rust/crates/wasm-bindgen-0.2.121.crate) = 65838 SHA256 (rust/crates/wasm-bindgen-macro-0.2.121.crate) = 8e68e6f4afd367a562002c05637acb8578ff2dea1943df76afb9e83d177c8578 SIZE (rust/crates/wasm-bindgen-macro-0.2.121.crate) = 9294 SHA256 (rust/crates/wasm-bindgen-macro-support-0.2.121.crate) = d95a9ec35c64b2a7cb35d3fead40c4238d0940c86d107136999567a4703259f2 SIZE (rust/crates/wasm-bindgen-macro-support-0.2.121.crate) = 79901 SHA256 (rust/crates/wasm-bindgen-shared-0.2.121.crate) = c4e0100b01e9f0d03189a92b96772a1fb998639d981193d7dbab487302513441 SIZE (rust/crates/wasm-bindgen-shared-0.2.121.crate) = 11270 SHA256 (rust/crates/windows-link-0.2.1.crate) = f0805222e57f7521d6a62e36fa9163bc891acd422f971defe97d64e70d0a4fe5 SIZE (rust/crates/windows-link-0.2.1.crate) = 6133 SHA256 (rust/crates/windows-sys-0.59.0.crate) = 1e38bc4d79ed67fd075bcc251a1c39b32a1776bbe92e5bef1f0bf1f8c531853b SIZE (rust/crates/windows-sys-0.59.0.crate) = 2387323 SHA256 (rust/crates/windows-targets-0.52.6.crate) = 9b724f72796e036ab90c1021d4780d4d3d648aca59e491e6b98e725b84e99973 SIZE (rust/crates/windows-targets-0.52.6.crate) = 6403 SHA256 (rust/crates/windows_aarch64_gnullvm-0.52.6.crate) = 32a4622180e7a0ec044bb555404c800bc9fd9ec262ec147edd5989ccd0c02cd3 SIZE (rust/crates/windows_aarch64_gnullvm-0.52.6.crate) = 435718 SHA256 (rust/crates/windows_aarch64_msvc-0.52.6.crate) = 09ec2a7bb152e2252b53fa7803150007879548bc709c039df7627cabbd05d469 SIZE (rust/crates/windows_aarch64_msvc-0.52.6.crate) = 832615 SHA256 (rust/crates/windows_i686_gnu-0.52.6.crate) = 8e9b5ad5ab802e97eb8e295ac6720e509ee4c243f69d781394014ebfe8bbfa0b SIZE (rust/crates/windows_i686_gnu-0.52.6.crate) = 880402 SHA256 (rust/crates/windows_i686_gnullvm-0.52.6.crate) = 0eee52d38c090b3caa76c563b86c3a4bd71ef1a819287c19d586d7334ae8ed66 SIZE (rust/crates/windows_i686_gnullvm-0.52.6.crate) = 475940 SHA256 (rust/crates/windows_i686_msvc-0.52.6.crate) = 240948bc05c5e7c6dabba28bf89d89ffce3e303022809e73deaefe4f6ec56c66 SIZE (rust/crates/windows_i686_msvc-0.52.6.crate) = 901163 SHA256 (rust/crates/windows_x86_64_gnu-0.52.6.crate) = 147a5c80aabfbf0c7d901cb5895d1de30ef2907eb21fbbab29ca94c5b08b1a78 SIZE (rust/crates/windows_x86_64_gnu-0.52.6.crate) = 836363 SHA256 (rust/crates/windows_x86_64_gnullvm-0.52.6.crate) = 24d5b23dc417412679681396f2b49f3de8c1473deb516bd34410872eff51ed0d SIZE (rust/crates/windows_x86_64_gnullvm-0.52.6.crate) = 435707 SHA256 (rust/crates/windows_x86_64_msvc-0.52.6.crate) = 589f6da84c646204747d1270a2a5661ea66ed1cced2631d546fdfb155959f9ec SIZE (rust/crates/windows_x86_64_msvc-0.52.6.crate) = 832564 SHA256 (rust/crates/writeable-0.6.3.crate) = 1ffae5123b2d3fc086436f8834ae3ab053a283cfac8fe0a0b8eaae044768a4c4 SIZE (rust/crates/writeable-0.6.3.crate) = 26685 SHA256 (rust/crates/wyz-0.5.1.crate) = 05f360fc0b24296329c78fda852a1e9ae82de9cf7b27dae4b7f62f118f77b9ed SIZE (rust/crates/wyz-0.5.1.crate) = 18790 SHA256 (rust/crates/xxhash-rust-0.8.15.crate) = fdd20c5420375476fbd4394763288da7eb0cc0b8c11deed431a91562af7335d3 SIZE (rust/crates/xxhash-rust-0.8.15.crate) = 21515 SHA256 (rust/crates/yoke-0.8.2.crate) = abe8c5fda708d9ca3df187cae8bfb9ceda00dd96231bed36e445a1a48e66f9ca SIZE (rust/crates/yoke-0.8.2.crate) = 32790 SHA256 (rust/crates/yoke-derive-0.8.2.crate) = de844c262c8848816172cef550288e7dc6c7b7814b4ee56b3e1553f275f1858e SIZE (rust/crates/yoke-derive-0.8.2.crate) = 15077 SHA256 (rust/crates/zerocopy-0.8.48.crate) = eed437bf9d6692032087e337407a86f04cd8d6a16a37199ed57949d415bd68e9 SIZE (rust/crates/zerocopy-0.8.48.crate) = 287554 SHA256 (rust/crates/zerocopy-derive-0.8.48.crate) = 70e3cd084b1788766f53af483dd21f93881ff30d7320490ec3ef7526d203bad4 SIZE (rust/crates/zerocopy-derive-0.8.48.crate) = 97646 SHA256 (rust/crates/zerofrom-0.1.7.crate) = 69faa1f2a1ea75661980b013019ed6687ed0e83d069bc1114e2cc74c6c04c4df SIZE (rust/crates/zerofrom-0.1.7.crate) = 6140 SHA256 (rust/crates/zerofrom-derive-0.1.7.crate) = 11532158c46691caf0f2593ea8358fed6bbf68a0315e80aae9bd41fbade684a1 SIZE (rust/crates/zerofrom-derive-0.1.7.crate) = 8853 SHA256 (rust/crates/zerotrie-0.2.4.crate) = 0f9152d31db0792fa83f70fb2f83148effb5c1f5b8c7686c3459e361d9bc20bf SIZE (rust/crates/zerotrie-0.2.4.crate) = 83690 SHA256 (rust/crates/zerovec-0.11.6.crate) = 90f911cbc359ab6af17377d242225f4d75119aec87ea711a880987b18cd7b239 SIZE (rust/crates/zerovec-0.11.6.crate) = 128583 SHA256 (rust/crates/zerovec-derive-0.11.3.crate) = 625dc425cab0dca6dc3c3319506e6593dcb08a9f387ea3b284dbd52a92c40555 SIZE (rust/crates/zerovec-derive-0.11.3.crate) = 22115 SHA256 (rust/crates/zmij-1.0.21.crate) = b8848ee67ecc8aedbaf3e4122217aff892639231befc6a1b58d29fff4c2cabaa SIZE (rust/crates/zmij-1.0.21.crate) = 26665 SHA256 (rollup-rollup-v4.60.4_GH0.tar.gz) = c129324ecef83a1c4d829c8b876751c72a6fa2dfe707f32f0b55c311cf29ee91 SIZE (rollup-rollup-v4.60.4_GH0.tar.gz) = 2249970 SHA256 (evanw-esbuild-v0.28.1_GH0.tar.gz) = 65c756fa87d43178ac4a5242454c2bd0fde325f8ecf77997f8fa4b88f94d5cd2 SIZE (evanw-esbuild-v0.28.1_GH0.tar.gz) = 1997481 diff --git a/www/chromium/files/patch-BUILD.gn b/www/chromium/files/patch-BUILD.gn index 53ddc4f753f0..0479386fa720 100644 --- a/www/chromium/files/patch-BUILD.gn +++ b/www/chromium/files/patch-BUILD.gn @@ -1,98 +1,98 @@ ---- BUILD.gn.orig 2026-07-29 11:06:49 UTC +--- BUILD.gn.orig 2026-08-12 09:02:10 UTC +++ BUILD.gn -@@ -69,7 +69,7 @@ declare_args() { +@@ -70,7 +70,7 @@ declare_args() { root_extra_deps = [] } -if (is_official_build) { +if (is_official_build && !is_bsd) { # An official (maximally optimized!) component (optimized for build times) # build doesn't make sense and usually doesn't work. assert(!is_component_build) -@@ -102,7 +102,6 @@ group("gn_all") { +@@ -103,7 +103,6 @@ group("gn_all") { "//codelabs", "//components:components_unittests", "//components/gwp_asan:gwp_asan_unittests", - "//infra/orchestrator:orchestrator_all", "//net:net_unittests", "//sandbox:sandbox_unittests", "//services:services_unittests", @@ -434,7 +433,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", -@@ -597,6 +596,15 @@ group("gn_all") { +@@ -602,6 +601,15 @@ group("gn_all") { } } + if (is_bsd) { + deps -= [ + "//third_party/breakpad:dump_syms($host_system_allocator_toolchain)", + "//third_party/breakpad:microdump_stackwalk($host_system_allocator_toolchain)", + "//third_party/breakpad:minidump_dump($host_system_allocator_toolchain)", + "//third_party/breakpad:minidump_stackwalk($host_system_allocator_toolchain)", + ] + } + if (is_mac) { deps += [ "//third_party/breakpad:dump_syms($host_system_allocator_toolchain)", -@@ -645,7 +653,7 @@ group("gn_all") { +@@ -650,7 +658,7 @@ group("gn_all") { } } - if (!is_fuchsia) { + if (!is_fuchsia && !is_bsd) { # The official builders use this binary from the default toolchain's # output directory after building in order to upload the symbols of that # binary. They build the binary like `ninja symupload` which requires the -@@ -680,7 +688,7 @@ group("gn_all") { +@@ -685,7 +693,7 @@ group("gn_all") { ] } - if (is_mac || is_win || is_android || is_linux || is_chromeos) { + if (!is_bsd && (is_mac || is_win || is_android || is_linux || is_chromeos)) { deps += [ "//third_party/crashpad/crashpad:crashpad_tests", - "//third_party/crashpad/crashpad/handler:crashpad_handler", -@@ -1085,7 +1093,7 @@ if (use_blink && !is_cronet_build) { + "//third_party/crashpad/crashpad/tools:crashpad_database_util", +@@ -1098,7 +1106,7 @@ if (use_blink && !is_cronet_build) { "//third_party/blink/public:all_blink", ] - if (!is_chromeos && !is_ios && !is_fuchsia && !is_android && !is_castos) { + if (!is_chromeos && !is_ios && !is_fuchsia && !is_android && !is_castos && !is_bsd) { deps += [ ":chrome_wpt_tests", ":headless_shell_wpt", -@@ -1237,7 +1245,7 @@ if (use_blink && !is_cronet_build) { +@@ -1250,7 +1258,7 @@ if (use_blink && !is_cronet_build) { data_deps += [ "//content/web_test:web_test_common_mojom_js_data_deps" ] } - if (!is_win && !is_android) { + if (!is_win && !is_android && !is_bsd) { # Using the default toolchain for this tool, as it's run during tests not # during the build. This places a symlink in the root_build_dir for scrips # to use. -@@ -1251,7 +1259,7 @@ if (use_blink && !is_cronet_build) { +@@ -1264,7 +1272,7 @@ if (use_blink && !is_cronet_build) { data_deps += [ "//third_party/breakpad:dump_syms" ] } - if (is_linux || is_chromeos) { + if ((is_linux && !is_bsd) || is_chromeos) { # Using the default toolchain for this tool, as it's run during tests not # during the build. This places a symlink in the root_build_dir for scrips # to use. -@@ -1531,7 +1539,7 @@ group("chromium_builder_perf") { +@@ -1544,7 +1552,7 @@ group("chromium_builder_perf") { data_deps += [ "//chrome/test:performance_browser_tests" ] } - if (!is_win) { + if (!is_win && !is_bsd) { data_deps += [ "//third_party/breakpad:minidump_stackwalk($host_system_allocator_toolchain)" ] } } diff --git a/www/chromium/files/patch-remoting_tools_magi-mode_tests_testdata_mock__app.cc b/www/chromium/files/patch-agents_skills_magi-mode_tests_testdata_mock__app.cc similarity index 70% rename from www/chromium/files/patch-remoting_tools_magi-mode_tests_testdata_mock__app.cc rename to www/chromium/files/patch-agents_skills_magi-mode_tests_testdata_mock__app.cc index d74e9b190168..edf8945cefd0 100644 --- a/www/chromium/files/patch-remoting_tools_magi-mode_tests_testdata_mock__app.cc +++ b/www/chromium/files/patch-agents_skills_magi-mode_tests_testdata_mock__app.cc @@ -1,20 +1,20 @@ ---- remoting/tools/magi-mode/tests/testdata/mock_app.cc.orig 2026-07-01 06:24:19 UTC -+++ remoting/tools/magi-mode/tests/testdata/mock_app.cc +--- agents/skills/magi-mode/tests/testdata/mock_app.cc.orig 2026-08-12 09:02:10 UTC ++++ agents/skills/magi-mode/tests/testdata/mock_app.cc @@ -14,7 +14,7 @@ #include "file_manager_win.h" #endif -#if BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) #include "socket_handler_linux.h" #endif @@ -39,7 +39,7 @@ void RunMockApp() { ProcessFile(); #endif -#if BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) ReadConfig(); #endif } diff --git a/www/chromium/files/patch-base_BUILD.gn b/www/chromium/files/patch-base_BUILD.gn index 185f0d1400d7..f7527a304bca 100644 --- a/www/chromium/files/patch-base_BUILD.gn +++ b/www/chromium/files/patch-base_BUILD.gn @@ -1,150 +1,150 @@ ---- base/BUILD.gn.orig 2026-07-01 06:24:19 UTC +--- base/BUILD.gn.orig 2026-08-12 09:02:10 UTC +++ base/BUILD.gn -@@ -1180,11 +1180,26 @@ component("base") { +@@ -1188,11 +1188,26 @@ component("base") { # Needed for if using newer C++ library than sysroot, except if # building inside the cros_sdk environment - use host_toolchain as a # more robust check for this. - if (!use_sysroot && (is_android || is_chromeos || (is_linux && !is_castos)) && + if (!use_sysroot && (is_android || is_chromeos || (is_linux && !is_castos && !is_bsd)) && host_toolchain != "//build/toolchain/cros:host") { libs += [ "atomic" ] } + # *BSD needs libkvm + if (is_bsd) { + libs += [ + "kvm", + "epoll-shim", + ] + } + + if (is_freebsd) { + libs += [ + "execinfo", + "util", + ] + } + if (use_allocator_shim) { if (is_apple) { sources += [ "allocator/early_zone_registration_apple.h" ] -@@ -1204,7 +1219,7 @@ component("base") { +@@ -1212,7 +1227,7 @@ component("base") { # Allow more direct string conversions on platforms with native utf8 # strings - if (is_apple || is_chromeos || is_castos || is_cast_android || is_fuchsia) { + if (is_apple || is_chromeos || is_castos || is_cast_android || is_fuchsia || is_bsd) { defines += [ "SYSTEM_NATIVE_UTF8" ] } -@@ -2231,6 +2246,22 @@ component("base") { +@@ -2239,6 +2254,22 @@ component("base") { ] } + if (is_openbsd) { + sources += [ + "process/process_handle_openbsd.cc", + "process/process_iterator_openbsd.cc", + "process/process_metrics_openbsd.cc", + "system/sys_info_openbsd.cc", + ] + } else if (is_freebsd) { + sources += [ + "process/process_handle_freebsd.cc", + "process/process_iterator_freebsd.cc", + "process/process_metrics_freebsd.cc", + "system/sys_info_freebsd.cc", + ] + } + # iOS if (is_ios) { sources += [ -@@ -2405,6 +2436,33 @@ component("base") { +@@ -2413,6 +2444,33 @@ component("base") { } } + if (is_bsd) { + sources -= [ + "files/file_path_watcher_inotify.cc", + "files/scoped_file_linux.cc", + "process/set_process_title_linux.cc", + "process/set_process_title_linux.h", + "system/sys_info_linux.cc", + "process/process_iterator_linux.cc", + "process/process_linux.cc", + "process/process_metrics_linux.cc", + "process/process_handle_linux.cc", + "profiler/stack_copier_signal.cc", + "profiler/stack_copier_signal.h", + "profiler/thread_delegate_posix.cc", + "profiler/thread_delegate_posix.h", + "threading/platform_thread_linux.cc", + "stack_canary_linux.cc", + "stack_canary_linux.h", + ] + sources += [ + "files/file_path_watcher_kqueue.cc", + "files/file_path_watcher_kqueue.h", + "files/file_path_watcher_bsd.cc", + "threading/platform_thread_bsd.cc", + ] + } + if (use_blink) { sources += [ "files/file_path_watcher.cc", -@@ -2925,7 +2983,7 @@ buildflag_header("protected_memory_buildflags") { +@@ -2960,7 +3018,7 @@ buildflag_header("protected_memory_buildflags") { header = "protected_memory_buildflags.h" header_dir = "base/memory" - protected_memory_enabled = !is_component_build && is_clang && + protected_memory_enabled = !is_openbsd && !is_component_build && is_clang && (is_win || is_linux || is_android || is_mac) flags = [ "PROTECTED_MEMORY_ENABLED=$protected_memory_enabled" ] -@@ -3441,7 +3499,7 @@ if (is_apple) { +@@ -3476,7 +3534,7 @@ if (is_apple) { } } -if (is_linux || is_chromeos) { +if (!is_bsd && (is_linux || is_chromeos)) { # This test must compile with -fstack-protector-all source_set("stack_canary_linux_unittests") { testonly = true -@@ -4208,7 +4266,7 @@ test("base_unittests") { +@@ -4246,7 +4304,7 @@ test("base_unittests") { configs += [ ":delayload_esent_dll" ] } - if (is_linux || is_chromeos) { + if (!is_bsd && (is_linux || is_chromeos)) { sources += [ "debug/proc_maps_linux_unittest.cc", "files/scoped_file_linux_unittest.cc", -@@ -4231,7 +4289,7 @@ test("base_unittests") { +@@ -4269,7 +4327,7 @@ test("base_unittests") { "posix/file_descriptor_shuffle_unittest.cc", "posix/unix_domain_socket_unittest.cc", ] - if (!is_apple) { + if (!is_apple && !is_bsd) { sources += [ "profiler/stack_base_address_posix_unittest.cc", "profiler/stack_copier_signal_unittest.cc", -@@ -4242,7 +4300,7 @@ test("base_unittests") { +@@ -4280,7 +4338,7 @@ test("base_unittests") { # Allow more direct string conversions on platforms with native utf8 # strings - if (is_apple || is_chromeos || is_castos || is_cast_android || is_fuchsia) { + if (is_apple || is_chromeos || is_castos || is_cast_android || is_fuchsia || is_bsd) { defines += [ "SYSTEM_NATIVE_UTF8" ] } -@@ -4426,7 +4484,7 @@ test("base_unittests") { +@@ -4464,7 +4522,7 @@ test("base_unittests") { deps += [ ":base_profiler_test_support_library" ] } - if (is_fuchsia || is_linux || is_chromeos) { + if ((is_fuchsia || is_linux || is_chromeos) && !is_bsd) { sources += [ "debug/elf_reader_unittest.cc", "debug/test_elf_image_builder.cc", diff --git a/www/chromium/files/patch-base_allocator_dispatcher_tls.h b/www/chromium/files/patch-base_allocator_dispatcher_tls.h index b15d89242dc1..789014818bb1 100644 --- a/www/chromium/files/patch-base_allocator_dispatcher_tls.h +++ b/www/chromium/files/patch-base_allocator_dispatcher_tls.h @@ -1,11 +1,11 @@ ---- base/allocator/dispatcher/tls.h.orig 2026-02-11 09:05:39 UTC +--- base/allocator/dispatcher/tls.h.orig 2026-08-12 09:02:10 UTC +++ base/allocator/dispatcher/tls.h -@@ -81,7 +81,7 @@ struct BASE_EXPORT MMapAllocator { +@@ -82,7 +82,7 @@ struct BASE_EXPORT MMapAllocator { constexpr static size_t AllocationChunkSize = 16384; #elif BUILDFLAG(IS_ANDROID) && defined(ARCH_CPU_64_BITS) constexpr static size_t AllocationChunkSize = 16384; -#elif BUILDFLAG(IS_LINUX) && defined(ARCH_CPU_ARM64) +#elif (BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)) && defined(ARCH_CPU_ARM64) constexpr static size_t AllocationChunkSize = 16384; #else constexpr static size_t AllocationChunkSize = 4096; diff --git a/www/chromium/files/patch-base_allocator_partition__allocator_partition__alloc.gni b/www/chromium/files/patch-base_allocator_partition__allocator_partition__alloc.gni index 8b3a9df0d59b..3ee3328f1bf9 100644 --- a/www/chromium/files/patch-base_allocator_partition__allocator_partition__alloc.gni +++ b/www/chromium/files/patch-base_allocator_partition__allocator_partition__alloc.gni @@ -1,20 +1,20 @@ ---- base/allocator/partition_allocator/partition_alloc.gni.orig 2026-07-01 06:24:19 UTC +--- base/allocator/partition_allocator/partition_alloc.gni.orig 2026-08-12 09:02:10 UTC +++ base/allocator/partition_allocator/partition_alloc.gni -@@ -109,7 +109,7 @@ if (current_cpu == "x64" || current_cpu == "arm64" || +@@ -110,7 +110,7 @@ if (current_cpu == "x64" || current_cpu == "arm64" || # TODO(crbug.com/329199197): Clean this up when experiments are complete. use_large_empty_slot_span_ring = true -has_memory_tagging = current_cpu == "arm64" && is_clang && !is_asan && +has_memory_tagging = current_cpu == "arm64" && !is_bsd && is_clang && !is_asan && !is_hwasan && (is_linux || is_android) declare_args() { -@@ -541,7 +541,7 @@ assert(!use_asan_backup_ref_ptr || use_raw_ptr_hookabl +@@ -542,7 +542,7 @@ assert(!use_asan_backup_ref_ptr || use_raw_ptr_hookabl # dependencies that use partition_allocator are compiled in AOSP against a # version of glibc that does not include pkeys syscall numbers. is_pkeys_available = - (is_linux || is_chromeos) && current_cpu == "x64" && !is_cronet_build + !is_bsd && (is_linux || is_chromeos) && current_cpu == "x64" && !is_cronet_build declare_args() { enable_pkeys = is_pkeys_available } diff --git a/www/chromium/files/patch-base_allocator_partition__allocator_src_partition__alloc_BUILD.gn b/www/chromium/files/patch-base_allocator_partition__allocator_src_partition__alloc_BUILD.gn index 64526d88420a..4b674f58bbed 100644 --- a/www/chromium/files/patch-base_allocator_partition__allocator_src_partition__alloc_BUILD.gn +++ b/www/chromium/files/patch-base_allocator_partition__allocator_src_partition__alloc_BUILD.gn @@ -1,11 +1,11 @@ ---- base/allocator/partition_allocator/src/partition_alloc/BUILD.gn.orig 2026-07-01 06:24:19 UTC +--- base/allocator/partition_allocator/src/partition_alloc/BUILD.gn.orig 2026-08-12 09:02:10 UTC +++ base/allocator/partition_allocator/src/partition_alloc/BUILD.gn -@@ -957,7 +957,7 @@ if (is_clang_or_gcc) { +@@ -961,7 +961,7 @@ if (is_clang_or_gcc) { configs -= [ partition_alloc_enable_arc_config ] } } - if (is_chromeos || is_linux) { + if ((is_chromeos || is_linux) && !is_bsd) { shim_headers += [ "shim/allocator_shim_override_cpp_symbols.h", "shim/allocator_shim_override_glibc_weak_symbols.h", diff --git a/www/chromium/files/patch-base_allocator_partition__allocator_src_partition__alloc_page__allocator__internals__posix.cc b/www/chromium/files/patch-base_allocator_partition__allocator_src_partition__alloc_page__allocator__internals__posix.cc index 26fa30f2834c..86a756a241b1 100644 --- a/www/chromium/files/patch-base_allocator_partition__allocator_src_partition__alloc_page__allocator__internals__posix.cc +++ b/www/chromium/files/patch-base_allocator_partition__allocator_src_partition__alloc_page__allocator__internals__posix.cc @@ -1,20 +1,20 @@ ---- base/allocator/partition_allocator/src/partition_alloc/page_allocator_internals_posix.cc.orig 2026-06-04 10:12:25 UTC +--- base/allocator/partition_allocator/src/partition_alloc/page_allocator_internals_posix.cc.orig 2026-08-12 09:02:10 UTC +++ base/allocator/partition_allocator/src/partition_alloc/page_allocator_internals_posix.cc -@@ -43,7 +43,7 @@ uint32_t SecTaskGetCodeSignStatus(SecTaskRef task) API +@@ -44,7 +44,7 @@ uint32_t SecTaskGetCodeSignStatus(SecTaskRef task) API #if PA_BUILDFLAG(HAS_MEMORY_TAGGING) || \ (defined(__ARM_FEATURE_BTI_DEFAULT) && (__ARM_FEATURE_BTI_DEFAULT == 1) && \ - __has_include()) + __has_include() && !PA_BUILDFLAG(IS_BSD)) struct __ifunc_arg_t; #include "partition_alloc/aarch64_support.h" -@@ -228,7 +228,7 @@ size_t GetZeroSegmentSizeFromOS() { +@@ -231,7 +231,7 @@ size_t GetZeroSegmentSizeFromOS() { return static_cast(address); } --#elif PA_BUILDFLAG(IS_LINUX) -+#elif PA_BUILDFLAG(IS_LINUX) || PA_BUILDFLAG(IS_BSD) +-#elif PA_BUILDFLAG(IS_LINUX) || PA_BUILDFLAG(IS_CHROMEOS) ++#elif PA_BUILDFLAG(IS_LINUX) || PA_BUILDFLAG(IS_CHROMEOS) || PA_BUILDFLAG(IS_BSD) size_t GetZeroSegmentSizeFromOS() { // TODO(40925855): Support larger `mmap_min_addr`. diff --git a/www/chromium/files/patch-base_allocator_partition__allocator_src_partition__alloc_partition__alloc__base_rand__util__posix.cc b/www/chromium/files/patch-base_allocator_partition__allocator_src_partition__alloc_partition__alloc__base_rand__util__posix.cc index 2a5ae83c0634..42c24108bb53 100644 --- a/www/chromium/files/patch-base_allocator_partition__allocator_src_partition__alloc_partition__alloc__base_rand__util__posix.cc +++ b/www/chromium/files/patch-base_allocator_partition__allocator_src_partition__alloc_partition__alloc__base_rand__util__posix.cc @@ -1,13 +1,13 @@ ---- base/allocator/partition_allocator/src/partition_alloc/partition_alloc_base/rand_util_posix.cc.orig 2026-02-11 09:05:39 UTC +--- base/allocator/partition_allocator/src/partition_alloc/partition_alloc_base/rand_util_posix.cc.orig 2026-08-12 09:02:10 UTC +++ base/allocator/partition_allocator/src/partition_alloc/partition_alloc_base/rand_util_posix.cc -@@ -102,6 +102,10 @@ void RandBytes(void* output, size_t output_length) { - if (getentropy(output, output_length) == 0) { +@@ -104,6 +104,10 @@ void RandBytes(void* output, size_t output_length) { + if (CCRandomGenerateBytes(output, output_length) == kCCSuccess) { return; } +#elif PA_BUILDFLAG(IS_BSD) + if (getentropy(output, output_length) == 0) { + return; + } #endif // If getrandom(2) above returned with an error and the /dev/urandom fallback // took place on Linux/ChromeOS bots, they would fail with a CHECK in diff --git a/www/chromium/files/patch-base_allocator_partition__allocator_src_partition__alloc_partition__alloc__constants.h b/www/chromium/files/patch-base_allocator_partition__allocator_src_partition__alloc_partition__alloc__constants.h index b31e2716a460..37e99963f0bb 100644 --- a/www/chromium/files/patch-base_allocator_partition__allocator_src_partition__alloc_partition__alloc__constants.h +++ b/www/chromium/files/patch-base_allocator_partition__allocator_src_partition__alloc_partition__alloc__constants.h @@ -1,20 +1,20 @@ ---- base/allocator/partition_allocator/src/partition_alloc/partition_alloc_constants.h.orig 2026-07-01 06:24:19 UTC +--- base/allocator/partition_allocator/src/partition_alloc/partition_alloc_constants.h.orig 2026-08-12 09:02:10 UTC +++ base/allocator/partition_allocator/src/partition_alloc/partition_alloc_constants.h -@@ -320,7 +320,7 @@ PA_DEFINE_OPERATORS_FOR_FLAGS(PoolHandleMask); +@@ -327,7 +327,7 @@ PA_DEFINE_OPERATORS_FOR_FLAGS(PoolHandleMask); // 8GB for each of the glued pools). #if PA_BUILDFLAG(HAS_64_BIT_POINTERS) #if PA_BUILDFLAG(IS_ANDROID) || PA_BUILDFLAG(IS_IOS) || \ - PA_BUILDFLAG(ENABLE_POINTER_COMPRESSION) + PA_BUILDFLAG(ENABLE_POINTER_COMPRESSION) || PA_BUILDFLAG(IS_BSD) constexpr size_t kPoolMaxSize = 8 * kGiB; #else constexpr size_t kPoolMaxSize = 16 * kGiB; -@@ -404,7 +404,7 @@ PA_ALWAYS_INLINE constexpr size_t MaxDirectMapped() { +@@ -411,7 +411,7 @@ PA_ALWAYS_INLINE constexpr size_t MaxDirectMapped() { // TODO(casey.smalley@arm.com): under 64k pages we can end up in a situation // where a normal slot span will be large enough to contain multiple items, // but the address will go over the final partition page after being aligned. -#if PA_BUILDFLAG(IS_LINUX) && PA_BUILDFLAG(PA_ARCH_CPU_ARM64) +#if (PA_BUILDFLAG(IS_LINUX) || PA_BUILDFLAG(IS_BSD)) && PA_BUILDFLAG(PA_ARCH_CPU_ARM64) inline constexpr size_t kMaxSupportedAlignment = kSuperPageSize / 4; #else inline constexpr size_t kMaxSupportedAlignment = kSuperPageSize / 2; diff --git a/www/chromium/files/patch-base_allocator_partition__allocator_src_partition__alloc_partition__root.cc b/www/chromium/files/patch-base_allocator_partition__allocator_src_partition__alloc_partition__root.cc index a2cec24fab43..ac6e7bbea130 100644 --- a/www/chromium/files/patch-base_allocator_partition__allocator_src_partition__alloc_partition__root.cc +++ b/www/chromium/files/patch-base_allocator_partition__allocator_src_partition__alloc_partition__root.cc @@ -1,29 +1,29 @@ ---- base/allocator/partition_allocator/src/partition_alloc/partition_root.cc.orig 2026-07-01 06:24:19 UTC +--- base/allocator/partition_allocator/src/partition_alloc/partition_root.cc.orig 2026-08-12 09:02:10 UTC +++ base/allocator/partition_allocator/src/partition_alloc/partition_root.cc -@@ -47,7 +47,7 @@ +@@ -50,7 +50,7 @@ #include "wow64apiset.h" #endif -#if PA_BUILDFLAG(IS_LINUX) || PA_BUILDFLAG(IS_CHROMEOS) +#if PA_BUILDFLAG(IS_LINUX) || PA_BUILDFLAG(IS_CHROMEOS) || PA_BUILDFLAG(IS_BSD) #include #endif // PA_BUILDFLAG(IS_LINUX) || PA_BUILDFLAG(IS_CHROMEOS) -@@ -274,7 +274,7 @@ void PartitionAllocMallocInitOnce() { +@@ -283,7 +283,7 @@ void PartitionAllocMallocInitOnce() { return; } -#if PA_BUILDFLAG(IS_LINUX) || PA_BUILDFLAG(IS_CHROMEOS) +#if PA_BUILDFLAG(IS_LINUX) || PA_BUILDFLAG(IS_CHROMEOS) || PA_BUILDFLAG(IS_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. -@@ -992,7 +992,7 @@ void PartitionRoot::Init(PartitionOptions opts) { +@@ -1001,7 +1001,7 @@ void PartitionRoot::Init(PartitionOptions opts) { // apple OSes. PA_CHECK((internal::SystemPageSize() == (size_t{1} << 12)) || (internal::SystemPageSize() == (size_t{1} << 14))); -#elif PA_BUILDFLAG(IS_LINUX) && PA_BUILDFLAG(PA_ARCH_CPU_ARM64) +#elif (PA_BUILDFLAG(IS_LINUX) || PA_BUILDFLAG(IS_BSD)) && PA_BUILDFLAG(PA_ARCH_CPU_ARM64) // Check runtime pagesize. Though the code is currently the same, it is // not merged with the IS_APPLE case above as a 1 << 16 case is only // supported on Linux on AArch64. diff --git a/www/chromium/files/patch-base_files_file__path__watcher__unittest.cc b/www/chromium/files/patch-base_files_file__path__watcher__unittest.cc deleted file mode 100644 index a62f33908be6..000000000000 --- a/www/chromium/files/patch-base_files_file__path__watcher__unittest.cc +++ /dev/null @@ -1,29 +0,0 @@ ---- base/files/file_path_watcher_unittest.cc.orig 2026-07-01 06:24:19 UTC -+++ base/files/file_path_watcher_unittest.cc -@@ -914,7 +914,7 @@ TEST_F(FilePathWatcherTest, WatchDirectory) { - } - delegate.RunUntilEventsMatch(event_expecter); - --#if !BUILDFLAG(IS_APPLE) -+#if !BUILDFLAG(IS_APPLE) && BUILDFLAG(IS_BSD) - ASSERT_TRUE(WriteFile(file1, "content v2")); - // Mac implementation does not detect files modified in a directory. - // TODO(crbug.com/40263777): Expect that no events are fired on Mac. -@@ -1866,7 +1866,7 @@ namespace { - - enum Permission { Read, Write, Execute }; - --#if BUILDFLAG(IS_APPLE) -+#if BUILDFLAG(IS_APPLE) || BUILDFLAG(IS_BSD) - bool ChangeFilePermissions(const FilePath& path, Permission perm, bool allow) { - struct stat stat_buf; - -@@ -1900,7 +1900,7 @@ bool ChangeFilePermissions(const FilePath& path, Permi - - } // namespace - --#if BUILDFLAG(IS_APPLE) -+#if BUILDFLAG(IS_APPLE) && BUILDFLAG(IS_BSD) - // Linux implementation of FilePathWatcher doesn't catch attribute changes. - // http://crbug.com/78043 - // Windows implementation of FilePathWatcher catches attribute changes that diff --git a/www/chromium/files/patch-base_files_file__util__unittest.cc b/www/chromium/files/patch-base_files_file__util__unittest.cc index 5d8a21e72a88..0736b34f449e 100644 --- a/www/chromium/files/patch-base_files_file__util__unittest.cc +++ b/www/chromium/files/patch-base_files_file__util__unittest.cc @@ -1,40 +1,40 @@ ---- base/files/file_util_unittest.cc.orig 2026-06-04 10:12:25 UTC +--- base/files/file_util_unittest.cc.orig 2026-08-12 09:02:10 UTC +++ base/files/file_util_unittest.cc -@@ -4410,7 +4410,7 @@ TEST_F(FileUtilTest, ReadFileToStringWithNamedPipe) { +@@ -4430,7 +4430,7 @@ TEST_F(FileUtilTest, ReadFileToStringWithNamedPipe) { } #endif // BUILDFLAG(IS_WIN) -#if BUILDFLAG(IS_POSIX) && !BUILDFLAG(IS_APPLE) +#if BUILDFLAG(IS_POSIX) && !BUILDFLAG(IS_APPLE) && !BUILDFLAG(IS_BSD) TEST_F(FileUtilTest, ReadFileToStringWithProcFileSystem) { FilePath file_path("/proc/cpuinfo"); std::string data = "temp"; -@@ -4993,6 +4993,19 @@ TEST_F(FileUtilTest, CreateDirectoryOnlyCheckMissingSu +@@ -5013,6 +5013,19 @@ TEST_F(FileUtilTest, CreateDirectoryOnlyCheckMissingSu #endif // BUILDFLAG(IS_ANDROID) +#if BUILDFLAG(IS_OPENBSD) +TEST_F(FileUtilTest, CreateDirectoryInUnveiledPath) { + FilePath dir = PathService::CheckedGet(DIR_GEN_TEST_DATA_ROOT); + dir = dir.Append(FILE_PATH_LITERAL("base")); + dir = dir.Append(FILE_PATH_LITERAL("test")); + dir = dir.Append(FILE_PATH_LITERAL("unveil")); + unveil(dir.value().c_str(), "rwc"); + EXPECT_TRUE(CreateDirectory(dir)); + dir = dir.Append(FILE_PATH_LITERAL("test")); + EXPECT_FALSE(CreateDirectory(dir)); +} +#endif + #if BUILDFLAG(IS_WIN) && BUILDFLAG(GOOGLE_CHROME_BRANDING) && \ defined(ARCH_CPU_32_BITS) // TODO(crbug.com/327582285): Re-enable these tests. They may be failing due to -@@ -5159,7 +5172,7 @@ TEST(FileUtilMultiThreadedTest, MultiThreadedTempFiles +@@ -5179,7 +5192,7 @@ TEST(FileUtilMultiThreadedTest, MultiThreadedTempFiles NULL); #else size_t bytes_written = - ::write(::fileno(output_file.get()), content.c_str(), content.length()); + ::write(fileno(output_file.get()), content.c_str(), content.length()); #endif EXPECT_EQ(content.length(), bytes_written); ::fflush(output_file.get()); diff --git a/www/chromium/files/patch-base_i18n_icu__util.cc b/www/chromium/files/patch-base_i18n_icu__util.cc index db7b79da0907..0b26dee1cbbd 100644 --- a/www/chromium/files/patch-base_i18n_icu__util.cc +++ b/www/chromium/files/patch-base_i18n_icu__util.cc @@ -1,20 +1,20 @@ ---- base/i18n/icu_util.cc.orig 2025-12-05 10:12:50 UTC +--- base/i18n/icu_util.cc.orig 2026-08-12 09:02:10 UTC +++ base/i18n/icu_util.cc @@ -54,7 +54,7 @@ #include "third_party/icu/source/common/unicode/unistr.h" #endif -#if BUILDFLAG(IS_ANDROID) || BUILDFLAG(IS_FUCHSIA) || \ +#if BUILDFLAG(IS_ANDROID) || BUILDFLAG(IS_FUCHSIA) || BUILDFLAG(IS_BSD) || \ BUILDFLAG(IS_CHROMEOS) || (BUILDFLAG(IS_LINUX) && !BUILDFLAG(IS_CASTOS)) #include "third_party/icu/source/i18n/unicode/timezone.h" #endif -@@ -327,7 +327,7 @@ void InitializeIcuTimeZone() { +@@ -326,7 +326,7 @@ void InitializeIcuTimeZone() { FuchsiaIntlProfileWatcher::GetPrimaryTimeZoneIdForIcuInitialization(); icu::TimeZone::adoptDefault( icu::TimeZone::createTimeZone(icu::UnicodeString::fromUTF8(zone_id))); -#elif BUILDFLAG(IS_CHROMEOS) || \ +#elif BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) || \ (BUILDFLAG(IS_LINUX) && !BUILDFLAG(IS_CASTOS)) || BUILDFLAG(IS_ANDROID) // To respond to the time zone change properly, the default time zone // cache in ICU has to be populated on starting up. diff --git a/www/chromium/files/patch-base_message__loop_message__pump__epoll.cc b/www/chromium/files/patch-base_message__loop_message__pump__epoll.cc index 031e148b8a73..35914ab88cb3 100644 --- a/www/chromium/files/patch-base_message__loop_message__pump__epoll.cc +++ b/www/chromium/files/patch-base_message__loop_message__pump__epoll.cc @@ -1,11 +1,11 @@ ---- base/message_loop/message_pump_epoll.cc.orig 2025-10-02 04:28:32 UTC +--- base/message_loop/message_pump_epoll.cc.orig 2026-08-12 09:02:10 UTC +++ base/message_loop/message_pump_epoll.cc -@@ -44,7 +44,7 @@ std::atomic_bool g_use_batched_version = false; +@@ -45,7 +45,7 @@ std::atomic_bool g_use_batched_version = false; std::atomic_bool g_use_poll = false; constexpr std::pair kEpollToPollEvents[] = { - {EPOLLIN, POLLIN}, {EPOLLOUT, POLLOUT}, {EPOLLRDHUP, POLLRDHUP}, + {EPOLLIN, POLLIN}, {EPOLLOUT, POLLOUT}, {EPOLLPRI, POLLPRI}, {EPOLLERR, POLLERR}, {EPOLLHUP, POLLHUP}}; void SetEventsForPoll(const uint32_t epoll_events, struct pollfd* poll_entry) { diff --git a/www/chromium/files/patch-base_message__loop_message__pump__glib.cc b/www/chromium/files/patch-base_message__loop_message__pump__glib.cc index 48c44ab43942..a59c6d226d31 100644 --- a/www/chromium/files/patch-base_message__loop_message__pump__glib.cc +++ b/www/chromium/files/patch-base_message__loop_message__pump__glib.cc @@ -1,28 +1,28 @@ ---- base/message_loop/message_pump_glib.cc.orig 2025-10-30 15:44:36 UTC +--- base/message_loop/message_pump_glib.cc.orig 2026-08-12 09:02:10 UTC +++ base/message_loop/message_pump_glib.cc -@@ -8,6 +8,11 @@ +@@ -7,6 +7,11 @@ + #include #include - #include +#if BUILDFLAG(IS_BSD) +#include +#include +#endif + #include "base/logging.h" #include "base/memory/raw_ptr.h" #include "base/message_loop/io_watcher.h" @@ -58,9 +63,13 @@ int GetTimeIntervalMilliseconds(TimeTicks next_task_ti } bool RunningOnMainThread() { +#if BUILDFLAG(IS_BSD) + return pthread_main_np(); +#else - auto pid = getpid(); - auto tid = PlatformThread::CurrentId().raw(); + pid_t pid = getpid(); + pid_t tid = PlatformThread::CurrentId().raw(); return pid > 0 && tid > 0 && pid == tid; +#endif } // A brief refresher on GLib: diff --git a/www/chromium/files/patch-base_process_kill__posix.cc b/www/chromium/files/patch-base_process_kill__posix.cc index 214b150641c7..eafc8336faac 100644 --- a/www/chromium/files/patch-base_process_kill__posix.cc +++ b/www/chromium/files/patch-base_process_kill__posix.cc @@ -1,11 +1,11 @@ ---- base/process/kill_posix.cc.orig 2026-01-14 08:33:23 UTC +--- base/process/kill_posix.cc.orig 2026-08-12 09:02:10 UTC +++ base/process/kill_posix.cc -@@ -160,7 +160,7 @@ void EnsureProcessTerminated(Process process) { - 0, new BackgroundReaper(std::move(process), Seconds(2))); +@@ -169,7 +169,7 @@ void EnsureProcessTerminated(Process process) { + 0, MakeSelfDeleting(std::move(process), Seconds(2))); } -#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) void EnsureProcessGetsReaped(Process process) { DCHECK(!process.is_current()); diff --git a/www/chromium/files/patch-base_process_process__metrics.cc b/www/chromium/files/patch-base_process_process__metrics.cc index b49201a3c787..5b6d9e77bb9e 100644 --- a/www/chromium/files/patch-base_process_process__metrics.cc +++ b/www/chromium/files/patch-base_process_process__metrics.cc @@ -1,38 +1,38 @@ ---- base/process/process_metrics.cc.orig 2025-09-06 10:01:20 UTC +--- base/process/process_metrics.cc.orig 2026-08-12 09:02:10 UTC +++ base/process/process_metrics.cc @@ -17,7 +17,7 @@ namespace base { namespace { #if BUILDFLAG(IS_APPLE) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || \ - BUILDFLAG(IS_AIX) + BUILDFLAG(IS_AIX) || BUILDFLAG(IS_BSD) int CalculateEventsPerSecond(uint64_t event_count, uint64_t* last_event_count, base::TimeTicks* last_calculated) { -@@ -54,7 +54,7 @@ SystemMetrics SystemMetrics::Sample() { +@@ -56,7 +56,7 @@ SystemMetrics SystemMetrics::Sample() { SystemMetrics system_metrics; system_metrics.committed_memory_ = GetSystemCommitCharge(); -#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_ANDROID) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_ANDROID) || BUILDFLAG(IS_BSD) GetSystemMemoryInfo(&system_metrics.memory_info_); GetVmStatInfo(&system_metrics.vmstat_info_); GetSystemDiskInfo(&system_metrics.disk_info_); -@@ -79,7 +79,7 @@ std::unique_ptr ProcessMetrics::Create +@@ -81,7 +81,7 @@ std::unique_ptr ProcessMetrics::Create #endif // !BUILDFLAG(IS_MAC) } -#if !BUILDFLAG(IS_FREEBSD) || !BUILDFLAG(IS_POSIX) +#if BUILDFLAG(IS_POSIX) double ProcessMetrics::GetPlatformIndependentCPUUsage( TimeDelta cumulative_cpu) { TimeTicks time = TimeTicks::Now(); -@@ -112,7 +112,7 @@ ProcessMetrics::GetPlatformIndependentCPUUsage() { +@@ -114,7 +114,7 @@ ProcessMetrics::GetPlatformIndependentCPUUsage() { #endif #if BUILDFLAG(IS_APPLE) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || \ - BUILDFLAG(IS_AIX) + BUILDFLAG(IS_AIX) || BUILDFLAG(IS_BSD) int ProcessMetrics::CalculateIdleWakeupsPerSecond( uint64_t absolute_idle_wakeups) { return CalculateEventsPerSecond(absolute_idle_wakeups, diff --git a/www/chromium/files/patch-base_rand__util__posix.cc b/www/chromium/files/patch-base_rand__util__posix.cc index bfffedd6ea7c..e78961ee7849 100644 --- a/www/chromium/files/patch-base_rand__util__posix.cc +++ b/www/chromium/files/patch-base_rand__util__posix.cc @@ -1,60 +1,60 @@ ---- base/rand_util_posix.cc.orig 2026-05-07 17:02:56 UTC +--- base/rand_util_posix.cc.orig 2026-08-12 09:02:10 UTC +++ base/rand_util_posix.cc @@ -24,7 +24,7 @@ #include "build/build_config.h" #include "third_party/boringssl/src/include/openssl/rand.h" -#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) +#if (BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS)) && !BUILDFLAG(IS_BSD) #include "third_party/lss/linux_syscall_support.h" #elif BUILDFLAG(IS_MAC) - // TODO(crbug.com/40641285): Waiting for this header to appear in the iOS SDK. + #include @@ -36,6 +36,7 @@ namespace base { namespace { +#if !BUILDFLAG(IS_BSD) #if BUILDFLAG(IS_AIX) // AIX has no 64-bit support for O_CLOEXEC. static constexpr int kOpenFlags = O_RDONLY; @@ -60,8 +61,9 @@ class URandomFd { private: const int fd_; }; +#endif -#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_ANDROID) +#if (BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_ANDROID)) && !BUILDFLAG(IS_BSD) bool KernelSupportsGetRandom() { return base::SysInfo::KernelVersionNumber::Current() >= @@ -114,6 +116,7 @@ bool UseBoringSSLForRandBytes() { namespace { void RandBytesInternal(span output, bool avoid_allocation) { +#if !BUILDFLAG(IS_BSD) // The BoringSSL experiment takes priority over everything else. if (!avoid_allocation && internal::UseBoringSSLForRandBytes()) { // BoringSSL's RAND_bytes always returns 1. Any error aborts the program. -@@ -144,6 +147,9 @@ void RandBytesInternal(span output, bool avoi +@@ -146,6 +149,9 @@ void RandBytesInternal(span output, bool avoi const int urandom_fd = GetUrandomFD(); const bool success = ReadFromFD(urandom_fd, as_writable_chars(output)); CHECK(success); +#else + arc4random_buf(output.data(), output.size()); +#endif } } // namespace -@@ -163,9 +169,11 @@ void RandBytes(span output) { +@@ -165,9 +171,11 @@ void RandBytes(span output) { RandBytesInternal(output, /*avoid_allocation=*/false); } +#if !BUILDFLAG(IS_BSD) int GetUrandomFD() { static NoDestructor urandom_fd; return urandom_fd->fd(); } +#endif } // namespace base diff --git a/www/chromium/files/patch-base_system_sys__info.h b/www/chromium/files/patch-base_system_sys__info.h index 1233fe965fb8..d2ca46e1a1fd 100644 --- a/www/chromium/files/patch-base_system_sys__info.h +++ b/www/chromium/files/patch-base_system_sys__info.h @@ -1,20 +1,20 @@ ---- base/system/sys_info.h.orig 2026-07-01 06:24:19 UTC +--- base/system/sys_info.h.orig 2026-08-12 09:02:10 UTC +++ base/system/sys_info.h -@@ -403,6 +403,8 @@ class BASE_EXPORT SysInfo { +@@ -399,6 +399,8 @@ class BASE_EXPORT SysInfo { static void ResetCpuSecurityMitigationsEnabledForTesting(); #endif + static uint64_t MaxSharedMemorySize(); + private: friend class test::ScopedAmountOfPhysicalMemoryOverride; FRIEND_TEST_ALL_PREFIXES(SysInfoTest, AmountOfAvailablePhysicalMemory); -@@ -415,7 +417,7 @@ class BASE_EXPORT SysInfo { +@@ -411,7 +413,7 @@ class BASE_EXPORT SysInfo { static HardwareInfo GetHardwareInfoSync(); #if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_ANDROID) || \ - BUILDFLAG(IS_AIX) + BUILDFLAG(IS_AIX) || BUILDFLAG(IS_BSD) static ByteSize AmountOfAvailablePhysicalMemory( const SystemMemoryInfo& meminfo); #endif 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 2eed693417cc..9368ff37a53b 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,30 +1,30 @@ ---- base/trace_event/malloc_dump_provider.cc.orig 2026-04-09 06:05:42 UTC +--- base/trace_event/malloc_dump_provider.cc.orig 2026-08-12 09:02:10 UTC +++ base/trace_event/malloc_dump_provider.cc -@@ -28,6 +28,8 @@ +@@ -29,6 +29,8 @@ #if BUILDFLAG(IS_APPLE) #include +#elif BUILDFLAG(IS_BSD) +#include #else #include #endif -@@ -192,7 +194,7 @@ void ReportAppleAllocStats(size_t* total_virtual_size, +@@ -222,7 +224,7 @@ void ReportAppleAllocStats(size_t* total_virtual_size, #if (PA_BUILDFLAG(USE_PARTITION_ALLOC_AS_MALLOC) && BUILDFLAG(IS_ANDROID)) || \ (!PA_BUILDFLAG(USE_PARTITION_ALLOC_AS_MALLOC) && !BUILDFLAG(IS_WIN) && \ - !BUILDFLAG(IS_APPLE) && !BUILDFLAG(IS_FUCHSIA)) + !BUILDFLAG(IS_APPLE) && !BUILDFLAG(IS_FUCHSIA) && !BUILDFLAG(IS_BSD)) void ReportMallinfoStats(ProcessMemoryDump* pmd, size_t* total_virtual_size, size_t* resident_size, -@@ -395,6 +397,9 @@ bool MallocDumpProvider::OnMemoryDump(const MemoryDump +@@ -436,6 +438,9 @@ bool MallocDumpProvider::OnMemoryDump(const MemoryDump &allocated_objects_count); #elif BUILDFLAG(IS_FUCHSIA) // TODO(fuchsia): Port, see https://crbug.com/706592. +#elif BUILDFLAG(IS_BSD) + total_virtual_size = 0; + allocated_objects_size = 0; #else ReportMallinfoStats(/*pmd=*/nullptr, &total_virtual_size, &resident_size, &allocated_objects_size, &allocated_objects_count); diff --git a/www/chromium/files/patch-build_config_BUILDCONFIG.gn b/www/chromium/files/patch-build_config_BUILDCONFIG.gn index 400e17e84e89..a15842b1b753 100644 --- a/www/chromium/files/patch-build_config_BUILDCONFIG.gn +++ b/www/chromium/files/patch-build_config_BUILDCONFIG.gn @@ -1,45 +1,45 @@ ---- build/config/BUILDCONFIG.gn.orig 2026-07-01 06:24:19 UTC +--- build/config/BUILDCONFIG.gn.orig 2026-08-12 09:02:10 UTC +++ build/config/BUILDCONFIG.gn @@ -136,7 +136,8 @@ declare_args() { is_official_build = false # Set to true when compiling with the Clang compiler. - is_clang = current_os != "linux" || + is_clang = current_os != "linux" || current_os == "openbsd" || + current_os == "freebsd" || (current_cpu != "mips" && current_cpu != "mips64") # Allows the path to a custom target toolchain to be injected as a single -@@ -241,6 +242,10 @@ if (host_toolchain == "") { +@@ -242,6 +243,10 @@ if (host_toolchain == "") { host_toolchain = "//build/toolchain/aix:$host_cpu" } else if (host_os == "zos") { host_toolchain = "//build/toolchain/zos:$host_cpu" + } else if (host_os == "openbsd") { + host_toolchain = "//build/toolchain/openbsd:clang_$host_cpu" + } else if (host_os == "freebsd") { + host_toolchain = "//build/toolchain/freebsd:clang_$host_cpu" } else { assert(false, "Unsupported host_os: $host_os") } -@@ -291,6 +296,8 @@ if (target_os == "android") { +@@ -292,6 +297,8 @@ if (target_os == "android") { assert( false, "emscripten is not a supported target_os. It is available only as secondary toolchain.") +} else if (target_os == "openbsd" || target_os == "freebsd") { + _default_toolchain = host_toolchain } else { assert(false, "Unsupported target_os: $target_os") } -@@ -325,7 +332,11 @@ is_android = current_os == "android" +@@ -326,7 +333,11 @@ is_android = current_os == "android" is_chromeos = current_os == "chromeos" is_fuchsia = current_os == "fuchsia" is_ios = current_os == "ios" -is_linux = current_os == "linux" +is_linux = current_os == "linux" || current_os == "openbsd" || + current_os == "freebsd" +is_openbsd = current_os == "openbsd" +is_freebsd = current_os == "freebsd" +is_bsd = current_os == "openbsd" || current_os == "freebsd" is_mac = current_os == "mac" is_wasm = current_os == "emscripten" is_watchos = current_os == "watchos" diff --git a/www/chromium/files/patch-build_config_compiler_BUILD.gn b/www/chromium/files/patch-build_config_compiler_BUILD.gn index 2157bad2c61a..afb5cb8241b5 100644 --- a/www/chromium/files/patch-build_config_compiler_BUILD.gn +++ b/www/chromium/files/patch-build_config_compiler_BUILD.gn @@ -1,124 +1,124 @@ ---- build/config/compiler/BUILD.gn.orig 2026-07-01 06:24:19 UTC +--- build/config/compiler/BUILD.gn.orig 2026-08-12 09:02:10 UTC +++ build/config/compiler/BUILD.gn @@ -203,7 +203,7 @@ declare_args() { # This greatly reduces the size of debug builds, at the cost of # debugging information which is required by some specialized # debugging tools. - simple_template_names = is_clang && !is_win && !is_apple + simple_template_names = is_clang && !is_win && !is_apple && !is_bsd # This switch is used to enable -Wexit-time-destructors by default. This # warning serves as a flip switch to allow a gradual migration of targets @@ -284,7 +284,7 @@ assert(is_bot || # # Since this is referenced both when passing the file and when deciding which # warnings to enable, store it in a separate variable here. -use_clang_warning_suppression_file = +use_clang_warning_suppression_file = !is_bsd && is_clang && clang_warning_suppression_file != "" # default_include_dirs --------------------------------------------------------- @@ -302,13 +302,16 @@ config("default_include_dirs") { # Compiler instrumentation can introduce dependencies in DSOs to symbols in # the executable they are loaded into, so they are unresolved at link-time. config("no_unresolved_symbols") { - if (!using_sanitizer && + if (!using_sanitizer && !is_bsd && (is_linux || is_chromeos || is_android || is_fuchsia)) { ldflags = [ "-Wl,-z,defs", "-Wl,--as-needed", ] } + if (current_cpu == "x86" && is_openbsd) { + ldflags = [ "-Wl,-z,notext", "-Wl,--strip-all" ] + } } # compiler --------------------------------------------------------------------- @@ -541,6 +544,10 @@ config("compiler") { } } + if (is_openbsd) { + ldflags += [ "-Wl,-z,wxneeded" ] + } + # Linux-specific compiler flags setup. # ------------------------------------ if (is_linux || is_chromeos) { -@@ -576,9 +583,9 @@ config("compiler") { - if (is_clang) { +@@ -577,9 +584,9 @@ config("compiler") { # Flags for diagnostics. cflags += [ "-fcolor-diagnostics" ] -- if (!is_win) { -+ if (!is_win && !is_bsd) { - cflags += [ "-fdiagnostics-show-inlining-chain" ] -- } else { -+ } else if (!is_bsd) { - # Combine after https://github.com/llvm/llvm-project/pull/192241 - cflags += [ "/clang:-fdiagnostics-show-inlining-chain" ] - } -@@ -603,7 +610,7 @@ config("compiler") { + if (!is_wasm) { +- if (!is_win) { ++ if (!is_win && !is_bsd) { + cflags += [ "-fdiagnostics-show-inlining-chain" ] +- } else { ++ } else if (!is_bsd) { + # Combine after https://github.com/llvm/llvm-project/pull/192241 + cflags += [ "/clang:-fdiagnostics-show-inlining-chain" ] + } +@@ -605,7 +612,7 @@ config("compiler") { } } - if (is_clang) { + if (is_clang && !is_bsd) { cflags += [ "-fcrash-diagnostics-dir=" + clang_diagnostic_dir ] if (save_reproducers_on_lld_crash && use_lld) { ldflags += [ -@@ -1458,7 +1465,7 @@ config("compiler_deterministic") { +@@ -1464,7 +1471,7 @@ config("compiler_deterministic") { } config("clang_revision") { - if (is_clang && clang_base_path == default_clang_base_path && + if (is_clang && !is_bsd && clang_base_path == default_clang_base_path && current_os != "zos") { _perform_consistency_checks = current_toolchain == default_toolchain if (llvm_force_head_revision) { -@@ -1572,7 +1579,7 @@ config("clang_warning_suppression") { +@@ -1578,7 +1585,7 @@ config("clang_warning_suppression") { # See also: https://crbug.com/40891132#comment10 ubsan_hardening("c_array_bounds") { sanitizer = "array-bounds" -- condition = !(is_asan && target_cpu == "x86") -+ condition = !(is_bsd || (is_asan && target_cpu == "x86")) +- condition = !(is_asan && target_cpu == "x86") && !is_wasm ++ condition = !(is_asan && target_cpu == "x86") && !is_wasm && !is_bsd # Because we've enabled array-bounds sanitizing we also want to suppress # the related warning about "unsafe-buffer-usage-in-static-sized-array", -@@ -1586,6 +1593,7 @@ ubsan_hardening("c_array_bounds") { +@@ -1592,7 +1599,7 @@ ubsan_hardening("c_array_bounds") { # `NOTREACHED()` at the end of such functions. ubsan_hardening("return") { sanitizer = "return" -+ condition = !is_bsd +- condition = !is_wasm ++ condition = !is_wasm && !is_bsd } config("rustc_revision") { -@@ -1920,9 +1928,6 @@ config("default_warnings") { - - # TODO(crbug.com/432275627): Fix and re-enable. - "-Wno-uninitialized-const-pointer", -- -- # TODO(crbug.com/495753203): Fix and re-enable. -- "-Wno-unused-but-set-global", +@@ -1929,7 +1936,7 @@ config("default_warnings") { + "-Wno-nontrivial-memcall", ] - cflags_cc += [ -@@ -2736,7 +2741,7 @@ config("afdo_optimize_size") { +- if (!is_wasm) { ++ if (!is_wasm && !is_bsd) { + cflags += [ + # TODO(crbug.com/432275627): Fix and re-enable. + "-Wno-uninitialized-const-pointer", +@@ -2755,7 +2762,7 @@ config("afdo_optimize_size") { # There are some targeted places that AFDO regresses, so we provide a separate # config to allow AFDO to be disabled per-target. config("afdo") { - if (is_clang) { + if (is_clang && !is_bsd) { cflags = [] if (clang_emit_debug_info_for_profiling) { # Add the following flags to generate debug info for profiling. -@@ -2763,7 +2768,7 @@ config("afdo") { +@@ -2782,7 +2789,7 @@ config("afdo") { cflags += [ "-Wno-backend-plugin" ] inputs = [ _clang_sample_profile ] } - } else if (auto_profile_path != "" && is_a_target_toolchain) { + } else if (auto_profile_path != "" && is_a_target_toolchain && !is_bsd) { cflags = [ "-fauto-profile=${auto_profile_path}" ] inputs = [ auto_profile_path ] } diff --git a/www/chromium/files/patch-build_config_linux_BUILD.gn b/www/chromium/files/patch-build_config_linux_BUILD.gn index 2e93980f3e50..c8da39b44605 100644 --- a/www/chromium/files/patch-build_config_linux_BUILD.gn +++ b/www/chromium/files/patch-build_config_linux_BUILD.gn @@ -1,11 +1,11 @@ ---- build/config/linux/BUILD.gn.orig 2022-05-19 14:06:27 UTC +--- build/config/linux/BUILD.gn.orig 2026-08-12 09:02:10 UTC +++ build/config/linux/BUILD.gn -@@ -41,7 +41,7 @@ config("runtime_library") { +@@ -40,7 +40,7 @@ config("runtime_library") { } if ((!is_chromeos || default_toolchain != "//build/toolchain/cros:target") && - (!use_custom_libcxx || current_cpu == "mipsel")) { + (!use_custom_libcxx || current_cpu == "mipsel") && !is_bsd) { libs = [ "atomic" ] } } diff --git a/www/chromium/files/patch-build_modules_BUILD.gn b/www/chromium/files/patch-build_modules_BUILD.gn deleted file mode 100644 index a1349165b45f..000000000000 --- a/www/chromium/files/patch-build_modules_BUILD.gn +++ /dev/null @@ -1,11 +0,0 @@ ---- build/modules/BUILD.gn.orig 2026-07-01 06:24:19 UTC -+++ build/modules/BUILD.gn -@@ -223,7 +223,7 @@ if (use_unified_system_module) { - # otherwise. - "--append-module=std.new:export new_h\\nexport vcruntime_exception", - ] -- } else { -+ } else if (!is_bsd) { - # We need to pass the sysroot in so that it can scan it to generate a - # modulemap for the sysroot headers. - args += [ diff --git a/www/chromium/files/patch-build_toolchain_gcc__toolchain.gni b/www/chromium/files/patch-build_toolchain_gcc__toolchain.gni index 10482e7d1122..ba9c8d7d1253 100644 --- a/www/chromium/files/patch-build_toolchain_gcc__toolchain.gni +++ b/www/chromium/files/patch-build_toolchain_gcc__toolchain.gni @@ -1,57 +1,44 @@ ---- build/toolchain/gcc_toolchain.gni.orig 2026-07-01 06:24:19 UTC +--- build/toolchain/gcc_toolchain.gni.orig 2026-08-12 09:02:10 UTC +++ build/toolchain/gcc_toolchain.gni @@ -46,6 +46,13 @@ if (enable_resource_allowlist_generation) { "enable_resource_allowlist_generation=true does not work for target_os=$target_os") } +declare_args() { + extra_cflags = "" + extra_cppflags = "" + extra_cxxflags = "" + extra_ldflags = "" +} + # This template defines a toolchain for something that works like gcc # (including clang). # -@@ -407,8 +414,10 @@ template("single_gcc_toolchain") { - command = "cmd /s /c \"\"$python_path\" $tool_wrapper_path delete-file {{output}} && $command\"" - } else { - command = "rm -f {{output}} && $command" -- inputs = -- [ get_path_info(rebase_path(ar, ".", root_out_dir), "abspath") ] -+ if (!is_bsd) { -+ inputs = -+ [ get_path_info(rebase_path(ar, ".", root_out_dir), "abspath") ] -+ } - } - - # Almost all targets build with //build/config/compiler:thin_archive which -@@ -998,22 +1007,12 @@ template("gcc_toolchain") { +@@ -1004,22 +1011,12 @@ template("gcc_toolchain") { # actually just be doing a native compile. template("clang_toolchain") { gcc_toolchain(target_name) { - _path = "$clang_base_path/bin" - _is_path_absolute = get_path_info(_path, "abspath") == _path - - # Preserve absolute paths for tools like distcc. - if (_is_path_absolute && filter_include([ _path ], [ "//*" ]) == []) { - prefix = _path - } else { - prefix = rebase_path(_path, root_build_dir) - } - - cc = "${prefix}/clang" - cxx = "${prefix}/clang++" + cc = "cc" + cxx = "c++" ld = cxx - readelf = "${prefix}/llvm-readelf" - ar = "${prefix}/llvm-ar" - nm = "${prefix}/llvm-nm" + readelf = "readelf" + ar = "ar" + nm = "nm" forward_variables_from(invoker, "*", [ "toolchain_args" ]) diff --git a/www/chromium/files/patch-buildtools_third__party_libc++abi_BUILD.gn b/www/chromium/files/patch-buildtools_third__party_libc++abi_BUILD.gn new file mode 100644 index 000000000000..487e74920f8d --- /dev/null +++ b/www/chromium/files/patch-buildtools_third__party_libc++abi_BUILD.gn @@ -0,0 +1,11 @@ +--- buildtools/third_party/libc++abi/BUILD.gn.orig 2026-08-12 15:23:09 UTC ++++ buildtools/third_party/libc++abi/BUILD.gn +@@ -62,7 +62,7 @@ target(libcxxabi_target_type, "libc++abi") { + # TODO(crbug.com/469458284): Remove this once libc++abi is rolled again. + defines += [ "_LIBCPP_CONSTINIT=constinit" ] + +- if (is_linux || is_android) { ++ if ((is_linux || is_android) && !is_freebsd) { + defines += [ "_LIBCXXABI_USE_FUTEX" ] + } + 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 2176ce24676d..483312cfe04b 100644 --- a/www/chromium/files/patch-chrome_app_chrome__command__ids.h +++ b/www/chromium/files/patch-chrome_app_chrome__command__ids.h @@ -1,16 +1,16 @@ ---- chrome/app/chrome_command_ids.h.orig 2026-07-01 06:24:19 UTC +--- chrome/app/chrome_command_ids.h.orig 2026-08-12 09:02:10 UTC +++ chrome/app/chrome_command_ids.h -@@ -67,11 +67,11 @@ +@@ -78,11 +78,11 @@ #define IDC_TOGGLE_MULTITASK_MENU 34050 #endif -#if BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) #define IDC_USE_SYSTEM_TITLE_BAR 34051 #endif -#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_WIN) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_WIN) || BUILDFLAG(IS_BSD) #define IDC_RESTORE_WINDOW 34052 #endif // BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_WIN) diff --git a/www/chromium/files/patch-chrome_browser_about__flags.cc b/www/chromium/files/patch-chrome_browser_about__flags.cc index 01bc92b303cc..4e1074482501 100644 --- a/www/chromium/files/patch-chrome_browser_about__flags.cc +++ b/www/chromium/files/patch-chrome_browser_about__flags.cc @@ -1,509 +1,518 @@ ---- chrome/browser/about_flags.cc.orig 2026-07-29 11:06:49 UTC +--- chrome/browser/about_flags.cc.orig 2026-08-12 09:02:10 UTC +++ chrome/browser/about_flags.cc -@@ -345,13 +345,13 @@ +@@ -347,13 +347,13 @@ #include "components/stylus_handwriting/win/features.h" #endif -#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) #include "base/allocator/buildflags.h" #include "ui/ozone/public/ozone_switches.h" #endif #if BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) || \ - BUILDFLAG(IS_WIN) + BUILDFLAG(IS_WIN) || BUILDFLAG(IS_BSD) #include "chrome/browser/enterprise/data_protection/data_protection_features.h" #include "chrome/browser/enterprise/profile_management/profile_management_features.h" #include "chrome/browser/enterprise/webstore/features.h" -@@ -359,7 +359,7 @@ +@@ -361,7 +361,7 @@ // BUILDFLAG(IS_WIN) #if BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) || \ - BUILDFLAG(IS_WIN) || BUILDFLAG(IS_ANDROID) + BUILDFLAG(IS_WIN) || BUILDFLAG(IS_ANDROID) || BUILDFLAG(IS_BSD) #include "chrome/browser/ui/webui/new_tab_page/composebox/variations/composebox_fieldtrial.h" // nogncheck #include "chrome/browser/glic/suggestions/contextual_cueing_features.h" // nogncheck #endif // BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) || -@@ -369,7 +369,7 @@ +@@ -371,7 +371,7 @@ #include "components/enterprise/platform_auth/platform_auth_features.h" #endif -#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_WIN) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_WIN) || BUILDFLAG(IS_BSD) #include "components/enterprise/browser/reporting/reporting_features.h" #endif // BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_WIN) -@@ -923,6 +923,23 @@ const FeatureEntry::FeatureVariation +@@ -933,6 +933,23 @@ const FeatureEntry::FeatureVariation "identity request to Android OS", kWebIdentityDigitalIdentityCredentialHighRiskDialogParam, nullptr}}; +#if BUILDFLAG(IS_BSD) +const FeatureEntry::FeatureParam kAudioBackendPulseAudio[] = { + { "audio-backend", "pulseaudio" }}; +const FeatureEntry::FeatureParam kAudioBackendSndio[] = { + { "audio-backend", "sndio" }}; +const FeatureEntry::FeatureParam kAudioBackendAlsa[] = { + { "audio-backend", "alsa" }}; +const FeatureEntry::FeatureVariation + kAudioBackendVariations[] = { + {"using PulseAudio by default if available", + kAudioBackendPulseAudio, nullptr}, + {"using sndio by default if available", + kAudioBackendSndio, nullptr}, + {"using ALSA by default if available", + kAudioBackendAlsa, nullptr}}; +#endif + const FeatureEntry::FeatureParam kMBIModeLegacy[] = {{"mode", "legacy"}}; const FeatureEntry::FeatureParam kMBIModeEnabledPerRenderProcessHost[] = { {"mode", "per_render_process_host"}}; -@@ -1352,7 +1369,7 @@ const FeatureEntry::FeatureVariation - nullptr}}; +@@ -1414,7 +1431,7 @@ const FeatureEntry::FeatureVariation + kContextManagementKeepMenuOpenAndTabDeselectionParams, nullptr}}; #if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_MAC) || \ - BUILDFLAG(IS_WIN) + BUILDFLAG(IS_WIN) || BUILDFLAG(IS_BSD) // A limited number of combinations of the rich autocompletion params. const FeatureEntry::FeatureParam kOmniboxRichAutocompletionAggressive1[] = { -@@ -1581,7 +1598,7 @@ const FeatureEntry::FeatureVariation +@@ -1643,7 +1660,7 @@ const FeatureEntry::FeatureVariation // BUILDFLAG(IS_WIN) #if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_MAC) || \ - BUILDFLAG(IS_WIN) || BUILDFLAG(IS_ANDROID) + BUILDFLAG(IS_WIN) || BUILDFLAG(IS_ANDROID) || BUILDFLAG(IS_BSD) const FeatureEntry::FeatureParam kComposeboxNextThreadsRail[] = { {"EnableThreadsRail", "true"}, -@@ -3316,7 +3333,7 @@ const FeatureEntry::FeatureVariation kAndroidThemeReso +@@ -3324,7 +3341,7 @@ const FeatureEntry::FeatureVariation kAndroidThemeReso #endif // BUILDFLAG(IS_ANDROID) #if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_WIN) || \ - BUILDFLAG(IS_CHROMEOS) + BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) const flags_ui::FeatureEntry::FeatureParam kPwaNavigationCapturingDefaultOn[] = {{"link_capturing_state", "on_by_default"}}; const flags_ui::FeatureEntry::FeatureParam kPwaNavigationCapturingDefaultOff[] = -@@ -3342,7 +3359,7 @@ const flags_ui::FeatureEntry::FeatureVariation +@@ -3350,7 +3367,7 @@ const flags_ui::FeatureEntry::FeatureVariation #endif // BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_WIN) || // BUILDFLAG(IS_CHROMEOS) -#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_WIN) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_WIN) || BUILDFLAG(IS_BSD) const char kReplaceSyncPromosWithSignInPromosDesktopFeatures[] = "ReplaceSyncPromosWithSignInPromos," "IPH_SignInBenefits," -@@ -3532,7 +3549,7 @@ const FeatureEntry::FeatureVariation kSensitiveContent +@@ -3540,7 +3557,7 @@ const FeatureEntry::FeatureVariation kSensitiveContent #endif // BUILDFLAG(IS_ANDROID) #if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || \ - BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_ANDROID) + BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_ANDROID) || BUILDFLAG(IS_BSD) const FeatureEntry::FeatureParam kContextualCueingEnabledNoEngagementCap[] = { {"BackoffTime", "0h"}, {"BackoffMultiplierBase", "0.0"}, -@@ -4183,7 +4200,7 @@ const FeatureEntry::FeatureVariation +@@ -4205,7 +4222,7 @@ const FeatureEntry::FeatureVariation }; #if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_WIN) || \ - BUILDFLAG(IS_CHROMEOS) + BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) const FeatureEntry::FeatureParam kNtpCustomizeChromeAutoOpenOnEveryNTP[] = { {"max_customize_chrome_auto_shown_count", "5"}, {"max_customize_chrome_auto_shown_session_count", "5"}}; -@@ -4271,7 +4288,7 @@ const FeatureEntry::FeatureVariation kRefreshTokenBind +@@ -4308,7 +4325,7 @@ const FeatureEntry::FeatureVariation kRefreshTokenBind #endif // BUILDFLAG(ENABLE_DICE_SUPPORT) #if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_WIN) || \ - BUILDFLAG(IS_CHROMEOS) + BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) const FeatureEntry::FeatureParam kProjectsPanelWithoutThreadsVariation[] = { {"include_threads_in_projects_panel", "false"}}; const FeatureEntry::FeatureParam kProjectsPanelWithThreadsVariation[] = { -@@ -5486,7 +5503,7 @@ const FeatureEntry kFeatureEntries[] = { +@@ -4353,7 +4370,7 @@ const FeatureEntry::FeatureVariation kCrossDeviceSigni + }; + #endif // BUILDFLAG(IS_ANDROID) + +-#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) ++#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) + const FeatureEntry::FeatureParam kCrossDeviceSigninFromDesktopDefaultUrl[] = { + {"url", + "https://www.google.com/chrome/go-mobile?entry_point_id=1&email=$1"}, +@@ -5508,7 +5525,7 @@ const FeatureEntry kFeatureEntries[] = { flag_descriptions::kEnableProcessIsolationUiDescription, kOsWin, FEATURE_VALUE_TYPE(features::kProcessIsolationSettings)}, #endif // BUILDFLAG(IS_WIN) -#if BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) {"enable-iwa-key-distribution-component", flag_descriptions::kEnableIwaKeyDistributionComponentName, flag_descriptions::kEnableIwaKeyDistributionComponentDescription, -@@ -5692,7 +5709,7 @@ const FeatureEntry kFeatureEntries[] = { +@@ -5725,7 +5742,7 @@ const FeatureEntry kFeatureEntries[] = { FEATURE_VALUE_TYPE(media::kUseSCContentSharingPicker)}, #endif // BUILDFLAG(IS_MAC) -#if BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) {"pulseaudio-loopback-for-cast", flag_descriptions::kPulseaudioLoopbackForCastName, flag_descriptions::kPulseaudioLoopbackForCastDescription, kOsLinux, -@@ -5707,6 +5724,16 @@ const FeatureEntry kFeatureEntries[] = { +@@ -5740,6 +5757,16 @@ const FeatureEntry kFeatureEntries[] = { flag_descriptions::kWaylandSessionManagementName, flag_descriptions::kWaylandSessionManagementDescription, kOsLinux, FEATURE_VALUE_TYPE(features::kWaylandSessionManagement)}, + +#if BUILDFLAG(IS_BSD) + {"audio-backend", + flag_descriptions::kAudioBackendName, + flag_descriptions::kAudioBackendDescription, kOsLinux, + FEATURE_WITH_PARAMS_VALUE_TYPE( + media::kAudioBackend, + kAudioBackendVariations, + "AudioBackend")}, +#endif #endif // BUILDFLAG(IS_LINUX) #if BUILDFLAG(ENABLE_VR) -@@ -6143,7 +6170,7 @@ const FeatureEntry kFeatureEntries[] = { +@@ -6162,7 +6189,7 @@ const FeatureEntry kFeatureEntries[] = { flag_descriptions::kFillOnAccountSelectDescription, kOsAll, FEATURE_VALUE_TYPE(password_manager::features::kFillOnAccountSelect)}, -#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_WIN) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_WIN) || BUILDFLAG(IS_BSD) {"first-run-desktop-choice-screen-refresh", flag_descriptions::kFirstRunDesktopChoiceScreenRefreshName, flag_descriptions::kFirstRunDesktopChoiceScreenRefreshDescription, -@@ -6453,7 +6480,7 @@ const FeatureEntry kFeatureEntries[] = { +@@ -6477,7 +6504,7 @@ const FeatureEntry kFeatureEntries[] = { "MlUrlScoring")}, #if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_MAC) || \ - BUILDFLAG(IS_WIN) + BUILDFLAG(IS_WIN) || BUILDFLAG(IS_BSD) {"contextual-search-box-uses-contextual-search-provider", flag_descriptions::kContextualSearchBoxUsesContextualSearchProviderName, flag_descriptions:: -@@ -6888,7 +6915,7 @@ const FeatureEntry kFeatureEntries[] = { +@@ -6906,7 +6933,7 @@ const FeatureEntry kFeatureEntries[] = { kVoiceSearchCoherenceComposeboxVariations, "VoiceSearchCoherenceComposeboxVariations")}, #if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_MAC) || \ - BUILDFLAG(IS_WIN) + BUILDFLAG(IS_WIN) || BUILDFLAG(IS_BSD) {"history-embeddings", flag_descriptions::kHistoryEmbeddingsName, flag_descriptions::kHistoryEmbeddingsDescription, kOsDesktop, FEATURE_VALUE_TYPE(history_embeddings::kHistoryEmbeddings)}, -@@ -7135,7 +7162,7 @@ const FeatureEntry kFeatureEntries[] = { +@@ -7169,7 +7196,7 @@ const FeatureEntry kFeatureEntries[] = { FEATURE_VALUE_TYPE(omnibox::kContextMenuAnimationLimiting)}, #if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_WIN) || \ - BUILDFLAG(IS_CHROMEOS) + BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) {"ntp-customize-chrome-auto-open", flag_descriptions::kNtpCustomizeChromeAutoOpenName, flag_descriptions::kNtpCustomizeChromeAutoOpenDescription, kOsDesktop, -@@ -7380,7 +7407,7 @@ const FeatureEntry kFeatureEntries[] = { +@@ -7414,7 +7441,7 @@ const FeatureEntry kFeatureEntries[] = { #endif // BUILDFLAG(IS_ANDROID) #if BUILDFLAG(ENABLE_PRINTING) -#if BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) {"cups-ipp-printing-backend", flag_descriptions::kCupsIppPrintingBackendName, flag_descriptions::kCupsIppPrintingBackendDescription, kOsDesktop, -@@ -7592,7 +7619,7 @@ const FeatureEntry kFeatureEntries[] = { +@@ -7631,7 +7658,7 @@ const FeatureEntry kFeatureEntries[] = { FEATURE_VALUE_TYPE(media::kHeadlessCaptionEarlyStart)}, #if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) || \ - BUILDFLAG(IS_CHROMEOS) + BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) {"enable-input-protection", flag_descriptions::kEnableInputProtectionName, flag_descriptions::kEnableInputProtectionDescription, kOsDesktop, FEATURE_VALUE_TYPE(views::features::kEnableInputProtection)}, -@@ -8167,7 +8194,7 @@ const FeatureEntry kFeatureEntries[] = { +@@ -8183,7 +8210,7 @@ const FeatureEntry kFeatureEntries[] = { FEATURE_VALUE_TYPE(ash::features::kGesturePropertiesDBusService)}, #endif // BUILDFLAG(IS_CHROMEOS) -#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) {"enable-network-service-sandbox", flag_descriptions::kEnableNetworkServiceSandboxName, flag_descriptions::kEnableNetworkServiceSandboxDescription, -@@ -8613,7 +8640,7 @@ const FeatureEntry kFeatureEntries[] = { +@@ -8614,7 +8641,7 @@ const FeatureEntry kFeatureEntries[] = { flag_descriptions::kGlobalVaapiLockDescription, kOsCrOS | kOsLinux, FEATURE_VALUE_TYPE(media::kGlobalVaapiLock)}, -#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) +#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_BSD) { "ui-debug-tools", flag_descriptions::kUIDebugToolsName, -@@ -9060,7 +9087,7 @@ const FeatureEntry kFeatureEntries[] = { - #endif +@@ -9253,7 +9280,7 @@ const FeatureEntry kFeatureEntries[] = { + FEATURE_VALUE_TYPE(ash::features::kAnnotatorMode)}, + #endif // BUILDFLAG(IS_CHROMEOS) - #if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) || \ -- BUILDFLAG(IS_CHROMEOS) -+ BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) - {"auto-picture-in-picture-for-video-playback", - flag_descriptions::kAutoPictureInPictureForVideoPlaybackName, - flag_descriptions::kAutoPictureInPictureForVideoPlaybackDescription, -@@ -9273,7 +9300,7 @@ const FeatureEntry kFeatureEntries[] = { - content_settings::features::kApproximateGeolocationPermission, - kApproximateGeolocationPermissionVariations, - "ApproximateGeolocationPermission")}, --#elif BUILDFLAG(IS_WIN) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) -+#elif BUILDFLAG(IS_WIN) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) +-#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) ++#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) {"approximate-geolocation-permission", flag_descriptions::kApproximateGeolocationPermissionName, flag_descriptions::kApproximateGeolocationPermissionDescription, -@@ -9773,7 +9800,7 @@ const FeatureEntry kFeatureEntries[] = { - flag_descriptions::kRcapsDynamicProfileCountryDescription, kOsAll, - FEATURE_VALUE_TYPE(switches::kDynamicProfileCountry)}, +@@ -9750,7 +9777,7 @@ const FeatureEntry kFeatureEntries[] = { + FEATURE_VALUE_TYPE( + autofill::features::kAutofillEnablePrefetchingRiskDataForRetrieval)}, -#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_WIN) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_WIN) || BUILDFLAG(IS_BSD) {"enable-generic-oidc-auth-profile-management", flag_descriptions::kEnableGenericOidcAuthProfileManagementName, flag_descriptions::kEnableGenericOidcAuthProfileManagementDescription, -@@ -9783,7 +9810,7 @@ const FeatureEntry kFeatureEntries[] = { +@@ -9760,7 +9787,7 @@ const FeatureEntry kFeatureEntries[] = { #endif // BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_WIN) #if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_WIN) || \ - BUILDFLAG(IS_CHROMEOS) + BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) {"enable-user-navigation-capturing-pwa", flag_descriptions::kPwaNavigationCapturingName, flag_descriptions::kPwaNavigationCapturingDescription, -@@ -10141,7 +10168,7 @@ const FeatureEntry kFeatureEntries[] = { +@@ -10117,7 +10144,7 @@ const FeatureEntry kFeatureEntries[] = { flag_descriptions::kResponsiveIframesDescription, kOsAll, FEATURE_VALUE_TYPE(blink::features::kResponsiveIframes)}, -#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_WIN) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_WIN) || BUILDFLAG(IS_BSD) {"replace-sync-promos-with-sign-in-promos-desktop", flag_descriptions::kReplaceSyncPromosWithSignInPromosName, flag_descriptions::kReplaceSyncPromosWithSignInPromosDescription, -@@ -10525,7 +10552,7 @@ const FeatureEntry kFeatureEntries[] = { +@@ -10484,7 +10511,7 @@ const FeatureEntry kFeatureEntries[] = { segmentation_platform::features::kSegmentationSurveyPage)}, #if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || \ - BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_ANDROID) + BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_ANDROID) || BUILDFLAG(IS_BSD) {"autofill-enable-buy-now-pay-later", flag_descriptions::kAutofillEnableBuyNowPayLaterName, flag_descriptions::kAutofillEnableBuyNowPayLaterDescription, -@@ -10984,7 +11011,7 @@ const FeatureEntry kFeatureEntries[] = { +@@ -10965,7 +10992,7 @@ const FeatureEntry kFeatureEntries[] = { FEATURE_VALUE_TYPE(ui::kUseNewEtc1Encoder)}, #endif // !BUILDFLAG(IS_ANDROID) -#if BUILDFLAG(IS_ANDROID) || BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_ANDROID) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) {"automatic-usb-detach", flag_descriptions::kAutomaticUsbDetachName, flag_descriptions::kAutomaticUsbDetachDescription, kOsAndroid | kOsLinux, FEATURE_VALUE_TYPE(features::kAutomaticUsbDetach)}, -@@ -11007,7 +11034,7 @@ const FeatureEntry kFeatureEntries[] = { +@@ -10988,7 +11015,7 @@ const FeatureEntry kFeatureEntries[] = { #endif // !BUILDFLAG(IS_ANDROID) #if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || \ - BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_ANDROID) + BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_ANDROID) || BUILDFLAG(IS_BSD) {"autofill-enable-amount-extraction", flag_descriptions::kAutofillEnableAmountExtractionName, flag_descriptions::kAutofillEnableAmountExtractionDescription, -@@ -11123,7 +11150,7 @@ const FeatureEntry kFeatureEntries[] = { +@@ -11110,7 +11137,7 @@ const FeatureEntry kFeatureEntries[] = { FEATURE_VALUE_TYPE( feature_engagement::kIPHAutofillCreditCardBenefitFeature)}, -#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_WIN) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_WIN) || BUILDFLAG(IS_BSD) {"chrome-web-store-navigation-throttle", flag_descriptions::kChromeWebStoreNavigationThrottleName, flag_descriptions::kChromeWebStoreNavigationThrottleDescription, -@@ -11163,7 +11190,7 @@ const FeatureEntry kFeatureEntries[] = { +@@ -11150,7 +11177,7 @@ const FeatureEntry kFeatureEntries[] = { supervised_user::kSupervisedUserUseUrlFilteringService)}, #if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || \ - BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_ANDROID) + BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_ANDROID) || BUILDFLAG(IS_BSD) {"autofill-enable-amount-extraction-testing", flag_descriptions::kAutofillEnableAmountExtractionTestingName, flag_descriptions::kAutofillEnableAmountExtractionTestingDescription, -@@ -11173,7 +11200,7 @@ const FeatureEntry kFeatureEntries[] = { +@@ -11160,7 +11187,7 @@ const FeatureEntry kFeatureEntries[] = { #endif // BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || // BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_ANDROID) -#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) {"root-scrollbar-follows-browser-theme", flag_descriptions::kRootScrollbarFollowsTheme, flag_descriptions::kRootScrollbarFollowsThemeDescription, -@@ -11361,7 +11388,7 @@ const FeatureEntry kFeatureEntries[] = { +@@ -11336,7 +11363,7 @@ const FeatureEntry kFeatureEntries[] = { #endif // BUILDFLAG(IS_ANDROID) #if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_WIN) || \ - BUILDFLAG(IS_CHROMEOS) + BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) {"tab-group-home", tabs::flag_descriptions::kTabGroupHomeName, tabs::flag_descriptions::kTabGroupHomeDescription, kOsDesktop, FEATURE_VALUE_TYPE(tabs::kTabGroupHome)}, -@@ -11401,7 +11428,7 @@ const FeatureEntry kFeatureEntries[] = { +@@ -11370,7 +11397,7 @@ const FeatureEntry kFeatureEntries[] = { #endif // BUILDFLAG(IS_ANDROID) #if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_WIN) || \ - BUILDFLAG(IS_CHROMEOS) + BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) {"enable-site-search-allow-user-override-policy", flag_descriptions::kEnableSiteSearchAllowUserOverridePolicyName, flag_descriptions::kEnableSiteSearchAllowUserOverridePolicyDescription, -@@ -11485,7 +11512,7 @@ const FeatureEntry kFeatureEntries[] = { +@@ -11454,7 +11481,7 @@ const FeatureEntry kFeatureEntries[] = { #endif // BUILDFLAG(IS_ANDROID) #if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || \ - BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_ANDROID) + BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_ANDROID) || BUILDFLAG(IS_BSD) {"autofill-enable-buy-now-pay-later-for-klarna", flag_descriptions::kAutofillEnableBuyNowPayLaterForKlarnaName, flag_descriptions::kAutofillEnableBuyNowPayLaterForKlarnaDescription, -@@ -11534,7 +11561,7 @@ const FeatureEntry kFeatureEntries[] = { +@@ -11499,7 +11526,7 @@ const FeatureEntry kFeatureEntries[] = { #endif #if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || \ - BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_ANDROID) + BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_ANDROID) || BUILDFLAG(IS_BSD) {"autofill-enable-buy-now-pay-later-for-externally-linked", flag_descriptions::kAutofillEnableBuyNowPayLaterForExternallyLinkedName, flag_descriptions:: -@@ -11908,7 +11935,7 @@ const FeatureEntry kFeatureEntries[] = { +@@ -11555,7 +11582,7 @@ const FeatureEntry kFeatureEntries[] = { + + #endif // BUILDFLAG(IS_ANDROID) + +-#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) ++#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) + {"cross-device-signin-from-desktop", + flag_descriptions::kCrossDeviceSigninFromDesktopName, + flag_descriptions::kCrossDeviceSigninFromDesktopDescription, +@@ -11873,7 +11900,7 @@ const FeatureEntry kFeatureEntries[] = { #endif #if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_MAC) || \ - BUILDFLAG(IS_WIN) + BUILDFLAG(IS_WIN) || BUILDFLAG(IS_BSD) {"contextual-suggestion-ui-improvements", flag_descriptions::kContextualSuggestionsUiImprovementsName, flag_descriptions::kContextualSuggestionsUiImprovementsDescription, -@@ -12039,7 +12066,7 @@ const FeatureEntry kFeatureEntries[] = { +@@ -12078,7 +12105,7 @@ const FeatureEntry kFeatureEntries[] = { FEATURE_VALUE_TYPE(features::kCryptographyComplianceCnsa)}, #if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || \ - BUILDFLAG(IS_CHROMEOS) + BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) {"lens-reinvocation-affordance", flag_descriptions::kLensSearchReinvocationAffordanceName, flag_descriptions::kLensSearchReinvocationAffordanceDescription, -@@ -12083,7 +12110,7 @@ const FeatureEntry kFeatureEntries[] = { +@@ -12122,7 +12149,7 @@ const FeatureEntry kFeatureEntries[] = { STRING_VALUE_TYPE(variations::switches::kVariationsSeedCorpus, "")}, #if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || \ - BUILDFLAG(IS_CHROMEOS) + BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) {"passkey-unlock-error-ui", flag_descriptions::kPasskeyUnlockErrorUiName, flag_descriptions::kPasskeyUnlockErrorUiDescription, kOsDesktop, FEATURE_VALUE_TYPE(device::kPasskeyUnlockErrorUi)}, -@@ -12117,7 +12144,7 @@ const FeatureEntry kFeatureEntries[] = { +@@ -12162,7 +12189,7 @@ const FeatureEntry kFeatureEntries[] = { flag_descriptions::kHandleMdmErrorsForDasherAccountsDescription, kOsAll, FEATURE_VALUE_TYPE(switches::kHandleMdmErrorsForDasherAccounts)}, -#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) {"disable-u18-feedback-desktop", flag_descriptions::kDisableU18FeedbackDesktopName, flag_descriptions::kDisableU18FeedbackDesktopDescription, -@@ -12125,7 +12152,7 @@ const FeatureEntry kFeatureEntries[] = { +@@ -12170,7 +12197,7 @@ const FeatureEntry kFeatureEntries[] = { FEATURE_VALUE_TYPE(switches::kDisableU18FeedbackDesktop)}, #endif // BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) -#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) {"profile-creation-decline-signin-cta-experiment", flag_descriptions::kProfileCreationDeclineSigninCTAExperimentName, flag_descriptions::kProfileCreationDeclineSigninCTAExperimentDescription, -@@ -12146,7 +12173,7 @@ const FeatureEntry kFeatureEntries[] = { +@@ -12191,7 +12218,7 @@ const FeatureEntry kFeatureEntries[] = { enterprise_signals::features::kProfileSignalsReportingEnabled)}, #if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || \ - BUILDFLAG(IS_CHROMEOS) + BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) {"projects-panel", flag_descriptions::kProjectsPanelName, flag_descriptions::kProjectsPanelDescription, kOsDesktop, FEATURE_WITH_PARAMS_VALUE_TYPE(tab_groups::kProjectsPanel, -@@ -12180,7 +12207,7 @@ const FeatureEntry kFeatureEntries[] = { +@@ -12225,7 +12252,7 @@ const FeatureEntry kFeatureEntries[] = { #endif #if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || \ - BUILDFLAG(IS_CHROMEOS) + BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) {"lens-overlay-optimization-filter", flag_descriptions::kLensOverlayOptimizationFilterName, flag_descriptions::kLensOverlayOptimizationFilterDescription, kOsDesktop, -@@ -12207,7 +12234,7 @@ const FeatureEntry kFeatureEntries[] = { +@@ -12252,7 +12279,7 @@ const FeatureEntry kFeatureEntries[] = { MULTI_VALUE_TYPE(kConnectionAllowlistsChoices)}, #if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || \ - BUILDFLAG(IS_CHROMEOS) + BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) {"read-anything-with-readability-enabled", flag_descriptions::kReadAnythingWithReadabilityName, flag_descriptions::kReadAnythingWithReadabilityDescription, kOsDesktop, -@@ -12215,7 +12242,7 @@ const FeatureEntry kFeatureEntries[] = { +@@ -12260,7 +12287,7 @@ const FeatureEntry kFeatureEntries[] = { #endif #if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || \ - BUILDFLAG(IS_CHROMEOS) + BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) {"read-anything-omnibox-chip", flag_descriptions::kReadAnythingOmniboxChipName, flag_descriptions::kReadAnythingOmniboxChipDescription, kOsDesktop, -@@ -12237,7 +12264,7 @@ const FeatureEntry kFeatureEntries[] = { - autofill::features::kAutofillDisableBnplCountryCheckForTesting)}, - - #if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || \ -- BUILDFLAG(IS_CHROMEOS) -+ BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) - {"read-anything-immersive-reading-mode", - flag_descriptions::kReadAnythingImmersiveReadingModeName, - flag_descriptions::kReadAnythingImmersiveReadingModeDescription, -@@ -12250,7 +12277,7 @@ const FeatureEntry kFeatureEntries[] = { +@@ -12289,7 +12316,7 @@ const FeatureEntry kFeatureEntries[] = { #endif #if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || \ - BUILDFLAG(IS_CHROMEOS) + BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) {"lens-overlay-non-blocking-privacy-notice", flag_descriptions::kLensOverlayNonBlockingPrivacyNoticeName, flag_descriptions::kLensOverlayNonBlockingPrivacyNoticeDescription, -@@ -12323,7 +12350,7 @@ const FeatureEntry kFeatureEntries[] = { +@@ -12356,7 +12383,7 @@ const FeatureEntry kFeatureEntries[] = { #endif // BUILDFLAG(IS_ANDROID) #if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || \ - BUILDFLAG(IS_CHROMEOS) + BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) {"enable-your-saved-info-settings-page", flag_descriptions::kYourSavedInfoSettingsPageName, flag_descriptions::kYourSavedInfoSettingsPageDescription, kOsDesktop, -@@ -12501,7 +12528,7 @@ const FeatureEntry kFeatureEntries[] = { +@@ -12522,7 +12549,7 @@ const FeatureEntry kFeatureEntries[] = { FEATURE_VALUE_TYPE(autofill::features::kAutofillAiWithDataSchema)}, #if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || \ - BUILDFLAG(IS_CHROMEOS) + BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) {"read-anything-line-focus", flag_descriptions::kReadAnythingLineFocusName, flag_descriptions::kReadAnythingLineFocusDescription, kOsDesktop, FEATURE_VALUE_TYPE(features::kReadAnythingLineFocus)}, -@@ -12525,7 +12552,7 @@ const FeatureEntry kFeatureEntries[] = { +@@ -12546,7 +12573,7 @@ const FeatureEntry kFeatureEntries[] = { FEATURE_VALUE_TYPE(payments::android::kDeduplicateNativePaymentApps)}, #endif -#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) {"password-upload-ui-update", flag_descriptions::kPasswordUploadUiUpdateName, flag_descriptions::kPasswordUploadUiUpdateDescription, -@@ -12574,7 +12601,7 @@ const FeatureEntry kFeatureEntries[] = { +@@ -12595,7 +12622,7 @@ const FeatureEntry kFeatureEntries[] = { FEATURE_VALUE_TYPE(chrome::android::kAndroidXrImmersivePlayer)}, #endif -#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) {"saas-usage-reporting", flag_descriptions::kSaasUsageReportingName, flag_descriptions::kSaasUsageReportingDescription, kOsLinux | kOsMac | kOsWin, -@@ -13005,7 +13032,7 @@ const FeatureEntry kFeatureEntries[] = { - FEATURE_VALUE_TYPE(blink::features::kUserMediaElement)}, +@@ -13002,7 +13029,7 @@ const FeatureEntry kFeatureEntries[] = { + FEATURE_VALUE_TYPE(blink::features::kUserMediaElementLegacy)}, #if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || \ - BUILDFLAG(IS_CHROMEOS) + BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) {"read-anything-readability-select-text", flag_descriptions::kReadAnythingReadabilitySelectTextName, flag_descriptions::kReadAnythingReadabilitySelectTextDescription, +@@ -13310,7 +13337,7 @@ const FeatureEntry kFeatureEntries[] = { + flag_descriptions::kLongScreenshotsNoMemoryCheckDescription, kOsAndroid, + FEATURE_VALUE_TYPE(chrome::android::kLongScreenshotsNoMemoryCheck)}, + #endif +-#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) ++#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) + {"device-signals-backfill-disclaimer", + flag_descriptions::kDeviceSignalsBackfillDisclaimerName, + flag_descriptions::kDeviceSignalsBackfillDisclaimerDescription, diff --git a/www/chromium/files/patch-chrome_browser_apps_platform__apps_platform__app__launch.cc b/www/chromium/files/patch-chrome_browser_apps_platform__apps_platform__app__launch.cc index 58e98de00116..32f8edc0d4dd 100644 --- a/www/chromium/files/patch-chrome_browser_apps_platform__apps_platform__app__launch.cc +++ b/www/chromium/files/patch-chrome_browser_apps_platform__apps_platform__app__launch.cc @@ -1,65 +1,65 @@ ---- chrome/browser/apps/platform_apps/platform_app_launch.cc.orig 2026-06-04 10:12:25 UTC +--- chrome/browser/apps/platform_apps/platform_app_launch.cc.orig 2026-08-12 09:02:10 UTC +++ chrome/browser/apps/platform_apps/platform_app_launch.cc @@ -19,7 +19,7 @@ #include "extensions/common/constants.h" #include "extensions/common/extension.h" -#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) + #include "chrome/browser/extensions/chrome_app_deprecation.h" + #include "chrome/browser/extensions/extension_util.h" #include "chrome/browser/ui/browser.h" - #include "chrome/browser/ui/browser_window.h" - #include "chrome/browser/ui/navigator/browser_navigator.h" -@@ -86,7 +86,7 @@ bool OpenExtensionApplicationWindow(Profile* profile, +@@ -87,7 +87,7 @@ bool OpenExtensionApplicationWindow(Profile* profile, if (launch_container == LaunchContainer::kLaunchContainerTab) return false; -#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) if (OpenDeprecatedApplicationPrompt(profile, app_id)) { return false; } -@@ -118,7 +118,7 @@ content::WebContents* OpenExtensionApplicationTab(Prof +@@ -119,7 +119,7 @@ content::WebContents* OpenExtensionApplicationTab(Prof if (launch_container != apps::LaunchContainer::kLaunchContainerTab) return nullptr; -#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) if (OpenDeprecatedApplicationPrompt(profile, app_id)) { return nullptr; } -@@ -134,7 +134,7 @@ content::WebContents* OpenExtensionApplicationTab(Prof +@@ -135,7 +135,7 @@ content::WebContents* OpenExtensionApplicationTab(Prof return app_tab; } -#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) bool OpenDeprecatedApplicationPrompt(Profile* profile, const std::string& app_id) { if (!extensions::IsExtensionUnsupportedDeprecatedApp(profile, app_id)) -@@ -170,7 +170,7 @@ bool OpenExtensionApplicationWithReenablePrompt( +@@ -171,7 +171,7 @@ bool OpenExtensionApplicationWithReenablePrompt( if (!GetPlatformApp(profile, app_id)) return false; -#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) if (OpenDeprecatedApplicationPrompt(profile, app_id)) { return false; } -@@ -192,7 +192,7 @@ content::WebContents* OpenExtensionAppShortcutWindow(P +@@ -193,7 +193,7 @@ content::WebContents* OpenExtensionAppShortcutWindow(P ->enabled_extensions() .GetAppByURL(url); if (app) { -#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) if (OpenDeprecatedApplicationPrompt(profile, app->id())) { return nullptr; } -@@ -215,7 +215,7 @@ void RecordExtensionAppLaunchOnTabRestored(Profile* pr +@@ -216,7 +216,7 @@ void RecordExtensionAppLaunchOnTabRestored(Profile* pr if (!extension) return; -#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) if (OpenDeprecatedApplicationPrompt(profile, extension->id())) { return; } diff --git a/www/chromium/files/patch-chrome_browser_browser__features.cc b/www/chromium/files/patch-chrome_browser_browser__features.cc index 3ecc16a0c451..2fca2f472021 100644 --- a/www/chromium/files/patch-chrome_browser_browser__features.cc +++ b/www/chromium/files/patch-chrome_browser_browser__features.cc @@ -1,29 +1,29 @@ ---- chrome/browser/browser_features.cc.orig 2026-07-01 06:24:19 UTC +--- chrome/browser/browser_features.cc.orig 2026-08-12 09:02:10 UTC +++ chrome/browser/browser_features.cc @@ -62,7 +62,7 @@ BASE_FEATURE(kCertVerificationNetworkTime, base::FEATU BASE_FEATURE(kClearUserDataUponProfileDestruction, base::FEATURE_ENABLED_BY_DEFAULT); -#if BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) // Enables usage of os_crypt_async::SecretPortalKeyProvider. Once // `kSecretPortalKeyProviderUseForEncryption` is enabled, this flag cannot be // disabled without losing data. @@ -72,7 +72,7 @@ BASE_FEATURE(kDbusSecretPortal, base::FEATURE_ENABLED_ // Destroy profiles when their last browser window is closed, instead of when // the browser exits. BASE_FEATURE(kDestroyProfileOnBrowserClose, -#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_WIN) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_WIN) || BUILDFLAG(IS_BSD) base::FEATURE_ENABLED_BY_DEFAULT); #else base::FEATURE_DISABLED_BY_DEFAULT); -@@ -171,7 +171,7 @@ BASE_FEATURE(kSandboxExternalProtocolBlocked, base::FE +@@ -157,7 +157,7 @@ BASE_FEATURE(kSandboxExternalProtocolBlocked, base::FE BASE_FEATURE(kSandboxExternalProtocolBlockedWarning, base::FEATURE_ENABLED_BY_DEFAULT); -#if BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) // If true, encrypt new data with the key provided by SecretPortalKeyProvider. // Otherwise, it will only decrypt existing data. BASE_FEATURE(kSecretPortalKeyProviderUseForEncryption, diff --git a/www/chromium/files/patch-chrome_browser_browser__features.h b/www/chromium/files/patch-chrome_browser_browser__features.h index 867cc1417f91..e8e655d5fe91 100644 --- a/www/chromium/files/patch-chrome_browser_browser__features.h +++ b/www/chromium/files/patch-chrome_browser_browser__features.h @@ -1,20 +1,20 @@ ---- chrome/browser/browser_features.h.orig 2026-07-01 06:24:19 UTC +--- chrome/browser/browser_features.h.orig 2026-08-12 09:02:10 UTC +++ chrome/browser/browser_features.h @@ -40,7 +40,7 @@ BASE_DECLARE_FEATURE(kCertificateTransparencyAskBefore BASE_DECLARE_FEATURE(kCertVerificationNetworkTime); BASE_DECLARE_FEATURE(kClearUserDataUponProfileDestruction); -#if BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) BASE_DECLARE_FEATURE(kDbusSecretPortal); #endif -@@ -85,7 +85,7 @@ BASE_DECLARE_FEATURE(kRestartNetworkServiceUnsandboxed +@@ -84,7 +84,7 @@ BASE_DECLARE_FEATURE(kRestartNetworkServiceUnsandboxed BASE_DECLARE_FEATURE(kSandboxExternalProtocolBlocked); BASE_DECLARE_FEATURE(kSandboxExternalProtocolBlockedWarning); -#if BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) BASE_DECLARE_FEATURE(kSecretPortalKeyProviderUseForEncryption); #endif diff --git a/www/chromium/files/patch-chrome_browser_browser__process__impl.cc b/www/chromium/files/patch-chrome_browser_browser__process__impl.cc index 0e997f828fc7..aea4bdce7417 100644 --- a/www/chromium/files/patch-chrome_browser_browser__process__impl.cc +++ b/www/chromium/files/patch-chrome_browser_browser__process__impl.cc @@ -1,47 +1,47 @@ ---- chrome/browser/browser_process_impl.cc.orig 2026-07-01 06:24:19 UTC +--- chrome/browser/browser_process_impl.cc.orig 2026-08-12 09:02:10 UTC +++ chrome/browser/browser_process_impl.cc -@@ -270,7 +270,7 @@ void OnLocalStatePrefsLoaded(); +@@ -269,7 +269,7 @@ void OnLocalStatePrefsLoaded(); #include "components/enterprise/browser/controller/chrome_browser_cloud_management_controller.h" #endif -#if BUILDFLAG(IS_LINUX) && BUILDFLAG(USE_DBUS) +#if (BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)) && BUILDFLAG(USE_DBUS) #include "chrome/browser/browser_features.h" #include "components/os_crypt/async/browser/freedesktop_secret_key_provider.h" #include "components/os_crypt/async/browser/secret_portal_key_provider.h" -@@ -291,7 +291,7 @@ void OnLocalStatePrefsLoaded(); +@@ -290,7 +290,7 @@ void OnLocalStatePrefsLoaded(); #include "components/os_crypt/async/common/encryptor.h" #endif -#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) // How often to check if the persistent instance of Chrome needs to restart // to install an update. static const int kUpdateCheckIntervalHours = 6; -@@ -1307,7 +1307,7 @@ void BrowserProcessImpl::RegisterPrefs(PrefRegistrySim +@@ -1320,7 +1320,7 @@ void BrowserProcessImpl::RegisterPrefs(PrefRegistrySim registry->RegisterBooleanPref(prefs::kDevToolsRemoteDebuggingAllowed, true); registry->RegisterBooleanPref(prefs::kDevToolsRemoteDebuggingEnabled, false); -#if BUILDFLAG(IS_LINUX) && BUILDFLAG(USE_DBUS) +#if (BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)) && BUILDFLAG(USE_DBUS) os_crypt_async::SecretPortalKeyProvider::RegisterLocalPrefs(registry); #endif } -@@ -1556,7 +1556,7 @@ void BrowserProcessImpl::PreMainMessageLoopRun() { +@@ -1569,7 +1569,7 @@ void BrowserProcessImpl::PreMainMessageLoopRun() { local_state(), /*force_protection_level=*/std::nullopt))); #endif // BUILDFLAG(IS_WIN) -#if BUILDFLAG(IS_LINUX) && BUILDFLAG(USE_DBUS) +#if (BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)) && BUILDFLAG(USE_DBUS) base::CommandLine* cmd_line = base::CommandLine::ForCurrentProcess(); const auto password_store = cmd_line->GetSwitchValueASCII(password_manager::kPasswordStore); -@@ -1896,7 +1896,7 @@ void BrowserProcessImpl::Unpin() { +@@ -1909,7 +1909,7 @@ void BrowserProcessImpl::Unpin() { } // Mac is currently not supported. -#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) bool BrowserProcessImpl::IsRunningInBackground() const { // Check if browser is in the background. 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 eda9f37a6618..a832fa71f930 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 2026-07-01 06:24:19 UTC +--- chrome/browser/chrome_browser_interface_binders.cc.orig 2026-08-12 09:02:10 UTC +++ chrome/browser/chrome_browser_interface_binders.cc @@ -84,7 +84,7 @@ #endif // BUILDFLAG(ENABLE_UNHANDLED_TAP) #if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || \ - BUILDFLAG(IS_CHROMEOS) + BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) #include "chrome/browser/screen_ai/screen_ai_service_router.h" #include "chrome/browser/screen_ai/screen_ai_service_router_factory.h" #include "chrome/browser/web_applications/sub_apps/sub_apps_service_impl.h" -@@ -377,7 +377,7 @@ void BindMediaFoundationPreferences( +@@ -383,7 +383,7 @@ void BindMediaFoundationPreferences( #endif // BUILDFLAG(IS_WIN) #if BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) || \ - BUILDFLAG(IS_WIN) + BUILDFLAG(IS_WIN) || BUILDFLAG(IS_BSD) void BindScreenAIAnnotator( content::RenderFrameHost* frame_host, mojo::PendingReceiver receiver) { -@@ -551,7 +551,7 @@ void PopulateChromeFrameBinders( +@@ -557,7 +557,7 @@ void PopulateChromeFrameBinders( #endif // BUILDFLAG(ENABLE_SPEECH_SERVICE) #if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || \ - BUILDFLAG(IS_CHROMEOS) + BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) if (base::FeatureList::IsEnabled(blink::features::kSubApps) && !render_frame_host->GetParentOrOuterDocument()) { // The service binder will reject non-primary main frames, but we still need diff --git a/www/chromium/files/patch-chrome_browser_chrome__browser__interface__binders__webui.cc b/www/chromium/files/patch-chrome_browser_chrome__browser__interface__binders__webui.cc index 50640efbcaed..80cf96546acc 100644 --- a/www/chromium/files/patch-chrome_browser_chrome__browser__interface__binders__webui.cc +++ b/www/chromium/files/patch-chrome_browser_chrome__browser__interface__binders__webui.cc @@ -1,36 +1,36 @@ ---- chrome/browser/chrome_browser_interface_binders_webui.cc.orig 2026-07-01 06:24:19 UTC +--- chrome/browser/chrome_browser_interface_binders_webui.cc.orig 2026-08-12 09:02:10 UTC +++ chrome/browser/chrome_browser_interface_binders_webui.cc -@@ -90,13 +90,13 @@ +@@ -93,13 +93,13 @@ #endif // !BUILDFLAG(IS_ANDROID) || BUILDFLAG(IS_DESKTOP_ANDROID) #if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || \ - BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_DESKTOP_ANDROID) + BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_DESKTOP_ANDROID) || BUILDFLAG(IS_BSD) #include "chrome/browser/ui/webui/discards/discards.mojom.h" #include "chrome/browser/ui/webui/discards/discards_ui.h" #include "chrome/browser/ui/webui/discards/site_data.mojom.h" #endif #if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || \ - BUILDFLAG(IS_CHROMEOS) + BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) #include "chrome/browser/ui/webui/skills/skills.mojom.h" #include "chrome/browser/ui/webui/skills/skills_ui.h" #endif -@@ -337,7 +337,7 @@ void PopulateChromeWebUIFrameBinders( +@@ -354,7 +354,7 @@ void PopulateChromeWebUIFrameBinders( #endif // BUILDFLAG(IS_CHROMEOS) #if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || \ - BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_DESKTOP_ANDROID) + BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_DESKTOP_ANDROID) || BUILDFLAG(IS_BSD) RegisterWebUIControllerInterfaceBinder(map); -@@ -349,7 +349,7 @@ void PopulateChromeWebUIFrameBinders( +@@ -366,7 +366,7 @@ void PopulateChromeWebUIFrameBinders( #endif #if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || \ - BUILDFLAG(IS_CHROMEOS) + BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) RegisterWebUIControllerInterfaceBinder(map); - #endif + RegisterWebUIControllerInterfaceBinder(map); } -#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) RegisterWebUIControllerInterfaceBinder(map); #endif // BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) -@@ -365,7 +365,7 @@ void PopulateChromeWebUIFrameBindersPartsDesktop( +@@ -379,7 +379,7 @@ void PopulateChromeWebUIFrameBindersPartsDesktop( RegisterWebUIControllerInterfaceBinder< browser_command::mojom::CommandHandlerFactory, -#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) WhatsNewUI, #endif // BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) NewTabPageUI>(map); -@@ -600,7 +600,7 @@ void PopulateChromeWebUIFrameBindersPartsDesktop( +@@ -585,7 +585,7 @@ void PopulateChromeWebUIFrameBindersPartsDesktop( DrivePickerUntrustedHostUI>(map); } -#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) RegisterWebUIControllerInterfaceBinder< app_management::mojom::PageHandlerFactory, WebAppSettingsUI>(map); -@@ -624,7 +624,7 @@ void PopulateChromeWebUIFrameBindersPartsDesktop( - private_ai::PrivateAiInternalsUI>(map); - } +@@ -609,7 +609,7 @@ void PopulateChromeWebUIFrameBindersPartsDesktop( + webapps::AppHomeUI>(map); + #endif -#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) RegisterWebUIControllerInterfaceBinder(map); #endif // BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) 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 0b0c29e42645..bb33f96b38d5 100644 --- a/www/chromium/files/patch-chrome_browser_chrome__browser__main.cc +++ b/www/chromium/files/patch-chrome_browser_chrome__browser__main.cc @@ -1,170 +1,170 @@ ---- chrome/browser/chrome_browser_main.cc.orig 2026-07-01 06:24:19 UTC +--- chrome/browser/chrome_browser_main.cc.orig 2026-08-12 09:02:10 UTC +++ chrome/browser/chrome_browser_main.cc @@ -173,7 +173,7 @@ #endif #if BUILDFLAG(IS_ANDROID) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_LINUX) || \ - BUILDFLAG(IS_MAC) || BUILDFLAG(IS_WIN) + BUILDFLAG(IS_MAC) || BUILDFLAG(IS_WIN) || BUILDFLAG(IS_BSD) #include "sql/database.h" #endif -@@ -200,12 +200,12 @@ +@@ -199,12 +199,12 @@ #include "components/enterprise/browser/controller/chrome_browser_cloud_management_controller.h" #endif // BUILDFLAG(IS_CHROMEOS) -#if BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) #include "chrome/browser/first_run/upgrade_util_linux.h" #include "chrome/browser/ui/views/chrome_browser_main_extra_parts_views_linux.h" #endif -#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_WIN) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_WIN) || BUILDFLAG(IS_BSD) #include "chrome/browser/headless/headless_mode_metrics.h" // nogncheck #include "chrome/browser/headless/headless_mode_util.h" // nogncheck #include "chrome/browser/metrics/desktop_session_duration/desktop_session_duration_tracker.h" -@@ -216,7 +216,7 @@ +@@ -215,7 +215,7 @@ #include "ui/gfx/switches.h" #endif -#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_WIN) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_WIN) || BUILDFLAG(IS_BSD) #include "chrome/browser/first_run/upgrade_util.h" #endif -@@ -293,7 +293,7 @@ +@@ -292,7 +292,7 @@ #include "chrome/browser/chrome_process_singleton.h" #include "chrome/browser/ui/startup/startup_browser_creator.h" -#if BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) #include "base/nix/xdg_util.h" #endif #endif // BUILDFLAG(ENABLE_PROCESS_SINGLETON) -@@ -326,7 +326,7 @@ +@@ -325,7 +325,7 @@ #include "chrome/browser/chrome_browser_main_mac.h" #elif BUILDFLAG(IS_CHROMEOS) #include "chrome/browser/ash/main_parts/chrome_browser_main_parts_ash.h" -#elif BUILDFLAG(IS_LINUX) +#elif BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) #include "chrome/browser/chrome_browser_main_linux.h" #elif BUILDFLAG(IS_ANDROID) #include "chrome/browser/chrome_browser_main_android.h" -@@ -334,7 +334,7 @@ +@@ -333,7 +333,7 @@ #include "chrome/browser/chrome_browser_main_posix.h" #endif -#if BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) #include "chrome/browser/chrome_browser_main_extra_parts_linux.h" #elif BUILDFLAG(IS_OZONE) #include "chrome/browser/chrome_browser_main_extra_parts_ozone.h" -@@ -356,7 +356,7 @@ +@@ -355,7 +355,7 @@ namespace { #if BUILDFLAG(IS_ANDROID) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_LINUX) || \ - BUILDFLAG(IS_MAC) || BUILDFLAG(IS_WIN) + BUILDFLAG(IS_MAC) || BUILDFLAG(IS_WIN) || BUILDFLAG(IS_BSD) constexpr base::FilePath::CharType kMediaHistoryDatabaseName[] = FILE_PATH_LITERAL("Media History"); -@@ -506,7 +506,7 @@ void ProcessSingletonNotificationCallbackImpl( +@@ -505,7 +505,7 @@ void ProcessSingletonNotificationCallbackImpl( } #endif -#if BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) // Set the global activation token sent as a command line switch by another // browser process. This also removes the switch after use to prevent any side // effects of leaving it in the command line after this point. -@@ -572,7 +572,7 @@ bool ProcessSingletonNotificationCallback( +@@ -571,7 +571,7 @@ bool ProcessSingletonNotificationCallback( // Drop the request if headless mode is in effect or the request is from // a headless Chrome process. -#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_WIN) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_WIN) || BUILDFLAG(IS_BSD) if (headless::IsHeadlessMode() || command_line.HasSwitch(switches::kHeadless)) { return false; -@@ -738,7 +738,7 @@ std::unique_ptr ChromeBrows +@@ -737,7 +737,7 @@ std::unique_ptr ChromeBrows #elif BUILDFLAG(IS_CHROMEOS) main_parts = std::make_unique( is_integration_test, startup_data); -#elif BUILDFLAG(IS_LINUX) +#elif BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) main_parts = std::make_unique( is_integration_test, startup_data); #elif BUILDFLAG(IS_ANDROID) -@@ -768,7 +768,7 @@ std::unique_ptr ChromeBrows +@@ -767,7 +767,7 @@ std::unique_ptr ChromeBrows // Construct additional browser parts. Stages are called in the order in // which they are added. #if defined(TOOLKIT_VIEWS) -#if BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) main_parts->AddParts( std::make_unique()); #else -@@ -785,7 +785,7 @@ std::unique_ptr ChromeBrows +@@ -784,7 +784,7 @@ std::unique_ptr ChromeBrows main_parts->AddParts(std::make_unique()); #endif -#if BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) main_parts->AddParts(std::make_unique()); #elif BUILDFLAG(IS_OZONE) main_parts->AddParts(std::make_unique()); -@@ -1276,7 +1276,7 @@ int ChromeBrowserMainParts::PreCreateThreadsImpl() { +@@ -1284,7 +1284,7 @@ int ChromeBrowserMainParts::PreCreateThreadsImpl() { #if BUILDFLAG(ENABLE_EXTENSIONS_CORE) && \ (BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) || \ - BUILDFLAG(IS_ANDROID)) + BUILDFLAG(IS_ANDROID) || BUILDFLAG(IS_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/41321051 . -@@ -1320,7 +1320,7 @@ int ChromeBrowserMainParts::PreCreateThreadsImpl() { +@@ -1328,7 +1328,7 @@ int ChromeBrowserMainParts::PreCreateThreadsImpl() { #endif // BUILDFLAG(IS_MAC) -#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_WIN) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_WIN) || BUILDFLAG(IS_BSD) metrics::DesktopSessionDurationTracker::Initialize(); ProfileActivityMetricsRecorder::Initialize(); TouchUIControllerStatsTracker::Initialize( -@@ -1566,7 +1566,7 @@ void ChromeBrowserMainParts::PostProfileInit(Profile* +@@ -1574,7 +1574,7 @@ void ChromeBrowserMainParts::PostProfileInit(Profile* #endif // BUILDFLAG(IS_WIN) #if BUILDFLAG(IS_ANDROID) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_LINUX) || \ - BUILDFLAG(IS_MAC) || BUILDFLAG(IS_WIN) + BUILDFLAG(IS_MAC) || BUILDFLAG(IS_WIN) || BUILDFLAG(IS_BSD) // Delete the media history database if it still exists. // TODO(crbug.com/40177301): Remove this. base::ThreadPool::PostTask( -@@ -1617,7 +1617,7 @@ void ChromeBrowserMainParts::PostProfileInit(Profile* +@@ -1625,7 +1625,7 @@ void ChromeBrowserMainParts::PostProfileInit(Profile* *UrlLanguageHistogramFactory::GetForBrowserContext(profile)); #endif -#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_WIN) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_WIN) || BUILDFLAG(IS_BSD) if (headless::IsHeadlessMode()) { headless::ReportHeadlessActionMetrics(); } -@@ -1704,7 +1704,7 @@ int ChromeBrowserMainParts::PreMainMessageLoopRunImpl( +@@ -1712,7 +1712,7 @@ int ChromeBrowserMainParts::PreMainMessageLoopRunImpl( #endif // Should be done before starting metrics recording. -#if BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) // On Linux, the EULA dialog requires Views, so it is shown here rather than // when applying the first-run prefs. if (first_run::IsChromeFirstRun() && master_prefs_->eula_required && -@@ -1740,7 +1740,7 @@ int ChromeBrowserMainParts::PreMainMessageLoopRunImpl( +@@ -1748,7 +1748,7 @@ int ChromeBrowserMainParts::PreMainMessageLoopRunImpl( // In headless mode provide alternate SelectFileDialog factory overriding // any platform specific SelectFileDialog implementation that may have been // set. -#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_WIN) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_WIN) || BUILDFLAG(IS_BSD) if (headless::IsHeadlessMode()) { headless::HeadlessSelectFileDialogFactory::SetUp(); } 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 f5a0e156bc7e..fca6a8976bc4 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,39 +1,39 @@ ---- chrome/browser/chrome_browser_main_linux.cc.orig 2026-06-04 10:12:25 UTC +--- chrome/browser/chrome_browser_main_linux.cc.orig 2026-08-12 09:02:10 UTC +++ chrome/browser/chrome_browser_main_linux.cc -@@ -23,7 +23,7 @@ +@@ -22,7 +22,7 @@ #include "device/bluetooth/dbus/bluez_dbus_manager.h" #include "ui/base/l10n/l10n_util.h" -#if BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) #include "ui/ozone/public/ozone_platform.h" #if BUILDFLAG(USE_DBUS) #include "components/dbus/thread_linux/dbus_thread_linux.h" -@@ -66,15 +66,17 @@ void ChromeBrowserMainPartsLinux::PostCreateMainMessag +@@ -65,15 +65,17 @@ void ChromeBrowserMainPartsLinux::PostCreateMainMessag #if !BUILDFLAG(IS_CHROMEOS) #if BUILDFLAG(USE_DBUS) +#if !BUILDFLAG(IS_BSD) bluez::BluezDBusManager::Initialize( dbus_thread_linux::GetSharedSystemBus().get()); +#endif #endif // BUILDFLAG(USE_DBUS) #endif // !BUILDFLAG(IS_CHROMEOS) ChromeBrowserMainPartsPosix::PostCreateMainMessageLoop(); } -#if BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) void ChromeBrowserMainPartsLinux::PostMainMessageLoopRun() { ChromeBrowserMainPartsPosix::PostMainMessageLoopRun(); ui::OzonePlatform::GetInstance()->PostMainMessageLoopRun(); -@@ -108,7 +110,7 @@ void ChromeBrowserMainPartsLinux::PostBrowserStart() { +@@ -107,7 +109,7 @@ void ChromeBrowserMainPartsLinux::PostBrowserStart() { #endif // BUILDFLAG(USE_DBUS) && !BUILDFLAG(IS_CHROMEOS) void ChromeBrowserMainPartsLinux::PostDestroyThreads() { -#if BUILDFLAG(IS_CHROMEOS) +#if BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) // No-op; per PostBrowserStart() comment, this is done elsewhere. #else bluez::BluezDBusManager::Shutdown(); 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 ef1fb975efeb..595a5a219531 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,183 +1,210 @@ ---- chrome/browser/chrome_content_browser_client.cc.orig 2026-07-01 06:24:19 UTC +--- chrome/browser/chrome_content_browser_client.cc.orig 2026-08-12 09:02:10 UTC +++ chrome/browser/chrome_content_browser_client.cc -@@ -612,7 +612,7 @@ +@@ -618,7 +618,7 @@ #include "third_party/cros_system_api/switches/chrome_switches.h" #endif // BUILDFLAG(IS_CHROMEOS) -#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) #include "components/crash/core/app/crash_switches.h" #include "components/crash/core/app/crashpad.h" #endif -@@ -623,7 +623,7 @@ +@@ -629,7 +629,7 @@ #endif #if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || \ - BUILDFLAG(IS_CHROMEOS) + BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) + #include "chrome/browser/enterprise/network_header_injection/http_header_injection_proxying_url_loader_factory.h" + #include "chrome/browser/enterprise/network_header_injection/http_header_injection_utils.h" #include "components/webapps/isolated_web_apps/scheme.h" - #endif // BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || - // BUILDFLAG(IS_CHROMEOS) -@@ -1530,7 +1530,7 @@ void ChromeContentBrowserClient::RegisterLocalStatePre +@@ -1511,7 +1511,7 @@ void ChromeContentBrowserClient::RegisterLocalStatePre registry->RegisterBooleanPref(prefs::kDataURLWhitespacePreservationEnabled, true); registry->RegisterBooleanPref(prefs::kEnableUnsafeSwiftShader, false); -#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_ANDROID) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_ANDROID) || BUILDFLAG(IS_BSD) registry->RegisterBooleanPref(prefs::kOutOfProcessSystemDnsResolutionEnabled, true); #endif // BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_ANDROID) -@@ -1806,7 +1806,7 @@ ChromeContentBrowserClient::GetStoragePartitionConfigF +@@ -1787,7 +1787,7 @@ ChromeContentBrowserClient::GetStoragePartitionConfigF #if BUILDFLAG(ENABLE_EXTENSIONS) #if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || \ - BUILDFLAG(IS_CHROMEOS) + BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) if (content::SiteIsolationPolicy::ShouldUrlUseApplicationIsolationLevel( browser_context, site)) { CHECK(url::Origin::Create(site).scheme() == webapps::kIsolatedAppScheme); -@@ -2717,7 +2717,7 @@ bool ChromeContentBrowserClient::ShouldUrlUseApplicati +@@ -2730,7 +2730,7 @@ bool ChromeContentBrowserClient::ShouldUrlUseApplicati const GURL& url) { #if BUILDFLAG(ENABLE_EXTENSIONS) #if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || \ - BUILDFLAG(IS_CHROMEOS) + BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) if (!content::AreIsolatedWebAppsEnabled(browser_context)) { return false; -@@ -2830,7 +2830,9 @@ void MaybeAppendBlinkSettingsSwitchForFieldTrial( +@@ -2843,7 +2843,9 @@ void MaybeAppendBlinkSettingsSwitchForFieldTrial( void ChromeContentBrowserClient::AppendExtraCommandLineSwitches( base::CommandLine* command_line, int child_process_id) { +#if !BUILDFLAG(IS_BSD) crash_keys::AppendStringAnnotationsCommandLineSwitch(command_line); +#endif #if BUILDFLAG(IS_MAC) std::unique_ptr client_info = GoogleUpdateSettings::LoadMetricsClientInfo(); -@@ -2839,7 +2841,7 @@ void ChromeContentBrowserClient::AppendExtraCommandLin +@@ -2852,7 +2854,7 @@ void ChromeContentBrowserClient::AppendExtraCommandLin client_info->client_id); } #elif BUILDFLAG(IS_POSIX) -#if !BUILDFLAG(IS_ANDROID) +#if !BUILDFLAG(IS_ANDROID) && !BUILDFLAG(IS_BSD) pid_t pid; if (crash_reporter::GetHandlerSocket(nullptr, &pid)) { command_line->AppendSwitchASCII( -@@ -3191,7 +3193,7 @@ void ChromeContentBrowserClient::AppendExtraCommandLin +@@ -3206,7 +3208,7 @@ void ChromeContentBrowserClient::AppendExtraCommandLin } } -#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) // Opt into a hardened stack canary mitigation if it hasn't already been // force-disabled. if (!browser_command_line.HasSwitch(switches::kChangeStackGuardOnFork)) { -@@ -4213,7 +4215,7 @@ GetPreferredColorScheme(const WebPreferences& web_pref +@@ -4228,7 +4230,7 @@ GetPreferredColorScheme(const WebPreferences& web_pref std::optional GetRootScrollbarThemeColor(WebContents* web_contents) { bool root_scrollbar_follows_browser_theme = false; -#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_WIN) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_WIN) || BUILDFLAG(IS_BSD) root_scrollbar_follows_browser_theme = base::FeatureList::IsEnabled( blink::features::kRootScrollbarFollowsBrowserTheme); #endif -@@ -5249,7 +5251,7 @@ void ChromeContentBrowserClient::GetAdditionalAllowedS +@@ -5251,7 +5253,7 @@ void ChromeContentBrowserClient::GetAdditionalAllowedS additional_allowed_schemes->push_back(content::kChromeUIScheme); additional_allowed_schemes->push_back(content::kChromeUIUntrustedScheme); #if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || \ - BUILDFLAG(IS_CHROMEOS) + BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) additional_allowed_schemes->push_back(webapps::kIsolatedAppScheme); #endif // BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || // BUILDFLAG(IS_CHROMEOS) -@@ -5303,7 +5305,7 @@ void ChromeContentBrowserClient::GetAdditionalFileSyst +@@ -5305,7 +5307,7 @@ void ChromeContentBrowserClient::GetAdditionalFileSyst } } -#if BUILDFLAG(IS_POSIX) && !BUILDFLAG(IS_MAC) +#if BUILDFLAG(IS_POSIX) && !BUILDFLAG(IS_MAC) && !BUILDFLAG(IS_BSD) void ChromeContentBrowserClient::GetAdditionalMappedFilesForChildProcess( const base::CommandLine& command_line, int child_process_id, -@@ -6206,7 +6208,7 @@ ChromeContentBrowserClient::CreateNonNetworkNavigation +@@ -6219,7 +6221,7 @@ ChromeContentBrowserClient::CreateNonNetworkNavigation } #endif // BUILDFLAG(IS_CHROMEOS) #if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || \ - BUILDFLAG(IS_CHROMEOS) + BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) if (scheme == webapps::kIsolatedAppScheme) { if (content::AreIsolatedWebAppsEnabled(browser_context) && !browser_context->ShutdownStarted()) { -@@ -6278,7 +6280,7 @@ void ChromeContentBrowserClient:: +@@ -6291,7 +6293,7 @@ void ChromeContentBrowserClient:: DCHECK(factories); #if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || \ - BUILDFLAG(IS_CHROMEOS) + BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) if (content::AreIsolatedWebAppsEnabled(browser_context) && !browser_context->ShutdownStarted()) { std::optional app_origin; -@@ -6325,7 +6327,7 @@ void ChromeContentBrowserClient:: +@@ -6338,7 +6340,7 @@ void ChromeContentBrowserClient:: DCHECK(factories); #if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || \ - BUILDFLAG(IS_CHROMEOS) + BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) if (content::AreIsolatedWebAppsEnabled(browser_context) && !browser_context->ShutdownStarted()) { factories->emplace(webapps::kIsolatedAppScheme, -@@ -6596,7 +6598,7 @@ void ChromeContentBrowserClient:: +@@ -6611,7 +6613,7 @@ void ChromeContentBrowserClient:: #endif // BUILDFLAG(IS_CHROMEOS) #if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || \ - BUILDFLAG(IS_CHROMEOS) + BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) { auto* rph = content::RenderProcessHost::FromID(render_process_id); content::BrowserContext* browser_context = rph->GetBrowserContext(); -@@ -7236,7 +7238,7 @@ bool ChromeContentBrowserClient::HandleExternalProtoco +@@ -6723,7 +6725,7 @@ void ChromeContentBrowserClient::WillCreateURLLoaderFa + #endif + + #if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || \ +- BUILDFLAG(IS_CHROMEOS) ++ BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) + // Install the HTTP Header Injection proxying factory. + enterprise_custom_headers::HttpHeaderInjectionProxyingURLLoaderFactory:: + MaybeProxyRequest(browser_context, factory_builder); +@@ -6773,7 +6775,7 @@ void ChromeContentBrowserClient::WillCreateURLLoaderFa + factory_builder, factory_override, isolation_info); + + #if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || \ +- BUILDFLAG(IS_CHROMEOS) ++ BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) + // WARNING: This must be the last wrapper in the chain for + // TrustedURLLoaderHeaderClient. This ensures that our client is the outermost + // wrapper of `header_client`, allowing us to apply enterprise headers AFTER +@@ -6870,7 +6872,7 @@ ChromeContentBrowserClient::GetWebSocketOptions( + options.options = network::mojom::kWebSocketOptionNone; + + #if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || \ +- BUILDFLAG(IS_CHROMEOS) ++ BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) + if (frame) { + enterprise_custom_headers::MaybeCreateWebSocketHeaderClient( + frame->GetBrowserContext(), &options.header_client); +@@ -7299,7 +7301,7 @@ bool ChromeContentBrowserClient::HandleExternalProtoco CHECK(content::BrowserThread::CurrentlyOn(content::BrowserThread::UI)); #if BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) || \ - BUILDFLAG(IS_WIN) + BUILDFLAG(IS_WIN) || BUILDFLAG(IS_BSD) // Handle the google-chrome:// scheme (and chromium://). // If the scheme is present, we strip it and navigate to the inner URL. // This avoids launching a new browser instance via the OS handler. -@@ -7383,7 +7385,7 @@ bool ChromeContentBrowserClient::HandleWebUI( +@@ -7446,7 +7448,7 @@ bool ChromeContentBrowserClient::HandleWebUI( } #if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || \ - BUILDFLAG(IS_CHROMEOS) + BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) // Rewrite chrome://settings/enhancedAutofill to chrome://settings/autofill. if (url->SchemeIs(content::kChromeUIScheme) && -@@ -7672,7 +7674,7 @@ bool ChromeContentBrowserClient::ShouldSandboxNetworkS +@@ -7735,7 +7737,7 @@ bool ChromeContentBrowserClient::ShouldSandboxNetworkS bool ChromeContentBrowserClient::ShouldRunOutOfProcessSystemDnsResolution() { // This enterprise policy is supported on Android, but the feature will not be // launched there. -#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_ANDROID) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_ANDROID) || BUILDFLAG(IS_BSD) // This is possibly called before `g_browser_process` is initialized. PrefService* local_state; if (g_browser_process) { -@@ -8098,7 +8100,7 @@ void ChromeContentBrowserClient:: +@@ -8175,7 +8177,7 @@ void ChromeContentBrowserClient:: GrantAdditionalRequestPrivilegesToWorkerProcess(int child_id, const GURL& script_url) { #if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || \ - BUILDFLAG(IS_CHROMEOS) + BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) // IWA Service Workers need to be explicitly granted access to their origin // because isolated-app: isn't a web-safe scheme that can be accessed by // default. -@@ -8563,7 +8565,7 @@ ChromeContentBrowserClient::GetAlternativeErrorPageOve +@@ -8642,7 +8644,7 @@ ChromeContentBrowserClient::GetAlternativeErrorPageOve content::BrowserContext* browser_context, int32_t error_code) { #if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || \ - BUILDFLAG(IS_CHROMEOS) + BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) if (content::AreIsolatedWebAppsEnabled(browser_context) && url.SchemeIs(webapps::kIsolatedAppScheme)) { content::mojom::AlternativeErrorPageOverrideInfoPtr 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 9cde9a844d38..ebb162a9405c 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,11 +1,11 @@ ---- chrome/browser/chrome_content_browser_client.h.orig 2026-07-01 06:24:19 UTC +--- chrome/browser/chrome_content_browser_client.h.orig 2026-08-12 09:02:10 UTC +++ chrome/browser/chrome_content_browser_client.h -@@ -585,7 +585,7 @@ class ChromeContentBrowserClient : public content::Con +@@ -591,7 +591,7 @@ class ChromeContentBrowserClient : public content::Con const GURL& site_url) override; std::unique_ptr CreateTracingDelegate() override; bool IsSystemWideTracingEnabled() override; -#if BUILDFLAG(IS_POSIX) && !BUILDFLAG(IS_MAC) +#if BUILDFLAG(IS_POSIX) && !BUILDFLAG(IS_MAC) && !BUILDFLAG(IS_BSD) void GetAdditionalMappedFilesForChildProcess( const base::CommandLine& command_line, int child_process_id, diff --git a/www/chromium/files/patch-chrome_browser_chrome__content__browser__client__navigation__throttles.cc b/www/chromium/files/patch-chrome_browser_chrome__content__browser__client__navigation__throttles.cc index a0cb143169cc..cf611319cdd0 100644 --- a/www/chromium/files/patch-chrome_browser_chrome__content__browser__client__navigation__throttles.cc +++ b/www/chromium/files/patch-chrome_browser_chrome__content__browser__client__navigation__throttles.cc @@ -1,38 +1,38 @@ ---- chrome/browser/chrome_content_browser_client_navigation_throttles.cc.orig 2026-07-01 06:24:19 UTC +--- chrome/browser/chrome_content_browser_client_navigation_throttles.cc.orig 2026-08-12 09:02:10 UTC +++ chrome/browser/chrome_content_browser_client_navigation_throttles.cc -@@ -146,7 +146,7 @@ +@@ -142,7 +142,7 @@ #include "chrome/browser/captive_portal/captive_portal_service_factory.h" #endif // BUILDFLAG(ENABLE_CAPTIVE_PORTAL_DETECTION) -#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_WIN) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_WIN) || BUILDFLAG(IS_BSD) #include "chrome/browser/browser_switcher/browser_switcher_navigation_throttle.h" #include "chrome/browser/enterprise/profile_management/oidc_auth_response_capture_navigation_throttle.h" #include "chrome/browser/enterprise/profile_management/profile_management_navigation_throttle.h" -@@ -459,7 +459,7 @@ void CreateAndAddChromeThrottlesForNavigation( +@@ -437,7 +437,7 @@ void CreateAndAddChromeThrottlesForNavigation( TypedNavigationUpgradeThrottle::MaybeCreateAndAdd(registry); } -#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_WIN) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_WIN) || BUILDFLAG(IS_BSD) WebAppSettingsNavigationThrottle::MaybeCreateAndAdd(registry); profile_management::ProfileManagementNavigationThrottle::MaybeCreateAndAdd( registry); -@@ -477,7 +477,7 @@ void CreateAndAddChromeThrottlesForNavigation( +@@ -455,7 +455,7 @@ void CreateAndAddChromeThrottlesForNavigation( #endif // BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_WIN) #if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_WIN) || \ - BUILDFLAG(IS_CHROMEOS) + BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) enterprise_connectors::DeviceTrustNavigationThrottle::MaybeCreateAndAdd( registry); #endif // BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_WIN) || -@@ -531,7 +531,7 @@ void CreateAndAddChromeThrottlesForNavigation( +@@ -509,7 +509,7 @@ void CreateAndAddChromeThrottlesForNavigation( registry, ui_manager); #endif // BUILDFLAG(SAFE_BROWSING_AVAILABLE) -#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) browser_switcher::BrowserSwitcherNavigationThrottle::MaybeCreateAndAdd( registry); #endif // BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) diff --git a/www/chromium/files/patch-chrome_browser_component__updater_registration.cc b/www/chromium/files/patch-chrome_browser_component__updater_registration.cc index 6e643c6c9c84..732b9f504c45 100644 --- a/www/chromium/files/patch-chrome_browser_component__updater_registration.cc +++ b/www/chromium/files/patch-chrome_browser_component__updater_registration.cc @@ -1,35 +1,35 @@ ---- chrome/browser/component_updater/registration.cc.orig 2026-07-01 06:24:19 UTC +--- chrome/browser/component_updater/registration.cc.orig 2026-08-12 09:02:10 UTC +++ chrome/browser/component_updater/registration.cc -@@ -85,7 +85,7 @@ +@@ -83,7 +83,7 @@ #endif // BUILDFLAG(ENABLE_WIDEVINE_CDM_COMPONENT) #if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || \ - BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_ANDROID) + BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_ANDROID) || BUILDFLAG(IS_BSD) #include "components/component_updater/installer_policies/amount_extraction_heuristic_regexes_component_installer.h" #endif // BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || // BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_ANDROID) -@@ -94,7 +94,7 @@ +@@ -92,7 +92,7 @@ #include "ui/aura/env.h" #endif -#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) #include "chrome/browser/component_updater/wasm_tts_engine_component_installer.h" #endif // BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) -@@ -220,12 +220,12 @@ void RegisterComponentsForUpdate() { +@@ -216,12 +216,12 @@ void RegisterComponentsForUpdate() { #endif // BUILDFLAG(ENABLE_ON_DEVICE_TRANSLATION) #if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || \ - BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_ANDROID) + BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_ANDROID) || BUILDFLAG(IS_BSD) RegisterAmountExtractionHeuristicRegexesComponent(cus); #endif // BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || // BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_ANDROID) -#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) RegisterWasmTtsEngineComponent(cus, g_browser_process->local_state()); #endif // BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) 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 ee72bc03c0d3..bd132a497d1d 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,29 +1,29 @@ ---- chrome/browser/download/chrome_download_manager_delegate.cc.orig 2026-07-29 11:06:49 UTC +--- chrome/browser/download/chrome_download_manager_delegate.cc.orig 2026-08-12 09:02:10 UTC +++ chrome/browser/download/chrome_download_manager_delegate.cc -@@ -2111,7 +2111,7 @@ void ChromeDownloadManagerDelegate::OnDownloadTargetDe +@@ -2120,7 +2120,7 @@ void ChromeDownloadManagerDelegate::OnDownloadTargetDe bool ChromeDownloadManagerDelegate::IsOpenInBrowserPreferredForFile( const base::FilePath& path) { #if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || \ - BUILDFLAG(IS_MAC) + BUILDFLAG(IS_MAC) || BUILDFLAG(IS_BSD) if (path.MatchesExtension(FILE_PATH_LITERAL(".pdf"))) { return !download_prefs_->ShouldOpenPdfInSystemReader(); } -@@ -2248,7 +2248,7 @@ void ChromeDownloadManagerDelegate::CheckDownloadAllow +@@ -2257,7 +2257,7 @@ void ChromeDownloadManagerDelegate::CheckDownloadAllow content::CheckDownloadAllowedCallback check_download_allowed_cb) { DCHECK_CURRENTLY_ON(BrowserThread::UI); #if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || \ - BUILDFLAG(IS_MAC) + BUILDFLAG(IS_MAC) || BUILDFLAG(IS_BSD) // Don't download pdf if it is a file URL, as that might cause an infinite // download loop if Chrome is not the system pdf viewer. if (url.SchemeIsFile() && download_prefs_->ShouldOpenPdfInSystemReader()) { -@@ -2326,7 +2326,7 @@ void ChromeDownloadManagerDelegate::CheckSavePackageAl +@@ -2335,7 +2335,7 @@ void ChromeDownloadManagerDelegate::CheckSavePackageAl DCHECK(download_item->IsSavePackageDownload()); #if (BUILDFLAG(IS_WIN) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || \ - BUILDFLAG(IS_MAC)) && \ + BUILDFLAG(IS_MAC) || BUILDFLAG(IS_BSD)) && \ BUILDFLAG(SAFE_BROWSING_AVAILABLE) std::optional settings = safe_browsing::ShouldUploadBinaryForDeepScanning(download_item); 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 8613ef741da2..9c57b22a02b6 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,29 +1,29 @@ ---- chrome/browser/download/download_item_model.cc.orig 2026-05-07 17:02:56 UTC +--- chrome/browser/download/download_item_model.cc.orig 2026-08-12 09:02:10 UTC +++ chrome/browser/download/download_item_model.cc -@@ -725,7 +725,7 @@ bool DownloadItemModel::IsCommandChecked( +@@ -724,7 +724,7 @@ bool DownloadItemModel::IsCommandChecked( return download_->GetOpenWhenComplete() || IsExtensionDownload(); case DownloadCommands::ALWAYS_OPEN_TYPE: #if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || \ - BUILDFLAG(IS_MAC) + BUILDFLAG(IS_MAC) || BUILDFLAG(IS_BSD) if (download_commands->CanOpenPdfInSystemViewer()) { DownloadPrefs* prefs = DownloadPrefs::FromBrowserContext(profile()); return prefs->ShouldOpenPdfInSystemReader(); -@@ -773,7 +773,7 @@ void DownloadItemModel::ExecuteCommand(DownloadCommand +@@ -772,7 +772,7 @@ void DownloadItemModel::ExecuteCommand(DownloadCommand DownloadCommands::ALWAYS_OPEN_TYPE); DownloadPrefs* prefs = DownloadPrefs::FromBrowserContext(profile()); #if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || \ - BUILDFLAG(IS_MAC) + BUILDFLAG(IS_MAC) || BUILDFLAG(IS_BSD) if (download_commands->CanOpenPdfInSystemViewer()) { prefs->SetShouldOpenPdfInSystemReader(!is_checked); SetShouldPreferOpeningInBrowser(is_checked); -@@ -1184,7 +1184,7 @@ void DownloadItemModel::DetermineAndSetShouldPreferOpe +@@ -1183,7 +1183,7 @@ void DownloadItemModel::DetermineAndSetShouldPreferOpe return; } -#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) if (download_->GetOriginalMimeType() == "application/x-x509-user-cert") { SetShouldPreferOpeningInBrowser(true); return; 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 ed6e18093eb0..f2151dd764ac 100644 --- a/www/chromium/files/patch-chrome_browser_download_download__prefs.cc +++ b/www/chromium/files/patch-chrome_browser_download_download__prefs.cc @@ -1,90 +1,90 @@ ---- chrome/browser/download/download_prefs.cc.orig 2025-08-07 06:57:29 UTC +--- chrome/browser/download/download_prefs.cc.orig 2026-08-12 09:02:10 UTC +++ chrome/browser/download/download_prefs.cc @@ -11,6 +11,7 @@ #include #include "base/check.h" +#include "base/command_line.h" #include "base/feature_list.h" #include "base/files/file_util.h" #include "base/functional/bind.h" -@@ -62,6 +63,10 @@ +@@ -65,6 +66,10 @@ #include "components/safe_browsing/content/common/file_type_policies.h" #endif +#if BUILDFLAG(IS_BSD) +#include "sandbox/policy/sandbox.h" +#endif + using content::BrowserContext; using content::BrowserThread; using content::DownloadManager; -@@ -75,7 +80,7 @@ namespace { +@@ -78,7 +83,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 BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) base::FilePath home_dir = base::GetHomeDir(); if (download_path == home_dir) { return true; -@@ -181,7 +186,7 @@ DownloadPrefs::DownloadPrefs(Profile* profile) : profi +@@ -248,7 +253,7 @@ DownloadPrefs::DownloadPrefs(Profile* profile) : profi #endif // BUILDFLAG(IS_CHROMEOS) #if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || \ - BUILDFLAG(IS_MAC) + BUILDFLAG(IS_MAC) || BUILDFLAG(IS_BSD) should_open_pdf_in_system_reader_ = prefs->GetBoolean(prefs::kOpenPdfDownloadInSystemReader); #endif -@@ -308,7 +313,7 @@ void DownloadPrefs::RegisterProfilePrefs( +@@ -375,7 +380,7 @@ void DownloadPrefs::RegisterProfilePrefs( registry->RegisterFilePathPref(prefs::kSaveFileDefaultDirectory, default_download_path); #if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || \ - BUILDFLAG(IS_MAC) + BUILDFLAG(IS_MAC) || BUILDFLAG(IS_BSD) registry->RegisterBooleanPref(prefs::kOpenPdfDownloadInSystemReader, false); #endif #if BUILDFLAG(IS_ANDROID) -@@ -481,7 +486,7 @@ void DownloadPrefs::DisableAutoOpenByUserBasedOnExtens +@@ -548,7 +553,7 @@ void DownloadPrefs::DisableAutoOpenByUserBasedOnExtens } #if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || \ - BUILDFLAG(IS_MAC) + BUILDFLAG(IS_MAC) || BUILDFLAG(IS_BSD) void DownloadPrefs::SetShouldOpenPdfInSystemReader(bool should_open) { if (should_open_pdf_in_system_reader_ == should_open) return; -@@ -507,7 +512,7 @@ bool DownloadPrefs::ShouldOpenPdfInSystemReader() cons +@@ -574,7 +579,7 @@ bool DownloadPrefs::ShouldOpenPdfInSystemReader() cons void DownloadPrefs::ResetAutoOpenByUser() { #if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || \ - BUILDFLAG(IS_MAC) + BUILDFLAG(IS_MAC) || BUILDFLAG(IS_BSD) SetShouldOpenPdfInSystemReader(false); #endif auto_open_by_user_.clear(); -@@ -544,7 +549,7 @@ void DownloadPrefs::SaveAutoOpenState() { +@@ -611,7 +616,7 @@ void DownloadPrefs::SaveAutoOpenState() { bool DownloadPrefs::CanPlatformEnableAutoOpenForPdf() const { #if BUILDFLAG(IS_CHROMEOS) return false; // There is no UI for auto-open on ChromeOS. -#elif BUILDFLAG(IS_WIN) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) +#elif BUILDFLAG(IS_WIN) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_BSD) return ShouldOpenPdfInSystemReader(); #else return false; -@@ -626,7 +631,14 @@ base::FilePath DownloadPrefs::SanitizeDownloadTargetPa +@@ -693,7 +698,14 @@ base::FilePath DownloadPrefs::SanitizeDownloadTargetPa #else // If the stored download directory is an absolute path, we presume it's // correct; there's not really much more validation we can do here. +#if BUILDFLAG(IS_OPENBSD) + // If unveil(2) is used, force the file dialog directory to something we + // know is available. + auto* sandbox = sandbox::policy::SandboxLinux::GetInstance(); + if (!sandbox->unveil_initialized() && path.IsAbsolute()) +#else if (path.IsAbsolute()) +#endif return path; // When the default download directory is *not* an absolute path, we use the diff --git a/www/chromium/files/patch-chrome_browser_enterprise_reporting_cloud__profile__reporting__service.cc b/www/chromium/files/patch-chrome_browser_enterprise_reporting_cloud__profile__reporting__service.cc index ead78ece2192..a84fe96a8894 100644 --- a/www/chromium/files/patch-chrome_browser_enterprise_reporting_cloud__profile__reporting__service.cc +++ b/www/chromium/files/patch-chrome_browser_enterprise_reporting_cloud__profile__reporting__service.cc @@ -1,20 +1,20 @@ ---- chrome/browser/enterprise/reporting/cloud_profile_reporting_service.cc.orig 2026-07-01 06:24:19 UTC +--- chrome/browser/enterprise/reporting/cloud_profile_reporting_service.cc.orig 2026-08-12 09:02:10 UTC +++ chrome/browser/enterprise/reporting/cloud_profile_reporting_service.cc @@ -41,7 +41,7 @@ #include "chrome/browser/enterprise/reporting/reporting_delegate_factory_desktop.h" #endif -#if BUILDFLAG(IS_MAC) || BUILDFLAG(IS_WIN) || BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_MAC) || BUILDFLAG(IS_WIN) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) + #include "chrome/browser/enterprise/reporting/browser_launch/browser_launch_event_controller_factory_desktop.h" #include "chrome/browser/enterprise/reporting/saas_usage/saas_usage_reporting_delegate_factory_desktop.h" #include "components/enterprise/browser/reporting/reporting_features.h" - #include "components/enterprise/browser/reporting/saas_usage/saas_usage_report_scheduler.h" -@@ -123,7 +123,7 @@ void CloudProfileReportingService::CreateReportSchedul +@@ -124,7 +124,7 @@ void CloudProfileReportingService::CreateReportSchedul #endif report_scheduler_ = std::make_unique(std::move(params)); -#if BUILDFLAG(IS_MAC) || BUILDFLAG(IS_WIN) || BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_MAC) || BUILDFLAG(IS_WIN) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) if (base::FeatureList::IsEnabled(kSaasUsageReporting)) { auto saas_usage_reporting_delegate_factory = SaasUsageReportingDelegateFactoryDesktop::CreateForProfile(profile_); diff --git a/www/chromium/files/patch-chrome_browser_extensions_BUILD.gn b/www/chromium/files/patch-chrome_browser_extensions_BUILD.gn index e9317a709256..87047238c36c 100644 --- a/www/chromium/files/patch-chrome_browser_extensions_BUILD.gn +++ b/www/chromium/files/patch-chrome_browser_extensions_BUILD.gn @@ -1,13 +1,13 @@ ---- chrome/browser/extensions/BUILD.gn.orig 2026-07-01 06:24:19 UTC +--- chrome/browser/extensions/BUILD.gn.orig 2026-08-12 09:02:10 UTC +++ chrome/browser/extensions/BUILD.gn -@@ -1524,6 +1524,10 @@ source_set("extensions") { +@@ -1526,6 +1526,10 @@ source_set("extensions") { ] } + if (is_bsd) { + sources -= [ "api/image_writer_private/removable_storage_provider_linux.cc" ] + } + if (enable_pdf) { deps += [ "//chrome/browser/pdf", diff --git a/www/chromium/files/patch-chrome_browser_extensions_api_api__browser__context__keyed__service__factories.cc b/www/chromium/files/patch-chrome_browser_extensions_api_api__browser__context__keyed__service__factories.cc index bc020f556334..a73c9a58745c 100644 --- a/www/chromium/files/patch-chrome_browser_extensions_api_api__browser__context__keyed__service__factories.cc +++ b/www/chromium/files/patch-chrome_browser_extensions_api_api__browser__context__keyed__service__factories.cc @@ -1,20 +1,20 @@ ---- chrome/browser/extensions/api/api_browser_context_keyed_service_factories.cc.orig 2026-06-04 10:12:25 UTC +--- chrome/browser/extensions/api/api_browser_context_keyed_service_factories.cc.orig 2026-08-12 09:02:10 UTC +++ chrome/browser/extensions/api/api_browser_context_keyed_service_factories.cc -@@ -55,7 +55,7 @@ +@@ -56,7 +56,7 @@ #endif // BUILDFLAG(ENABLE_EXTENSIONS) -#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) #include "chrome/browser/extensions/api/web_authentication_proxy/web_authentication_proxy_api.h" #include "chrome/browser/extensions/api/web_authentication_proxy/web_authentication_proxy_service.h" #endif -@@ -150,7 +150,7 @@ void EnsureApiBrowserContextKeyedServiceFactoriesBuilt +@@ -152,7 +152,7 @@ void EnsureApiBrowserContextKeyedServiceFactoriesBuilt #endif // BUILDFLAG(ENABLE_EXTENSIONS) // These APIs are intentionally not supported on desktop Android. -#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) extensions::WebAuthenticationProxyAPI::GetFactoryInstance(); extensions::WebAuthenticationProxyRegistrarFactory::GetInstance(); extensions::WebAuthenticationProxyServiceFactory::GetInstance(); diff --git a/www/chromium/files/patch-chrome_browser_extensions_api_passwords__private_passwords__private__delegate__impl.cc b/www/chromium/files/patch-chrome_browser_extensions_api_passwords__private_passwords__private__delegate__impl.cc index 72c56b6a9dc6..6e3d4939bb2f 100644 --- a/www/chromium/files/patch-chrome_browser_extensions_api_passwords__private_passwords__private__delegate__impl.cc +++ b/www/chromium/files/patch-chrome_browser_extensions_api_passwords__private_passwords__private__delegate__impl.cc @@ -1,11 +1,11 @@ ---- chrome/browser/extensions/api/passwords_private/passwords_private_delegate_impl.cc.orig 2026-07-01 06:24:19 UTC +--- chrome/browser/extensions/api/passwords_private/passwords_private_delegate_impl.cc.orig 2026-08-12 09:02:10 UTC +++ chrome/browser/extensions/api/passwords_private/passwords_private_delegate_impl.cc -@@ -662,7 +662,7 @@ void PasswordsPrivateDelegateImpl::OnFetchingFamilyMem +@@ -638,7 +638,7 @@ void PasswordsPrivateDelegateImpl::OnFetchingFamilyMem } void PasswordsPrivateDelegateImpl::OsReauthTimeoutCall() { -#if !BUILDFLAG(IS_LINUX) -+#if !BUILDFLAG(IS_LINUX) && !BUILDFLAG(IS_BSD) - PasswordsPrivateEventRouter* router = - PasswordsPrivateEventRouterFactory::GetForProfile(profile_); - if (router) { ++#if !BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) + if (event_router_) { + event_router_->OnPasswordManagerAuthTimeout(); + } 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 d62629065d31..cf202d00b75b 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,29 +1,29 @@ ---- chrome/browser/extensions/api/settings_private/prefs_util.cc.orig 2026-07-01 06:24:19 UTC +--- chrome/browser/extensions/api/settings_private/prefs_util.cc.orig 2026-08-12 09:02:10 UTC +++ chrome/browser/extensions/api/settings_private/prefs_util.cc -@@ -233,7 +233,7 @@ const PrefsUtil::TypedPrefMap& PrefsUtil::GetAllowlist +@@ -234,7 +234,7 @@ const PrefsUtil::TypedPrefMap& PrefsUtil::GetAllowlist (*s_allowlist)[autofill::prefs::kAutofillPaymentCardBenefits] = settings_api::PrefType::kBoolean; #if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || \ - BUILDFLAG(IS_CHROMEOS) + BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) (*s_allowlist)[autofill::prefs::kAutofillBnplEnabled] = settings_api::PrefType::kBoolean; (*s_allowlist)[autofill::prefs::kAutofillAiIdentityEntitiesEnabled] = -@@ -273,7 +273,7 @@ const PrefsUtil::TypedPrefMap& PrefsUtil::GetAllowlist +@@ -280,7 +280,7 @@ const PrefsUtil::TypedPrefMap& PrefsUtil::GetAllowlist (*s_allowlist)[tab_groups::prefs::kAutoPinNewTabGroups] = settings_api::PrefType::kBoolean; -#if BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) (*s_allowlist)[::prefs::kUseCustomChromeFrame] = settings_api::PrefType::kBoolean; #endif -@@ -293,7 +293,7 @@ const PrefsUtil::TypedPrefMap& PrefsUtil::GetAllowlist +@@ -302,7 +302,7 @@ const PrefsUtil::TypedPrefMap& PrefsUtil::GetAllowlist (*s_allowlist)[::prefs::kPinnedActions] = settings_api::PrefType::kList; (*s_allowlist)[themes::prefs::kPolicyThemeColor] = settings_api::PrefType::kNumber; -#if BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) (*s_allowlist)[::prefs::kSystemTheme] = settings_api::PrefType::kNumber; #endif (*s_allowlist)[::prefs::kHomePage] = settings_api::PrefType::kUrl; diff --git a/www/chromium/files/patch-chrome_browser_extensions_api_tabs_tabs__api.cc b/www/chromium/files/patch-chrome_browser_extensions_api_tabs_tabs__api.cc index 9ca80178445c..296c3124c60d 100644 --- a/www/chromium/files/patch-chrome_browser_extensions_api_tabs_tabs__api.cc +++ b/www/chromium/files/patch-chrome_browser_extensions_api_tabs_tabs__api.cc @@ -1,11 +1,11 @@ ---- chrome/browser/extensions/api/tabs/tabs_api.cc.orig 2026-07-01 06:24:19 UTC +--- chrome/browser/extensions/api/tabs/tabs_api.cc.orig 2026-08-12 09:02:10 UTC +++ chrome/browser/extensions/api/tabs/tabs_api.cc -@@ -1367,7 +1367,7 @@ ExtensionFunction::ResponseValue WindowsCreateFunction +@@ -1381,7 +1381,7 @@ ExtensionFunction::ResponseValue WindowsCreateFunction // created as minimized. // TODO(crbug.com/40254339): Remove this workaround when linux is fixed. // TODO(crbug.com/40254339): Find a fix for wayland as well. -#if BUILDFLAG(IS_LINUX) && BUILDFLAG(SUPPORTS_OZONE_X11) +#if (BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD))&& BUILDFLAG(SUPPORTS_OZONE_X11) if (new_window->GetBrowserForMigrationOnly()->initial_show_state() == ui::mojom::WindowShowState::kMinimized) { new_window->GetWindow()->Minimize(); diff --git a/www/chromium/files/patch-chrome_browser_extensions_api_webstore__private_webstore__private__api.cc b/www/chromium/files/patch-chrome_browser_extensions_api_webstore__private_webstore__private__api.cc index 6419bf985c02..8243469da9a4 100644 --- a/www/chromium/files/patch-chrome_browser_extensions_api_webstore__private_webstore__private__api.cc +++ b/www/chromium/files/patch-chrome_browser_extensions_api_webstore__private_webstore__private__api.cc @@ -1,11 +1,11 @@ ---- chrome/browser/extensions/api/webstore_private/webstore_private_api.cc.orig 2026-07-01 06:24:19 UTC +--- chrome/browser/extensions/api/webstore_private/webstore_private_api.cc.orig 2026-08-12 09:02:10 UTC +++ chrome/browser/extensions/api/webstore_private/webstore_private_api.cc -@@ -1173,7 +1173,7 @@ void WebstorePrivateBeginInstallWithManifest3Function: +@@ -1180,7 +1180,7 @@ void WebstorePrivateBeginInstallWithManifest3Function: #if BUILDFLAG(IS_CHROMEOS) RequestExtensionApproval(contents); return; -#elif BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_WIN) +#elif BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_WIN) || BUILDFLAG(IS_BSD) // Shows a parental permission dialog directly bypassing the extension // install dialog view. The parental permission dialog contains a superset // of data from the extension install dialog: requested extension diff --git a/www/chromium/files/patch-chrome_browser_web__applications_extensions_extension__status__utils.cc b/www/chromium/files/patch-chrome_browser_extensions_chrome__app__deprecation.cc similarity index 52% rename from www/chromium/files/patch-chrome_browser_web__applications_extensions_extension__status__utils.cc rename to www/chromium/files/patch-chrome_browser_extensions_chrome__app__deprecation.cc index 58373e2831f1..3612a377a2b1 100644 --- a/www/chromium/files/patch-chrome_browser_web__applications_extensions_extension__status__utils.cc +++ b/www/chromium/files/patch-chrome_browser_extensions_chrome__app__deprecation.cc @@ -1,11 +1,11 @@ ---- chrome/browser/web_applications/extensions/extension_status_utils.cc.orig 2026-04-09 06:05:42 UTC -+++ chrome/browser/web_applications/extensions/extension_status_utils.cc -@@ -93,7 +93,7 @@ bool IsExternalExtensionUninstalled(content::BrowserCo - return prefs && prefs->IsExternalExtensionUninstalled(extension_id); - } +--- chrome/browser/extensions/chrome_app_deprecation.cc.orig 2026-08-12 09:02:10 UTC ++++ chrome/browser/extensions/chrome_app_deprecation.cc +@@ -16,7 +16,7 @@ namespace testing { + bool g_enable_chrome_apps_for_testing = false; + } // namespace testing -#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) bool IsExtensionUnsupportedDeprecatedApp(content::BrowserContext* context, const std::string& extension_id) { if (testing::g_enable_chrome_apps_for_testing) { diff --git a/www/chromium/files/patch-chrome_browser_extensions_chrome__app__deprecation.h b/www/chromium/files/patch-chrome_browser_extensions_chrome__app__deprecation.h new file mode 100644 index 000000000000..b6ea52c388a8 --- /dev/null +++ b/www/chromium/files/patch-chrome_browser_extensions_chrome__app__deprecation.h @@ -0,0 +1,11 @@ +--- chrome/browser/extensions/chrome_app_deprecation.h.orig 2026-08-12 09:02:10 UTC ++++ chrome/browser/extensions/chrome_app_deprecation.h +@@ -24,7 +24,7 @@ namespace testing { + extern bool g_enable_chrome_apps_for_testing; + } // namespace testing + +-#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) ++#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) + // Returns whether the extension with `extension_id` is an unsupported + // deprecated app (hosted app, legacy packaged app, or platform app) on + // Windows/Mac/Linux. diff --git a/www/chromium/files/patch-chrome_browser_extensions_component__extensions__allowlist_allowlist.cc b/www/chromium/files/patch-chrome_browser_extensions_component__extensions__allowlist_allowlist.cc index 31836adc3ff0..1f59b3ff918f 100644 --- a/www/chromium/files/patch-chrome_browser_extensions_component__extensions__allowlist_allowlist.cc +++ b/www/chromium/files/patch-chrome_browser_extensions_component__extensions__allowlist_allowlist.cc @@ -1,11 +1,11 @@ ---- chrome/browser/extensions/component_extensions_allowlist/allowlist.cc.orig 2026-06-04 10:12:25 UTC +--- chrome/browser/extensions/component_extensions_allowlist/allowlist.cc.orig 2026-08-12 09:02:10 UTC +++ chrome/browser/extensions/component_extensions_allowlist/allowlist.cc -@@ -53,7 +53,7 @@ bool IsComponentExtensionAllowlisted(const std::string +@@ -55,7 +55,7 @@ bool IsComponentExtensionAllowlisted(const std::string #endif // BUILDFLAG(GOOGLE_CHROME_BRANDING) #endif // BUILDFLAG(IS_CHROMEOS) extension_misc::kReadingModeGDocsHelperExtensionId, -#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) +#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_BSD) extension_misc::kTTSEngineExtensionId, extension_misc::kComponentUpdaterTTSEngineExtensionId, #endif // BUILDFLAG(IS_WIN) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) 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 359538606c04..04a8cdc48b6e 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 2026-07-01 06:24:19 UTC +--- chrome/browser/file_system_access/chrome_file_system_access_permission_context.cc.orig 2026-08-12 09:02:10 UTC +++ chrome/browser/file_system_access/chrome_file_system_access_permission_context.cc -@@ -413,7 +413,7 @@ GenerateBlockPaths(bool should_normalize_file_path) { +@@ -415,7 +415,7 @@ GenerateBlockPaths(bool should_normalize_file_path) { FILE_PATH_LITERAL("Library/Mobile Documents/com~apple~CloudDocs"), BlockType::kDontBlockChildren), #endif -#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_ANDROID) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_ANDROID) || BUILDFLAG(IS_BSD) // On Linux also block access to devices via /dev. BlockPath::CreateAbsolute(FILE_PATH_LITERAL("/dev"), BlockType::kBlockAllChildren), diff --git a/www/chromium/files/patch-chrome_browser_flag__descriptions.h b/www/chromium/files/patch-chrome_browser_flag__descriptions.h index 2a04c9622f0f..f708de446265 100644 --- a/www/chromium/files/patch-chrome_browser_flag__descriptions.h +++ b/www/chromium/files/patch-chrome_browser_flag__descriptions.h @@ -1,21 +1,21 @@ ---- chrome/browser/flag_descriptions.h.orig 2026-07-29 11:06:49 UTC +--- chrome/browser/flag_descriptions.h.orig 2026-08-12 09:02:10 UTC +++ chrome/browser/flag_descriptions.h -@@ -8523,6 +8523,18 @@ inline constexpr char kEnableDlpFileSystemApiDescripti - "Enable DLP upload scan support for FileSystem API-backed cloud storage on " - "ChromeOS."; +@@ -8551,6 +8551,18 @@ inline constexpr char kAntivirusTelemetryForDownloadsD + "Enables antivirus product info to be included in Safe Browsing download " + "pings."; +#if BUILDFLAG(IS_BSD) +inline constexpr char kAudioBackendName[] = + "Audio Backend"; +inline constexpr char kAudioBackendDescription[] = +#if BUILDFLAG(IS_OPENBSD) + "Select the desired audio backend to use. The default is sndio."; +#elif BUILDFLAG(IS_FREEBSD) + "Select the desired audio backend to use. The default will automatically " + "enumerate through the supported backends."; +#endif +#endif + // ============================================================================ // Don't just add flags to the end, put them in the alphabetical order. // ============================================================================ diff --git a/www/chromium/files/patch-chrome_browser_glic_host_glic__page__handler.cc b/www/chromium/files/patch-chrome_browser_glic_host_glic__page__handler.cc deleted file mode 100644 index 0a9830548018..000000000000 --- a/www/chromium/files/patch-chrome_browser_glic_host_glic__page__handler.cc +++ /dev/null @@ -1,11 +0,0 @@ ---- chrome/browser/glic/host/glic_page_handler.cc.orig 2026-07-01 06:24:19 UTC -+++ chrome/browser/glic/host/glic_page_handler.cc -@@ -187,7 +187,7 @@ namespace { - constexpr mojom::Platform kPlatform = mojom::Platform::kMacOS; - #elif BUILDFLAG(IS_WIN) - constexpr mojom::Platform kPlatform = mojom::Platform::kWindows; --#elif BUILDFLAG(IS_LINUX) -+#elif BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) - constexpr mojom::Platform kPlatform = mojom::Platform::kLinux; - #elif BUILDFLAG(IS_CHROMEOS) - constexpr mojom::Platform kPlatform = mojom::Platform::kChromeOS; diff --git a/www/chromium/files/patch-chrome_browser_glic_host_guest__util.cc b/www/chromium/files/patch-chrome_browser_glic_host_guest__util.cc new file mode 100644 index 000000000000..182a56746860 --- /dev/null +++ b/www/chromium/files/patch-chrome_browser_glic_host_guest__util.cc @@ -0,0 +1,11 @@ +--- chrome/browser/glic/host/guest_util.cc.orig 2026-08-12 09:02:10 UTC ++++ chrome/browser/glic/host/guest_util.cc +@@ -391,7 +391,7 @@ mojom::Platform GetGlicPlatform() { + return mojom::Platform::kMacOS; + #elif BUILDFLAG(IS_WIN) + return mojom::Platform::kWindows; +-#elif BUILDFLAG(IS_LINUX) ++#elif BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) + return mojom::Platform::kLinux; + #elif BUILDFLAG(IS_CHROMEOS) + return mojom::Platform::kChromeOS; diff --git a/www/chromium/files/patch-chrome_browser_glic_public_features.cc b/www/chromium/files/patch-chrome_browser_glic_public_features.cc index 86a233b61db8..1cb0956ad349 100644 --- a/www/chromium/files/patch-chrome_browser_glic_public_features.cc +++ b/www/chromium/files/patch-chrome_browser_glic_public_features.cc @@ -1,11 +1,11 @@ ---- chrome/browser/glic/public/features.cc.orig 2026-07-01 06:24:19 UTC +--- chrome/browser/glic/public/features.cc.orig 2026-08-12 09:02:10 UTC +++ chrome/browser/glic/public/features.cc -@@ -64,7 +64,7 @@ BASE_FEATURE(kGlicCreateTabAdjacent, base::FEATURE_ENA +@@ -65,7 +65,7 @@ BASE_FEATURE(kGlicCreateTabAdjacent, base::FEATURE_ENA // When off, disables both live mode and the glic floating panel. BASE_FEATURE(kGlicLiveMode, -#if BUILDFLAG(IS_ANDROID) || BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_ANDROID) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) base::FEATURE_DISABLED_BY_DEFAULT #else base::FEATURE_ENABLED_BY_DEFAULT diff --git a/www/chromium/files/patch-chrome_browser_glic_service_glic__instance__impl.cc b/www/chromium/files/patch-chrome_browser_glic_service_glic__instance__impl.cc index 2eee2cf26fae..23ab13002743 100644 --- a/www/chromium/files/patch-chrome_browser_glic_service_glic__instance__impl.cc +++ b/www/chromium/files/patch-chrome_browser_glic_service_glic__instance__impl.cc @@ -1,20 +1,20 @@ ---- chrome/browser/glic/service/glic_instance_impl.cc.orig 2026-07-01 06:24:19 UTC +--- chrome/browser/glic/service/glic_instance_impl.cc.orig 2026-08-12 09:02:10 UTC +++ chrome/browser/glic/service/glic_instance_impl.cc -@@ -18,7 +18,7 @@ - #include "chrome/browser/actor/actor_keyed_service_factory.h" - #include "chrome/browser/background/glic/glic_launcher_configuration.h" - #include "chrome/browser/browser_process.h" +@@ -72,7 +72,7 @@ + #include "third_party/abseil-cpp/absl/functional/overload.h" + #include "ui/base/l10n/l10n_util.h" + -#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) #include "chrome/browser/enterprise/reporting/saas_usage/saas_usage_reporting_controller_factory.h" #endif - #include "chrome/browser/glic/common/future_browser_features.h" -@@ -132,7 +132,7 @@ EmbedderKey CreateSidePanelEmbedderKey(tabs::TabInterf + +@@ -139,7 +139,7 @@ EmbedderKey CreateSidePanelEmbedderKey(tabs::TabInterf enterprise_reporting::SaasUsageReportingController* GetSaasUsageReportingController(Profile* profile) { -#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) return enterprise_reporting::SaasUsageReportingControllerFactory:: GetForProfile(profile); #else diff --git a/www/chromium/files/patch-chrome_browser_glic_widget_glic__widget.cc b/www/chromium/files/patch-chrome_browser_glic_widget_glic__widget.cc index 38a623410354..ce31908d9483 100644 --- a/www/chromium/files/patch-chrome_browser_glic_widget_glic__widget.cc +++ b/www/chromium/files/patch-chrome_browser_glic_widget_glic__widget.cc @@ -1,47 +1,47 @@ ---- chrome/browser/glic/widget/glic_widget.cc.orig 2026-06-17 07:32:12 UTC +--- chrome/browser/glic/widget/glic_widget.cc.orig 2026-08-12 09:02:10 UTC +++ chrome/browser/glic/widget/glic_widget.cc -@@ -54,7 +54,7 @@ +@@ -53,7 +53,7 @@ #include "ui/views/win/hwnd_util.h" #endif -#if BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) #include "chrome/browser/shell_integration_linux.h" #include "chrome/browser/ui/views/frame/opaque_browser_frame_view_layout.h" #endif -@@ -109,7 +109,7 @@ class GlicClientView : public views::ClientView { +@@ -108,7 +108,7 @@ class GlicClientView : public views::ClientView { GlicView* glic_view() { return static_cast(contents_view()); } }; -#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) class GlicFrameView : public views::NativeFrameView { public: explicit GlicFrameView(views::Widget* widget) -@@ -128,7 +128,7 @@ class GlicFrameView : public views::NativeFrameView { +@@ -127,7 +127,7 @@ class GlicFrameView : public views::NativeFrameView { #if BUILDFLAG(IS_WIN) int resize_border = resize_border = display::win::GetScreenWin()->GetSystemMetricsInDIP(SM_CXSIZEFRAME); -#elif BUILDFLAG(IS_LINUX) +#elif BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) int resize_border = OpaqueBrowserFrameViewLayout::kFrameBorderThickness; #endif const bool can_resize = GetWidget()->widget_delegate()->CanResize(); -@@ -356,7 +356,7 @@ std::unique_ptr GlicWidget::Cre +@@ -358,7 +358,7 @@ std::unique_ptr GlicWidget::Cre return std::make_unique(widget, contents_view); })); -#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) delegate->SetFrameViewFactory(base::BindRepeating( [](views::Widget* widget) -> std::unique_ptr { return std::make_unique(widget); -@@ -436,7 +436,7 @@ std::unique_ptr GlicWidget::Create(views:: +@@ -438,7 +438,7 @@ std::unique_ptr GlicWidget::Create(views:: #if BUILDFLAG(IS_MAC) params.animation_enabled = true; #endif // BUILDFLAG(IS_MAC) -#if BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) params.wm_class_class = shell_integration_linux::GetProgramClassClass(); params.wayland_app_id = params.wm_class_class + "-glic"; #endif // BUILDFLAG(IS_LINUX) diff --git a/www/chromium/files/patch-chrome_browser_global__features.cc b/www/chromium/files/patch-chrome_browser_global__features.cc index 2b378dd5b3e5..8a06981192c5 100644 --- a/www/chromium/files/patch-chrome_browser_global__features.cc +++ b/www/chromium/files/patch-chrome_browser_global__features.cc @@ -1,38 +1,38 @@ ---- chrome/browser/global_features.cc.orig 2026-07-01 06:24:19 UTC +--- chrome/browser/global_features.cc.orig 2026-08-12 09:02:10 UTC +++ chrome/browser/global_features.cc -@@ -38,7 +38,7 @@ - #include "chrome/browser/background/glic/glic_background_mode_manager.h" // nogncheck +@@ -40,7 +40,7 @@ + #include "chrome/browser/ui/tabs/tab_drag_api/desktop_tab_drag_impl/tab_drag_session_desktop_injector.h" #endif -#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) // This causes a gn error on Android builds, because gn does not understand // buildflags, so we include it only on platforms where it is used. #include "chrome/browser/default_browser/default_browser_manager.h" -@@ -175,7 +175,7 @@ void GlobalFeatures::PostBrowserProcessInitCore() { - *g_browser_process, g_browser_process); +@@ -184,7 +184,7 @@ void GlobalFeatures::PostBrowserProcessInitCore() { } + #endif system_permissions_platform_handle_ = CreateSystemPermissionsPlatformHandle(); -#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) // TODO(crbug.com/463742800): Migrate WhatsNewRegistry (and other non-core // features) to Init(). whats_new_registry_ = CreateWhatsNewRegistry(); -@@ -249,7 +249,7 @@ void GlobalFeatures::PostMainMessageLoopRun() { - +@@ -259,7 +259,7 @@ void GlobalFeatures::PostMainMessageLoopRun() { application_advanced_protection_status_detector_.reset(); + tab_drag_session_manager_.reset(); -#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) DefaultBrowserPromptManager::GetInstance()->CloseAllPrompts( DefaultBrowserPromptManager::CloseReason::kDismiss); #endif -@@ -268,7 +268,7 @@ GlobalFeatures::CreateSystemPermissionsPlatformHandle( +@@ -278,7 +278,7 @@ GlobalFeatures::CreateSystemPermissionsPlatformHandle( return system_permission_settings::PlatformHandle::Create(); } -#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) std::unique_ptr GlobalFeatures::CreateWhatsNewRegistry() { return whats_new::CreateWhatsNewRegistry(); diff --git a/www/chromium/files/patch-chrome_browser_global__features.h b/www/chromium/files/patch-chrome_browser_global__features.h index 18214811ca5c..efaf02abe9ed 100644 --- a/www/chromium/files/patch-chrome_browser_global__features.h +++ b/www/chromium/files/patch-chrome_browser_global__features.h @@ -1,38 +1,38 @@ ---- chrome/browser/global_features.h.orig 2026-07-01 06:24:19 UTC +--- chrome/browser/global_features.h.orig 2026-08-12 09:02:10 UTC +++ chrome/browser/global_features.h -@@ -23,7 +23,7 @@ class GlobalBrowserCollection; +@@ -25,7 +25,7 @@ class GlobalBrowserCollection; namespace system_permission_settings { class PlatformHandle; } // namespace system_permission_settings -#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) namespace whats_new { class WhatsNewRegistry; } // namespace whats_new -@@ -137,7 +137,7 @@ class GlobalFeatures { +@@ -143,7 +143,7 @@ class GlobalFeatures { system_permissions_platform_handle() { return system_permissions_platform_handle_.get(); } -#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) whats_new::WhatsNewRegistry* whats_new_registry() { return whats_new_registry_.get(); } -@@ -209,7 +209,7 @@ class GlobalFeatures { +@@ -219,7 +219,7 @@ class GlobalFeatures { virtual std::unique_ptr CreateSystemPermissionsPlatformHandle(); -#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) virtual std::unique_ptr CreateWhatsNewRegistry(); #endif virtual std::unique_ptr -@@ -225,7 +225,7 @@ class GlobalFeatures { +@@ -235,7 +235,7 @@ class GlobalFeatures { std::unique_ptr system_permissions_platform_handle_; -#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) std::unique_ptr whats_new_registry_; std::unique_ptr diff --git a/www/chromium/files/patch-chrome_browser_headless_headless__mode__init.cc b/www/chromium/files/patch-chrome_browser_headless_headless__mode__init.cc index 13c50d495d23..7779355e5b90 100644 --- a/www/chromium/files/patch-chrome_browser_headless_headless__mode__init.cc +++ b/www/chromium/files/patch-chrome_browser_headless_headless__mode__init.cc @@ -1,29 +1,29 @@ ---- chrome/browser/headless/headless_mode_init.cc.orig 2026-06-04 10:12:25 UTC +--- chrome/browser/headless/headless_mode_init.cc.orig 2026-08-12 09:02:10 UTC +++ chrome/browser/headless/headless_mode_init.cc @@ -11,7 +11,7 @@ // New headless mode is available on Linux, Windows and Mac platforms. // More platforms will be added later, so avoid function level clutter // by providing stub implementations at the end of the file. -#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_BSD) #include "base/base_switches.h" #include "base/command_line.h" -@@ -23,7 +23,7 @@ +@@ -24,7 +24,7 @@ #include "chrome/common/chrome_switches.h" #include "content/public/common/content_switches.h" -#if BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) #include "ui/gl/gl_switches.h" // nogncheck #include "ui/ozone/public/ozone_switches.h" // nogncheck #endif -@@ -92,7 +92,7 @@ class HeadlessModeHandleImpl : public HeadlessModeHand +@@ -93,7 +93,7 @@ class HeadlessModeHandleImpl : public HeadlessModeHand command_line.AppendSwitchPath(switches::kUserDataDir, user_data_dir); } -#if BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) // Headless mode on Linux relies on ozone/headless platform. command_line.AppendSwitchASCII(::switches::kOzonePlatform, switches::kHeadless); diff --git a/www/chromium/files/patch-chrome_browser_media_router_discovery_BUILD.gn b/www/chromium/files/patch-chrome_browser_media_router_discovery_BUILD.gn index 082059ab795c..2db97eb62816 100644 --- a/www/chromium/files/patch-chrome_browser_media_router_discovery_BUILD.gn +++ b/www/chromium/files/patch-chrome_browser_media_router_discovery_BUILD.gn @@ -1,11 +1,11 @@ ---- chrome/browser/media/router/discovery/BUILD.gn.orig 2025-09-06 10:01:20 UTC +--- chrome/browser/media/router/discovery/BUILD.gn.orig 2026-08-12 09:02:10 UTC +++ chrome/browser/media/router/discovery/BUILD.gn -@@ -81,7 +81,7 @@ static_library("discovery") { +@@ -82,7 +82,7 @@ static_library("discovery") { ] configs += [ "//build/config/compiler:wexit_time_destructors" ] - if (is_linux || is_chromeos) { + if ((is_linux || is_chromeos) && !is_bsd) { sources += [ "discovery_network_list_wifi_linux.cc" ] } diff --git a/www/chromium/files/patch-chrome_browser_media_webrtc_desktop__media__picker__controller.cc b/www/chromium/files/patch-chrome_browser_media_webrtc_desktop__media__picker__controller.cc index c298a3d9075c..9e5584b9af19 100644 --- a/www/chromium/files/patch-chrome_browser_media_webrtc_desktop__media__picker__controller.cc +++ b/www/chromium/files/patch-chrome_browser_media_webrtc_desktop__media__picker__controller.cc @@ -1,11 +1,11 @@ ---- chrome/browser/media/webrtc/desktop_media_picker_controller.cc.orig 2026-02-11 09:05:39 UTC +--- chrome/browser/media/webrtc/desktop_media_picker_controller.cc.orig 2026-08-12 09:02:10 UTC +++ chrome/browser/media/webrtc/desktop_media_picker_controller.cc -@@ -100,7 +100,7 @@ bool DesktopMediaPickerController::IsSystemAudioCaptur +@@ -99,7 +99,7 @@ bool DesktopMediaPickerController::IsSystemAudioCaptur base::FeatureList::IsEnabled( media::kMacCatapLoopbackAudioForScreenShare)); } -#elif BUILDFLAG(IS_LINUX) +#elif BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) if (request_source == Params::RequestSource::kCast) { return base::FeatureList::IsEnabled(media::kPulseaudioLoopbackForCast); } else { diff --git a/www/chromium/files/patch-chrome_browser_media_webrtc_webrtc__logging__controller.cc b/www/chromium/files/patch-chrome_browser_media_webrtc_webrtc__logging__controller.cc index c14b482fcb37..21a536dca098 100644 --- a/www/chromium/files/patch-chrome_browser_media_webrtc_webrtc__logging__controller.cc +++ b/www/chromium/files/patch-chrome_browser_media_webrtc_webrtc__logging__controller.cc @@ -1,20 +1,20 @@ ---- chrome/browser/media/webrtc/webrtc_logging_controller.cc.orig 2026-06-04 10:12:25 UTC +--- chrome/browser/media/webrtc/webrtc_logging_controller.cc.orig 2026-08-12 09:02:10 UTC +++ chrome/browser/media/webrtc/webrtc_logging_controller.cc @@ -30,7 +30,7 @@ #include "net/base/schemeful_site.h" #include "url/origin.h" -#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_ANDROID) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_ANDROID) || BUILDFLAG(IS_BSD) #include "content/public/browser/child_process_security_policy.h" #include "storage/browser/file_system/isolated_context.h" #endif // BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || -@@ -330,7 +330,7 @@ WebRtcLoggingController::GetLogMessageCallback() { +@@ -328,7 +328,7 @@ WebRtcLoggingController::GetLogMessageCallback() { return text_log_handler_->GetLogMessageCallback(); } -#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_ANDROID) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_ANDROID) || BUILDFLAG(IS_BSD) void WebRtcLoggingController::GetLogsDirectory( LogsDirectoryCallback callback, LogsDirectoryErrorCallback error_callback) { diff --git a/www/chromium/files/patch-chrome_browser_metrics_BUILD.gn b/www/chromium/files/patch-chrome_browser_metrics_BUILD.gn index e1a80b774e11..8035596090a1 100644 --- a/www/chromium/files/patch-chrome_browser_metrics_BUILD.gn +++ b/www/chromium/files/patch-chrome_browser_metrics_BUILD.gn @@ -1,38 +1,38 @@ ---- chrome/browser/metrics/BUILD.gn.orig 2026-07-01 06:24:19 UTC +--- chrome/browser/metrics/BUILD.gn.orig 2026-08-12 09:02:10 UTC +++ chrome/browser/metrics/BUILD.gn @@ -210,7 +210,7 @@ source_set("metrics") { ] } - if (is_linux || is_chromeos) { + if (!is_bsd && (is_linux || is_chromeos)) { public += [ "bluetooth_metrics_provider.h" ] } @@ -221,7 +221,7 @@ source_set("metrics") { ] } - if (is_win || is_android || is_linux) { + if (!is_bsd && (is_win || is_android || is_linux)) { public += [ "chrome_metrics_service_crash_reporter.h" ] } -@@ -473,7 +473,7 @@ source_set("impl") { +@@ -476,7 +476,7 @@ source_set("impl") { sources += [ "structured/chrome_structured_metrics_delegate.cc" ] } - if (is_linux || is_chromeos) { + if (!is_bsd && (is_linux || is_chromeos)) { sources += [ "bluetooth_metrics_provider.cc" ] } -@@ -488,7 +488,7 @@ source_set("impl") { +@@ -491,7 +491,7 @@ source_set("impl") { deps += [ "//chrome/browser/updates:update_metrics" ] } - if (is_win || is_android || is_linux) { + if (!is_bsd && (is_win || is_android || is_linux)) { sources += [ "chrome_metrics_service_crash_reporter.cc" ] } 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 a6d985a0300c..634e5d26850c 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,83 +1,83 @@ ---- chrome/browser/metrics/chrome_metrics_service_client.cc.orig 2026-07-01 06:24:19 UTC +--- chrome/browser/metrics/chrome_metrics_service_client.cc.orig 2026-08-12 09:02:10 UTC +++ chrome/browser/metrics/chrome_metrics_service_client.cc -@@ -201,7 +201,7 @@ +@@ -200,7 +200,7 @@ #include "chrome/browser/metrics/power/power_metrics_provider_mac.h" #endif -#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) #include "components/metrics/motherboard_metrics_provider.h" #endif -@@ -213,7 +213,7 @@ +@@ -212,7 +212,7 @@ #include "chrome/browser/metrics/bluetooth_metrics_provider.h" #endif // BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) -#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) #include "chrome/browser/updates/update_metrics_provider.h" #endif // BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) -@@ -542,7 +542,7 @@ void ChromeMetricsServiceClient::RegisterPrefs(PrefReg +@@ -541,7 +541,7 @@ void ChromeMetricsServiceClient::RegisterPrefs(PrefReg #endif // BUILDFLAG(IS_CHROMEOS) #if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || \ - BUILDFLAG(IS_MAC) + BUILDFLAG(IS_MAC) || BUILDFLAG(IS_BSD) metrics::structured::StructuredMetricsService::RegisterPrefs(registry); #if !BUILDFLAG(IS_CHROMEOS) -@@ -739,7 +739,7 @@ void ChromeMetricsServiceClient::Initialize() { +@@ -738,7 +738,7 @@ void ChromeMetricsServiceClient::Initialize() { this, local_state); } #if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) || \ - BUILDFLAG(IS_CHROMEOS) + BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) metrics::structured::Recorder::GetInstance()->SetUiTaskRunner( base::SequencedTaskRunner::GetCurrentDefault()); #endif -@@ -799,7 +799,7 @@ void ChromeMetricsServiceClient::RegisterMetricsServic +@@ -798,7 +798,7 @@ void ChromeMetricsServiceClient::RegisterMetricsServic metrics_service_->RegisterMetricsProvider( std::make_unique()); -#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) metrics_service_->RegisterMetricsProvider( std::make_unique()); #endif -@@ -899,7 +899,7 @@ void ChromeMetricsServiceClient::RegisterMetricsServic +@@ -898,7 +898,7 @@ void ChromeMetricsServiceClient::RegisterMetricsServic std::make_unique()); #endif -#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) metrics_service_->RegisterMetricsProvider( std::make_unique()); #endif // BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) -@@ -1009,7 +1009,7 @@ void ChromeMetricsServiceClient::RegisterMetricsServic +@@ -1008,7 +1008,7 @@ void ChromeMetricsServiceClient::RegisterMetricsServic std::make_unique()); #endif -#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) metrics_service_->RegisterMetricsProvider( metrics::CreateDesktopSessionMetricsProvider()); metrics_service_->RegisterMetricsProvider( -@@ -1215,7 +1215,7 @@ bool ChromeMetricsServiceClient::RegisterForProfileEve +@@ -1214,7 +1214,7 @@ bool ChromeMetricsServiceClient::RegisterForProfileEve } #endif -#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) // This creates the DesktopProfileSessionDurationsServices if it didn't exist // already. metrics::DesktopProfileSessionDurationsServiceFactory::GetForBrowserContext( -@@ -1590,7 +1590,7 @@ void ChromeMetricsServiceClient::CreateStructuredMetri +@@ -1564,7 +1564,7 @@ void ChromeMetricsServiceClient::CreateStructuredMetri recorder = std::make_unique( cros_system_profile_provider_.get()); -#elif BUILDFLAG(IS_WIN) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) +#elif BUILDFLAG(IS_WIN) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_BSD) // Make sure that Structured Metrics recording delegates have been created // before the service is created. This is handled in other places for ChromeOS diff --git a/www/chromium/files/patch-chrome_browser_net_system__network__context__manager.cc b/www/chromium/files/patch-chrome_browser_net_system__network__context__manager.cc index dcc064d07e62..cb5c4dd0e1aa 100644 --- a/www/chromium/files/patch-chrome_browser_net_system__network__context__manager.cc +++ b/www/chromium/files/patch-chrome_browser_net_system__network__context__manager.cc @@ -1,138 +1,138 @@ ---- chrome/browser/net/system_network_context_manager.cc.orig 2026-07-01 06:24:19 UTC +--- chrome/browser/net/system_network_context_manager.cc.orig 2026-08-12 09:02:10 UTC +++ chrome/browser/net/system_network_context_manager.cc -@@ -138,7 +138,7 @@ enum class NetworkSandboxState { +@@ -139,7 +139,7 @@ enum class NetworkSandboxState { // The global instance of the SystemNetworkContextManager. SystemNetworkContextManager* g_system_network_context_manager = nullptr; -#if BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) // Whether kerberos library loading will work in the network service due to the // sandbox. bool g_network_service_will_allow_gssapi_library_load = false; -@@ -146,7 +146,7 @@ bool g_network_service_will_allow_gssapi_library_load +@@ -147,7 +147,7 @@ bool g_network_service_will_allow_gssapi_library_load const char* kGssapiDesiredPref = #if BUILDFLAG(IS_CHROMEOS) ash::prefs::kKerberosEnabled; -#elif BUILDFLAG(IS_LINUX) +#elif BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) prefs::kReceivedHttpAuthNegotiateHeader; #endif #endif // BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_LINUX) -@@ -192,7 +192,7 @@ network::mojom::HttpAuthDynamicParamsPtr CreateHttpAut +@@ -193,7 +193,7 @@ network::mojom::HttpAuthDynamicParamsPtr CreateHttpAut auth_dynamic_params->basic_over_http_enabled = local_state->GetBoolean(prefs::kBasicAuthOverHttpEnabled); -#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_CHROMEOS) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) auth_dynamic_params->delegate_by_kdc_policy = local_state->GetBoolean(prefs::kAuthNegotiateDelegateByKdcPolicy); #endif // BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_CHROMEOS) -@@ -207,7 +207,7 @@ network::mojom::HttpAuthDynamicParamsPtr CreateHttpAut +@@ -208,7 +208,7 @@ network::mojom::HttpAuthDynamicParamsPtr CreateHttpAut local_state->GetString(prefs::kAuthAndroidNegotiateAccountType); #endif // BUILDFLAG(IS_ANDROID) -#if BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) auth_dynamic_params->allow_gssapi_library_load = local_state->GetBoolean(kGssapiDesiredPref); #endif // BUILDFLAG(IS_CHROMEOS) -@@ -217,7 +217,7 @@ network::mojom::HttpAuthDynamicParamsPtr CreateHttpAut +@@ -218,7 +218,7 @@ network::mojom::HttpAuthDynamicParamsPtr CreateHttpAut void OnNewHttpAuthDynamicParams( network::mojom::HttpAuthDynamicParamsPtr& params) { -#if BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) // The kerberos library is incompatible with the network service sandbox, so // if library loading is now enabled, the network service needs to be // restarted. It will be restarted unsandboxed because is -@@ -265,11 +265,11 @@ NetworkSandboxState IsNetworkSandboxEnabledInternal() +@@ -266,11 +266,11 @@ NetworkSandboxState IsNetworkSandboxEnabledInternal() // it is not always initialized. CHECK_IS_TEST(); } -#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) auto* local_state = g_browser_process->local_state(); #endif -#if BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) // The network service sandbox and the kerberos library are incompatible. // If kerberos is enabled by policy, disable the network service sandbox. if (g_network_service_will_allow_gssapi_library_load || -@@ -285,7 +285,7 @@ NetworkSandboxState IsNetworkSandboxEnabledInternal() +@@ -286,7 +286,7 @@ NetworkSandboxState IsNetworkSandboxEnabledInternal() } #endif // BUILDFLAG(IS_WIN) -#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) if (local_state && local_state->HasPrefPath(prefs::kNetworkServiceSandboxEnabled)) { return local_state->GetBoolean(prefs::kNetworkServiceSandboxEnabled) -@@ -590,7 +590,7 @@ void SystemNetworkContextManager::DeleteInstance() { +@@ -591,7 +591,7 @@ void SystemNetworkContextManager::DeleteInstance() { g_system_network_context_manager = nullptr; } -#if BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) SystemNetworkContextManager::GssapiLibraryLoadObserver:: GssapiLibraryLoadObserver(SystemNetworkContextManager* owner) : owner_(owner) {} -@@ -649,7 +649,7 @@ SystemNetworkContextManager::SystemNetworkContextManag +@@ -650,7 +650,7 @@ SystemNetworkContextManager::SystemNetworkContextManag pref_change_registrar_.Add(prefs::kAllHttpAuthSchemesAllowedForOrigins, auth_pref_callback); -#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_CHROMEOS) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) pref_change_registrar_.Add(prefs::kAuthNegotiateDelegateByKdcPolicy, auth_pref_callback); #endif // BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_CHROMEOS) -@@ -663,7 +663,7 @@ SystemNetworkContextManager::SystemNetworkContextManag +@@ -664,7 +664,7 @@ SystemNetworkContextManager::SystemNetworkContextManag auth_pref_callback); #endif // BUILDFLAG(IS_ANDROID) -#if BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) pref_change_registrar_.Add(kGssapiDesiredPref, auth_pref_callback); #endif // BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_LINUX) -@@ -735,7 +735,7 @@ void SystemNetworkContextManager::RegisterPrefs(PrefRe +@@ -736,7 +736,7 @@ void SystemNetworkContextManager::RegisterPrefs(PrefRe registry->RegisterStringPref(prefs::kAuthNegotiateDelegateAllowlist, std::string()); -#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_CHROMEOS) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) registry->RegisterBooleanPref(prefs::kAuthNegotiateDelegateByKdcPolicy, false); #endif // BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_CHROMEOS) -@@ -765,11 +765,11 @@ void SystemNetworkContextManager::RegisterPrefs(PrefRe +@@ -766,11 +766,11 @@ void SystemNetworkContextManager::RegisterPrefs(PrefRe registry->RegisterListPref(prefs::kExplicitlyAllowedNetworkPorts); -#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) registry->RegisterBooleanPref(prefs::kNetworkServiceSandboxEnabled, true); #endif // BUILDFLAG(IS_WIN) || BUILDFLAG(IS_LINUX) -#if BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) registry->RegisterBooleanPref(prefs::kReceivedHttpAuthNegotiateHeader, false); #endif // BUILDFLAG(IS_LINUX) -@@ -826,7 +826,7 @@ void SystemNetworkContextManager::OnNetworkServiceCrea +@@ -827,7 +827,7 @@ void SystemNetworkContextManager::OnNetworkServiceCrea OnNewHttpAuthDynamicParams(http_auth_dynamic_params); network_service->ConfigureHttpAuthPrefs(std::move(http_auth_dynamic_params)); -#if BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) gssapi_library_loader_observer_.Install(network_service); #endif // BUILDFLAG(IS_LINUX) -@@ -1072,7 +1072,7 @@ bool SystemNetworkContextManager::IsNetworkSandboxEnab +@@ -1078,7 +1078,7 @@ bool SystemNetworkContextManager::IsNetworkSandboxEnab break; } -#if BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) if (!enabled) { g_network_service_will_allow_gssapi_library_load = true; } diff --git a/www/chromium/files/patch-chrome_browser_new__tab__page_modules_file__suggestion_drive__service.cc b/www/chromium/files/patch-chrome_browser_new__tab__page_modules_file__suggestion_drive__service.cc index 0892707f5d04..f0ddef0dcaf9 100644 --- a/www/chromium/files/patch-chrome_browser_new__tab__page_modules_file__suggestion_drive__service.cc +++ b/www/chromium/files/patch-chrome_browser_new__tab__page_modules_file__suggestion_drive__service.cc @@ -1,11 +1,11 @@ ---- chrome/browser/new_tab_page/modules/file_suggestion/drive_service.cc.orig 2026-01-14 08:33:23 UTC +--- chrome/browser/new_tab_page/modules/file_suggestion/drive_service.cc.orig 2026-08-12 09:02:10 UTC +++ chrome/browser/new_tab_page/modules/file_suggestion/drive_service.cc -@@ -37,7 +37,7 @@ +@@ -38,7 +38,7 @@ #include "services/network/public/cpp/resource_request.h" namespace { -#if BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) constexpr char kPlatform[] = "LINUX"; #elif BUILDFLAG(IS_WIN) constexpr char kPlatform[] = "WINDOWS"; diff --git a/www/chromium/files/patch-chrome_browser_new__tab__page_new__tab__page__util.cc b/www/chromium/files/patch-chrome_browser_new__tab__page_new__tab__page__util.cc deleted file mode 100644 index a67e8fa7a3d5..000000000000 --- a/www/chromium/files/patch-chrome_browser_new__tab__page_new__tab__page__util.cc +++ /dev/null @@ -1,11 +0,0 @@ ---- chrome/browser/new_tab_page/new_tab_page_util.cc.orig 2026-04-09 06:05:42 UTC -+++ chrome/browser/new_tab_page/new_tab_page_util.cc -@@ -55,7 +55,7 @@ bool IsOsSupportedForCart() { - } - - bool IsOsSupportedForDrive() { --#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) -+#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) - return true; - #else - return false; diff --git a/www/chromium/files/patch-chrome_browser_password__manager_chrome__password__manager__client.cc b/www/chromium/files/patch-chrome_browser_password__manager_chrome__password__manager__client.cc index bd3168921b64..c520de12a34c 100644 --- a/www/chromium/files/patch-chrome_browser_password__manager_chrome__password__manager__client.cc +++ b/www/chromium/files/patch-chrome_browser_password__manager_chrome__password__manager__client.cc @@ -1,38 +1,38 @@ ---- chrome/browser/password_manager/chrome_password_manager_client.cc.orig 2026-07-01 06:24:19 UTC +--- chrome/browser/password_manager/chrome_password_manager_client.cc.orig 2026-08-12 09:02:10 UTC +++ chrome/browser/password_manager/chrome_password_manager_client.cc -@@ -699,7 +699,7 @@ void ChromePasswordManagerClient::ContinueShowKeyboard +@@ -719,7 +719,7 @@ void ChromePasswordManagerClient::ContinueShowKeyboard bool ChromePasswordManagerClient::IsReauthBeforeFillingRequired( device_reauth::DeviceAuthenticator* authenticator) { #if BUILDFLAG(IS_MAC) || BUILDFLAG(IS_WIN) || BUILDFLAG(IS_LINUX) || \ - BUILDFLAG(IS_CHROMEOS) + BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) if (!GetLocalStatePrefs() || !GetPrefs() || !authenticator) { return false; } -@@ -982,7 +982,7 @@ void ChromePasswordManagerClient::NotifyUserCredential +@@ -1002,7 +1002,7 @@ void ChromePasswordManagerClient::NotifyUserCredential } void ChromePasswordManagerClient::NotifyKeychainError() { -#if BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) PasswordsClientUIDelegate* manage_passwords_ui_controller = PasswordsClientUIDelegateFromWebContents(web_contents()); if (manage_passwords_ui_controller) { -@@ -2065,7 +2065,7 @@ void ChromePasswordManagerClient::HideFillingUI() { +@@ -2087,7 +2087,7 @@ void ChromePasswordManagerClient::HideFillingUI() { bool ChromePasswordManagerClient::IsPasswordManagementEnabledForCurrentPage( const GURL& url) const { #if BUILDFLAG(IS_MAC) || BUILDFLAG(IS_WIN) || BUILDFLAG(IS_LINUX) || \ - BUILDFLAG(IS_CHROMEOS) + BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) if (IsPasswordManagerForUrlDisallowedByPolicy(url)) { return false; } -@@ -2104,7 +2104,7 @@ bool ChromePasswordManagerClient::IsPasswordManagement +@@ -2126,7 +2126,7 @@ bool ChromePasswordManagerClient::IsPasswordManagement } #if BUILDFLAG(IS_MAC) || BUILDFLAG(IS_WIN) || BUILDFLAG(IS_LINUX) || \ - BUILDFLAG(IS_CHROMEOS) + BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) bool ChromePasswordManagerClient::IsPasswordManagerForUrlDisallowedByPolicy( const GURL& url) const { if (!GetPrefs() || !GetPrefs()->HasPrefPath( diff --git a/www/chromium/files/patch-chrome_browser_picture__in__picture_picture__in__picture__window__manager.cc b/www/chromium/files/patch-chrome_browser_picture__in__picture_picture__in__picture__window__manager.cc index 3675747df88f..c78368a4f11e 100644 --- a/www/chromium/files/patch-chrome_browser_picture__in__picture_picture__in__picture__window__manager.cc +++ b/www/chromium/files/patch-chrome_browser_picture__in__picture_picture__in__picture__window__manager.cc @@ -1,20 +1,20 @@ ---- chrome/browser/picture_in_picture/picture_in_picture_window_manager.cc.orig 2026-06-04 10:12:25 UTC +--- chrome/browser/picture_in_picture/picture_in_picture_window_manager.cc.orig 2026-08-12 09:02:10 UTC +++ chrome/browser/picture_in_picture/picture_in_picture_window_manager.cc -@@ -21,7 +21,7 @@ - #include "ui/gfx/geometry/resize_utils.h" +@@ -23,7 +23,7 @@ #include "ui/gfx/geometry/size.h" + #if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || \ - BUILDFLAG(IS_CHROMEOS) + BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) #include "components/webapps/isolated_web_apps/scheme.h" #endif // BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || // BUILDFLAG(IS_CHROMEOS) -@@ -587,7 +587,7 @@ void PictureInPictureWindowManager::SetWindowParams(Na +@@ -590,7 +590,7 @@ void PictureInPictureWindowManager::SetWindowParams(Na bool PictureInPictureWindowManager::IsSupportedForDocumentPictureInPicture( const GURL& url) { #if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || \ - BUILDFLAG(IS_CHROMEOS) + BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) // Only allow document PiP to be opened if the URL is of a type that we know // how to display in the title bar. Otherwise, the title bar might be // misleading in certain scenarios. See https://crbug.com/40066780 . diff --git a/www/chromium/files/patch-chrome_browser_policy_chrome__browser__cloud__management__controller__desktop.cc b/www/chromium/files/patch-chrome_browser_policy_chrome__browser__cloud__management__controller__desktop.cc index ce12ac077832..60bd068ad813 100644 --- a/www/chromium/files/patch-chrome_browser_policy_chrome__browser__cloud__management__controller__desktop.cc +++ b/www/chromium/files/patch-chrome_browser_policy_chrome__browser__cloud__management__controller__desktop.cc @@ -1,47 +1,47 @@ ---- chrome/browser/policy/chrome_browser_cloud_management_controller_desktop.cc.orig 2026-06-04 10:12:25 UTC +--- chrome/browser/policy/chrome_browser_cloud_management_controller_desktop.cc.orig 2026-08-12 09:02:10 UTC +++ chrome/browser/policy/chrome_browser_cloud_management_controller_desktop.cc @@ -59,7 +59,7 @@ #include "chrome/browser/policy/browser_dm_token_storage_mac.h" #endif // BUILDFLAG(IS_MAC) -#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) #include "chrome/browser/policy/browser_dm_token_storage_linux.h" #endif // BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) @@ -68,7 +68,7 @@ #include "chrome/install_static/install_util.h" #endif // BUILDFLAG(IS_WIN) -#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) +#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_BSD) #include "chrome/browser/enterprise/client_certificates/browser_context_delegate.h" #include "chrome/browser/enterprise/client_certificates/cert_utils.h" #include "chrome/browser/enterprise/connectors/device_trust/key_management/browser/device_trust_key_manager_impl.h" -@@ -115,7 +115,7 @@ void ChromeBrowserCloudManagementControllerDesktop:: +@@ -116,7 +116,7 @@ void ChromeBrowserCloudManagementControllerDesktop:: #if BUILDFLAG(IS_MAC) storage_delegate = std::make_unique(); -#elif BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) +#elif BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) storage_delegate = std::make_unique(); #elif BUILDFLAG(IS_WIN) storage_delegate = std::make_unique(); -@@ -292,7 +292,7 @@ ChromeBrowserCloudManagementControllerDesktop::CreateC +@@ -300,7 +300,7 @@ ChromeBrowserCloudManagementControllerDesktop::CreateC std::unique_ptr ChromeBrowserCloudManagementControllerDesktop::CreateDeviceTrustKeyManager() { -#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) +#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_BSD) auto* browser_dm_token_storage = BrowserDMTokenStorage::Get(); auto* device_management_service = GetDeviceManagementService(); auto shared_url_loader_factory = GetSharedURLLoaderFactory(); -@@ -314,7 +314,7 @@ ChromeBrowserCloudManagementControllerDesktop::CreateD +@@ -322,7 +322,7 @@ ChromeBrowserCloudManagementControllerDesktop::CreateD std::unique_ptr ChromeBrowserCloudManagementControllerDesktop:: CreateCertificateProvisioningService() { -#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) +#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_BSD) if (!certificate_store_) { certificate_store_ = std::make_unique( 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 f04c3e8fe854..95f089bbd9d8 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,251 +1,251 @@ ---- chrome/browser/policy/configuration_policy_handler_list_factory.cc.orig 2026-07-01 06:24:19 UTC +--- chrome/browser/policy/configuration_policy_handler_list_factory.cc.orig 2026-08-12 09:02:10 UTC +++ chrome/browser/policy/configuration_policy_handler_list_factory.cc -@@ -261,7 +261,7 @@ +@@ -265,7 +265,7 @@ #include "components/spellcheck/browser/pref_names.h" #endif // BUILDFLAG(ENABLE_SPELLCHECK) -#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) #include "chrome/browser/browser_switcher/browser_switcher_prefs.h" #include "chrome/browser/enterprise/idle/action.h" #include "chrome/browser/enterprise/signin/enterprise_signin_prefs.h" -@@ -271,7 +271,7 @@ +@@ -275,7 +275,7 @@ #endif // BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) #if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || \ - BUILDFLAG(IS_CHROMEOS) + BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) #include "components/enterprise/network_header_injection/core/http_header_injection_policy_handler.h" #endif -@@ -651,7 +651,7 @@ const PolicyToPreferenceMapEntry kSimplePolicyMap[] = +@@ -664,7 +664,7 @@ const PolicyToPreferenceMapEntry kSimplePolicyMap[] = prefs::kManagedDefaultSmartCardConnectSetting, base::Value::Type::INTEGER }, #endif -#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) { key::kDeletingUndecryptablePasswordsEnabled, password_manager::prefs::kDeletingUndecryptablePasswordsEnabled, base::Value::Type::BOOLEAN }, -@@ -1017,7 +1017,7 @@ const PolicyToPreferenceMapEntry kSimplePolicyMap[] = +@@ -1036,7 +1036,7 @@ const PolicyToPreferenceMapEntry kSimplePolicyMap[] = base::Value::Type::LIST }, #endif // BUILDFLAG(ENABLE_EXTENSIONS_CORE) #if BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_WIN) \ - || BUILDFLAG(IS_MAC) + || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_BSD) { key::kRequireOnlineRevocationChecksForLocalAnchors, prefs::kCertRevocationCheckingRequiredLocalAnchors, base::Value::Type::BOOLEAN }, -@@ -1029,7 +1029,7 @@ const PolicyToPreferenceMapEntry kSimplePolicyMap[] = +@@ -1048,7 +1048,7 @@ const PolicyToPreferenceMapEntry kSimplePolicyMap[] = base::Value::Type::LIST }, #endif // #if BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_LINUX) // || BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) -#if BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_WIN) +#if BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_WIN) || BUILDFLAG(IS_BSD) { key::kFullscreenAllowed, prefs::kFullscreenAllowed, base::Value::Type::BOOLEAN }, -@@ -1921,7 +1921,7 @@ const PolicyToPreferenceMapEntry kSimplePolicyMap[] = +@@ -1935,7 +1935,7 @@ const PolicyToPreferenceMapEntry kSimplePolicyMap[] = base::Value::Type::INTEGER}, #endif // BUILDFLAG(IS_CHROMEOS) -#if BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) { key::kGSSAPILibraryName, prefs::kGSSAPILibraryName, base::Value::Type::STRING }, -@@ -1983,7 +1983,7 @@ const PolicyToPreferenceMapEntry kSimplePolicyMap[] = +@@ -2000,7 +2000,7 @@ const PolicyToPreferenceMapEntry kSimplePolicyMap[] = base::Value::Type::BOOLEAN }, #endif // BUILDFLAG(IS_WIN) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_ANDROID) -#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) { key::kNetworkServiceSandboxEnabled, prefs::kNetworkServiceSandboxEnabled, base::Value::Type::BOOLEAN }, -@@ -2003,12 +2003,12 @@ const PolicyToPreferenceMapEntry kSimplePolicyMap[] = +@@ -2020,12 +2020,12 @@ const PolicyToPreferenceMapEntry kSimplePolicyMap[] = prefs::kTotalMemoryLimitMb, base::Value::Type::INTEGER }, #endif // BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) -#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) { key::kBackgroundModeEnabled, prefs::kBackgroundModeEnabled, base::Value::Type::BOOLEAN }, #endif // BUILDFLAG(IS_WIN) || BUILDFLAG(IS_LINUX) -#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) { key::kUnmanagedDeviceSignalsConsentFlowEnabled, device_signals::prefs::kUnmanagedDeviceSignalsConsentFlowEnabled, base::Value::Type::BOOLEAN }, -@@ -2016,7 +2016,7 @@ const PolicyToPreferenceMapEntry kSimplePolicyMap[] = +@@ -2033,7 +2033,7 @@ const PolicyToPreferenceMapEntry kSimplePolicyMap[] = prefs::kProfileSeparationDomainExceptionList, base::Value::Type::LIST }, #endif // BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) -#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) { key::kDefaultBrowserSettingEnabled, prefs::kDefaultBrowserSettingEnabled, base::Value::Type::BOOLEAN }, -@@ -2028,7 +2028,7 @@ const PolicyToPreferenceMapEntry kSimplePolicyMap[] = +@@ -2045,7 +2045,7 @@ const PolicyToPreferenceMapEntry kSimplePolicyMap[] = base::Value::Type::BOOLEAN }, #endif // BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) #if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) \ - || BUILDFLAG(IS_CHROMEOS) + || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) { key::kAutomatedPasswordChangeSettings, optimization_guide::prefs::kAutomatedPasswordChangeEnterprisePolicyAllowed, base::Value::Type::INTEGER }, -@@ -2132,7 +2132,7 @@ const PolicyToPreferenceMapEntry kSimplePolicyMap[] = +@@ -2149,7 +2149,7 @@ const PolicyToPreferenceMapEntry kSimplePolicyMap[] = base::Value::Type::BOOLEAN }, #endif // !BUILDFLAG(IS_ANDROID) && !BUILDFLAG(IS_CHROMEOS) -#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_BSD) { key::kAlternativeBrowserPath, browser_switcher::prefs::kAlternativeBrowserPath, base::Value::Type::STRING }, -@@ -2240,7 +2240,7 @@ const PolicyToPreferenceMapEntry kSimplePolicyMap[] = +@@ -2257,7 +2257,7 @@ const PolicyToPreferenceMapEntry kSimplePolicyMap[] = base::Value::Type::BOOLEAN }, #endif // BUILDFLAG(IS_CHROMEOS) -#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_CHROMEOS) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) { key::kAuthNegotiateDelegateByKdcPolicy, prefs::kAuthNegotiateDelegateByKdcPolicy, base::Value::Type::BOOLEAN }, -@@ -2317,7 +2317,7 @@ const PolicyToPreferenceMapEntry kSimplePolicyMap[] = +@@ -2334,7 +2334,7 @@ const PolicyToPreferenceMapEntry kSimplePolicyMap[] = ash::prefs::kUrlParameterToAutofillSAMLUsername, base::Value::Type::STRING }, #endif // BUILDFLAG(IS_CHROMEOS) -#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) +#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) { key::kNTPFooterExtensionAttributionEnabled, prefs::kNTPFooterExtensionAttributionEnabled, base::Value::Type::BOOLEAN }, -@@ -2357,7 +2357,7 @@ const PolicyToPreferenceMapEntry kSimplePolicyMap[] = +@@ -2374,7 +2374,7 @@ const PolicyToPreferenceMapEntry kSimplePolicyMap[] = prefs::kAndroidEntraSSOEnabled, base::Value::Type::INTEGER }, #endif -#if BUILDFLAG(IS_ANDROID) || BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_ANDROID) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) { key::kOutOfProcessSystemDnsResolutionEnabled, prefs::kOutOfProcessSystemDnsResolutionEnabled, base::Value::Type::BOOLEAN }, -@@ -2400,7 +2400,7 @@ const PolicyToPreferenceMapEntry kSimplePolicyMap[] = +@@ -2417,7 +2417,7 @@ const PolicyToPreferenceMapEntry kSimplePolicyMap[] = base::Value::Type::INTEGER }, #endif #if BUILDFLAG(ENABLE_EXTENSIONS) -#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) { key::kExtensionInstallTypeBlocklist, extensions::pref_names::kExtensionInstallTypeBlocklist, base::Value::Type::LIST}, -@@ -2428,7 +2428,7 @@ const PolicyToPreferenceMapEntry kSimplePolicyMap[] = +@@ -2445,7 +2445,7 @@ const PolicyToPreferenceMapEntry kSimplePolicyMap[] = optimization_guide::prefs::kFindsEnterprisePolicyAllowed, base::Value::Type::INTEGER}, #endif -#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_WIN) || BUILDFLAG(IS_ANDROID) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_WIN) || BUILDFLAG(IS_ANDROID) || BUILDFLAG(IS_BSD) { key::kChromeForTestingAllowed, prefs::kChromeForTestingAllowed, base::Value::Type::BOOLEAN }, -@@ -2511,7 +2511,7 @@ const PolicyToPreferenceMapEntry kSimplePolicyMap[] = +@@ -2535,7 +2535,7 @@ const PolicyToPreferenceMapEntry kSimplePolicyMap[] = policy_prefs::kBuiltInAIAPIsEnabled, base::Value::Type::BOOLEAN }, #endif // BUILDFLAG(IS_ANDROID) -#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_WIN) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_WIN) || BUILDFLAG(IS_BSD) { key::kNTPFooterManagementNoticeEnabled, prefs::kNTPFooterManagementNoticeEnabled, base::Value::Type::BOOLEAN }, -@@ -2522,7 +2522,7 @@ const PolicyToPreferenceMapEntry kSimplePolicyMap[] = - { key::kGeminiActOnWebSettings, - glic::prefs::kGlicActuationOnWeb, +@@ -2546,7 +2546,7 @@ const PolicyToPreferenceMapEntry kSimplePolicyMap[] = + { key::kThirdPartyAiChatSettings, + omnibox::kThirdPartyAiChatSettings, base::Value::Type::INTEGER }, -#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_WIN) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_WIN) || BUILDFLAG(IS_BSD) { key::kEnableProxyOverrideRulesForAllUsers, proxy_config::prefs::kEnableProxyOverrideRulesForAllUsers, base::Value::Type::INTEGER }, -@@ -2703,7 +2703,7 @@ std::unique_ptr BuildH +@@ -2737,7 +2737,7 @@ std::unique_ptr BuildH // Policies for all platforms - End #if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || \ - BUILDFLAG(IS_CHROMEOS) + BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) handlers->AddHandler(std::make_unique( key::kMemorySaverModeSavings, performance_manager::user_tuning::prefs::kMemorySaverModeAggressiveness, -@@ -2857,7 +2857,7 @@ std::unique_ptr BuildH +@@ -2891,7 +2891,7 @@ std::unique_ptr BuildH SimpleSchemaValidatingPolicyHandler::RECOMMENDED_ALLOWED, SimpleSchemaValidatingPolicyHandler::MANDATORY_PROHIBITED)); #if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || \ - BUILDFLAG(IS_CHROMEOS) + BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) handlers->AddHandler( std::make_unique< enterprise_custom_headers::HttpHeaderInjectionPolicyHandler>( -@@ -2982,7 +2982,7 @@ std::unique_ptr BuildH +@@ -3016,7 +3016,7 @@ std::unique_ptr BuildH key::kBrowsingDataLifetime, browsing_data::prefs::kBrowsingDataLifetime, chrome_schema)); -#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_WIN) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_WIN) || BUILDFLAG(IS_BSD) handlers->AddHandler(std::make_unique()); handlers->AddHandler(std::make_unique()); handlers->AddHandler(std::make_unique()); -@@ -3083,7 +3083,7 @@ std::unique_ptr BuildH +@@ -3117,7 +3117,7 @@ std::unique_ptr BuildH std::vector> signin_legacy_policies; #if BUILDFLAG(IS_ANDROID) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_WIN) || \ - BUILDFLAG(IS_LINUX) + BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) signin_legacy_policies.push_back(std::make_unique( key::kForceBrowserSignin, prefs::kForceBrowserSignin, base::Value::Type::BOOLEAN)); -@@ -3100,7 +3100,7 @@ std::unique_ptr BuildH +@@ -3134,7 +3134,7 @@ std::unique_ptr BuildH base::Value::Type::BOOLEAN))); #endif // BUILDFLAG(IS_ANDROID) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_WIN) || // BUILDFLAG(IS_LINUX) -#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) handlers->AddHandler(std::make_unique( std::make_unique( key::kSecuritySignalsClientCertificatesSelectors, -@@ -3471,7 +3471,7 @@ std::unique_ptr BuildH +@@ -3505,7 +3505,7 @@ std::unique_ptr BuildH #endif #if BUILDFLAG(ENABLE_SPELLCHECK) -#if BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_WIN) +#if BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_WIN) || BUILDFLAG(IS_BSD) handlers->AddHandler(std::make_unique()); handlers->AddHandler( std::make_unique( -@@ -3479,7 +3479,7 @@ std::unique_ptr BuildH +@@ -3513,7 +3513,7 @@ std::unique_ptr BuildH #endif // BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_WIN) #endif // BUILDFLAG(ENABLE_SPELLCHECK) -#if BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) handlers->AddHandler(std::make_unique( key::kAllowSystemNotifications, prefs::kAllowSystemNotifications, base::Value::Type::BOOLEAN)); -@@ -3532,7 +3532,7 @@ std::unique_ptr BuildH +@@ -3566,7 +3566,7 @@ std::unique_ptr BuildH std::vector gen_ai_default_policies; #if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || \ - BUILDFLAG(IS_CHROMEOS) + BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) gen_ai_default_policies.emplace_back( key::kHelpMeWriteSettings, optimization_guide::prefs::kComposeEnterprisePolicyAllowed); -@@ -3659,7 +3659,7 @@ std::unique_ptr BuildH +@@ -3703,7 +3703,7 @@ std::unique_ptr BuildH glic::prefs::kGlicActuationOnWebBlockedForURLs)); #if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || \ - BUILDFLAG(IS_CHROMEOS) + BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) handlers->AddHandler(std::make_unique( key::kGeminiEnterpriseSettings, glic::prefs::kGlicGeminiEnterpriseSettings, chrome_schema, SCHEMA_ALLOW_UNKNOWN, diff --git a/www/chromium/files/patch-chrome_browser_policy_developer__tools__policy__checker__factory.cc b/www/chromium/files/patch-chrome_browser_policy_developer__tools__policy__checker__factory.cc index 046a91be0127..398d86dba402 100644 --- a/www/chromium/files/patch-chrome_browser_policy_developer__tools__policy__checker__factory.cc +++ b/www/chromium/files/patch-chrome_browser_policy_developer__tools__policy__checker__factory.cc @@ -1,11 +1,11 @@ ---- chrome/browser/policy/developer_tools_policy_checker_factory.cc.orig 2025-12-05 10:12:50 UTC +--- chrome/browser/policy/developer_tools_policy_checker_factory.cc.orig 2026-08-12 09:02:10 UTC +++ chrome/browser/policy/developer_tools_policy_checker_factory.cc @@ -58,7 +58,7 @@ void DeveloperToolsPolicyCheckerFactory::RegisterProfi - static_cast(DeveloperToolsPolicyHandler::Availability:: + static_cast(DeveloperToolsAvailability:: kDisallowedForForceInstalledExtensions)); #if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_WIN) || \ - BUILDFLAG(IS_CHROMEOS) + BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) registry->RegisterListPref(prefs::kDeveloperToolsAvailabilityAllowlist); registry->RegisterListPref(prefs::kDeveloperToolsAvailabilityBlocklist); #endif 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 f77368065ced..e05907ef0676 100644 --- a/www/chromium/files/patch-chrome_browser_prefs_browser__prefs.cc +++ b/www/chromium/files/patch-chrome_browser_prefs_browser__prefs.cc @@ -1,68 +1,68 @@ ---- chrome/browser/prefs/browser_prefs.cc.orig 2026-07-01 06:24:19 UTC +--- chrome/browser/prefs/browser_prefs.cc.orig 2026-08-12 09:02:10 UTC +++ chrome/browser/prefs/browser_prefs.cc -@@ -336,7 +336,7 @@ +@@ -341,7 +341,7 @@ #include "chrome/browser/devtools/devtools_window.h" #endif // BUILDFLAG(ENABLE_DEVTOOLS_FRONTEND) -#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) #include "chrome/browser/ui/webui/whats_new/whats_new_ui.h" #endif -@@ -524,11 +524,11 @@ +@@ -528,11 +528,11 @@ #endif // BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_ANDROID) #if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || \ - BUILDFLAG(IS_CHROMEOS) + BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) #include "components/device_signals/core/browser/pref_names.h" // nogncheck due to crbug.com/40147906 #endif -#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) #include "chrome/browser/browser_switcher/browser_switcher_prefs.h" #include "chrome/browser/enterprise/signin/enterprise_signin_prefs.h" #endif -@@ -556,7 +556,7 @@ +@@ -560,7 +560,7 @@ #include "chrome/browser/sessions/session_service_log.h" #endif -#if BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) #include "ui/color/system_theme.h" #endif -@@ -1444,7 +1444,7 @@ void RegisterLocalState(PrefRegistrySimple* registry) +@@ -1514,7 +1514,7 @@ void RegisterLocalState(PrefRegistrySimple* registry) on_device_translation::RegisterLocalStatePrefs(registry); #endif // BUILDFLAG(ENABLE_ON_DEVICE_TRANSLATION) -#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) WhatsNewUI::RegisterLocalStatePrefs(registry); #endif -@@ -1608,7 +1608,7 @@ void RegisterLocalState(PrefRegistrySimple* registry) +@@ -1678,7 +1678,7 @@ void RegisterLocalState(PrefRegistrySimple* registry) #endif // BUILDFLAG(ENABLE_PDF_SAVE_TO_DRIVE) #if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_WIN) || \ - BUILDFLAG(IS_ANDROID) + BUILDFLAG(IS_ANDROID) || BUILDFLAG(IS_BSD) registry->RegisterBooleanPref(prefs::kChromeForTestingAllowed, true); #endif -@@ -2019,13 +2019,13 @@ void RegisterProfilePrefs(user_prefs::PrefRegistrySync +@@ -2100,13 +2100,13 @@ void RegisterProfilePrefs(user_prefs::PrefRegistrySync #endif #if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || \ - BUILDFLAG(IS_CHROMEOS) + BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) device_signals::RegisterProfilePrefs(registry); ntp_tiles::EnterpriseShortcutsManagerImpl::RegisterProfilePrefs(registry); #endif // BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || // BUILDFLAG(IS_CHROMEOS) -#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) browser_switcher::BrowserSwitcherPrefs::RegisterProfilePrefs(registry); enterprise_signin::RegisterProfilePrefs(registry); #endif diff --git a/www/chromium/files/patch-chrome_browser_prefs_pref__service__incognito__allowlist.cc b/www/chromium/files/patch-chrome_browser_prefs_pref__service__incognito__allowlist.cc index c79423bcf551..63adc723c59b 100644 --- a/www/chromium/files/patch-chrome_browser_prefs_pref__service__incognito__allowlist.cc +++ b/www/chromium/files/patch-chrome_browser_prefs_pref__service__incognito__allowlist.cc @@ -1,11 +1,11 @@ ---- chrome/browser/prefs/pref_service_incognito_allowlist.cc.orig 2025-04-04 08:52:13 UTC +--- chrome/browser/prefs/pref_service_incognito_allowlist.cc.orig 2026-08-12 09:02:10 UTC +++ chrome/browser/prefs/pref_service_incognito_allowlist.cc -@@ -203,7 +203,7 @@ const char* const kPersistentPrefNames[] = { +@@ -202,7 +202,7 @@ const char* const kPersistentPrefNames[] = { prefs::kShowFullscreenToolbar, #endif -#if BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) // Toggleing custom frames affects all open windows in the profile, hence // should be written to the regular profile when changed in incognito mode. prefs::kUseCustomChromeFrame, diff --git a/www/chromium/files/patch-chrome_browser_printing_print__test__utils.cc b/www/chromium/files/patch-chrome_browser_printing_print__test__utils.cc index f0af75f7d77e..e5d669c49c52 100644 --- a/www/chromium/files/patch-chrome_browser_printing_print__test__utils.cc +++ b/www/chromium/files/patch-chrome_browser_printing_print__test__utils.cc @@ -1,11 +1,11 @@ ---- chrome/browser/printing/print_test_utils.cc.orig 2026-02-11 09:05:39 UTC +--- chrome/browser/printing/print_test_utils.cc.orig 2026-08-12 09:02:10 UTC +++ chrome/browser/printing/print_test_utils.cc -@@ -130,7 +130,7 @@ std::unique_ptr MakeUserModifiedPrintSe +@@ -138,7 +138,7 @@ std::unique_ptr MakeUserModifiedPrintSe data.Set(kMacSystemPrintDialogDataPrintSettings, base::Value::BlobStorage({0xB2})); -#elif BUILDFLAG(IS_LINUX) +#elif BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) data.Set(kLinuxSystemPrintDialogDataPrinter, printer_name); data.Set(kLinuxSystemPrintDialogDataPrintSettings, "print-settings"); data.Set(kLinuxSystemPrintDialogDataPageSetup, "page-setup"); 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 72c4956a5189..e3d842a81388 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,205 +1,214 @@ ---- chrome/browser/profiles/chrome_browser_main_extra_parts_profiles.cc.orig 2026-07-01 06:24:19 UTC +--- chrome/browser/profiles/chrome_browser_main_extra_parts_profiles.cc.orig 2026-08-12 09:02:10 UTC +++ chrome/browser/profiles/chrome_browser_main_extra_parts_profiles.cc -@@ -313,7 +313,7 @@ +@@ -322,7 +322,7 @@ #include "ui/webui/buildflags.h" #if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || \ - BUILDFLAG(IS_CHROMEOS) + BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) #include "chrome/browser/autofill/at_memory_promo_tracker_factory.h" + #include "components/enterprise/network_header_injection/core/features.h" // nogncheck #endif - #if BUILDFLAG(IS_WIN) -@@ -417,7 +417,7 @@ +@@ -437,7 +437,7 @@ #endif #if BUILDFLAG(IS_ANDROID) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) || \ - BUILDFLAG(IS_WIN) + BUILDFLAG(IS_WIN) || BUILDFLAG(IS_BSD) - #include "chrome/browser/enterprise/client_certificates/certificate_provisioning_service_factory.h" - #include "chrome/browser/enterprise/client_certificates/certificate_store_factory.h" #include "chrome/browser/enterprise/idle/idle_service_factory.h" -@@ -467,7 +467,7 @@ + #include "chrome/browser/enterprise/signals/signals_aggregator_factory.h" + #endif +@@ -485,7 +485,7 @@ #endif #if BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) || \ - BUILDFLAG(IS_WIN) + BUILDFLAG(IS_WIN) || BUILDFLAG(IS_BSD) #include "chrome/browser/enterprise/connectors/device_trust/device_trust_connector_service_factory.h" #include "chrome/browser/enterprise/connectors/device_trust/device_trust_service_factory.h" - #include "chrome/browser/ui/tabs/saved_tab_groups/collaboration_messaging_observer_factory.h" -@@ -480,11 +480,11 @@ + #include "chrome/browser/enterprise/network_header_injection/http_header_injection_service_factory.h" // nogncheck +@@ -500,11 +500,11 @@ #include "chrome/browser/webauthn/passkey_unlock_manager_factory.h" #include "device/fido/public/features.h" #endif -#if BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_WIN) +#if BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_WIN) || BUILDFLAG(IS_BSD) #include "chrome/browser/policy/messaging_layer/util/manual_test_heartbeat_event_factory.h" #endif -#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_WIN) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_WIN) || BUILDFLAG(IS_BSD) #include "chrome/browser/browser_switcher/browser_switcher_service_factory.h" #include "chrome/browser/enterprise/reporting/saas_usage/saas_usage_reporting_controller_factory.h" #include "chrome/browser/enterprise/signin/enterprise_signin_service_factory.h" -@@ -572,7 +572,7 @@ +@@ -592,7 +592,7 @@ #include "chrome/browser/sessions/session_service_factory.h" #endif -#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_BSD) #include "chrome/browser/gapis/gapis_service_factory.h" #include "components/gapis/features.h" #endif // BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) -@@ -718,7 +718,7 @@ void ChromeBrowserMainExtraPartsProfiles:: +@@ -739,7 +739,7 @@ void ChromeBrowserMainExtraPartsProfiles:: #if !BUILDFLAG(IS_ANDROID) AutoPictureInPictureHatsServiceFactory::GetInstance(); #endif -#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_WIN) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_WIN) || BUILDFLAG(IS_BSD) AccountsPolicyManagerFactory::GetInstance(); search_integrity::SearchIntegrityFactory::GetInstance(); #endif -@@ -817,7 +817,7 @@ void ChromeBrowserMainExtraPartsProfiles:: +@@ -839,7 +839,7 @@ void ChromeBrowserMainExtraPartsProfiles:: DiceBoundSessionCookieServiceFactory::GetInstance(); #endif #endif -#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_WIN) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_WIN) || BUILDFLAG(IS_BSD) browser_switcher::BrowserSwitcherServiceFactory::GetInstance(); #endif browser_sync::UserEventServiceFactory::GetInstance(); -@@ -881,7 +881,7 @@ void ChromeBrowserMainExtraPartsProfiles:: +@@ -903,7 +903,7 @@ void ChromeBrowserMainExtraPartsProfiles:: collaboration::comments::CommentsServiceFactory::GetInstance(); collaboration::messaging::MessagingBackendServiceFactory::GetInstance(); #if BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) || \ - BUILDFLAG(IS_WIN) + BUILDFLAG(IS_WIN) || BUILDFLAG(IS_BSD) tab_groups::CollaborationMessagingObserverFactory::GetInstance(); #endif commerce::ShoppingServiceFactory::GetInstance(); -@@ -898,7 +898,7 @@ void ChromeBrowserMainExtraPartsProfiles:: +@@ -921,7 +921,7 @@ void ChromeBrowserMainExtraPartsProfiles:: contextual_tasks::ContextualTasksUiServiceFactory::GetInstance(); ContentIndexProviderFactory::GetInstance(); -#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_WIN) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_WIN) || BUILDFLAG(IS_BSD) glic::ContextualCueingServiceFactory::GetInstance(); #endif ContextualSearchServiceFactory::GetInstance(); -@@ -950,7 +950,7 @@ void ChromeBrowserMainExtraPartsProfiles:: +@@ -972,7 +972,7 @@ void ChromeBrowserMainExtraPartsProfiles:: #endif enterprise_connectors::ConnectorsServiceFactory::GetInstance(); #if BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) || \ - BUILDFLAG(IS_WIN) + BUILDFLAG(IS_WIN) || BUILDFLAG(IS_BSD) enterprise_connectors::DeviceTrustConnectorServiceFactory::GetInstance(); enterprise_connectors::DeviceTrustServiceFactory::GetInstance(); #endif -@@ -959,7 +959,7 @@ void ChromeBrowserMainExtraPartsProfiles:: +@@ -981,7 +981,7 @@ void ChromeBrowserMainExtraPartsProfiles:: enterprise_connectors::ExtensionInstallEventRouterFactory::GetInstance(); enterprise_connectors::ExtensionTelemetryEventRouterFactory::GetInstance(); #endif -#if (BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_WIN)) && \ +#if (BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_WIN) || BUILDFLAG(IS_BSD)) && \ BUILDFLAG(ENTERPRISE_LOCAL_CONTENT_ANALYSIS) && \ BUILDFLAG(SAFE_BROWSING_AVAILABLE) enterprise_connectors::LocalBinaryUploadServiceFactory::GetInstance(); -@@ -981,7 +981,7 @@ void ChromeBrowserMainExtraPartsProfiles:: +@@ -996,7 +996,7 @@ void ChromeBrowserMainExtraPartsProfiles:: + } + #endif + #if BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) || \ +- BUILDFLAG(IS_WIN) ++ BUILDFLAG(IS_WIN) || BUILDFLAG(IS_BSD) + if (enterprise_custom_headers::IsHttpHeaderInjectionEnabled()) { + enterprise_custom_headers::HttpHeaderInjectionServiceFactory::GetInstance(); + } +@@ -1010,7 +1010,7 @@ void ChromeBrowserMainExtraPartsProfiles:: enterprise_groups::EnterpriseGroupsProfileHandlerFactory::GetInstance(); #endif #if BUILDFLAG(IS_ANDROID) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) || \ - BUILDFLAG(IS_WIN) + BUILDFLAG(IS_WIN) || BUILDFLAG(IS_BSD) enterprise_idle::IdleServiceFactory::GetInstance(); enterprise_signals::SignalsAggregatorFactory::GetInstance(); #endif -@@ -989,14 +989,14 @@ void ChromeBrowserMainExtraPartsProfiles:: +@@ -1021,14 +1021,14 @@ void ChromeBrowserMainExtraPartsProfiles:: enterprise_reporting::CloudProfileReportingServiceFactory::GetInstance(); #endif enterprise_reporting::LegacyTechServiceFactory::GetInstance(); -#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) enterprise_reporting::SaasUsageReportingControllerFactory::GetInstance(); #endif #if BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) || \ - BUILDFLAG(IS_WIN) || BUILDFLAG(IS_ANDROID) + BUILDFLAG(IS_WIN) || BUILDFLAG(IS_ANDROID) || BUILDFLAG(IS_BSD) enterprise_signals::UserPermissionServiceFactory::GetInstance(); #endif -#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_WIN) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_WIN) || BUILDFLAG(IS_BSD) enterprise_signin::EnterpriseSigninServiceFactory::GetInstance(); #endif - #if BUILDFLAG(ENABLE_SESSION_SERVICE) -@@ -1043,7 +1043,7 @@ void ChromeBrowserMainExtraPartsProfiles:: + #if !BUILDFLAG(IS_ANDROID) +@@ -1078,7 +1078,7 @@ void ChromeBrowserMainExtraPartsProfiles:: #if BUILDFLAG(IS_CHROMEOS) GalleryWatchManager::EnsureFactoryBuilt(); #endif -#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_BSD) if (base::FeatureList::IsEnabled(gapis::kEnableGapis)) { GapisServiceFactory::GetInstance(); } -@@ -1140,7 +1140,7 @@ void ChromeBrowserMainExtraPartsProfiles:: +@@ -1174,7 +1174,7 @@ void ChromeBrowserMainExtraPartsProfiles:: #if BUILDFLAG(IS_ANDROID) MerchantViewerDataManagerFactory::GetInstance(); #endif -#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_WIN) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_WIN) || BUILDFLAG(IS_BSD) metrics::DesktopProfileSessionDurationsServiceFactory::GetInstance(); #endif - ProfileMetricsServiceFactory::GetInstance(); -@@ -1237,7 +1237,7 @@ void ChromeBrowserMainExtraPartsProfiles:: + private_insights::PrivateInsightsServiceFactory::GetInstance(); +@@ -1277,7 +1277,7 @@ void ChromeBrowserMainExtraPartsProfiles:: PasswordCounterFactory::GetInstance(); #endif // !BUILDFLAG(IS_ANDROID) #if BUILDFLAG(IS_MAC) || BUILDFLAG(IS_WIN) || BUILDFLAG(IS_LINUX) || \ - BUILDFLAG(IS_CHROMEOS) + BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) PasswordManagerBlocklistPolicyFactory::GetInstance(); #endif PasswordManagerSettingsServiceFactory::GetInstance(); -@@ -1288,7 +1288,7 @@ void ChromeBrowserMainExtraPartsProfiles:: +@@ -1329,7 +1329,7 @@ void ChromeBrowserMainExtraPartsProfiles:: #if BUILDFLAG(IS_CHROMEOS) policy::PolicyCertServiceFactory::GetInstance(); #endif -#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_WIN) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_WIN) || BUILDFLAG(IS_BSD) policy::ProfileTokenPolicyWebSigninServiceFactory::GetInstance(); #endif policy::UserCloudPolicyInvalidatorFactory::GetInstance(); -@@ -1298,7 +1298,7 @@ void ChromeBrowserMainExtraPartsProfiles:: +@@ -1339,7 +1339,7 @@ void ChromeBrowserMainExtraPartsProfiles:: #else policy::UserPolicySigninServiceFactory::GetInstance(); #endif -#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_WIN) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_WIN) || BUILDFLAG(IS_BSD) policy::UserPolicyOidcSigninServiceFactory::GetInstance(); #endif PredictionModelHandlerProviderFactory::GetInstance(); -@@ -1319,7 +1319,7 @@ void ChromeBrowserMainExtraPartsProfiles:: +@@ -1362,7 +1362,7 @@ void ChromeBrowserMainExtraPartsProfiles:: #if !BUILDFLAG(IS_ANDROID) && !BUILDFLAG(IS_CHROMEOS) ProfileStatisticsFactory::GetInstance(); #endif -#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_WIN) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_WIN) || BUILDFLAG(IS_BSD) ProfileTokenWebSigninInterceptorFactory::GetInstance(); OidcAuthenticationSigninInterceptorFactory::GetInstance(); #endif -@@ -1341,7 +1341,7 @@ void ChromeBrowserMainExtraPartsProfiles:: +@@ -1384,7 +1384,7 @@ void ChromeBrowserMainExtraPartsProfiles:: ReduceAcceptLanguageFactory::GetInstance(); RendererUpdaterFactory::GetInstance(); regional_capabilities::RegionalCapabilitiesServiceFactory::GetInstance(); -#if BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_WIN) +#if BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_WIN) || BUILDFLAG(IS_BSD) reporting::ManualTestHeartbeatEventFactory::GetInstance(); #endif RevokedPermissionsOSNotificationDisplayManagerFactory::GetInstance(); -@@ -1538,7 +1538,7 @@ void ChromeBrowserMainExtraPartsProfiles:: +@@ -1587,7 +1587,7 @@ void ChromeBrowserMainExtraPartsProfiles:: #endif #if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || \ - BUILDFLAG(IS_CHROMEOS) + BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) autofill::AtMemoryPromoTrackerFactory::GetInstance(); #endif diff --git a/www/chromium/files/patch-chrome_browser_profiles_profile__impl.cc b/www/chromium/files/patch-chrome_browser_profiles_profile__impl.cc index ac6820fb5a57..603093231433 100644 --- a/www/chromium/files/patch-chrome_browser_profiles_profile__impl.cc +++ b/www/chromium/files/patch-chrome_browser_profiles_profile__impl.cc @@ -1,67 +1,67 @@ ---- chrome/browser/profiles/profile_impl.cc.orig 2026-07-01 06:24:19 UTC +--- chrome/browser/profiles/profile_impl.cc.orig 2026-08-12 09:02:10 UTC +++ chrome/browser/profiles/profile_impl.cc -@@ -266,7 +266,7 @@ +@@ -269,7 +269,7 @@ #include "chrome/browser/safe_browsing/safe_browsing_service.h" #endif -#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_BSD) #include "chrome/browser/gapis/gapis_service_factory.h" #include "components/gapis/gapis_service.h" #endif // BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) -@@ -275,6 +275,10 @@ +@@ -278,6 +278,10 @@ #include "chrome/browser/themes/theme_service_factory.h" #endif // !BUILDFLAG(IS_ANDROID) +#if BUILDFLAG(IS_BSD) +#include "sandbox/policy/sandbox.h" +#endif + using bookmarks::BookmarkModel; using content::BrowserThread; using content::DownloadManagerDelegate; -@@ -627,7 +631,7 @@ void ProfileImpl::LoadPrefsForNormalStartup(bool async +@@ -639,7 +643,7 @@ void ProfileImpl::LoadPrefsForNormalStartup(bool async policy_provider = GetUserCloudPolicyManagerAsh(); #else // !BUILDFLAG(IS_CHROMEOS) { -#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) if (GetTestingCloudPolicyManagerFactory()) { auto result = GetTestingCloudPolicyManagerFactory().Run(this); if (std::holds_alternative< -@@ -646,7 +650,7 @@ void ProfileImpl::LoadPrefsForNormalStartup(bool async +@@ -658,7 +662,7 @@ void ProfileImpl::LoadPrefsForNormalStartup(bool async #endif // BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) if (!cloud_policy_manager) { -#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) ProfileAttributesEntry* entry = nullptr; if (g_browser_process->profile_manager()) { entry = g_browser_process->profile_manager() -@@ -833,7 +837,7 @@ void ProfileImpl::DoFinalInit(CreateMode create_mode) +@@ -851,7 +855,7 @@ void ProfileImpl::DoFinalInit(CreateMode create_mode) } #endif -#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_BSD) // Bootstrap and initialize the Gapis service. if (gapis::GapisService* gapis_service = GapisServiceFactory::GetForProfile(this)) { -@@ -929,7 +933,17 @@ void ProfileImpl::DoFinalInit(CreateMode create_mode) +@@ -947,7 +951,17 @@ void ProfileImpl::DoFinalInit(CreateMode create_mode) } base::FilePath ProfileImpl::last_selected_directory() { +#if BUILDFLAG(IS_OPENBSD) + // If unveil(2) is used, force the file dialog directory to something we + // know is available. + auto* sandbox = sandbox::policy::SandboxLinux::GetInstance(); + if (sandbox->unveil_initialized()) + return GetPrefs()->GetFilePath(prefs::kDownloadDefaultDirectory); + else + return GetPrefs()->GetFilePath(prefs::kSelectFileLastDirectory); +#else return GetPrefs()->GetFilePath(prefs::kSelectFileLastDirectory); +#endif } void ProfileImpl::set_last_selected_directory(const base::FilePath& path) { 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 f8d22f08a33c..5cca7b1b792b 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,20 +1,20 @@ ---- chrome/browser/renderer_context_menu/render_view_context_menu.cc.orig 2026-07-01 06:24:19 UTC +--- chrome/browser/renderer_context_menu/render_view_context_menu.cc.orig 2026-08-12 09:02:10 UTC +++ chrome/browser/renderer_context_menu/render_view_context_menu.cc -@@ -277,7 +277,7 @@ +@@ -284,7 +284,7 @@ #include "url/origin.h" #if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || \ - BUILDFLAG(IS_CHROMEOS) + BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) #include "components/webapps/isolated_web_apps/scheme.h" #endif // BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || // BUILDFLAG(IS_CHROMEOS) -@@ -5745,7 +5745,7 @@ void RenderViewContextMenu::AppendRevisedTextSelection +@@ -5868,7 +5868,7 @@ void RenderViewContextMenu::AppendRevisedTextSelection } #if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || \ - BUILDFLAG(IS_CHROMEOS) + BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) bool RenderViewContextMenu::IsLinkToIsolatedWebApp() const { // Using `unfiltered_link_url`, because `link_url` is being replaced with // about:blank#blocked if the source is a normal site. 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 34e1ccb2e9ee..7a8a4d28586d 100644 --- a/www/chromium/files/patch-chrome_browser_renderer__preferences__util.cc +++ b/www/chromium/files/patch-chrome_browser_renderer__preferences__util.cc @@ -1,44 +1,44 @@ ---- chrome/browser/renderer_preferences_util.cc.orig 2026-07-01 06:24:19 UTC +--- chrome/browser/renderer_preferences_util.cc.orig 2026-08-12 09:02:10 UTC +++ chrome/browser/renderer_preferences_util.cc -@@ -37,12 +37,12 @@ +@@ -36,12 +36,12 @@ #include "ui/base/ui_base_features.h" #include "ui/native_theme/native_theme.h" -#if defined(USE_AURA) && BUILDFLAG(IS_LINUX) +#if defined(USE_AURA) && (BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)) #include "chrome/browser/themes/theme_service.h" #include "chrome/browser/themes/theme_service_factory.h" #endif -#if BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) #include "ui/linux/linux_ui.h" #endif -@@ -109,7 +109,7 @@ void UpdateFromSystemSettings(blink::RendererPreferenc +@@ -108,7 +108,7 @@ void UpdateFromSystemSettings(blink::RendererPreferenc Profile* profile) { const PrefService* pref_service = profile->GetPrefs(); #if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_ANDROID) || \ - BUILDFLAG(IS_WIN) + BUILDFLAG(IS_WIN) || BUILDFLAG(IS_BSD) content::UpdateFontRendererPreferencesFromSystemSettings(prefs); #endif prefs->focus_ring_color = BUILDFLAG(IS_MAC) ? SkColorSetRGB(0x00, 0x5F, 0xCC) -@@ -123,7 +123,7 @@ void UpdateFromSystemSettings(blink::RendererPreferenc +@@ -122,7 +122,7 @@ void UpdateFromSystemSettings(blink::RendererPreferenc prefs->inactive_selection_fg_color = SK_ColorBLACK; #endif -#if BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) if (auto* linux_ui_theme = ui::LinuxUiTheme::GetForProfile(profile)) { if (ThemeServiceFactory::GetForProfile(profile)->UsingSystemTheme()) { linux_ui_theme->GetFocusRingColor(&prefs->focus_ring_color); -@@ -140,7 +140,7 @@ void UpdateFromSystemSettings(blink::RendererPreferenc +@@ -139,7 +139,7 @@ void UpdateFromSystemSettings(blink::RendererPreferenc #endif // BUILDFLAG(IS_LINUX) #endif // BUILDFLAG(USE_AURA) -#if BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) if (auto* linux_ui = ui::LinuxUi::instance()) { prefs->middle_click_paste_allowed = linux_ui->PrimaryPasteEnabled(); } diff --git a/www/chromium/files/patch-chrome_browser_safe__browsing_chrome__password__protection__service.cc b/www/chromium/files/patch-chrome_browser_safe__browsing_chrome__password__protection__service.cc index 8f66ec2cb579..355464b583c8 100644 --- a/www/chromium/files/patch-chrome_browser_safe__browsing_chrome__password__protection__service.cc +++ b/www/chromium/files/patch-chrome_browser_safe__browsing_chrome__password__protection__service.cc @@ -1,11 +1,11 @@ ---- chrome/browser/safe_browsing/chrome_password_protection_service.cc.orig 2026-07-01 06:24:19 UTC +--- chrome/browser/safe_browsing/chrome_password_protection_service.cc.orig 2026-08-12 09:02:10 UTC +++ chrome/browser/safe_browsing/chrome_password_protection_service.cc -@@ -1385,7 +1385,7 @@ std::string ChromePasswordProtectionService::GetOrgani +@@ -1383,7 +1383,7 @@ std::string ChromePasswordProtectionService::GetOrgani ReusedPasswordAccountType password_type) const { if (base::FeatureList::IsEnabled( safe_browsing::kEnterprisePasswordReuseUiRefresh)) { -#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) return GetPrefs()->GetString(prefs::kEnterpriseCustomLabelForProfile); #else return std::string(); diff --git a/www/chromium/files/patch-chrome_browser_safe__browsing_safe__browsing__service.cc b/www/chromium/files/patch-chrome_browser_safe__browsing_safe__browsing__service.cc index 86ec877ca4af..762becae5f8e 100644 --- a/www/chromium/files/patch-chrome_browser_safe__browsing_safe__browsing__service.cc +++ b/www/chromium/files/patch-chrome_browser_safe__browsing_safe__browsing__service.cc @@ -1,20 +1,20 @@ ---- chrome/browser/safe_browsing/safe_browsing_service.cc.orig 2026-07-01 06:24:19 UTC +--- chrome/browser/safe_browsing/safe_browsing_service.cc.orig 2026-08-12 09:02:10 UTC +++ chrome/browser/safe_browsing/safe_browsing_service.cc @@ -81,7 +81,7 @@ #include "services/preferences/public/mojom/tracked_preference_validation_delegate.mojom.h" #if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_WIN) || \ - BUILDFLAG(IS_MAC) + BUILDFLAG(IS_MAC) || BUILDFLAG(IS_BSD) #include "chrome/browser/safe_browsing/security_settings_bundle_toast_helper.h" #endif -@@ -187,7 +187,7 @@ void TriggerSecuritySettingsBundleToastIfNeeded( +@@ -172,7 +172,7 @@ void TriggerSecuritySettingsBundleToastIfNeeded( } #if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_WIN) || \ - BUILDFLAG(IS_MAC) + BUILDFLAG(IS_MAC) || BUILDFLAG(IS_BSD) if (GetSecurityBundleSetting(*profile->GetPrefs()) == SecuritySettingsBundleSetting::ENHANCED) { SecuritySettingsBundleToastHelper::GetForProfile(profile.get()) diff --git a/www/chromium/files/patch-chrome_browser_screen__ai_screen__ai__install__state.cc b/www/chromium/files/patch-chrome_browser_screen__ai_screen__ai__install__state.cc index ac589c8f5382..d0f0c587aea7 100644 --- a/www/chromium/files/patch-chrome_browser_screen__ai_screen__ai__install__state.cc +++ b/www/chromium/files/patch-chrome_browser_screen__ai_screen__ai__install__state.cc @@ -1,11 +1,11 @@ ---- chrome/browser/screen_ai/screen_ai_install_state.cc.orig 2025-04-04 08:52:13 UTC +--- chrome/browser/screen_ai/screen_ai_install_state.cc.orig 2026-08-12 09:02:10 UTC +++ chrome/browser/screen_ai/screen_ai_install_state.cc -@@ -30,7 +30,7 @@ bool IsDeviceCompatible() { - // TODO(crbug.com/381256355): Update when ScreenAI library is compatible with - // older CPUs. +@@ -28,7 +28,7 @@ bool IsDeviceCompatible() { + // Check if the CPU has the required instruction set to run the Screen AI + // library. static const bool device_compatible = base::CPU().has_sse42(); -#elif BUILDFLAG(IS_LINUX) +#elif BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) // On Linux, the library is only built for X86 CPUs. static constexpr bool device_compatible = false; #else diff --git a/www/chromium/files/patch-chrome_browser_sessions_session__restore.cc b/www/chromium/files/patch-chrome_browser_sessions_session__restore.cc index 8f7702070b79..3e6b5e68712f 100644 --- a/www/chromium/files/patch-chrome_browser_sessions_session__restore.cc +++ b/www/chromium/files/patch-chrome_browser_sessions_session__restore.cc @@ -1,20 +1,20 @@ ---- chrome/browser/sessions/session_restore.cc.orig 2026-07-01 06:24:19 UTC +--- chrome/browser/sessions/session_restore.cc.orig 2026-08-12 09:02:10 UTC +++ chrome/browser/sessions/session_restore.cc -@@ -122,7 +122,7 @@ +@@ -123,7 +123,7 @@ #include "ui/wm/core/scoped_animation_disabler.h" #endif // BUILDFLAG(IS_CHROMEOS) -#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) #include "chrome/browser/ui/webui/whats_new/whats_new_fetcher.h" #endif // BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) -@@ -1291,7 +1291,7 @@ class SessionRestoreImpl : public BrowserCollectionObs +@@ -1295,7 +1295,7 @@ class SessionRestoreImpl : public BrowserCollectionObs bool is_first_tab = true; for (const auto& startup_tab : startup_tabs) { const GURL& url = startup_tab.url; -#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) if (url == whats_new::GetWebUIStartupURL()) { whats_new::StartWhatsNewFetch(browser); continue; diff --git a/www/chromium/files/patch-chrome_browser_signin_signin__hats__util.cc b/www/chromium/files/patch-chrome_browser_signin_signin__hats__util.cc index 4c8a2fac3433..c3115668f6c7 100644 --- a/www/chromium/files/patch-chrome_browser_signin_signin__hats__util.cc +++ b/www/chromium/files/patch-chrome_browser_signin_signin__hats__util.cc @@ -1,29 +1,29 @@ ---- chrome/browser/signin/signin_hats_util.cc.orig 2026-05-07 17:02:56 UTC +--- chrome/browser/signin/signin_hats_util.cc.orig 2026-08-12 09:02:10 UTC +++ chrome/browser/signin/signin_hats_util.cc @@ -45,7 +45,7 @@ namespace { -#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) constexpr char kChannel[] = "Channel"; constexpr char kChromeVersion[] = "Chrome Version"; constexpr char kNumberOfChromeProfiles[] = "Number of Chrome Profiles"; -@@ -224,7 +224,7 @@ void LaunchHatsSurveyForProfileInternal( +@@ -231,7 +231,7 @@ void LaunchHatsSurveyForProfileInternal( Profile* profile, bool defer_if_no_browser, base::OnceCallback data_factory) { -#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) if (!profile || !IsSurveyEnabledForHatsTrigger(trigger)) { return; } -@@ -270,7 +270,7 @@ void LaunchHatsSurveyForProfile(const std::string& tri +@@ -277,7 +277,7 @@ void LaunchHatsSurveyForProfile(const std::string& tri access_point_for_data_type_promo) { LaunchHatsSurveyForProfileInternal( trigger, profile, defer_if_no_browser, -#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) base::BindOnce(&GetSurveyStringData, trigger, profile, access_point_for_data_type_promo) #else diff --git a/www/chromium/files/patch-chrome_browser_signin_signin__util.cc b/www/chromium/files/patch-chrome_browser_signin_signin__util.cc index 0605ebd01098..9dc744e9a857 100644 --- a/www/chromium/files/patch-chrome_browser_signin_signin__util.cc +++ b/www/chromium/files/patch-chrome_browser_signin_signin__util.cc @@ -1,29 +1,29 @@ ---- chrome/browser/signin/signin_util.cc.orig 2026-07-01 06:24:19 UTC +--- chrome/browser/signin/signin_util.cc.orig 2026-08-12 09:02:10 UTC +++ chrome/browser/signin/signin_util.cc -@@ -49,7 +49,7 @@ +@@ -48,7 +48,7 @@ #include "services/network/public/mojom/cookie_manager.mojom.h" #include "ui/base/l10n/l10n_util.h" -#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_WIN) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_WIN) || BUILDFLAG(IS_BSD) #include "chrome/browser/ui/dialogs/browser_dialogs.h" #include "components/strings/grit/components_strings.h" #include "ui/base/interaction/element_identifier.h" -@@ -99,7 +99,7 @@ CookiesMover::CookiesMover(base::WeakPtr sour +@@ -98,7 +98,7 @@ CookiesMover::CookiesMover(base::WeakPtr sour CookiesMover::~CookiesMover() = default; void CookiesMover::StartMovingCookies() { -#if BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_WIN) +#if BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_WIN) || BUILDFLAG(IS_BSD) bool allow_cookies_to_be_moved = base::FeatureList::IsEnabled( profile_management::features::kThirdPartyProfileManagement); #else -@@ -401,7 +401,7 @@ bool IsSyncingUserSelectableTypesAllowedByPolicy( +@@ -400,7 +400,7 @@ bool IsSyncingUserSelectableTypesAllowedByPolicy( return true; } -#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_WIN) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_WIN) || BUILDFLAG(IS_BSD) bool HasExplicitlyDisabledHistorySync( const syncer::SyncService* sync_service, const signin::IdentityManager* identity_manager) { diff --git a/www/chromium/files/patch-chrome_browser_supervised__user_supervised__user__extensions__delegate__impl.cc b/www/chromium/files/patch-chrome_browser_supervised__user_supervised__user__extensions__delegate__impl.cc index bb0ef618b2f2..ee95cfe6530d 100644 --- a/www/chromium/files/patch-chrome_browser_supervised__user_supervised__user__extensions__delegate__impl.cc +++ b/www/chromium/files/patch-chrome_browser_supervised__user_supervised__user__extensions__delegate__impl.cc @@ -1,11 +1,11 @@ ---- chrome/browser/supervised_user/supervised_user_extensions_delegate_impl.cc.orig 2026-07-01 06:24:19 UTC +--- chrome/browser/supervised_user/supervised_user_extensions_delegate_impl.cc.orig 2026-08-12 09:02:10 UTC +++ chrome/browser/supervised_user/supervised_user_extensions_delegate_impl.cc -@@ -198,7 +198,7 @@ void SupervisedUserExtensionsDelegateImpl::RequestExte +@@ -249,7 +249,7 @@ void SupervisedUserExtensionsDelegateImpl::RequestExte return; } } -#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_WIN) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_WIN) || BUILDFLAG(IS_BSD) CHECK(contents.value()); content::WebContents* web_contents = contents.value().get(); // Always invoke the parent permission dialog. diff --git a/www/chromium/files/patch-chrome_browser_sync_chrome__sync__controller__builder.cc b/www/chromium/files/patch-chrome_browser_sync_chrome__sync__controller__builder.cc index 35547fbb0222..b19a44b55e8f 100644 --- a/www/chromium/files/patch-chrome_browser_sync_chrome__sync__controller__builder.cc +++ b/www/chromium/files/patch-chrome_browser_sync_chrome__sync__controller__builder.cc @@ -1,11 +1,11 @@ ---- chrome/browser/sync/chrome_sync_controller_builder.cc.orig 2025-10-30 15:44:36 UTC +--- chrome/browser/sync/chrome_sync_controller_builder.cc.orig 2026-08-12 09:02:10 UTC +++ chrome/browser/sync/chrome_sync_controller_builder.cc -@@ -297,7 +297,7 @@ ChromeSyncControllerBuilder::Build(syncer::SyncService +@@ -327,7 +327,7 @@ ChromeSyncControllerBuilder::Build(syncer::SyncService #if BUILDFLAG(ENABLE_SPELLCHECK) // Chrome prefers OS provided spell checkers where they exist. So only sync // the custom dictionary on platforms that typically don't provide one. -#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_WIN) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_WIN) || BUILDFLAG(IS_BSD) // Dictionary sync is enabled by default. if (spellcheck_service_.value()) { controllers.push_back( diff --git a/www/chromium/files/patch-chrome_browser_sync_sync__service__factory.cc b/www/chromium/files/patch-chrome_browser_sync_sync__service__factory.cc index c3e772eb513c..0403c1853a27 100644 --- a/www/chromium/files/patch-chrome_browser_sync_sync__service__factory.cc +++ b/www/chromium/files/patch-chrome_browser_sync_sync__service__factory.cc @@ -1,20 +1,20 @@ ---- chrome/browser/sync/sync_service_factory.cc.orig 2026-07-01 06:24:19 UTC +--- chrome/browser/sync/sync_service_factory.cc.orig 2026-08-12 09:02:10 UTC +++ chrome/browser/sync/sync_service_factory.cc -@@ -138,7 +138,7 @@ namespace { +@@ -141,7 +141,7 @@ namespace { tab_groups::TabGroupSyncService* GetTabGroupSyncService(Profile* profile) { CHECK(profile); #if BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) || \ - BUILDFLAG(IS_WIN) + BUILDFLAG(IS_WIN) || BUILDFLAG(IS_BSD) tab_groups::TabGroupSyncService* service = tab_groups::TabGroupSyncServiceFactory::GetForProfile(profile); CHECK(service); -@@ -424,7 +424,7 @@ std::unique_ptr BuildSyncService( +@@ -432,7 +432,7 @@ std::unique_ptr BuildSyncService( bool local_sync_backend_enabled = false; // Only check the local sync backend pref on the supported platforms of // Windows, Mac and Linux. -#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) syncer::SyncPrefs prefs(profile->GetPrefs()); local_sync_backend_enabled = prefs.IsLocalSyncEnabled(); base::UmaHistogramBoolean("Sync.Local.Enabled2", local_sync_backend_enabled); diff --git a/www/chromium/files/patch-chrome_browser_themes_theme__service.cc b/www/chromium/files/patch-chrome_browser_themes_theme__service.cc index 1e6b27897268..e27c5c1351ca 100644 --- a/www/chromium/files/patch-chrome_browser_themes_theme__service.cc +++ b/www/chromium/files/patch-chrome_browser_themes_theme__service.cc @@ -1,29 +1,29 @@ ---- chrome/browser/themes/theme_service.cc.orig 2026-05-07 17:02:56 UTC +--- chrome/browser/themes/theme_service.cc.orig 2026-08-12 09:02:10 UTC +++ chrome/browser/themes/theme_service.cc -@@ -75,7 +75,7 @@ +@@ -77,7 +77,7 @@ #include "extensions/browser/extension_registry_observer.h" #endif -#if BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) #include "base/time/time.h" #include "ui/linux/linux_ui.h" #include "ui/linux/linux_ui_factory.h" -@@ -260,7 +260,7 @@ std::unique_ptr ThemeService::Creat +@@ -275,7 +275,7 @@ std::unique_ptr ThemeService::Creat // static void ThemeService::RegisterProfilePrefs( user_prefs::PrefRegistrySyncable* registry) { -#if BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) registry->RegisterIntegerPref(prefs::kSystemTheme, static_cast(ui::GetDefaultSystemTheme())); #endif -@@ -391,7 +391,7 @@ CustomThemeSupplier* ThemeService::GetThemeSupplier() +@@ -406,7 +406,7 @@ CustomThemeSupplier* ThemeService::GetThemeSupplier() } bool ThemeService::ShouldUseCustomFrame() const { -#if BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) if (!ui::OzonePlatform::GetInstance() ->GetPlatformRuntimeProperties() .supports_server_side_window_decorations) { diff --git a/www/chromium/files/patch-chrome_browser_ui_accelerator__table.cc b/www/chromium/files/patch-chrome_browser_ui_accelerator__table.cc index 0db47a9ecf83..afae4e066ee4 100644 --- a/www/chromium/files/patch-chrome_browser_ui_accelerator__table.cc +++ b/www/chromium/files/patch-chrome_browser_ui_accelerator__table.cc @@ -1,43 +1,43 @@ ---- chrome/browser/ui/accelerator_table.cc.orig 2026-06-04 10:12:25 UTC +--- chrome/browser/ui/accelerator_table.cc.orig 2026-08-12 09:02:10 UTC +++ chrome/browser/ui/accelerator_table.cc @@ -77,11 +77,11 @@ const AcceleratorMapping kAcceleratorMap[] = { {ui::VKEY_S, ui::EF_PLATFORM_ACCELERATOR, IDC_SAVE_PAGE}, {ui::VKEY_9, ui::EF_PLATFORM_ACCELERATOR, IDC_SELECT_LAST_TAB}, {ui::VKEY_NUMPAD9, ui::EF_PLATFORM_ACCELERATOR, IDC_SELECT_LAST_TAB}, -#if BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) {ui::VKEY_9, ui::EF_ALT_DOWN, IDC_SELECT_LAST_TAB}, {ui::VKEY_NUMPAD9, ui::EF_ALT_DOWN, IDC_SELECT_LAST_TAB}, #endif // BUILDFLAG(IS_LINUX) -#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_WIN) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_WIN) || BUILDFLAG(IS_BSD) {ui::VKEY_NEXT, ui::EF_CONTROL_DOWN | ui::EF_SHIFT_DOWN, IDC_MOVE_TAB_NEXT}, {ui::VKEY_PRIOR, ui::EF_CONTROL_DOWN | ui::EF_SHIFT_DOWN, IDC_MOVE_TAB_PREVIOUS}, @@ -109,7 +109,7 @@ const AcceleratorMapping kAcceleratorMap[] = { {ui::VKEY_NUMPAD7, ui::EF_PLATFORM_ACCELERATOR, IDC_SELECT_TAB_6}, {ui::VKEY_8, ui::EF_PLATFORM_ACCELERATOR, IDC_SELECT_TAB_7}, {ui::VKEY_NUMPAD8, ui::EF_PLATFORM_ACCELERATOR, IDC_SELECT_TAB_7}, -#if BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_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}, -@@ -161,7 +161,7 @@ const AcceleratorMapping kAcceleratorMap[] = { - IDC_SHOW_AVATAR_MENU}, +@@ -163,7 +163,7 @@ const AcceleratorMapping kAcceleratorMap[] = { + IDC_TOGGLE_VERTICAL_TABS_COLLAPSE}, // Platform-specific key maps. -#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_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}, -@@ -316,7 +316,7 @@ std::vector GetAcceleratorList() { +@@ -318,7 +318,7 @@ std::vector GetAcceleratorList() { std::begin(kDevToolsAcceleratorMap), std::end(kDevToolsAcceleratorMap)); -#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) accelerators->emplace_back(AcceleratorMapping( {ui::VKEY_N, ui::EF_SHIFT_DOWN | ui::EF_ALT_DOWN, IDC_NEW_SPLIT_TAB})); #elif BUILDFLAG(IS_CHROMEOS) diff --git a/www/chromium/files/patch-chrome_browser_ui_actions_chrome__action__id.h b/www/chromium/files/patch-chrome_browser_ui_actions_chrome__action__id.h index 19a7d65990fb..9eb8accff73e 100644 --- a/www/chromium/files/patch-chrome_browser_ui_actions_chrome__action__id.h +++ b/www/chromium/files/patch-chrome_browser_ui_actions_chrome__action__id.h @@ -1,11 +1,11 @@ ---- chrome/browser/ui/actions/chrome_action_id.h.orig 2026-07-01 06:24:19 UTC +--- chrome/browser/ui/actions/chrome_action_id.h.orig 2026-08-12 09:02:10 UTC +++ chrome/browser/ui/actions/chrome_action_id.h -@@ -543,7 +543,7 @@ +@@ -527,7 +527,7 @@ #if BUILDFLAG(IS_CHROMEOS) #define CHROME_PLATFORM_SPECIFIC_ACTION_IDS \ E(kToggleMultitaskMenu, IDC_TOGGLE_MULTITASK_MENU) -#elif BUILDFLAG(IS_LINUX) +#elif BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) #define CHROME_PLATFORM_SPECIFIC_ACTION_IDS \ E(kUseSystemTitleBar, IDC_USE_SYSTEM_TITLE_BAR) \ E(kRestoreWindow, IDC_RESTORE_WINDOW) diff --git a/www/chromium/files/patch-chrome_browser_ui_autofill_chrome__autofill__client.cc b/www/chromium/files/patch-chrome_browser_ui_autofill_chrome__autofill__client.cc index ccd6830b06b7..6c85bdb11f7b 100644 --- a/www/chromium/files/patch-chrome_browser_ui_autofill_chrome__autofill__client.cc +++ b/www/chromium/files/patch-chrome_browser_ui_autofill_chrome__autofill__client.cc @@ -1,11 +1,11 @@ ---- chrome/browser/ui/autofill/chrome_autofill_client.cc.orig 2026-07-01 06:24:19 UTC +--- chrome/browser/ui/autofill/chrome_autofill_client.cc.orig 2026-08-12 09:02:10 UTC +++ chrome/browser/ui/autofill/chrome_autofill_client.cc -@@ -321,7 +321,7 @@ ChromeAutofillClient::~ChromeAutofillClient() { +@@ -327,7 +327,7 @@ ChromeAutofillClient::~ChromeAutofillClient() { } #if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || \ - BUILDFLAG(IS_CHROMEOS) + BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) ChromeAutofillClient::AtMemoryPromoObserver::AtMemoryPromoObserver( ChromeAutofillClient* client) : content::WebContentsObserver(client->web_contents()), client_(*client) {} diff --git a/www/chromium/files/patch-chrome_browser_ui_autofill_chrome__autofill__client.h b/www/chromium/files/patch-chrome_browser_ui_autofill_chrome__autofill__client.h index fe7c63836e9f..ec6aff343ff9 100644 --- a/www/chromium/files/patch-chrome_browser_ui_autofill_chrome__autofill__client.h +++ b/www/chromium/files/patch-chrome_browser_ui_autofill_chrome__autofill__client.h @@ -1,20 +1,29 @@ ---- chrome/browser/ui/autofill/chrome_autofill_client.h.orig 2026-07-01 06:24:19 UTC +--- chrome/browser/ui/autofill/chrome_autofill_client.h.orig 2026-08-12 09:02:10 UTC +++ chrome/browser/ui/autofill/chrome_autofill_client.h -@@ -124,7 +124,7 @@ class ChromeAutofillClient : public ContentAutofillCli +@@ -125,7 +125,7 @@ class ChromeAutofillClient : public ContentAutofillCli ~ChromeAutofillClient() override; #if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || \ - BUILDFLAG(IS_CHROMEOS) + BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) void ShowAutofillAtMemoryPromo(); #endif -@@ -414,7 +414,7 @@ class ChromeAutofillClient : public ContentAutofillCli - std::unique_ptr actor_key_metrics_recorder_; +@@ -346,7 +346,7 @@ class ChromeAutofillClient : public ContentAutofillCli + protected: #if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || \ - BUILDFLAG(IS_CHROMEOS) + BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) class AtMemoryPromoObserver : public content::WebContentsObserver { public: explicit AtMemoryPromoObserver(ChromeAutofillClient* client); +@@ -449,7 +449,7 @@ class ChromeAutofillClient : public ContentAutofillCli + std::unique_ptr actor_key_metrics_recorder_; + + #if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || \ +- BUILDFLAG(IS_CHROMEOS) ++ BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) + AtMemoryPromoObserver at_memory_promo_observer_{this}; + #endif // BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || \ + // BUILDFLAG(IS_CHROMEOS) diff --git a/www/chromium/files/patch-chrome_browser_ui_browser.h b/www/chromium/files/patch-chrome_browser_ui_browser.h index e4e6e2a0a20c..b614f537afc2 100644 --- a/www/chromium/files/patch-chrome_browser_ui_browser.h +++ b/www/chromium/files/patch-chrome_browser_ui_browser.h @@ -1,11 +1,11 @@ ---- chrome/browser/ui/browser.h.orig 2026-07-01 06:24:19 UTC +--- chrome/browser/ui/browser.h.orig 2026-08-12 09:02:10 UTC +++ chrome/browser/ui/browser.h -@@ -242,7 +242,7 @@ class Browser : public TabStripModelObserver, +@@ -238,7 +238,7 @@ class Browser : public TabStripModelObserver, std::optional display_id; #endif -#if BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) // When the browser window is shown, the desktop environment is notified // using this ID. In response, the desktop will stop playing the "waiting // for startup" animation (if any). diff --git a/www/chromium/files/patch-chrome_browser_ui_browser__actions.cc b/www/chromium/files/patch-chrome_browser_ui_browser__actions.cc new file mode 100644 index 000000000000..c842ccac5655 --- /dev/null +++ b/www/chromium/files/patch-chrome_browser_ui_browser__actions.cc @@ -0,0 +1,47 @@ +--- chrome/browser/ui/browser_actions.cc.orig 2026-08-12 09:02:10 UTC ++++ chrome/browser/ui/browser_actions.cc +@@ -223,7 +223,7 @@ + #include "chrome/browser/ui/views/download/bubble/download_toolbar_ui_controller.h" + #endif + +-#if BUILDFLAG(IS_LINUX) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) + #include "chrome/common/pref_names.h" + #include "components/prefs/pref_service.h" + #endif +@@ -2197,7 +2197,7 @@ void BrowserActions::InitializeToolbarAndMiscActions() + .Build()); + #endif // BUILDFLAG(IS_CHROMEOS) + +-#if BUILDFLAG(IS_LINUX) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) + root_action_item_->AddChild( + actions::ActionItem::Builder( + base::BindRepeating( +@@ -2292,7 +2292,7 @@ void BrowserActions::InitializeToolbarAndMiscActions() + .SetActionId(kActionExit) + .Build()); + +-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_WIN) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_WIN) || BUILDFLAG(IS_BSD) + root_action_item_->AddChild( + actions::ActionItem::Builder( + base::BindRepeating( +@@ -3226,7 +3226,7 @@ void BrowserActions::InitializeToolbarAndMiscActions() + base::BindRepeating( + [](BrowserWindowInterface* bwi, actions::ActionItem* item, + actions::ActionInvocationContext context) { +-#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) ++#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) + chrome::CreateDesktopShortcutForActiveWebContents( + bwi->GetBrowserForMigrationOnly()); + #else +@@ -3867,7 +3867,7 @@ void BrowserActions::InitializeToolbarAndMiscActions() + #endif + + #if BUILDFLAG(GOOGLE_CHROME_BRANDING) && \ +- (BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX)) ++ (BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)) + root_action_item_->AddChild( + actions::ActionItem::Builder( + base::BindRepeating( 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 e056635990fb..ff057307ad68 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,90 +1,90 @@ ---- chrome/browser/ui/browser_command_controller.cc.orig 2026-07-01 06:24:19 UTC +--- chrome/browser/ui/browser_command_controller.cc.orig 2026-08-12 09:02:10 UTC +++ chrome/browser/ui/browser_command_controller.cc -@@ -168,7 +168,7 @@ +@@ -171,7 +171,7 @@ #include "components/user_manager/user_manager.h" #endif -#if BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) #include "ui/base/ime/text_edit_commands.h" #include "ui/base/ime/text_input_flags.h" #include "ui/linux/linux_ui.h" -@@ -178,7 +178,7 @@ +@@ -181,7 +181,7 @@ #include "ui/ozone/public/ozone_platform.h" #endif -#if BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_WIN) +#if BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_WIN) || BUILDFLAG(IS_BSD) #include "chrome/browser/ui/shortcuts/desktop_shortcuts_utils.h" #endif // BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_WIN) -@@ -477,7 +477,7 @@ bool BrowserCommandController::IsReservedCommandOrKey( +@@ -485,7 +485,7 @@ bool BrowserCommandController::IsReservedCommandOrKey( #endif } -#if BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) // If this key was registered by the user as a content editing hotkey, then // it is not reserved. auto* linux_ui = ui::LinuxUi::instance(); -@@ -792,7 +792,7 @@ bool BrowserCommandController::ExecuteCommandWithDispo +@@ -818,7 +818,7 @@ void BrowserCommandController::HandleCommandWithDispos break; #endif -#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_WIN) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_WIN) || BUILDFLAG(IS_BSD) case IDC_MINIMIZE_WINDOW: - browser_->window()->Minimize(); + browser_->GetWindow()->Minimize(); break; -@@ -805,7 +805,7 @@ bool BrowserCommandController::ExecuteCommandWithDispo +@@ -831,7 +831,7 @@ void BrowserCommandController::HandleCommandWithDispos #endif // BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_WIN) -#if BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) case IDC_USE_SYSTEM_TITLE_BAR: { PrefService* prefs = profile()->GetPrefs(); prefs->SetBoolean(prefs::kUseCustomChromeFrame, -@@ -1059,7 +1059,7 @@ bool BrowserCommandController::ExecuteCommandWithDispo +@@ -1092,7 +1092,7 @@ void BrowserCommandController::HandleCommandWithDispos break; case IDC_CREATE_SHORTCUT: base::RecordAction(base::UserMetricsAction("CreateShortcut")); -#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) chrome::CreateDesktopShortcutForActiveWebContents(browser_); #else web_app::CreateWebAppFromCurrentWebContents( -@@ -1274,7 +1274,7 @@ bool BrowserCommandController::ExecuteCommandWithDispo +@@ -1307,7 +1307,7 @@ void BrowserCommandController::HandleCommandWithDispos #endif // BUILDFLAG(GOOGLE_CHROME_BRANDING) case IDC_CHROME_WHATS_NEW: #if BUILDFLAG(GOOGLE_CHROME_BRANDING) && \ - (BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX)) + (BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)) ShowChromeWhatsNew(browser_); break; #else -@@ -1674,13 +1674,13 @@ void BrowserCommandController::InitCommandState() { - command_updater_.UpdateCommandEnabled(IDC_VISIT_DESKTOP_OF_LRU_USER_4, true); - command_updater_.UpdateCommandEnabled(IDC_VISIT_DESKTOP_OF_LRU_USER_5, true); +@@ -1737,13 +1737,13 @@ void BrowserCommandController::InitCommandState() { + command_updater_->UpdateCommandEnabled(IDC_VISIT_DESKTOP_OF_LRU_USER_4, true); + command_updater_->UpdateCommandEnabled(IDC_VISIT_DESKTOP_OF_LRU_USER_5, true); #endif -#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_WIN) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_WIN) || BUILDFLAG(IS_BSD) - command_updater_.UpdateCommandEnabled(IDC_MINIMIZE_WINDOW, true); - command_updater_.UpdateCommandEnabled(IDC_MAXIMIZE_WINDOW, true); - command_updater_.UpdateCommandEnabled(IDC_RESTORE_WINDOW, true); + command_updater_->UpdateCommandEnabled(IDC_MINIMIZE_WINDOW, true); + command_updater_->UpdateCommandEnabled(IDC_MAXIMIZE_WINDOW, true); + command_updater_->UpdateCommandEnabled(IDC_RESTORE_WINDOW, true); #endif // BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_WIN) -#if BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) bool use_system_title_bar = true; #if BUILDFLAG(IS_OZONE) use_system_title_bar = ui::OzonePlatform::GetInstance() -@@ -2066,7 +2066,7 @@ void BrowserCommandController::UpdateCommandsForTabSta +@@ -2136,7 +2136,7 @@ void BrowserCommandController::UpdateCommandsForTabSta bool can_create_web_app = web_app::CanCreateWebApp(browser_); - command_updater_.UpdateCommandEnabled(IDC_INSTALL_PWA, can_create_web_app); + command_updater_->UpdateCommandEnabled(IDC_INSTALL_PWA, can_create_web_app); -#if BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_WIN) +#if BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_WIN) || BUILDFLAG(IS_BSD) - command_updater_.UpdateCommandEnabled( + command_updater_->UpdateCommandEnabled( IDC_CREATE_SHORTCUT, shortcuts::CanCreateDesktopShortcut(current_web_contents)); diff --git a/www/chromium/files/patch-chrome_browser_ui_browser__commands.cc b/www/chromium/files/patch-chrome_browser_ui_browser__commands.cc index f10d886602ad..73ef71e182ca 100644 --- a/www/chromium/files/patch-chrome_browser_ui_browser__commands.cc +++ b/www/chromium/files/patch-chrome_browser_ui_browser__commands.cc @@ -1,20 +1,20 @@ ---- chrome/browser/ui/browser_commands.cc.orig 2026-07-01 06:24:19 UTC +--- chrome/browser/ui/browser_commands.cc.orig 2026-08-12 09:02:10 UTC +++ chrome/browser/ui/browser_commands.cc -@@ -1233,7 +1233,7 @@ void NewTabToRight(BrowserWindowInterface* browser) { +@@ -1265,7 +1265,7 @@ void NewTabToRight(BrowserWindowInterface* browser) { } void NewTabFromClipboardURL(BrowserWindowInterface* browser) { -#if BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) if (ui::Clipboard::IsSupportedClipboardBuffer( ui::ClipboardBuffer::kSelection)) { ui::Clipboard* clipboard = ui::Clipboard::GetForCurrentThread(); -@@ -2529,7 +2529,7 @@ void OpenUpdateChromeDialog(BrowserWindowInterface* br +@@ -2583,7 +2583,7 @@ void OpenUpdateChromeDialog(BrowserWindowInterface* br ShowOutdatedUpgradeBubble(browser, browser, /*auto_update_enabled=*/false); } else { -#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) if (base::FeatureList::IsEnabled(features::kFewerUpdateConfirmations)) { chrome::AttemptRelaunch(); return; diff --git a/www/chromium/files/patch-chrome_browser_ui_browser__ui__prefs.cc b/www/chromium/files/patch-chrome_browser_ui_browser__ui__prefs.cc index a0f3f08ef206..5aa1dd0f7ccd 100644 --- a/www/chromium/files/patch-chrome_browser_ui_browser__ui__prefs.cc +++ b/www/chromium/files/patch-chrome_browser_ui_browser__ui__prefs.cc @@ -1,29 +1,29 @@ ---- chrome/browser/ui/browser_ui_prefs.cc.orig 2026-07-01 06:24:19 UTC +--- chrome/browser/ui/browser_ui_prefs.cc.orig 2026-08-12 09:02:10 UTC +++ chrome/browser/ui/browser_ui_prefs.cc @@ -91,7 +91,7 @@ void RegisterBrowserPrefs(PrefRegistrySimple* registry registry->RegisterTimePref(prefs::kPinInfoBarLastShown, base::Time()); registry->RegisterIntegerPref(prefs::kPinInfoBarTimesShown, 0); #endif // BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) -#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_WIN) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_WIN) || BUILDFLAG(IS_BSD) registry->RegisterStringPref(prefs::kEnterpriseCustomLabelForBrowser, std::string()); registry->RegisterStringPref(prefs::kEnterpriseLogoUrlForBrowser, @@ -112,7 +112,7 @@ void RegisterBrowserUserPrefs(user_prefs::PrefRegistry user_prefs::PrefRegistrySyncable::SYNCABLE_PREF; #endif -#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_WIN) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_WIN) || BUILDFLAG(IS_BSD) registry->RegisterIntegerPref(prefs::kSessionRestoreInfoBarTimesShown, 0); #endif // BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_WIN) -@@ -234,7 +234,7 @@ void RegisterBrowserUserPrefs(user_prefs::PrefRegistry +@@ -233,7 +233,7 @@ void RegisterBrowserUserPrefs(user_prefs::PrefRegistry registry->RegisterDictionaryPref(prefs::kHttpsUpgradeFallbacks); registry->RegisterDictionaryPref(prefs::kHttpsUpgradeNavigations); registry->RegisterBooleanPref(prefs::kHttpsOnlyModeAutoEnabled, false); -#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_WIN) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_WIN) || BUILDFLAG(IS_BSD) registry->RegisterStringPref(prefs::kEnterpriseLogoUrlForProfile, std::string()); registry->RegisterStringPref(prefs::kEnterpriseCustomLabelForProfile, diff --git a/www/chromium/files/patch-chrome_browser_ui_browser__window_internal_browser__window__features.cc b/www/chromium/files/patch-chrome_browser_ui_browser__window_internal_browser__window__features.cc index f375ca0d5196..fb5db0e17b57 100644 --- a/www/chromium/files/patch-chrome_browser_ui_browser__window_internal_browser__window__features.cc +++ b/www/chromium/files/patch-chrome_browser_ui_browser__window_internal_browser__window__features.cc @@ -1,20 +1,20 @@ ---- chrome/browser/ui/browser_window/internal/browser_window_features.cc.orig 2026-07-01 06:24:19 UTC +--- chrome/browser/ui/browser_window/internal/browser_window_features.cc.orig 2026-08-12 09:02:10 UTC +++ chrome/browser/ui/browser_window/internal/browser_window_features.cc @@ -213,7 +213,7 @@ #include "chrome/browser/ui/startup/default_browser_prompt/pin_infobar/pin_infobar_controller.h" #endif -#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) #include "chrome/browser/ui/views/session_restore_infobar/session_restore_infobar_controller.h" #endif -@@ -577,7 +577,7 @@ void BrowserWindowFeatures::Init(BrowserWindowInterfac - call_to_action_lock_ = - GetUserDataFactory().CreateInstance(*browser, browser); +@@ -460,7 +460,7 @@ void BrowserWindowFeatures::Init(BrowserWindowInterfac + browser); + #endif // BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) -#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) profile_customization_bubble_sync_controller_ = std::make_unique(browser, profile); diff --git a/www/chromium/files/patch-chrome_browser_ui_browser__window_public_browser__window__features.h b/www/chromium/files/patch-chrome_browser_ui_browser__window_public_browser__window__features.h index 893c90b98a96..621198da50ce 100644 --- a/www/chromium/files/patch-chrome_browser_ui_browser__window_public_browser__window__features.h +++ b/www/chromium/files/patch-chrome_browser_ui_browser__window_public_browser__window__features.h @@ -1,29 +1,38 @@ ---- chrome/browser/ui/browser_window/public/browser_window_features.h.orig 2026-07-01 06:24:19 UTC +--- chrome/browser/ui/browser_window/public/browser_window_features.h.orig 2026-08-12 09:02:10 UTC +++ chrome/browser/ui/browser_window/public/browser_window_features.h -@@ -122,7 +122,7 @@ class PinInfoBarController; - } // namespace default_browser +@@ -102,7 +102,7 @@ class ZoomBubbleManager; + class WindowsTaskbarIconUpdater; #endif -#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) class ProfileCustomizationBubbleSyncController; + #endif // BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) + +@@ -205,7 +205,7 @@ namespace send_tab_to_self { + class SendTabToSelfToolbarBubbleController; + } // namespace send_tab_to_self + +-#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) ++#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) namespace session_restore_infobar { class SessionRestoreInfobarController; -@@ -450,7 +450,7 @@ class BrowserWindowFeatures { - return browser_select_file_dialog_controller_.get(); + } // namespace session_restore_infobar +@@ -432,7 +432,7 @@ class BrowserWindowFeatures { + return pinned_toolbar_actions_; } -#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) ProfileCustomizationBubbleSyncController* profile_customization_bubble_sync_controller() { return profile_customization_bubble_sync_controller_.get(); -@@ -656,7 +656,7 @@ class BrowserWindowFeatures { - std::unique_ptr - browser_select_file_dialog_controller_; +@@ -740,7 +740,7 @@ class BrowserWindowFeatures { + pin_infobar_controller_; + #endif -#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) std::unique_ptr profile_customization_bubble_sync_controller_; - + std::unique_ptr diff --git a/www/chromium/files/patch-chrome_browser_ui_chrome__pages.cc b/www/chromium/files/patch-chrome_browser_ui_chrome__pages.cc index 2724b1428e8f..01e816fd02a7 100644 --- a/www/chromium/files/patch-chrome_browser_ui_chrome__pages.cc +++ b/www/chromium/files/patch-chrome_browser_ui_chrome__pages.cc @@ -1,44 +1,20 @@ ---- chrome/browser/ui/chrome_pages.cc.orig 2026-06-04 10:12:25 UTC +--- chrome/browser/ui/chrome_pages.cc.orig 2026-08-12 09:02:10 UTC +++ chrome/browser/ui/chrome_pages.cc -@@ -86,12 +86,12 @@ - #include "components/signin/public/identity_manager/identity_manager.h" - #endif - --#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) -+#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) - #include "chrome/browser/web_applications/web_app_utils.h" - #endif - - #if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || \ -- BUILDFLAG(IS_CHROMEOS) -+ BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) - #include "components/webapps/isolated_web_apps/scheme.h" - #endif // BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || - // BUILDFLAG(IS_CHROMEOS) -@@ -257,7 +257,7 @@ bool SiteGURLIsValid(const GURL& url) { +@@ -253,7 +253,7 @@ bool SiteGURLIsValid(const GURL& url) { return !site_origin.opaque() && (url.SchemeIsHTTPOrHTTPS() || url.SchemeIs(extensions::kExtensionScheme) #if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || \ - BUILDFLAG(IS_CHROMEOS) + BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) || url.SchemeIs(webapps::kIsolatedAppScheme) #endif // BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || // BUILDFLAG(IS_CHROMEOS) -@@ -404,7 +404,7 @@ void ShowChromeTips(BrowserWindowInterface* browser) { +@@ -398,7 +398,7 @@ void ShowChromeTips(BrowserWindowInterface* browser) { ShowSingletonTab(browser, GURL(kChromeTipsURL)); } -#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) void ShowChromeWhatsNew(BrowserWindowInterface* browser) { ShowSingletonTab(browser, GURL(kChromeUIWhatsNewURL)); } -@@ -695,7 +695,7 @@ void ShowSharedTabGroupActivity(Profile* profile) { - GURL(data_sharing::features::kActivityLogsURL.Get())); - } - --#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) -+#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) - void ShowWebAppSettingsImpl(BrowserWindowInterface* browser, - Profile* profile, - const std::string& app_id, diff --git a/www/chromium/files/patch-chrome_browser_ui_chrome__pages.h b/www/chromium/files/patch-chrome_browser_ui_chrome__pages.h deleted file mode 100644 index 9b3ebcd6d1a2..000000000000 --- a/www/chromium/files/patch-chrome_browser_ui_chrome__pages.h +++ /dev/null @@ -1,20 +0,0 @@ ---- chrome/browser/ui/chrome_pages.h.orig 2026-05-07 17:02:56 UTC -+++ chrome/browser/ui/chrome_pages.h -@@ -37,7 +37,7 @@ namespace signin { - enum class ConsentLevel; - } // namespace signin - --#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) -+#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) - namespace web_app { - enum class AppSettingsPageEntryPoint; - } // namespace web_app -@@ -161,7 +161,7 @@ void ShowSharedTabGroupActivity(Profile* profile); - void ShowEnterpriseManagementPageInTabbedBrowser( - BrowserWindowInterface* browser); - --#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) -+#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) - // Show chrome://app-settings/ page. - void ShowWebAppSettings(BrowserWindowInterface* browser, - const std::string& app_id, diff --git a/www/chromium/files/patch-chrome_browser_ui_hats_survey__config.cc b/www/chromium/files/patch-chrome_browser_ui_hats_survey__config.cc index 88a1055ad4da..118faa8ae57c 100644 --- a/www/chromium/files/patch-chrome_browser_ui_hats_survey__config.cc +++ b/www/chromium/files/patch-chrome_browser_ui_hats_survey__config.cc @@ -1,11 +1,11 @@ ---- chrome/browser/ui/hats/survey_config.cc.orig 2026-07-01 06:24:19 UTC +--- chrome/browser/ui/hats/survey_config.cc.orig 2026-08-12 09:02:10 UTC +++ chrome/browser/ui/hats/survey_config.cc -@@ -581,7 +581,7 @@ std::vector GetAllSurveyConfigs() +@@ -586,7 +586,7 @@ std::vector GetAllSurveyConfigs() &features::kHappinessTrackingSurveysForWallpaperSearch, kHatsSurveyTriggerWallpaperSearch); -#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) std::vector identity_string_psd_fields{ "Channel", "Chrome Version", "Number of Chrome Profiles", "Number of Google Accounts", "Sign-in Status"}; diff --git a/www/chromium/files/patch-chrome_browser_ui_passwords_manage__passwords__ui__controller.cc b/www/chromium/files/patch-chrome_browser_ui_passwords_manage__passwords__ui__controller.cc index 66d2a4797ee4..063699522d65 100644 --- a/www/chromium/files/patch-chrome_browser_ui_passwords_manage__passwords__ui__controller.cc +++ b/www/chromium/files/patch-chrome_browser_ui_passwords_manage__passwords__ui__controller.cc @@ -1,20 +1,20 @@ ---- chrome/browser/ui/passwords/manage_passwords_ui_controller.cc.orig 2026-07-01 06:24:19 UTC +--- chrome/browser/ui/passwords/manage_passwords_ui_controller.cc.orig 2026-08-12 09:02:10 UTC +++ chrome/browser/ui/passwords/manage_passwords_ui_controller.cc -@@ -118,7 +118,7 @@ namespace { +@@ -120,7 +120,7 @@ namespace { using Logger = autofill::SavePasswordProgressLogger; -#if BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) // Should be kept in sync with constant declared in // bubble_controllers/relaunch_chrome_bubble_controller.cc. constexpr int kMaxNumberOfTimesKeychainErrorBubbleIsShown = 3; -@@ -624,7 +624,7 @@ void ManagePasswordsUIController::OnBiometricAuthBefor +@@ -629,7 +629,7 @@ void ManagePasswordsUIController::OnBiometricAuthBefor } void ManagePasswordsUIController::OnKeychainError() { -#if BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) CHECK(!dialog_controller_); PrefService* prefs = Profile::FromBrowserContext(web_contents()->GetBrowserContext()) diff --git a/www/chromium/files/patch-chrome_browser_ui_signin_signin__view__controller.cc b/www/chromium/files/patch-chrome_browser_ui_signin_signin__view__controller.cc index 9d9bbed890f6..77e9f042929b 100644 --- a/www/chromium/files/patch-chrome_browser_ui_signin_signin__view__controller.cc +++ b/www/chromium/files/patch-chrome_browser_ui_signin_signin__view__controller.cc @@ -1,20 +1,20 @@ ---- chrome/browser/ui/signin/signin_view_controller.cc.orig 2026-07-01 06:24:19 UTC +--- chrome/browser/ui/signin/signin_view_controller.cc.orig 2026-08-12 09:02:10 UTC +++ chrome/browser/ui/signin/signin_view_controller.cc -@@ -489,7 +489,7 @@ void SigninViewController::ShowModalSyncConfirmationDi +@@ -518,7 +518,7 @@ void SigninViewController::ShowModalSyncConfirmationDi GetOnModalDialogClosedCallback()); } -#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) void SigninViewController::ShowModalHistorySyncOptInDialog( bool should_close_modal_dialog, HistorySyncOptinHelper::FlowCompletedCallback callback) { -@@ -506,7 +506,7 @@ void SigninViewController::ShowModalHistorySyncOptInDi +@@ -535,7 +535,7 @@ void SigninViewController::ShowModalHistorySyncOptInDi void SigninViewController::ShowModalManagedUserNoticeDialog( std::unique_ptr create_param) { -#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) CloseModalSignin(); dialog_ = std::make_unique( SigninViewControllerDelegate::CreateManagedUserNoticeDelegate( diff --git a/www/chromium/files/patch-chrome_browser_ui_signin_signin__view__controller.h b/www/chromium/files/patch-chrome_browser_ui_signin_signin__view__controller.h index 5cedba706d6c..84ffe2990999 100644 --- a/www/chromium/files/patch-chrome_browser_ui_signin_signin__view__controller.h +++ b/www/chromium/files/patch-chrome_browser_ui_signin_signin__view__controller.h @@ -1,11 +1,11 @@ ---- chrome/browser/ui/signin/signin_view_controller.h.orig 2026-03-13 06:02:14 UTC +--- chrome/browser/ui/signin/signin_view_controller.h.orig 2026-08-12 09:02:10 UTC +++ chrome/browser/ui/signin/signin_view_controller.h -@@ -171,7 +171,7 @@ class SigninViewController { +@@ -177,7 +177,7 @@ class SigninViewController { void ShowModalSyncConfirmationDialog(bool is_signin_intercept, bool is_sync_promo); -#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) // Shows the modal history sync opt in dialog as a browser-modal dialog on top // of the `browser_`'s window. Executes the provided callback when the dialog // closes. diff --git a/www/chromium/files/patch-chrome_browser_ui_startup_bad__flags__prompt.cc b/www/chromium/files/patch-chrome_browser_ui_startup_bad__flags__prompt.cc index cd33e1d45e12..7b76ed68a127 100644 --- a/www/chromium/files/patch-chrome_browser_ui_startup_bad__flags__prompt.cc +++ b/www/chromium/files/patch-chrome_browser_ui_startup_bad__flags__prompt.cc @@ -1,11 +1,11 @@ ---- chrome/browser/ui/startup/bad_flags_prompt.cc.orig 2026-06-04 10:12:25 UTC +--- chrome/browser/ui/startup/bad_flags_prompt.cc.orig 2026-08-12 09:02:10 UTC +++ chrome/browser/ui/startup/bad_flags_prompt.cc -@@ -115,7 +115,7 @@ const char* const kBadFlags[] = { - extensions::switches::kExtensionsOnExtensionURLs, +@@ -120,7 +120,7 @@ const char* const kBadFlags[] = { + extensions::switches::kAllowlistedExtensionID, #endif -#if BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) // Speech dispatcher is buggy, it can crash and it can make Chrome freeze. // http://crbug.com/40078530 switches::kEnableSpeechDispatcher, diff --git a/www/chromium/files/patch-chrome_browser_ui_startup_startup__browser__creator__impl.cc b/www/chromium/files/patch-chrome_browser_ui_startup_startup__browser__creator__impl.cc index 3749294c7daf..8a8ac2a2f916 100644 --- a/www/chromium/files/patch-chrome_browser_ui_startup_startup__browser__creator__impl.cc +++ b/www/chromium/files/patch-chrome_browser_ui_startup_startup__browser__creator__impl.cc @@ -1,56 +1,56 @@ ---- chrome/browser/ui/startup/startup_browser_creator_impl.cc.orig 2026-07-01 06:24:19 UTC +--- chrome/browser/ui/startup/startup_browser_creator_impl.cc.orig 2026-08-12 09:02:10 UTC +++ chrome/browser/ui/startup/startup_browser_creator_impl.cc @@ -67,7 +67,7 @@ #include "content/public/common/content_switches.h" #include "url/origin.h" -#if BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) #include "ui/display/screen.h" #endif @@ -89,7 +89,7 @@ #include "chrome/browser/ui/browser_window/public/profile_browser_collection.h" #endif -#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) #include "chrome/browser/search_integrity/search_integrity.h" #include "chrome/browser/search_integrity/search_integrity_factory.h" #include "chrome/browser/ui/webui/whats_new/whats_new_fetcher.h" -@@ -161,7 +161,7 @@ Browser* GetExistingBrowserForOpenBehavior( +@@ -162,7 +162,7 @@ Browser* GetExistingBrowserForOpenBehavior( BrowserCollection::Order::kActivation); #endif -#if BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) const bool match_original_profiles = process_startup == chrome::startup::IsProcessStartup::kYes; display::Screen* const screen = display::Screen::Get(); -@@ -248,7 +248,7 @@ void StartupBrowserCreatorImpl::Launch( +@@ -250,7 +250,7 @@ void StartupBrowserCreatorImpl::Launch( DCHECK(profile); profile_ = profile; -#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) // Check for DSE integrity if flag is enabled. if (base::FeatureList::IsEnabled(features::kDseIntegrity)) { if (auto* search_integrity_service = -@@ -319,7 +319,7 @@ Browser* StartupBrowserCreatorImpl::OpenTabsInBrowser( +@@ -321,7 +321,7 @@ Browser* StartupBrowserCreatorImpl::OpenTabsInBrowser( // at the state of the MessageLoop. Browser::CreateParams params = Browser::CreateParams(profile_, false); params.creation_source = Browser::CreationSource::kStartupCreator; -#if BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) params.startup_id = command_line_->GetSwitchValueASCII("desktop-startup-id"); #endif -@@ -349,7 +349,7 @@ Browser* StartupBrowserCreatorImpl::OpenTabsInBrowser( +@@ -351,7 +351,7 @@ Browser* StartupBrowserCreatorImpl::OpenTabsInBrowser( continue; } -#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) // Start the What's New fetch but don't add the tab at this point. The tab // will open as the foreground tab only if the remote content can be // retrieved successfully. This prevents needing to automatically close the 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 9e7e6875abdb..9cdca95793dc 100644 --- a/www/chromium/files/patch-chrome_browser_ui_tab__helpers.cc +++ b/www/chromium/files/patch-chrome_browser_ui_tab__helpers.cc @@ -1,26 +1,26 @@ ---- chrome/browser/ui/tab_helpers.cc.orig 2026-06-04 10:12:25 UTC +--- chrome/browser/ui/tab_helpers.cc.orig 2026-08-12 09:02:10 UTC +++ chrome/browser/ui/tab_helpers.cc -@@ -220,7 +220,7 @@ +@@ -218,7 +218,7 @@ #endif #if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || \ - BUILDFLAG(IS_CHROMEOS) + BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) #include "chrome/browser/ui/blocked_content/framebust_block_tab_helper.h" #include "chrome/browser/ui/hats/hats_helper.h" #include "chrome/browser/ui/performance_controls/performance_controls_hats_service_factory.h" -@@ -753,12 +753,12 @@ void TabHelpers::AttachTabHelpers(WebContents* web_con +@@ -750,12 +750,12 @@ void TabHelpers::AttachTabHelpers(WebContents* web_con webapps::PreRedirectionURLObserver::CreateForWebContents(web_contents); #endif -#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) metrics::DesktopSessionDurationObserver::CreateForWebContents(web_contents); #endif #if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || \ - BUILDFLAG(IS_CHROMEOS) + BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) if (base::FeatureList::IsEnabled( features::kHappinessTrackingSurveysForDesktopDemo) || base::FeatureList::IsEnabled(features::kTrustSafetySentimentSurvey) || diff --git a/www/chromium/files/patch-chrome_browser_ui_tabs_public_tab__features.h b/www/chromium/files/patch-chrome_browser_ui_tabs_public_tab__features.h index 225c2f44b343..3fa1e13153db 100644 --- a/www/chromium/files/patch-chrome_browser_ui_tabs_public_tab__features.h +++ b/www/chromium/files/patch-chrome_browser_ui_tabs_public_tab__features.h @@ -1,29 +1,29 @@ ---- chrome/browser/ui/tabs/public/tab_features.h.orig 2026-07-01 06:24:19 UTC +--- chrome/browser/ui/tabs/public/tab_features.h.orig 2026-08-12 09:02:10 UTC +++ chrome/browser/ui/tabs/public/tab_features.h -@@ -157,7 +157,7 @@ class TabContextualizationController; +@@ -159,7 +159,7 @@ class TabContextualizationController; } // namespace lens #if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || \ - BUILDFLAG(IS_CHROMEOS) + BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) namespace wallet { class ChromeWalletablePassClient; } // namespace wallet -@@ -558,7 +558,7 @@ class TabFeatures { - skills_ui_tab_controller_; +@@ -574,7 +574,7 @@ class TabFeatures { + page_context_eligibility_helper_; #if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || \ - BUILDFLAG(IS_CHROMEOS) + BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) std::unique_ptr walletable_pass_client_; #endif -@@ -569,7 +569,7 @@ class TabFeatures { +@@ -585,7 +585,7 @@ class TabFeatures { std::unique_ptr skills_update_observer_; #endif // !BUILDFLAG(IS_ANDROID) -#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_WIN) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_WIN) || BUILDFLAG(IS_BSD) std::unique_ptr saas_usage_navigation_observer_; #endif // BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_WIN) diff --git a/www/chromium/files/patch-chrome_browser_ui_tabs_tab__features.cc b/www/chromium/files/patch-chrome_browser_ui_tabs_tab__features.cc index 1aae23b04cfe..d57200023479 100644 --- a/www/chromium/files/patch-chrome_browser_ui_tabs_tab__features.cc +++ b/www/chromium/files/patch-chrome_browser_ui_tabs_tab__features.cc @@ -1,38 +1,38 @@ ---- chrome/browser/ui/tabs/tab_features.cc.orig 2026-07-01 06:24:19 UTC +--- chrome/browser/ui/tabs/tab_features.cc.orig 2026-08-12 09:02:10 UTC +++ chrome/browser/ui/tabs/tab_features.cc -@@ -103,7 +103,7 @@ +@@ -107,7 +107,7 @@ #include "components/multistep_filter/core/features.h" #include "components/skills/features.h" #if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || \ - BUILDFLAG(IS_CHROMEOS) + BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) #include "chrome/browser/contextual_tasks/contextual_tasks_tab_visit_tracker.h" #include "chrome/browser/record_replay/chrome_record_replay_client.h" #include "chrome/browser/ui/views/location_bar/record_replay_page_action_controller.h" -@@ -503,7 +503,7 @@ void TabFeatures::Init(TabInterface& tab, Profile* pro +@@ -544,7 +544,7 @@ void TabFeatures::Init(TabInterface& tab, Profile* pro task_manager::WebContentsTags::CreateForTabContents(tab.GetContents()); #if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || \ - BUILDFLAG(IS_CHROMEOS) + BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) inactive_window_mouse_event_controller_ = std::make_unique(); -@@ -590,7 +590,7 @@ void TabFeatures::Init(TabInterface& tab, Profile* pro - std::make_unique(tab); - } +@@ -635,7 +635,7 @@ void TabFeatures::Init(TabInterface& tab, Profile* pro + GetUserDataFactory().CreateInstance( + tab, tab); -#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_WIN) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_WIN) || BUILDFLAG(IS_BSD) if (base::FeatureList::IsEnabled(enterprise_reporting::kSaasUsageReporting)) { saas_usage_navigation_observer_ = std::make_unique( -@@ -599,7 +599,7 @@ void TabFeatures::Init(TabInterface& tab, Profile* pro +@@ -644,7 +644,7 @@ void TabFeatures::Init(TabInterface& tab, Profile* pro #endif #if BUILDFLAG(IS_MAC) || BUILDFLAG(IS_WIN) || BUILDFLAG(IS_LINUX) || \ - BUILDFLAG(IS_CHROMEOS) + BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) if (base::FeatureList::IsEnabled(multistep_filter::kMultistepFilter)) { filter_ui_controller_ = GetUserDataFactory() diff --git a/www/chromium/files/patch-chrome_browser_ui_tabs_tab__strip__prefs.cc b/www/chromium/files/patch-chrome_browser_ui_tabs_tab__strip__prefs.cc deleted file mode 100644 index 71ea011f5a31..000000000000 --- a/www/chromium/files/patch-chrome_browser_ui_tabs_tab__strip__prefs.cc +++ /dev/null @@ -1,11 +0,0 @@ ---- chrome/browser/ui/tabs/tab_strip_prefs.cc.orig 2026-06-04 10:12:25 UTC -+++ chrome/browser/ui/tabs/tab_strip_prefs.cc -@@ -29,7 +29,7 @@ namespace tabs { - - bool GetDefaultTabSearchRightAligned() { - // These platforms are all left aligned, the others should be right. --#if BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_WIN) -+#if BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_WIN) || BUILDFLAG(IS_BSD) - return false; - #else - return true; diff --git a/www/chromium/files/patch-chrome_browser_ui_test_popup__browsertest.cc b/www/chromium/files/patch-chrome_browser_ui_test_popup__browsertest.cc index 8d86dd76291a..7efd3b19ecd9 100644 --- a/www/chromium/files/patch-chrome_browser_ui_test_popup__browsertest.cc +++ b/www/chromium/files/patch-chrome_browser_ui_test_popup__browsertest.cc @@ -1,20 +1,20 @@ ---- chrome/browser/ui/test/popup_browsertest.cc.orig 2025-07-02 06:08:04 UTC +--- chrome/browser/ui/test/popup_browsertest.cc.orig 2026-08-12 09:02:10 UTC +++ chrome/browser/ui/test/popup_browsertest.cc -@@ -76,7 +76,7 @@ IN_PROC_BROWSER_TEST_F(PopupTest, OpenLeftAndTopZeroCo +@@ -79,7 +79,7 @@ IN_PROC_BROWSER_TEST_F(PopupTest, OpenLeftAndTopZeroCo const display::Display display = GetDisplayNearestBrowser(popup); - gfx::Rect expected(popup->window()->GetBounds().size()); + gfx::Rect expected(popup->GetWindow()->GetBounds().size()); expected.AdjustToFit(display.work_area()); -#if BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) // TODO(crbug.com/40815883) Desktop Linux window bounds are inaccurate. expected.Outset(50); - EXPECT_TRUE(expected.Contains(popup->window()->GetBounds())) -@@ -108,7 +108,7 @@ IN_PROC_BROWSER_TEST_F(PopupTest, OpenClampedToCurrent + EXPECT_TRUE(expected.Contains(popup->GetWindow()->GetBounds())) +@@ -111,7 +111,7 @@ IN_PROC_BROWSER_TEST_F(PopupTest, OpenClampedToCurrent // The popup should be constrained to the opener's available display space. EXPECT_EQ(display, GetDisplayNearestBrowser(popup)); gfx::Rect work_area(display.work_area()); -#if BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) // TODO(crbug.com/40815883) Desktop Linux bounds flakily extend outside the // work area on trybots, when opening with excessive width and height, e.g.: // width=${screen.availWidth+300},height=${screen.availHeight+300} yields: diff --git a/www/chromium/files/patch-chrome_browser_ui_toolbar_app__menu__model.cc b/www/chromium/files/patch-chrome_browser_ui_toolbar_app__menu__model.cc new file mode 100644 index 000000000000..3388af40d80c --- /dev/null +++ b/www/chromium/files/patch-chrome_browser_ui_toolbar_app__menu__model.cc @@ -0,0 +1,20 @@ +--- chrome/browser/ui/toolbar/app_menu_model.cc.orig 2026-08-12 09:02:10 UTC ++++ chrome/browser/ui/toolbar/app_menu_model.cc +@@ -252,7 +252,7 @@ std::u16string GetUpgradeDialogTitleText() { + return l10n_util::GetStringUTF16(IDS_UPGRADE_BUBBLE_MENU_ITEM); + } + #if BUILDFLAG(GOOGLE_CHROME_BRANDING) && \ +- (BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX)) ++ (BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)) + return l10n_util::GetStringUTF16(IDS_RELAUNCH_TO_UPDATE_ALT); + #else + return l10n_util::GetStringUTF16(IDS_RELAUNCH_TO_UPDATE); +@@ -2342,7 +2342,7 @@ void AppMenuModel::Build() { + + SetAccessibleNameAt(GetIndexOfCommandId(IDC_SHOW_MANAGEMENT_PAGE).value(), + GetManagedUiMenuItemTooltip(browser_->profile())); +-#if BUILDFLAG(IS_LINUX) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) + if (enterprise_util::IsBrowserManaged(browser_->profile()) && + base::FeatureList::IsEnabled(features::kEnterpriseReleaseNotes)) { + AddItemWithStringIdAndVectorIcon( diff --git a/www/chromium/files/patch-chrome_browser_ui_ui__features.cc b/www/chromium/files/patch-chrome_browser_ui_ui__features.cc index 7efea551f9e4..7a7374a0a211 100644 --- a/www/chromium/files/patch-chrome_browser_ui_ui__features.cc +++ b/www/chromium/files/patch-chrome_browser_ui_ui__features.cc @@ -1,29 +1,29 @@ ---- chrome/browser/ui/ui_features.cc.orig 2026-07-29 11:06:49 UTC +--- chrome/browser/ui/ui_features.cc.orig 2026-08-12 09:02:10 UTC +++ chrome/browser/ui/ui_features.cc -@@ -100,7 +100,7 @@ bool IsWebuiRefresh2026Enabled() { +@@ -102,7 +102,7 @@ bool IsWebuiRefresh2026Enabled() { base::FeatureList::IsEnabled(kWebuiRefresh2026); } -#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) BASE_FEATURE(kDseIntegrity, base::FEATURE_ENABLED_BY_DEFAULT); // Enables the feature to remove the last confirmation dialog when relaunching // to update Chrome. -@@ -301,7 +301,7 @@ BASE_FEATURE(kManagedProfileRequiredInterstitial, +@@ -325,7 +325,7 @@ BASE_FEATURE(kManagedProfileRequiredInterstitial, BASE_FEATURE(kViewsJSAppModalDialog, base::FEATURE_DISABLED_BY_DEFAULT); #endif -#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) BASE_FEATURE(kUsePortalAccentColor, base::FEATURE_ENABLED_BY_DEFAULT); #endif -@@ -417,7 +417,7 @@ bool IsBookmarkTabGroupConversionEnabled() { +@@ -433,7 +433,7 @@ bool IsBookmarkTabGroupConversionEnabled() { return base::FeatureList::IsEnabled(kBookmarkTabGroupConversion); } -#if BUILDFLAG(IS_MAC) || BUILDFLAG(IS_WIN) || BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_MAC) || BUILDFLAG(IS_WIN) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) BASE_FEATURE(kSessionRestoreInfobar, base::FEATURE_DISABLED_BY_DEFAULT); BASE_FEATURE_PARAM(bool, diff --git a/www/chromium/files/patch-chrome_browser_ui_ui__features.h b/www/chromium/files/patch-chrome_browser_ui_ui__features.h index 95db24109750..57cb9caf564b 100644 --- a/www/chromium/files/patch-chrome_browser_ui_ui__features.h +++ b/www/chromium/files/patch-chrome_browser_ui_ui__features.h @@ -1,29 +1,29 @@ ---- chrome/browser/ui/ui_features.h.orig 2026-07-29 11:06:49 UTC +--- chrome/browser/ui/ui_features.h.orig 2026-08-12 09:02:10 UTC +++ chrome/browser/ui/ui_features.h -@@ -28,7 +28,7 @@ BASE_DECLARE_FEATURE(kCreateNewTabGroupAppMenuTopLevel +@@ -30,7 +30,7 @@ BASE_DECLARE_FEATURE(kCreateNewTabGroupAppMenuTopLevel BASE_DECLARE_FEATURE(kCtrlTabMru); -#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) BASE_DECLARE_FEATURE(kDseIntegrity); BASE_DECLARE_FEATURE(kFewerUpdateConfirmations); #endif -@@ -78,7 +78,7 @@ BASE_DECLARE_FEATURE_PARAM(int, +@@ -83,7 +83,7 @@ BASE_DECLARE_FEATURE_PARAM(int, BASE_DECLARE_FEATURE_PARAM(int, kSeparateDefaultAndPinPromptMessageVersion); #endif // BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) -#if BUILDFLAG(IS_MAC) || BUILDFLAG(IS_WIN) || BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_MAC) || BUILDFLAG(IS_WIN) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) // When enabled, user may see the session restore UI flow. BASE_DECLARE_FEATURE(kSessionRestoreInfobar); -@@ -264,7 +264,7 @@ BASE_DECLARE_FEATURE(kManagedProfileRequiredInterstiti +@@ -276,7 +276,7 @@ BASE_DECLARE_FEATURE(kManagedProfileRequiredInterstiti BASE_DECLARE_FEATURE(kViewsJSAppModalDialog); #endif -#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) BASE_DECLARE_FEATURE(kUsePortalAccentColor); #endif diff --git a/www/chromium/files/patch-chrome_browser_ui_views_apps_chrome__native__app__window__views__aura.cc b/www/chromium/files/patch-chrome_browser_ui_views_apps_chrome__native__app__window__views__aura.cc index beec656afb97..eaebc2005294 100644 --- a/www/chromium/files/patch-chrome_browser_ui_views_apps_chrome__native__app__window__views__aura.cc +++ b/www/chromium/files/patch-chrome_browser_ui_views_apps_chrome__native__app__window__views__aura.cc @@ -1,20 +1,20 @@ ---- chrome/browser/ui/views/apps/chrome_native_app_window_views_aura.cc.orig 2025-01-15 09:18:26 UTC +--- chrome/browser/ui/views/apps/chrome_native_app_window_views_aura.cc.orig 2026-08-12 09:02:10 UTC +++ chrome/browser/ui/views/apps/chrome_native_app_window_views_aura.cc -@@ -19,7 +19,7 @@ - #include "ui/menus/simple_menu_model.h" +@@ -17,7 +17,7 @@ + #include "ui/base/mojom/window_show_state.mojom.h" #include "ui/views/widget/widget.h" -#if BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) #include "chrome/browser/shell_integration_linux.h" #endif -@@ -49,7 +49,7 @@ void ChromeNativeAppWindowViewsAura::OnBeforeWidgetIni +@@ -47,7 +47,7 @@ void ChromeNativeAppWindowViewsAura::OnBeforeWidgetIni const AppWindow::CreateParams& create_params, views::Widget::InitParams* init_params, views::Widget* widget) { -#if BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) std::string app_name = web_app::GenerateApplicationNameFromAppId(app_window()->extension_id()); // Set up a custom WM_CLASS for app windows. This allows task switchers in 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 f2841d8c1676..a1e8b2eb01f2 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,20 +1,20 @@ ---- chrome/browser/ui/views/chrome_browser_main_extra_parts_views.cc.orig 2026-04-09 06:05:42 UTC +--- chrome/browser/ui/views/chrome_browser_main_extra_parts_views.cc.orig 2026-08-12 09:02:10 UTC +++ chrome/browser/ui/views/chrome_browser_main_extra_parts_views.cc -@@ -39,7 +39,7 @@ +@@ -50,7 +50,7 @@ #include "ui/wm/core/wm_state.h" #endif // defined(USE_AURA) -#if BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) #include #include #include -@@ -126,7 +126,7 @@ void ChromeBrowserMainExtraPartsViews::PreProfileInit( +@@ -137,7 +137,7 @@ void ChromeBrowserMainExtraPartsViews::PreProfileInit( return controller; })); -#if BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_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. 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 7d4587329c6b..a69caa63d10f 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,29 +1,29 @@ ---- chrome/browser/ui/views/frame/browser_view.cc.orig 2026-07-01 06:24:19 UTC +--- chrome/browser/ui/views/frame/browser_view.cc.orig 2026-08-12 09:02:10 UTC +++ chrome/browser/ui/views/frame/browser_view.cc -@@ -2380,7 +2380,7 @@ void BrowserView::ToolbarSizeChanged(bool is_animating +@@ -2422,7 +2422,7 @@ void BrowserView::ToolbarSizeChanged(bool is_animating } void BrowserView::TabDraggingStatusChanged(bool is_dragging) { -#if !BUILDFLAG(IS_LINUX) +#if !BUILDFLAG(IS_LINUX) && !BUILDFLAG(IS_BSD) UpdateFastResizeForContentViews(is_dragging); if (!is_dragging) { -@@ -5663,7 +5663,7 @@ void BrowserView::MaybeShowProfileSwitchIPH() { +@@ -5669,7 +5669,7 @@ void BrowserView::MaybeShowProfileSwitchIPH() { } void BrowserView::MaybeShowSupervisedUserProfileSignInIPH() { -#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) if (!ShouldShowAvatarToolbarIPH()) { return; } -@@ -5674,7 +5674,7 @@ void BrowserView::MaybeShowSupervisedUserProfileSignIn +@@ -5680,7 +5680,7 @@ void BrowserView::MaybeShowSupervisedUserProfileSignIn } void BrowserView::MaybeShowSignInBenefitsIPH() { -#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) if (!ShouldShowAvatarToolbarIPH()) { return; } diff --git a/www/chromium/files/patch-chrome_browser_ui_views_frame_browser__widget.cc b/www/chromium/files/patch-chrome_browser_ui_views_frame_browser__widget.cc index 613572e125f5..6e58447365aa 100644 --- a/www/chromium/files/patch-chrome_browser_ui_views_frame_browser__widget.cc +++ b/www/chromium/files/patch-chrome_browser_ui_views_frame_browser__widget.cc @@ -1,47 +1,47 @@ ---- chrome/browser/ui/views/frame/browser_widget.cc.orig 2026-07-01 06:24:19 UTC +--- chrome/browser/ui/views/frame/browser_widget.cc.orig 2026-08-12 09:02:10 UTC +++ chrome/browser/ui/views/frame/browser_widget.cc -@@ -53,7 +53,7 @@ +@@ -56,7 +56,7 @@ #include "ui/aura/window.h" #endif -#if BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) #include "ui/linux/linux_ui.h" #endif -@@ -87,7 +87,7 @@ class ThemeChangedObserver : public views::WidgetObser +@@ -90,7 +90,7 @@ class ThemeChangedObserver : public views::WidgetObser }; bool IsUsingLinuxSystemTheme(Profile* profile) { -#if BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) return ThemeServiceFactory::GetForProfile(profile)->UsingSystemTheme(); #else return false; -@@ -206,7 +206,7 @@ void BrowserWidget::InitBrowserWidget() { +@@ -207,7 +207,7 @@ void BrowserWidget::InitBrowserWidget() { Init(std::move(params)); -#if BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) SelectNativeTheme(); #else SetNativeTheme(ui::NativeTheme::GetInstanceForNativeUi()); -@@ -534,7 +534,7 @@ void BrowserWidget::OnMenuClosed() { +@@ -490,7 +490,7 @@ void BrowserWidget::OnMenuClosed() { } void BrowserWidget::SelectNativeTheme() { -#if BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) // Use the regular NativeTheme instance if running incognito mode, regardless // of system theme (gtk, qt etc). ui::NativeTheme* native_theme = ui::NativeTheme::GetInstanceForNativeUi(); -@@ -575,7 +575,7 @@ void BrowserWidget::OnTouchUiChanged() { +@@ -531,7 +531,7 @@ void BrowserWidget::OnTouchUiChanged() { bool BrowserWidget::RegenerateFrameOnThemeChange( BrowserThemeChangeType theme_change_type) { bool need_regenerate = false; -#if BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) // System 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_horizontal__tab__strip__region__view.cc b/www/chromium/files/patch-chrome_browser_ui_views_frame_horizontal__tab__strip__region__view.cc index ac42575949fd..ab2427a23459 100644 --- a/www/chromium/files/patch-chrome_browser_ui_views_frame_horizontal__tab__strip__region__view.cc +++ b/www/chromium/files/patch-chrome_browser_ui_views_frame_horizontal__tab__strip__region__view.cc @@ -1,11 +1,11 @@ ---- chrome/browser/ui/views/frame/horizontal_tab_strip_region_view.cc.orig 2026-07-01 06:24:19 UTC +--- chrome/browser/ui/views/frame/horizontal_tab_strip_region_view.cc.orig 2026-08-12 09:02:10 UTC +++ chrome/browser/ui/views/frame/horizontal_tab_strip_region_view.cc -@@ -333,7 +333,7 @@ HorizontalTabStripRegionView::HorizontalTabStripRegion +@@ -251,7 +251,7 @@ HorizontalTabStripRegionView::HorizontalTabStripRegion new_tab_button_->GetViewAccessibility().SetName( l10n_util::GetStringUTF16(IDS_ACCNAME_NEWTAB)); -#if BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) // On Linux, middle-clicking the New Tab Button triggers // paste and navigate, either to URLs or to search queries. new_tab_button_->SetTriggerableEventFlags( diff --git a/www/chromium/files/patch-chrome_browser_ui_views_frame_layout_browser__view__tabbed__layout__impl.cc b/www/chromium/files/patch-chrome_browser_ui_views_frame_layout_browser__view__tabbed__layout__impl.cc index d97f881da334..b2ec80ac3e92 100644 --- a/www/chromium/files/patch-chrome_browser_ui_views_frame_layout_browser__view__tabbed__layout__impl.cc +++ b/www/chromium/files/patch-chrome_browser_ui_views_frame_layout_browser__view__tabbed__layout__impl.cc @@ -1,11 +1,11 @@ ---- chrome/browser/ui/views/frame/layout/browser_view_tabbed_layout_impl.cc.orig 2026-07-01 06:24:19 UTC +--- chrome/browser/ui/views/frame/layout/browser_view_tabbed_layout_impl.cc.orig 2026-08-12 09:02:10 UTC +++ chrome/browser/ui/views/frame/layout/browser_view_tabbed_layout_impl.cc -@@ -250,7 +250,7 @@ int BrowserViewTabbedLayoutImpl::GetHorizontalTabStrip +@@ -254,7 +254,7 @@ int BrowserViewTabbedLayoutImpl::GetHorizontalTabStrip } bool BrowserViewTabbedLayoutImpl::AvoidCrackingForFractionalDisplay() const { -#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_WIN) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_WIN) || BUILDFLAG(IS_BSD) // This is primarily an issue on Linux and Windows; add other platforms here // as needed. if (auto* const widget = views().browser_view->GetWidget()) { diff --git a/www/chromium/files/patch-chrome_browser_ui_views_frame_multi__contents__view__drop__target__controller.cc b/www/chromium/files/patch-chrome_browser_ui_views_frame_multi__contents__view__drop__target__controller.cc index 488b76294ed0..f740c6adf25a 100644 --- a/www/chromium/files/patch-chrome_browser_ui_views_frame_multi__contents__view__drop__target__controller.cc +++ b/www/chromium/files/patch-chrome_browser_ui_views_frame_multi__contents__view__drop__target__controller.cc @@ -1,11 +1,11 @@ ---- chrome/browser/ui/views/frame/multi_contents_view_drop_target_controller.cc.orig 2026-07-01 06:24:19 UTC +--- chrome/browser/ui/views/frame/multi_contents_view_drop_target_controller.cc.orig 2026-08-12 09:02:10 UTC +++ chrome/browser/ui/views/frame/multi_contents_view_drop_target_controller.cc -@@ -36,7 +36,7 @@ static constexpr base::TimeDelta kShowNudgeDelay = bas - static constexpr int kDropTargetHideForOSWidth = +@@ -59,7 +59,7 @@ int MultiContentsViewDropTargetController::DropTargetC + return #if BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_WIN) - 32; + 32; -#elif BUILDFLAG(IS_LINUX) +#elif BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) - 50; + 50; #else - 0; + 0; 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 a2f6ead94029..976ad57c08ee 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 2026-07-01 06:24:19 UTC +--- chrome/browser/ui/views/frame/system_menu_model_builder.cc.orig 2026-08-12 09:02:10 UTC +++ chrome/browser/ui/views/frame/system_menu_model_builder.cc -@@ -131,7 +131,7 @@ void SystemMenuModelBuilder::BuildSystemMenuForBrowser +@@ -133,7 +133,7 @@ void SystemMenuModelBuilder::BuildSystemMenuForBrowser } #endif // BUILDFLAG(IS_WIN) -#if BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) AddItemWithIconMaybe(model, IDC_MINIMIZE_WINDOW, IDS_MINIMIZE_WINDOW_MENU, views::kChromeMinimizeIcon); AddItemWithIconMaybe(model, IDC_MAXIMIZE_WINDOW, IDS_MAXIMIZE_WINDOW_MENU, -@@ -231,7 +231,7 @@ void SystemMenuModelBuilder::BuildSystemMenuForBrowser +@@ -237,7 +237,7 @@ void SystemMenuModelBuilder::BuildSystemMenuForBrowser model->AddSeparator(ui::NORMAL_SEPARATOR); model->AddItemWithStringId(IDC_TASK_MANAGER_CONTEXT_MENU, IDS_TASK_MANAGER); } -#if BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) model->AddSeparator(ui::NORMAL_SEPARATOR); bool supports_server_side_decorations = true; #if BUILDFLAG(IS_OZONE) && !BUILDFLAG(IS_CHROMEOS) -@@ -315,7 +315,7 @@ void SystemMenuModelBuilder::BuildSystemMenuForAppOrPo +@@ -321,7 +321,7 @@ void SystemMenuModelBuilder::BuildSystemMenuForAppOrPo model->AddSeparator(ui::NORMAL_SEPARATOR); model->AddItemWithStringId(IDC_TASK_MANAGER, IDS_TASK_MANAGER); } -#if BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_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 348cfdf0fffc..be4255f2f157 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 2026-07-01 06:24:19 UTC +--- chrome/browser/ui/views/frame/system_menu_model_delegate.cc.orig 2026-08-12 09:02:10 UTC +++ chrome/browser/ui/views/frame/system_menu_model_delegate.cc -@@ -32,7 +32,7 @@ +@@ -31,7 +31,7 @@ #include "chromeos/ui/frame/desks/move_to_desks_menu_model.h" #endif -#if BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) #include "chrome/common/pref_names.h" #endif -@@ -51,7 +51,7 @@ SystemMenuModelDelegate::SystemMenuModelDelegate( +@@ -50,7 +50,7 @@ SystemMenuModelDelegate::SystemMenuModelDelegate( SystemMenuModelDelegate::~SystemMenuModelDelegate() = default; bool SystemMenuModelDelegate::IsCommandIdChecked(int command_id) const { -#if BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) if (command_id == IDC_USE_SYSTEM_TITLE_BAR) { PrefService* prefs = browser_->profile()->GetPrefs(); return !prefs->GetBoolean(prefs::kUseCustomChromeFrame); -@@ -98,7 +98,7 @@ bool SystemMenuModelDelegate::IsCommandIdEnabled(int c +@@ -94,7 +94,7 @@ bool SystemMenuModelDelegate::IsCommandIdEnabled(int c } bool SystemMenuModelDelegate::IsCommandIdVisible(int command_id) const { -#if BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) - bool is_maximized = browser_->window()->IsMaximized(); + bool is_maximized = browser_->GetWindow()->IsMaximized(); switch (command_id) { case IDC_MAXIMIZE_WINDOW: diff --git a/www/chromium/files/patch-chrome_browser_ui_views_location__bar_location__bar__view.cc b/www/chromium/files/patch-chrome_browser_ui_views_location__bar_location__bar__view.cc index 7b45c9c19077..41ed4ff669e9 100644 --- a/www/chromium/files/patch-chrome_browser_ui_views_location__bar_location__bar__view.cc +++ b/www/chromium/files/patch-chrome_browser_ui_views_location__bar_location__bar__view.cc @@ -1,11 +1,11 @@ ---- chrome/browser/ui/views/location_bar/location_bar_view.cc.orig 2026-07-01 06:24:19 UTC +--- chrome/browser/ui/views/location_bar/location_bar_view.cc.orig 2026-08-12 09:02:10 UTC +++ chrome/browser/ui/views/location_bar/location_bar_view.cc -@@ -1929,7 +1929,7 @@ void LocationBarView::OnPopupStateChanged(OmniboxPopup +@@ -1921,7 +1921,7 @@ void LocationBarView::OnPopupStateChanged(OmniboxPopup } } -#if BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) if (new_state != OmniboxPopupState::kNone) { // Close any overlapping user education bubbles when any popup opens. // It's not great for promos to overlap the omnibox if the user opens the diff --git a/www/chromium/files/patch-chrome_browser_ui_views_passwords_password__bubble__view__base.cc b/www/chromium/files/patch-chrome_browser_ui_views_passwords_password__bubble__view__base.cc index b40d37359f82..17f3fcf6ef6a 100644 --- a/www/chromium/files/patch-chrome_browser_ui_views_passwords_password__bubble__view__base.cc +++ b/www/chromium/files/patch-chrome_browser_ui_views_passwords_password__bubble__view__base.cc @@ -1,20 +1,20 @@ ---- chrome/browser/ui/views/passwords/password_bubble_view_base.cc.orig 2026-07-01 06:24:19 UTC +--- chrome/browser/ui/views/passwords/password_bubble_view_base.cc.orig 2026-08-12 09:02:10 UTC +++ chrome/browser/ui/views/passwords/password_bubble_view_base.cc @@ -43,7 +43,7 @@ #include "ui/base/metadata/metadata_impl_macros.h" #include "ui/views/controls/button/button.h" -#if BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) #include "chrome/browser/ui/views/passwords/password_relaunch_chrome_view.h" #endif -@@ -160,7 +160,7 @@ PasswordBubbleViewBase* PasswordBubbleViewBase::Create +@@ -165,7 +165,7 @@ PasswordBubbleViewBase* PasswordBubbleViewBase::Create } else if (model_state == password_manager::ui::NOTIFY_RECEIVED_SHARED_CREDENTIALS) { view = new SharedPasswordsNotificationView(web_contents, anchor_view); -#if BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) } else if (model_state == password_manager::ui::KEYCHAIN_ERROR_STATE) { view = new RelaunchChromeView( web_contents, anchor_view, diff --git a/www/chromium/files/patch-chrome_browser_ui_views_profiles_avatar__toolbar__button.cc b/www/chromium/files/patch-chrome_browser_ui_views_profiles_avatar__toolbar__button.cc index d0acb04c575d..83c037b3a959 100644 --- a/www/chromium/files/patch-chrome_browser_ui_views_profiles_avatar__toolbar__button.cc +++ b/www/chromium/files/patch-chrome_browser_ui_views_profiles_avatar__toolbar__button.cc @@ -1,11 +1,11 @@ ---- chrome/browser/ui/views/profiles/avatar_toolbar_button.cc.orig 2026-07-01 06:24:19 UTC +--- chrome/browser/ui/views/profiles/avatar_toolbar_button.cc.orig 2026-08-12 09:02:10 UTC +++ chrome/browser/ui/views/profiles/avatar_toolbar_button.cc -@@ -466,7 +466,7 @@ void AvatarToolbarButton::MaybeShowProfileSwitchIPH() - state_manager_->MaybeShowProfileSwitchIPH(); +@@ -460,7 +460,7 @@ void AvatarToolbarButton::MaybeShowProfileSwitchIPH() + state_manager_.MaybeShowProfileSwitchIPH(); } -#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) void AvatarToolbarButton::MaybeShowSupervisedUserSignInIPH() { - state_manager_->MaybeShowSupervisedUserSignInIPH(); + state_manager_.MaybeShowSupervisedUserSignInIPH(); } diff --git a/www/chromium/files/patch-chrome_browser_ui_views_profiles_avatar__toolbar__button.h b/www/chromium/files/patch-chrome_browser_ui_views_profiles_avatar__toolbar__button.h index b87f0dccf6f8..67db4a18664f 100644 --- a/www/chromium/files/patch-chrome_browser_ui_views_profiles_avatar__toolbar__button.h +++ b/www/chromium/files/patch-chrome_browser_ui_views_profiles_avatar__toolbar__button.h @@ -1,11 +1,11 @@ ---- chrome/browser/ui/views/profiles/avatar_toolbar_button.h.orig 2026-07-01 06:24:19 UTC +--- chrome/browser/ui/views/profiles/avatar_toolbar_button.h.orig 2026-08-12 09:02:10 UTC +++ chrome/browser/ui/views/profiles/avatar_toolbar_button.h -@@ -70,7 +70,7 @@ class AvatarToolbarButton : public ToolbarButton, +@@ -71,7 +71,7 @@ class AvatarToolbarButton : public ToolbarButton, void SetAnnounceCallbackForTesting( base::OnceCallback callback) override; void MaybeShowProfileSwitchIPH() override; -#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) void MaybeShowSupervisedUserSignInIPH() override; void MaybeShowSignInBenefitsIPH() override; #endif diff --git a/www/chromium/files/patch-chrome_browser_ui_views_profiles_avatar__toolbar__button__state__manager.cc b/www/chromium/files/patch-chrome_browser_ui_views_profiles_avatar__toolbar__button__state__manager.cc index 06a894f13b38..bfbdc6da9342 100644 --- a/www/chromium/files/patch-chrome_browser_ui_views_profiles_avatar__toolbar__button__state__manager.cc +++ b/www/chromium/files/patch-chrome_browser_ui_views_profiles_avatar__toolbar__button__state__manager.cc @@ -1,11 +1,11 @@ ---- chrome/browser/ui/views/profiles/avatar_toolbar_button_state_manager.cc.orig 2026-07-01 06:24:19 UTC +--- chrome/browser/ui/views/profiles/avatar_toolbar_button_state_manager.cc.orig 2026-08-12 09:02:10 UTC +++ chrome/browser/ui/views/profiles/avatar_toolbar_button_state_manager.cc -@@ -2506,7 +2506,7 @@ void AvatarToolbarButtonStateManager::MaybeShowProfile +@@ -2609,7 +2609,7 @@ void AvatarToolbarButtonStateManager::MaybeShowProfile } } -#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) void AvatarToolbarButtonStateManager::MaybeShowSupervisedUserSignInIPH() { if (!base::FeatureList::IsEnabled( feature_engagement::kIPHSupervisedUserProfileSigninFeature)) { diff --git a/www/chromium/files/patch-chrome_browser_ui_views_profiles_avatar__toolbar__button__state__manager.h b/www/chromium/files/patch-chrome_browser_ui_views_profiles_avatar__toolbar__button__state__manager.h index 6d96efe0efbf..a8c6de641fbc 100644 --- a/www/chromium/files/patch-chrome_browser_ui_views_profiles_avatar__toolbar__button__state__manager.h +++ b/www/chromium/files/patch-chrome_browser_ui_views_profiles_avatar__toolbar__button__state__manager.h @@ -1,11 +1,11 @@ ---- chrome/browser/ui/views/profiles/avatar_toolbar_button_state_manager.h.orig 2026-06-04 10:12:25 UTC +--- chrome/browser/ui/views/profiles/avatar_toolbar_button_state_manager.h.orig 2026-08-12 09:02:10 UTC +++ chrome/browser/ui/views/profiles/avatar_toolbar_button_state_manager.h -@@ -240,7 +240,7 @@ class AvatarToolbarButtonStateManager +@@ -272,7 +272,7 @@ class AvatarToolbarButtonStateManager // Shared IPH methods. void MaybeShowProfileSwitchIPH(); -#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) void MaybeShowSupervisedUserSignInIPH(); void MaybeShowSignInBenefitsIPH(); #endif diff --git a/www/chromium/files/patch-chrome_browser_ui_views_profiles_first__run__flow__controller.cc b/www/chromium/files/patch-chrome_browser_ui_views_profiles_first__run__flow__controller.cc index a9617d6cdd5a..428339daaae0 100644 --- a/www/chromium/files/patch-chrome_browser_ui_views_profiles_first__run__flow__controller.cc +++ b/www/chromium/files/patch-chrome_browser_ui_views_profiles_first__run__flow__controller.cc @@ -1,20 +1,20 @@ ---- chrome/browser/ui/views/profiles/first_run_flow_controller.cc.orig 2026-07-01 06:24:19 UTC +--- chrome/browser/ui/views/profiles/first_run_flow_controller.cc.orig 2026-08-12 09:02:10 UTC +++ chrome/browser/ui/views/profiles/first_run_flow_controller.cc -@@ -67,7 +67,7 @@ +@@ -87,7 +87,7 @@ #include "chrome/installer/util/shell_util.h" #endif -#if BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) #include "base/check_deref.h" #include "chrome/browser/browser_process.h" #include "chrome/browser/global_features.h" -@@ -760,7 +760,7 @@ std::string FirstRunFlowController::GetHatsSurveyTrigg +@@ -1164,7 +1164,7 @@ bool FirstRunFlowController::AreEffectsEnabled() const } void FirstRunFlowController::MaybeTriggerHatsSurvey() { -#if BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) // No variations seed is available on Mac and Linux at the very first run of // Chrome. Check the locale manually to make sure the survey is enabled for // only eligible users. Do the locale check before the feature check to avoid diff --git a/www/chromium/files/patch-chrome_browser_ui_views_profiles_profile__menu__view.cc b/www/chromium/files/patch-chrome_browser_ui_views_profiles_profile__menu__view.cc index c90903b5ecd2..8f77ce9b0cc2 100644 --- a/www/chromium/files/patch-chrome_browser_ui_views_profiles_profile__menu__view.cc +++ b/www/chromium/files/patch-chrome_browser_ui_views_profiles_profile__menu__view.cc @@ -1,20 +1,20 @@ ---- chrome/browser/ui/views/profiles/profile_menu_view.cc.orig 2026-07-01 06:24:19 UTC +--- chrome/browser/ui/views/profiles/profile_menu_view.cc.orig 2026-08-12 09:02:10 UTC +++ chrome/browser/ui/views/profiles/profile_menu_view.cc -@@ -110,7 +110,7 @@ - #include "ui/views/accessibility/view_accessibility.h" - #include "ui/views/widget/widget.h" +@@ -119,7 +119,7 @@ + #include "chrome/browser/signin/cross_device_signin_promo_manager.h" + #endif // BUILDFLAG(ENABLE_DICE_SUPPORT) -#if BUILDFLAG(IS_MAC) || BUILDFLAG(IS_WIN) || BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_MAC) || BUILDFLAG(IS_WIN) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) #include "chrome/browser/enterprise/signin/enterprise_signin_prefs.h" #endif -@@ -593,7 +593,7 @@ void ProfileMenuView::SetMenuTitleForAccessibility() { +@@ -603,7 +603,7 @@ void ProfileMenuView::SetMenuTitleForAccessibility() { case signin_util::SignedInState::kSignedOut: case signin_util::SignedInState::kWebOnlySignedIn: { std::string profile_user_display_name, profile_user_email; -#if BUILDFLAG(IS_MAC) || BUILDFLAG(IS_WIN) || BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_MAC) || BUILDFLAG(IS_WIN) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) profile_user_display_name = profile().GetPrefs()->GetString( enterprise_signin::prefs::kProfileUserDisplayName); profile_user_email = profile().GetPrefs()->GetString( diff --git a/www/chromium/files/patch-chrome_browser_ui_views_profiles_profile__picker__view.cc b/www/chromium/files/patch-chrome_browser_ui_views_profiles_profile__picker__view.cc index f241f251a74b..cd0c2416d038 100644 --- a/www/chromium/files/patch-chrome_browser_ui_views_profiles_profile__picker__view.cc +++ b/www/chromium/files/patch-chrome_browser_ui_views_profiles_profile__picker__view.cc @@ -1,20 +1,11 @@ ---- chrome/browser/ui/views/profiles/profile_picker_view.cc.orig 2026-05-07 17:02:56 UTC +--- chrome/browser/ui/views/profiles/profile_picker_view.cc.orig 2026-08-12 09:02:10 UTC +++ chrome/browser/ui/views/profiles/profile_picker_view.cc -@@ -88,7 +88,7 @@ +@@ -87,7 +87,7 @@ #include "chrome/browser/global_keyboard_shortcuts_mac.h" #endif -#if BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) #include "chrome/browser/shell_integration_linux.h" #endif -@@ -113,7 +113,7 @@ class ProfilePickerWidget : public views::Widget { - views::Widget::InitParams params( - views::Widget::InitParams::NATIVE_WIDGET_OWNS_WIDGET); - params.delegate = profile_picker_view; --#if BUILDFLAG(IS_LINUX) -+#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) - params.wm_class_name = shell_integration_linux::GetProgramClassName(); - params.wm_class_class = shell_integration_linux::GetProgramClassClass(); - params.wayland_app_id = params.wm_class_class; diff --git a/www/chromium/files/patch-chrome_browser_ui_views_profiles_profile__picker__widget.cc b/www/chromium/files/patch-chrome_browser_ui_views_profiles_profile__picker__widget.cc new file mode 100644 index 000000000000..ee9d36278307 --- /dev/null +++ b/www/chromium/files/patch-chrome_browser_ui_views_profiles_profile__picker__widget.cc @@ -0,0 +1,20 @@ +--- chrome/browser/ui/views/profiles/profile_picker_widget.cc.orig 2026-08-12 09:02:10 UTC ++++ chrome/browser/ui/views/profiles/profile_picker_widget.cc +@@ -11,7 +11,7 @@ + #include "chrome/browser/ui/views/profiles/profile_picker_view.h" + #include "content/public/browser/web_contents.h" + +-#if BUILDFLAG(IS_LINUX) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) + #include "chrome/browser/shell_integration_linux.h" + #endif + +@@ -20,7 +20,7 @@ ProfilePickerWidget::ProfilePickerWidget(ProfilePicker + views::Widget::InitParams params( + views::Widget::InitParams::NATIVE_WIDGET_OWNS_WIDGET); + params.delegate = profile_picker_view; +-#if BUILDFLAG(IS_LINUX) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) + params.wm_class_name = shell_integration_linux::GetProgramClassName(); + params.wm_class_class = shell_integration_linux::GetProgramClassClass(); + params.wayland_app_id = params.wm_class_class; diff --git a/www/chromium/files/patch-chrome_browser_ui_views_profiles_signin__view__controller__delegate__views.cc b/www/chromium/files/patch-chrome_browser_ui_views_profiles_signin__view__controller__delegate__views.cc index c5625f2bb0f2..6fca521aeedb 100644 --- a/www/chromium/files/patch-chrome_browser_ui_views_profiles_signin__view__controller__delegate__views.cc +++ b/www/chromium/files/patch-chrome_browser_ui_views_profiles_signin__view__controller__delegate__views.cc @@ -1,73 +1,73 @@ ---- chrome/browser/ui/views/profiles/signin_view_controller_delegate_views.cc.orig 2026-03-13 06:02:14 UTC +--- chrome/browser/ui/views/profiles/signin_view_controller_delegate_views.cc.orig 2026-08-12 09:02:10 UTC +++ chrome/browser/ui/views/profiles/signin_view_controller_delegate_views.cc @@ -65,14 +65,14 @@ #include "chrome/browser/ui/webui/signin/signout_confirmation/signout_confirmation_ui.h" #endif // BUILDFLAG(ENABLE_DICE_SUPPORT) -#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_WIN) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_WIN) || BUILDFLAG(IS_BSD) #include "chrome/browser/ui/webui/signin/history_sync_optin/history_sync_optin_ui.h" #endif // BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_WIN) namespace { const int kModalDialogWidth = 448; -#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) const int kManagedUserNoticeConfirmationDialogWidth = 780; const int kManagedUserNoticeConfirmationDialogHeight = 560; #endif -@@ -139,7 +139,7 @@ SigninViewControllerDelegateViews::CreateSyncConfirmat +@@ -140,7 +140,7 @@ SigninViewControllerDelegateViews::CreateSyncConfirmat kSyncConfirmationDialogWidth, InitializeSigninWebDialogUI(true)); } -#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_WIN) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_WIN) || BUILDFLAG(IS_BSD) std::unique_ptr SigninViewControllerDelegateViews::CreateHistorySyncOptInWebView( Browser* browser, -@@ -242,7 +242,7 @@ SigninViewControllerDelegateViews::CreateSignoutConfir +@@ -248,7 +248,7 @@ SigninViewControllerDelegateViews::CreateSignoutConfir } #endif // BUILDFLAG(ENABLE_DICE_SUPPORT) -#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) // static std::unique_ptr SigninViewControllerDelegateViews::CreateManagedUserNoticeConfirmationWebView( -@@ -418,7 +418,7 @@ SigninViewControllerDelegateViews::SigninViewControlle +@@ -433,7 +433,7 @@ SigninViewControllerDelegateViews::SigninViewControlle SetButtons(static_cast(ui::mojom::DialogButton::kNone)); -#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) // On the local profile creation dialog, cancelling the dialog (for instance // through the VKEY_ESCAPE accelerator) should delete the profile. if (delete_profile_on_cancel) { -@@ -510,7 +510,7 @@ void SigninViewControllerDelegateViews::DisplayModal() +@@ -525,7 +525,7 @@ void SigninViewControllerDelegateViews::DisplayModal() content_view_->RequestFocus(); } -#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) void SigninViewControllerDelegateViews::DeleteProfileOnCancel() { ProfileAttributesEntry* entry = g_browser_process->profile_manager() -@@ -548,7 +548,7 @@ SigninViewControllerDelegate::CreateSyncConfirmationDe +@@ -563,7 +563,7 @@ SigninViewControllerDelegate::CreateSyncConfirmationDe /*animate_on_resize=*/true); } -#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) // static SigninViewControllerDelegate* SigninViewControllerDelegate::CreateSyncHistoryOptInDelegate( -@@ -610,7 +610,7 @@ SigninViewControllerDelegate::CreateSignoutConfirmatio +@@ -625,7 +625,7 @@ SigninViewControllerDelegate::CreateSignoutConfirmatio } #endif // BUILDFLAG(ENABLE_DICE_SUPPORT) -#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) // static SigninViewControllerDelegate* SigninViewControllerDelegate::CreateManagedUserNoticeDelegate( diff --git a/www/chromium/files/patch-chrome_browser_ui_views_tabs_common_tab__group__header__view.cc b/www/chromium/files/patch-chrome_browser_ui_views_tabs_common_tab__group__header__view.cc new file mode 100644 index 000000000000..84f27cdfc0b9 --- /dev/null +++ b/www/chromium/files/patch-chrome_browser_ui_views_tabs_common_tab__group__header__view.cc @@ -0,0 +1,11 @@ +--- chrome/browser/ui/views/tabs/common/tab_group_header_view.cc.orig 2026-08-12 09:02:10 UTC ++++ chrome/browser/ui/views/tabs/common/tab_group_header_view.cc +@@ -329,7 +329,7 @@ void TabGroupHeaderView::OnMouseEntered(const ui::Mous + } + + void TabGroupHeaderView::OnMouseExited(const ui::MouseEvent& event) { +-#if BUILDFLAG(IS_LINUX) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) + // Bypasses the synchronous IsMouseHovered() check which can be stale on Linux + // Wayland/X11 due to asynchronous cursor updates during mouse exit events. + SetEditorBubbleButtonVisibilityOnHover(/*is_hovered=*/false); diff --git a/www/chromium/files/patch-chrome_browser_ui_views_tabs_dragging_tab__drag__controller.cc b/www/chromium/files/patch-chrome_browser_ui_views_tabs_dragging_tab__drag__controller.cc index 79dc66aea5c1..7754fe7f062a 100644 --- a/www/chromium/files/patch-chrome_browser_ui_views_tabs_dragging_tab__drag__controller.cc +++ b/www/chromium/files/patch-chrome_browser_ui_views_tabs_dragging_tab__drag__controller.cc @@ -1,47 +1,47 @@ ---- chrome/browser/ui/views/tabs/dragging/tab_drag_controller.cc.orig 2026-07-01 06:24:19 UTC +--- chrome/browser/ui/views/tabs/dragging/tab_drag_controller.cc.orig 2026-08-12 09:02:10 UTC +++ chrome/browser/ui/views/tabs/dragging/tab_drag_controller.cc -@@ -219,7 +219,7 @@ BrowserView* GetBrowserViewForContext(const TabDragCon +@@ -217,7 +217,7 @@ BrowserView* GetBrowserViewForContext(const TabDragCon void UpdateSystemDnDDragImage(TabDragContext* attached_context, const gfx::ImageSkia& image) { -#if BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) VLOG(1) << __func__ << " image size=" << image.size().ToString(); aura::Window* root_window = attached_context->GetWidget()->GetNativeWindow()->GetRootWindow(); -@@ -429,7 +429,7 @@ TabDragController::Liveness TabDragController::Init( +@@ -426,7 +426,7 @@ TabDragController::Liveness TabDragController::Init( // synchronous on desktop Linux, so use that. // - ChromeOS Ash // Releasing capture on Ash cancels gestures so avoid it. -#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) ref->can_release_capture_ = false; #endif ref->start_point_in_screen_ = -@@ -1051,7 +1051,7 @@ TabDragController::Liveness TabDragController::DragBro +@@ -1056,7 +1056,7 @@ TabDragController::Liveness TabDragController::DragBro CHECK_EQ(SetCapture(target_context), Liveness::kAlive); } -#if !BUILDFLAG(IS_LINUX) +#if !BUILDFLAG(IS_LINUX) && !BUILDFLAG(IS_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. -@@ -2303,7 +2303,7 @@ void TabDragController::CompleteDrag() { +@@ -2329,7 +2329,7 @@ void TabDragController::CompleteDrag() { } // If source window was maximized - maximize the new window as well. -#if !BUILDFLAG(IS_WIN) && !BUILDFLAG(IS_LINUX) && !BUILDFLAG(IS_MAC) +#if !BUILDFLAG(IS_WIN) && !BUILDFLAG(IS_LINUX) && !BUILDFLAG(IS_MAC) && !BUILDFLAG(IS_BSD) // Keeping maximized state breaks snap to Grid on Windows when dragging // tabs from maximized windows. TODO:(crbug.com/41321838) Explore doing this // for other desktop OS's. kMaximizedStateRetainedOnTabDrag in -@@ -2724,7 +2724,7 @@ TabDragController::Liveness TabDragController::GetLoca +@@ -2750,7 +2750,7 @@ TabDragController::Liveness TabDragController::GetLoca } } -#if BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) // Exclude windows which are pending deletion via Browser::TabStripEmpty(). // These windows can be returned in the Linux Aura port because the browser // window which was used for dragging is not hidden once all of its tabs are diff --git a/www/chromium/files/patch-chrome_browser_ui_views_tabs_hovercard_tab__hover__card__bubble__view.cc b/www/chromium/files/patch-chrome_browser_ui_views_tabs_hovercard_tab__hover__card__bubble__view.cc index 835f92ebe4cb..db4b20092515 100644 --- a/www/chromium/files/patch-chrome_browser_ui_views_tabs_hovercard_tab__hover__card__bubble__view.cc +++ b/www/chromium/files/patch-chrome_browser_ui_views_tabs_hovercard_tab__hover__card__bubble__view.cc @@ -1,11 +1,11 @@ ---- chrome/browser/ui/views/tabs/hovercard/tab_hover_card_bubble_view.cc.orig 2026-07-01 06:24:19 UTC +--- chrome/browser/ui/views/tabs/hovercard/tab_hover_card_bubble_view.cc.orig 2026-08-12 09:02:10 UTC +++ chrome/browser/ui/views/tabs/hovercard/tab_hover_card_bubble_view.cc -@@ -678,7 +678,7 @@ TabHoverCardBubbleView::TabHoverCardBubbleView( +@@ -663,7 +663,7 @@ TabHoverCardBubbleView::TabHoverCardBubbleView( // not become active. Setting this to false creates the need to explicitly // hide the hovercard on press, touch, and keyboard events. SetCanActivate(false); -#if BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) +#if BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) set_accept_events(false); #endif diff --git a/www/chromium/files/patch-chrome_browser_ui_views_tabs_projects_projects__panel__tab__groups__item__view.cc b/www/chromium/files/patch-chrome_browser_ui_views_tabs_projects_projects__panel__tab__groups__item__view.cc index 6754aca9e1f9..ac9230aa6496 100644 --- a/www/chromium/files/patch-chrome_browser_ui_views_tabs_projects_projects__panel__tab__groups__item__view.cc +++ b/www/chromium/files/patch-chrome_browser_ui_views_tabs_projects_projects__panel__tab__groups__item__view.cc @@ -1,11 +1,11 @@ ---- chrome/browser/ui/views/tabs/projects/projects_panel_tab_groups_item_view.cc.orig 2026-07-01 06:24:19 UTC +--- chrome/browser/ui/views/tabs/projects/projects_panel_tab_groups_item_view.cc.orig 2026-08-12 09:02:10 UTC +++ chrome/browser/ui/views/tabs/projects/projects_panel_tab_groups_item_view.cc -@@ -249,7 +249,7 @@ void ProjectsPanelTabGroupsItemView::OnMouseEntered( +@@ -247,7 +247,7 @@ void ProjectsPanelTabGroupsItemView::OnMouseEntered( void ProjectsPanelTabGroupsItemView::OnMouseExited( const ui::MouseEvent& event) { -#if BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) // Bypasses the synchronous IsMouseHovered() check which can be stale on Linux // Wayland/X11 due to asynchronous cursor updates during mouse exit events. UpdateHoverStateForced(/*is_hovered=*/false); diff --git a/www/chromium/files/patch-chrome_browser_ui_views_tabs_projects_projects__panel__thread__item__view.cc b/www/chromium/files/patch-chrome_browser_ui_views_tabs_projects_projects__panel__thread__item__view.cc index dd3b08aa0f26..90a39657f7b1 100644 --- a/www/chromium/files/patch-chrome_browser_ui_views_tabs_projects_projects__panel__thread__item__view.cc +++ b/www/chromium/files/patch-chrome_browser_ui_views_tabs_projects_projects__panel__thread__item__view.cc @@ -1,11 +1,11 @@ ---- chrome/browser/ui/views/tabs/projects/projects_panel_thread_item_view.cc.orig 2026-07-01 06:24:19 UTC +--- chrome/browser/ui/views/tabs/projects/projects_panel_thread_item_view.cc.orig 2026-08-12 09:02:10 UTC +++ chrome/browser/ui/views/tabs/projects/projects_panel_thread_item_view.cc -@@ -117,7 +117,7 @@ void ProjectsPanelThreadItemView::OnMouseEntered(const +@@ -114,7 +114,7 @@ void ProjectsPanelThreadItemView::OnMouseEntered(const } void ProjectsPanelThreadItemView::OnMouseExited(const ui::MouseEvent& event) { -#if BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) // Bypasses the synchronous IsMouseHovered() check which can be stale on Linux // Wayland/X11 due to asynchronous cursor updates during mouse exit events. UpdateHoverStateForced(/*is_hovered=*/false); 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 ad1e1b624cf5..fb7f554014be 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 2026-07-01 06:24:19 UTC +--- chrome/browser/ui/views/tabs/tab.cc.orig 2026-08-12 09:02:10 UTC +++ chrome/browser/ui/views/tabs/tab.cc -@@ -1281,7 +1281,7 @@ void Tab::MaybeUpdateHoverStatus(const ui::MouseEvent& +@@ -1254,7 +1254,7 @@ void Tab::MaybeUpdateHoverStatus(const ui::MouseEvent& return; } -#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_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/41467565): Once Linux/CrOS widget transparency is solved, diff --git a/www/chromium/files/patch-chrome_browser_ui_views_tabs_tab__style__views.cc b/www/chromium/files/patch-chrome_browser_ui_views_tabs_tab__style__views.cc index cde4312dc79f..2b0bb09d9067 100644 --- a/www/chromium/files/patch-chrome_browser_ui_views_tabs_tab__style__views.cc +++ b/www/chromium/files/patch-chrome_browser_ui_views_tabs_tab__style__views.cc @@ -1,11 +1,11 @@ ---- chrome/browser/ui/views/tabs/tab_style_views.cc.orig 2026-06-04 10:12:25 UTC +--- chrome/browser/ui/views/tabs/tab_style_views.cc.orig 2026-08-12 09:02:10 UTC +++ chrome/browser/ui/views/tabs/tab_style_views.cc -@@ -627,7 +627,7 @@ float TabStyleViewsImpl::GetCurrentActiveOpacity() con +@@ -593,7 +593,7 @@ float TabStyleViewsImpl::GetCurrentActiveOpacity() con if (!IsHoverAnimationActive()) { return base_opacity; } - return std::lerp(base_opacity, GetHoverOpacity(), GetHoverAnimationValue()); + return std::lerp(base_opacity, GetHoverOpacity(), static_cast(GetHoverAnimationValue())); } TabStyle::TabColors TabStyleViewsImpl::CalculateTargetColors() const { diff --git a/www/chromium/files/patch-chrome_browser_ui_views_tabs_vertical_vertical__tab__group__header__view.cc b/www/chromium/files/patch-chrome_browser_ui_views_tabs_vertical_vertical__tab__group__header__view.cc deleted file mode 100644 index c18eaeff128d..000000000000 --- a/www/chromium/files/patch-chrome_browser_ui_views_tabs_vertical_vertical__tab__group__header__view.cc +++ /dev/null @@ -1,11 +0,0 @@ ---- chrome/browser/ui/views/tabs/vertical/vertical_tab_group_header_view.cc.orig 2026-07-01 06:24:19 UTC -+++ chrome/browser/ui/views/tabs/vertical/vertical_tab_group_header_view.cc -@@ -329,7 +329,7 @@ void VerticalTabGroupHeaderView::OnMouseEntered(const - } - - void VerticalTabGroupHeaderView::OnMouseExited(const ui::MouseEvent& event) { --#if BUILDFLAG(IS_LINUX) -+#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) - // Bypasses the synchronous IsMouseHovered() check which can be stale on Linux - // Wayland/X11 due to asynchronous cursor updates during mouse exit events. - SetEditorBubbleButtonVisibilityOnHover(/*is_hovered=*/false); diff --git a/www/chromium/files/patch-chrome_browser_ui_views_toolbar_avatar__toolbar__button__interface.h b/www/chromium/files/patch-chrome_browser_ui_views_toolbar_avatar__toolbar__button__interface.h index f99a192c2aa3..b08ee450dc09 100644 --- a/www/chromium/files/patch-chrome_browser_ui_views_toolbar_avatar__toolbar__button__interface.h +++ b/www/chromium/files/patch-chrome_browser_ui_views_toolbar_avatar__toolbar__button__interface.h @@ -1,11 +1,11 @@ ---- chrome/browser/ui/views/toolbar/avatar_toolbar_button_interface.h.orig 2026-07-01 06:24:19 UTC +--- chrome/browser/ui/views/toolbar/avatar_toolbar_button_interface.h.orig 2026-08-12 09:02:10 UTC +++ chrome/browser/ui/views/toolbar/avatar_toolbar_button_interface.h -@@ -83,7 +83,7 @@ class AvatarToolbarButtonInterface { +@@ -87,7 +87,7 @@ class AvatarToolbarButtonInterface { // Attempts showing the In-Product-Help for profile Switching. virtual void MaybeShowProfileSwitchIPH() = 0; -#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) // Attempts showing the In-Product-Help when a supervised user signs-in in a // profile. virtual void MaybeShowSupervisedUserSignInIPH() = 0; diff --git a/www/chromium/files/patch-chrome_browser_ui_views_toolbar_toolbar__view.cc b/www/chromium/files/patch-chrome_browser_ui_views_toolbar_toolbar__view.cc index ecc953f86929..2a80baecf5cb 100644 --- a/www/chromium/files/patch-chrome_browser_ui_views_toolbar_toolbar__view.cc +++ b/www/chromium/files/patch-chrome_browser_ui_views_toolbar_toolbar__view.cc @@ -1,11 +1,11 @@ ---- chrome/browser/ui/views/toolbar/toolbar_view.cc.orig 2026-07-01 06:24:19 UTC +--- chrome/browser/ui/views/toolbar/toolbar_view.cc.orig 2026-08-12 09:02:10 UTC +++ chrome/browser/ui/views/toolbar/toolbar_view.cc -@@ -397,7 +397,7 @@ void ToolbarView::Init() { +@@ -403,7 +403,7 @@ void ToolbarView::Init() { } std::unique_ptr media_button; -#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) media_button = std::make_unique( browser_view_, std::make_unique(browser_)); diff --git a/www/chromium/files/patch-chrome_browser_ui_views_toolbar_webui__avatar__toolbar__button.cc b/www/chromium/files/patch-chrome_browser_ui_views_toolbar_webui__avatar__toolbar__button.cc index 602ae3eed45e..8caa886fe0c1 100644 --- a/www/chromium/files/patch-chrome_browser_ui_views_toolbar_webui__avatar__toolbar__button.cc +++ b/www/chromium/files/patch-chrome_browser_ui_views_toolbar_webui__avatar__toolbar__button.cc @@ -1,11 +1,11 @@ ---- chrome/browser/ui/views/toolbar/webui_avatar_toolbar_button.cc.orig 2026-07-01 06:24:19 UTC +--- chrome/browser/ui/views/toolbar/webui_avatar_toolbar_button.cc.orig 2026-08-12 09:02:10 UTC +++ chrome/browser/ui/views/toolbar/webui_avatar_toolbar_button.cc -@@ -136,7 +136,7 @@ void WebUIAvatarToolbarButton::MaybeShowProfileSwitchI +@@ -216,7 +216,7 @@ void WebUIAvatarToolbarButton::MaybeShowProfileSwitchI } } -#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) void WebUIAvatarToolbarButton::MaybeShowSupervisedUserSignInIPH() { if (state_manager_ && delegate_->GetView()->GetWidget()) { state_manager_->MaybeShowSupervisedUserSignInIPH(); diff --git a/www/chromium/files/patch-chrome_browser_ui_views_toolbar_webui__avatar__toolbar__button.h b/www/chromium/files/patch-chrome_browser_ui_views_toolbar_webui__avatar__toolbar__button.h index afcc1bc13c1b..ffe46ecd91c8 100644 --- a/www/chromium/files/patch-chrome_browser_ui_views_toolbar_webui__avatar__toolbar__button.h +++ b/www/chromium/files/patch-chrome_browser_ui_views_toolbar_webui__avatar__toolbar__button.h @@ -1,11 +1,11 @@ ---- chrome/browser/ui/views/toolbar/webui_avatar_toolbar_button.h.orig 2026-07-01 06:24:19 UTC +--- chrome/browser/ui/views/toolbar/webui_avatar_toolbar_button.h.orig 2026-08-12 09:02:10 UTC +++ chrome/browser/ui/views/toolbar/webui_avatar_toolbar_button.h -@@ -48,7 +48,7 @@ class WebUIAvatarToolbarButton : public AvatarToolbarB +@@ -57,7 +57,7 @@ class WebUIAvatarToolbarButton : public AvatarToolbarB bool should_announce) override; bool HasExplicitButtonState() const override; void MaybeShowProfileSwitchIPH() override; -#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) void MaybeShowSupervisedUserSignInIPH() override; void MaybeShowSignInBenefitsIPH() override; #endif // BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) diff --git a/www/chromium/files/patch-chrome_browser_ui_views_user__education_browser__user__education__service.cc b/www/chromium/files/patch-chrome_browser_ui_views_user__education_browser__user__education__service.cc index 15ce1b43e1c6..89328ec09257 100644 --- a/www/chromium/files/patch-chrome_browser_ui_views_user__education_browser__user__education__service.cc +++ b/www/chromium/files/patch-chrome_browser_ui_views_user__education_browser__user__education__service.cc @@ -1,20 +1,38 @@ ---- chrome/browser/ui/views/user_education/browser_user_education_service.cc.orig 2026-07-29 11:06:49 UTC +--- chrome/browser/ui/views/user_education/browser_user_education_service.cc.orig 2026-08-12 09:02:10 UTC +++ chrome/browser/ui/views/user_education/browser_user_education_service.cc -@@ -1466,7 +1466,7 @@ void MaybeRegisterChromeFeaturePromos( +@@ -289,7 +289,7 @@ CreateNavigationAction(GURL target) { + } + + #if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || \ +- BUILDFLAG(IS_CHROMEOS) ++ BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) + void NavigateToSettingsPage(ContextPtr ctx, + user_education::FeaturePromoHandle promo_handle) { + BrowserWindowInterface* const browser = GetBrowser(ctx); +@@ -1481,7 +1481,7 @@ void MaybeRegisterChromeFeaturePromos( "Triggered when a shared tab becomes the active tab."))); } -#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) // kIPHSupervisedUserProfileSigninFeature: registry.RegisterFeature(std::move( FeaturePromoSpecification::CreateForCustomAction( -@@ -1771,7 +1771,7 @@ void MaybeRegisterChromeFeaturePromos( - "Triggered to inform users of the availability of the " +@@ -1774,7 +1774,7 @@ void MaybeRegisterChromeFeaturePromos( "new translate screen feature on the Lens Overlay."))); --#if BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_WIN) -+#if BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_WIN) || BUILDFLAG(IS_BSD) + #if BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_WIN) || \ +- BUILDFLAG(IS_CHROMEOS) ++ BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) // kIPHDesktopPWAsLinkCapturingLaunch: registry.RegisterFeature(std::move( FeaturePromoSpecification::CreateForCustomAction( +@@ -2507,7 +2507,7 @@ void MaybeRegisterChromeNewBadges(user_education::NewB + 151, "mtatarski@google.com", + "Show the new badge on Send to Your Devices context menu items."))); + +-#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) ++#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) + registry.RegisterFeature(user_education::NewBadgeSpecification( + switches::kCrossDeviceSigninFromDesktop, + user_education::Metadata( diff --git a/www/chromium/files/patch-chrome_browser_ui_views_web__apps_web__app__integration__test__driver.cc b/www/chromium/files/patch-chrome_browser_ui_views_web__apps_web__app__integration__test__driver.cc index 997c73b0b67a..e4565e01f1a0 100644 --- a/www/chromium/files/patch-chrome_browser_ui_views_web__apps_web__app__integration__test__driver.cc +++ b/www/chromium/files/patch-chrome_browser_ui_views_web__apps_web__app__integration__test__driver.cc @@ -1,83 +1,83 @@ ---- chrome/browser/ui/views/web_apps/web_app_integration_test_driver.cc.orig 2026-07-01 06:24:19 UTC +--- chrome/browser/ui/views/web_apps/web_app_integration_test_driver.cc.orig 2026-08-12 09:02:10 UTC +++ chrome/browser/ui/views/web_apps/web_app_integration_test_driver.cc -@@ -568,7 +568,7 @@ std::string GetFileExtension(FileExtension file_extens +@@ -570,7 +570,7 @@ std::string GetFileExtension(FileExtension file_extens } #if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || \ - BUILDFLAG(IS_CHROMEOS) + BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) SiteConfig GetSiteConfigurationFromAppName(const std::string& app_name) { SiteConfig config; bool is_app_found = false; -@@ -2296,7 +2296,7 @@ void WebAppIntegrationTestDriver::DeletePlatformShortc +@@ -2331,7 +2331,7 @@ void WebAppIntegrationTestDriver::DeletePlatformShortc if (app_name.empty()) { app_name = GetSiteConfiguration(site).app_name; } -#if BUILDFLAG(IS_MAC) || BUILDFLAG(IS_WIN) || BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_MAC) || BUILDFLAG(IS_WIN) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) ASSERT_TRUE(override_registration_->test_override().IsShortcutCreated( profile(), app_id, app_name)); ASSERT_TRUE( -@@ -3735,7 +3735,7 @@ void WebAppIntegrationTestDriver::CheckRunOnOsLoginEna +@@ -3773,7 +3773,7 @@ void WebAppIntegrationTestDriver::CheckRunOnOsLoginEna app_state->id, app_state->name); ASSERT_TRUE(icon_color.has_value()); ASSERT_THAT(site_config.icon_color, testing::Eq(icon_color.value())); -#elif BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) +#elif BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) ASSERT_TRUE(override_registration_->test_override().IsRunOnOsLoginEnabled( profile(), app_state->id, app_state->name)); #endif -@@ -3750,7 +3750,7 @@ void WebAppIntegrationTestDriver::CheckRunOnOsLoginDis +@@ -3788,7 +3788,7 @@ void WebAppIntegrationTestDriver::CheckRunOnOsLoginDis GetAppBySiteMode(after_state_change_action_state_.get(), profile(), site); ASSERT_TRUE(app_state); base::ScopedAllowBlockingForTesting allow_blocking; -#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) ASSERT_FALSE(override_registration_->test_override().IsRunOnOsLoginEnabled( profile(), app_state->id, app_state->name)); #endif -@@ -3760,7 +3760,7 @@ void WebAppIntegrationTestDriver::CheckRunOnOsLoginDis +@@ -3798,7 +3798,7 @@ void WebAppIntegrationTestDriver::CheckRunOnOsLoginDis void WebAppIntegrationTestDriver::CheckSiteHandlesFile( Site site, FileExtension file_extension) { -#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) if (!BeforeStateCheckAction(__FUNCTION__)) { return; } -@@ -3776,7 +3776,7 @@ void WebAppIntegrationTestDriver::CheckSiteHandlesFile +@@ -3814,7 +3814,7 @@ void WebAppIntegrationTestDriver::CheckSiteHandlesFile void WebAppIntegrationTestDriver::CheckSiteNotHandlesFile( Site site, FileExtension file_extension) { -#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) if (!BeforeStateCheckAction(__FUNCTION__)) { return; } -@@ -4576,7 +4576,7 @@ base::FilePath WebAppIntegrationTestDriver::GetShortcu +@@ -4619,7 +4619,7 @@ base::FilePath WebAppIntegrationTestDriver::GetShortcu base::FilePath shortcut_dir, const std::string& app_name, const webapps::AppId& app_id) { -#if BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_WIN) +#if BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_WIN) || BUILDFLAG(IS_BSD) return override_registration_->test_override().GetShortcutPath( profile(), shortcut_dir, app_id, app_name); #else -@@ -4781,7 +4781,7 @@ bool WebAppIntegrationTestDriver::IsShortcutAndIconCre +@@ -4824,7 +4824,7 @@ bool WebAppIntegrationTestDriver::IsShortcutAndIconCre const webapps::AppId& id) { base::ScopedAllowBlockingForTesting allow_blocking; bool is_shortcut_and_icon_correct = false; -#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) bool is_shortcut_correct = override_registration_->test_override().IsShortcutCreated(profile, id, name); -@@ -4825,7 +4825,7 @@ bool WebAppIntegrationTestDriver::DoIconColorsMatch(Pr +@@ -4868,7 +4868,7 @@ bool WebAppIntegrationTestDriver::DoIconColorsMatch(Pr do_icon_colors_match = (expected_icon_pixel_color == shortcut_pixel_color_apps_folder.value()); } -#elif BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) +#elif BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) SkColor expected_icon_pixel_color = GetSiteConfigurationFromAppName(name).icon_color; std::optional actual_color_install_icon_size = diff --git a/www/chromium/files/patch-chrome_browser_ui_web__applications_app__browser__controller.cc b/www/chromium/files/patch-chrome_browser_ui_web__applications_app__browser__controller.cc index b2ad08421fb8..49e203bae090 100644 --- a/www/chromium/files/patch-chrome_browser_ui_web__applications_app__browser__controller.cc +++ b/www/chromium/files/patch-chrome_browser_ui_web__applications_app__browser__controller.cc @@ -1,11 +1,11 @@ ---- chrome/browser/ui/web_applications/app_browser_controller.cc.orig 2026-07-01 06:24:19 UTC +--- chrome/browser/ui/web_applications/app_browser_controller.cc.orig 2026-08-12 09:02:10 UTC +++ chrome/browser/ui/web_applications/app_browser_controller.cc -@@ -557,7 +557,7 @@ std::u16string AppBrowserController::GetLaunchFlashTex +@@ -562,7 +562,7 @@ std::u16string AppBrowserController::GetLaunchFlashTex // web bundle. The flash text is not needed on platforms that already display // the app name in the title bar (e.g. Mac, Windows, and Linux). if (IsIsolatedWebApp()) { -#if BUILDFLAG(IS_MAC) || BUILDFLAG(IS_WIN) || BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_MAC) || BUILDFLAG(IS_WIN) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) return std::u16string(); #else // !(BUILDFLAG(IS_MAC) || BUILDFLAG(IS_WIN) || BUILDFLAG(IS_LINUX)) return GetAppShortName(); diff --git a/www/chromium/files/patch-chrome_browser_ui_web__applications_web__app__ui__manager__impl.cc b/www/chromium/files/patch-chrome_browser_ui_web__applications_web__app__ui__manager__impl.cc index d748b179c922..05708447a128 100644 --- a/www/chromium/files/patch-chrome_browser_ui_web__applications_web__app__ui__manager__impl.cc +++ b/www/chromium/files/patch-chrome_browser_ui_web__applications_web__app__ui__manager__impl.cc @@ -1,29 +1,20 @@ ---- chrome/browser/ui/web_applications/web_app_ui_manager_impl.cc.orig 2026-07-01 06:24:19 UTC +--- chrome/browser/ui/web_applications/web_app_ui_manager_impl.cc.orig 2026-08-12 09:02:10 UTC +++ chrome/browser/ui/web_applications/web_app_ui_manager_impl.cc -@@ -325,7 +325,7 @@ bool WebAppUiManagerImpl::IsAppMigrationDialogShowing( +@@ -341,7 +341,7 @@ bool WebAppUiManagerImpl::IsAppMigrationDialogShowing( return false; } #if BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_WIN) || \ - BUILDFLAG(IS_MAC) + BUILDFLAG(IS_MAC) || BUILDFLAG(IS_BSD) BrowserView* browser_view = BrowserView::GetBrowserViewForBrowser(window); return browser_view && browser_view->GetProperty(kIsPwaUpdateDialogShowingKey) && -@@ -649,7 +649,7 @@ void WebAppUiManagerImpl::MaybeShowIPHPromoForAppsLaun - Browser* browser, - Profile* profile, - const std::string& app_id) { --#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) -+#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) - WebAppProvider* provider = WebAppProvider::GetForWebApps(profile); - CHECK(provider); - -@@ -867,7 +867,7 @@ void WebAppUiManagerImpl::ClearWebAppSiteDataIfNeeded( - } +@@ -930,7 +930,7 @@ void WebAppUiManagerImpl::ClearWebAppSiteDataIfNeeded( } --#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) -+#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) + #if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || \ +- BUILDFLAG(IS_CHROMEOS) ++ BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) const base::Feature& GetPromoFeatureEngagementFromBrowser( const BrowserWindowInterface* browser) { diff --git a/www/chromium/files/patch-chrome_browser_ui_web__applications_web__app__ui__manager__impl.h b/www/chromium/files/patch-chrome_browser_ui_web__applications_web__app__ui__manager__impl.h index e84cba791401..eea9904b64e4 100644 --- a/www/chromium/files/patch-chrome_browser_ui_web__applications_web__app__ui__manager__impl.h +++ b/www/chromium/files/patch-chrome_browser_ui_web__applications_web__app__ui__manager__impl.h @@ -1,11 +1,11 @@ ---- chrome/browser/ui/web_applications/web_app_ui_manager_impl.h.orig 2026-07-01 06:24:19 UTC +--- chrome/browser/ui/web_applications/web_app_ui_manager_impl.h.orig 2026-08-12 09:02:10 UTC +++ chrome/browser/ui/web_applications/web_app_ui_manager_impl.h -@@ -256,7 +256,7 @@ class WebAppUiManagerImpl : public BrowserCollectionOb - UninstallCompleteCallback uninstall_complete_callback, +@@ -264,7 +264,7 @@ class WebAppUiManagerImpl : public BrowserCollectionOb webapps::UninstallResultCode uninstall_code); --#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) -+#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) + #if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || \ +- BUILDFLAG(IS_CHROMEOS) ++ BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) void ShowIPHPromoForAppsLaunchedViaLinkCapturing(Browser* browser, const webapps::AppId& app_id, bool is_activated); diff --git a/www/chromium/files/patch-chrome_browser_ui_webui__browser_webui__browser__window.cc b/www/chromium/files/patch-chrome_browser_ui_webui__browser_webui__browser__window.cc index 9ad58e2b5e27..abeec1eb4ba1 100644 --- a/www/chromium/files/patch-chrome_browser_ui_webui__browser_webui__browser__window.cc +++ b/www/chromium/files/patch-chrome_browser_ui_webui__browser_webui__browser__window.cc @@ -1,11 +1,11 @@ ---- chrome/browser/ui/webui_browser/webui_browser_window.cc.orig 2026-07-01 06:24:19 UTC +--- chrome/browser/ui/webui_browser/webui_browser_window.cc.orig 2026-08-12 09:02:10 UTC +++ chrome/browser/ui/webui_browser/webui_browser_window.cc -@@ -63,7 +63,7 @@ const char* const kWebUIBrowserWindowKey = "__WEBUI_BR +@@ -72,7 +72,7 @@ const char* const kWebUIBrowserWindowKey = "__WEBUI_BR // Copied from chrome/browser/ui/views/frame/browser_widget.cc. bool IsUsingLinuxSystemTheme(Profile* profile) { -#if BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) return ThemeServiceFactory::GetForProfile(profile)->UsingSystemTheme(); #else return false; diff --git a/www/chromium/files/patch-chrome_browser_ui_webui_app__home_app__home__page__handler.cc b/www/chromium/files/patch-chrome_browser_ui_webui_app__home_app__home__page__handler.cc index 4e7863a54c42..0394af4b8026 100644 --- a/www/chromium/files/patch-chrome_browser_ui_webui_app__home_app__home__page__handler.cc +++ b/www/chromium/files/patch-chrome_browser_ui_webui_app__home_app__home__page__handler.cc @@ -1,11 +1,11 @@ ---- chrome/browser/ui/webui/app_home/app_home_page_handler.cc.orig 2026-06-04 10:12:25 UTC +--- chrome/browser/ui/webui/app_home/app_home_page_handler.cc.orig 2026-08-12 09:02:10 UTC +++ chrome/browser/ui/webui/app_home/app_home_page_handler.cc -@@ -63,7 +63,7 @@ +@@ -64,7 +64,7 @@ #include "ui/base/window_open_disposition_utils.h" #include "url/gurl.h" -static_assert(BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX)); +static_assert(BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)); using content::WebUI; using extensions::Extension; diff --git a/www/chromium/files/patch-chrome_browser_ui_webui_chrome__web__ui__configs.cc b/www/chromium/files/patch-chrome_browser_ui_webui_chrome__web__ui__configs.cc index 2edeb1f80cb1..93de337c65a1 100644 --- a/www/chromium/files/patch-chrome_browser_ui_webui_chrome__web__ui__configs.cc +++ b/www/chromium/files/patch-chrome_browser_ui_webui_chrome__web__ui__configs.cc @@ -1,95 +1,95 @@ ---- chrome/browser/ui/webui/chrome_web_ui_configs.cc.orig 2026-07-01 06:24:19 UTC +--- chrome/browser/ui/webui/chrome_web_ui_configs.cc.orig 2026-08-12 09:02:10 UTC +++ chrome/browser/ui/webui/chrome_web_ui_configs.cc -@@ -170,7 +170,7 @@ +@@ -172,7 +172,7 @@ #include "chrome/browser/ui/webui/default_browser/visual_guided_setter_ui.h" #endif // BUILDFLAG(IS_WIN) -#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) #include "chrome/browser/ui/webui/app_settings/web_app_settings_ui.h" #include "chrome/browser/ui/webui/browser_switch/browser_switch_ui.h" #include "chrome/browser/ui/webui/signin/history_sync_optin/history_sync_optin_ui.h" -@@ -179,13 +179,13 @@ +@@ -181,13 +181,13 @@ #endif // BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) #if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || \ - BUILDFLAG(IS_ANDROID) + BUILDFLAG(IS_ANDROID) || BUILDFLAG(IS_BSD) #include "chrome/browser/ui/webui/sandbox/sandbox_internals_ui.h" #endif // BUILDFLAG(IS_WIN) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || // BUILDFLAG(IS_ANDROID) #if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || \ - BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_DESKTOP_ANDROID) + BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_DESKTOP_ANDROID) || BUILDFLAG(IS_BSD) #include "chrome/browser/ui/webui/discards/discards_ui.h" #include "chrome/browser/ui/webui/management/management_ui.h" #endif // BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || -@@ -218,7 +218,7 @@ +@@ -222,7 +222,7 @@ #include "chrome/browser/ui/webui/signin/signin_error_ui.h" #endif // !BUILDFLAG(IS_CHROMEOS) && !BUILDFLAG(IS_ANDROID) -#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) #include "chrome/browser/ui/webui/on_device_translation_internals/on_device_translation_internals_ui.h" #endif // BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) -@@ -235,7 +235,7 @@ +@@ -239,7 +239,7 @@ #endif // BUILDFLAG(IS_MAC) #if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || \ - BUILDFLAG(IS_CHROMEOS) + BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) #include "chrome/browser/ui/webui/skills/skills_ui.h" #endif // BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || \ // BUILDFLAG(IS_CHROMEOS) -@@ -398,7 +398,7 @@ void RegisterChromeWebUIConfigs() { +@@ -403,7 +403,7 @@ void RegisterChromeWebUIConfigs() { map.AddWebUIConfig(std::make_unique()); #endif // BUILDFLAG(IS_ANDROID) -#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_OPENBSD) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) map.AddWebUIConfig(std::make_unique()); #endif // BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || // BUILDFLAG(IS_OPENBSD) -@@ -429,7 +429,7 @@ void RegisterChromeWebUIConfigs() { +@@ -434,7 +434,7 @@ void RegisterChromeWebUIConfigs() { map.AddWebUIConfig(std::make_unique()); #endif // BUILDFLAG(IS_WIN) -#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) map.AddWebUIConfig(std::make_unique()); map.AddWebUIConfig(std::make_unique()); map.AddWebUIConfig(std::make_unique()); -@@ -438,19 +438,19 @@ void RegisterChromeWebUIConfigs() { +@@ -443,19 +443,19 @@ void RegisterChromeWebUIConfigs() { #endif // BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) #if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || \ - BUILDFLAG(IS_ANDROID) + BUILDFLAG(IS_ANDROID) || BUILDFLAG(IS_BSD) map.AddWebUIConfig(std::make_unique()); #endif // BUILDFLAG(IS_WIN) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || // BUILDFLAG(IS_ANDROID) #if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || \ - BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_DESKTOP_ANDROID) + BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_DESKTOP_ANDROID) || BUILDFLAG(IS_BSD) map.AddWebUIConfig(std::make_unique()); map.AddWebUIConfig(std::make_unique()); #endif // BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || // BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_DESKTOP_ANDROID) -#if BUILDFLAG(IS_MAC) || BUILDFLAG(IS_WIN) || BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_MAC) || BUILDFLAG(IS_WIN) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) map.AddWebUIConfig(std::make_unique()); #endif // BUILDFLAG(IS_MAC) || BUILDFLAG(IS_WIN) -@@ -496,7 +496,7 @@ void RegisterChromeWebUIConfigs() { +@@ -503,7 +503,7 @@ void RegisterChromeWebUIConfigs() { #endif // BUILDFLAG(IS_MAC) #if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || \ - BUILDFLAG(IS_CHROMEOS) + BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) map.AddWebUIConfig(std::make_unique()); #endif // BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || \ // BUILDFLAG(IS_CHROMEOS) diff --git a/www/chromium/files/patch-chrome_browser_ui_webui_connectors__internals_connectors__internals__page__handler.cc b/www/chromium/files/patch-chrome_browser_ui_webui_connectors__internals_connectors__internals__page__handler.cc index 1b6d67a37979..3f376429b86b 100644 --- a/www/chromium/files/patch-chrome_browser_ui_webui_connectors__internals_connectors__internals__page__handler.cc +++ b/www/chromium/files/patch-chrome_browser_ui_webui_connectors__internals_connectors__internals__page__handler.cc @@ -1,29 +1,29 @@ ---- chrome/browser/ui/webui/connectors_internals/connectors_internals_page_handler.cc.orig 2026-05-07 17:02:56 UTC +--- chrome/browser/ui/webui/connectors_internals/connectors_internals_page_handler.cc.orig 2026-08-12 09:02:10 UTC +++ chrome/browser/ui/webui/connectors_internals/connectors_internals_page_handler.cc @@ -75,7 +75,7 @@ std::string ConvertPolicyLevelToString(DTCPolicyLevel #endif // !BUILDFLAG(IS_ANDROID) #if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || \ - BUILDFLAG(IS_ANDROID) + BUILDFLAG(IS_ANDROID) || BUILDFLAG(IS_BSD) std::string GetStringFromTimestamp(base::Time timestamp) { return (timestamp == base::Time()) ? std::string() : base::UnlocalizedTimeFormatWithPattern( -@@ -190,7 +190,7 @@ void ConnectorsInternalsPageHandler::GetClientCertific +@@ -196,7 +196,7 @@ void ConnectorsInternalsPageHandler::GetClientCertific void ConnectorsInternalsPageHandler::GetSignalsReportingState( GetSignalsReportingStateCallback callback) { #if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || \ - BUILDFLAG(IS_ANDROID) + BUILDFLAG(IS_ANDROID) || BUILDFLAG(IS_BSD) auto* profile_prefs = profile_->GetPrefs(); std::string last_upload_attempt_time_string = -@@ -331,7 +331,7 @@ void ConnectorsInternalsPageHandler::OnSignalsCollecte +@@ -337,7 +337,7 @@ void ConnectorsInternalsPageHandler::OnSignalsCollecte #endif // !BUILDFLAG(IS_ANDROID) #if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || \ - BUILDFLAG(IS_ANDROID) + BUILDFLAG(IS_ANDROID) || BUILDFLAG(IS_BSD) void ConnectorsInternalsPageHandler::OnReportGenerated( GetSignalsReportingStateCallback callback, connectors_internals::mojom::SignalsReportingStatePtr state, diff --git a/www/chromium/files/patch-chrome_browser_ui_webui_cr__components_searchbox_searchbox__handler.cc b/www/chromium/files/patch-chrome_browser_ui_webui_cr__components_searchbox_searchbox__handler.cc index f99799e91b73..96015c018567 100644 --- a/www/chromium/files/patch-chrome_browser_ui_webui_cr__components_searchbox_searchbox__handler.cc +++ b/www/chromium/files/patch-chrome_browser_ui_webui_cr__components_searchbox_searchbox__handler.cc @@ -1,29 +1,20 @@ ---- chrome/browser/ui/webui/cr_components/searchbox/searchbox_handler.cc.orig 2026-07-01 06:24:19 UTC +--- chrome/browser/ui/webui/cr_components/searchbox/searchbox_handler.cc.orig 2026-08-12 09:02:10 UTC +++ chrome/browser/ui/webui/cr_components/searchbox/searchbox_handler.cc -@@ -206,7 +206,7 @@ const char* kMacShareIconResourceName = +@@ -219,7 +219,7 @@ constexpr char kMacShareIconResourceName[] = #elif BUILDFLAG(IS_WIN) - const char* kWinShareIconResourceName = - "//resources/cr_components/searchbox/icons/win_share.svg"; + constexpr char kWinShareIconResourceName[] = + "//resources/cr_components/searchbox/icons/win_share_cr23.svg"; -#elif BUILDFLAG(IS_LINUX) +#elif BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) - const char* kLinuxShareIconResourceName = - "//resources/cr_components/searchbox/icons/share.svg"; + constexpr char kLinuxShareIconResourceName[] = + "//resources/cr_components/searchbox/icons/share_cr23.svg"; #else -@@ -264,7 +264,7 @@ static void DefineChromeRefreshRealboxIcons() { - #elif BUILDFLAG(IS_WIN) - kWinShareIconResourceName = - "//resources/cr_components/searchbox/icons/win_share_cr23.svg"; --#elif BUILDFLAG(IS_LINUX) -+#elif BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) - kLinuxShareIconResourceName = - "//resources/cr_components/searchbox/icons/share_cr23.svg"; - #else -@@ -781,7 +781,7 @@ std::string SearchboxHandler::AutocompleteIconToResour +@@ -740,7 +740,7 @@ std::string SearchboxHandler::AutocompleteIconToResour : omnibox::kShareWinChromeRefreshOldIcon.name)) { return kWinShareIconResourceName; } -#elif BUILDFLAG(IS_LINUX) +#elif BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) if (icon.name == (features::IsRoundedIconsEnabled() ? omnibox::kSendIcon.name : omnibox::kShareLinuxChromeRefreshOldIcon.name)) { diff --git a/www/chromium/files/patch-chrome_browser_ui_webui_infobar__internals_infobar__internals__handler.cc b/www/chromium/files/patch-chrome_browser_ui_webui_infobar__internals_infobar__internals__handler.cc index b516b1ba3111..98927a5e2735 100644 --- a/www/chromium/files/patch-chrome_browser_ui_webui_infobar__internals_infobar__internals__handler.cc +++ b/www/chromium/files/patch-chrome_browser_ui_webui_infobar__internals_infobar__internals__handler.cc @@ -1,29 +1,29 @@ ---- chrome/browser/ui/webui/infobar_internals/infobar_internals_handler.cc.orig 2026-07-01 06:24:19 UTC +--- chrome/browser/ui/webui/infobar_internals/infobar_internals_handler.cc.orig 2026-08-12 09:02:10 UTC +++ chrome/browser/ui/webui/infobar_internals/infobar_internals_handler.cc -@@ -63,7 +63,7 @@ +@@ -65,7 +65,7 @@ #include "chrome/browser/ui/cocoa/keystone_infobar_delegate.h" #endif -#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) #include "chrome/browser/ui/startup/default_browser_prompt/default_browser_prompt_manager.h" // nogncheck #include "chrome/browser/ui/startup/default_browser_prompt/default_browser_prompt_prefs.h" // nogncheck #include "chrome/browser/ui/views/session_restore_infobar/session_restore_infobar_delegate.h" -@@ -106,7 +106,7 @@ void InfoBarInternalsHandler::GetInfoBars(GetInfoBarsC +@@ -108,7 +108,7 @@ void InfoBarInternalsHandler::GetInfoBars(GetInfoBarsC "The Collected Cookies infobar is shown after the user has changed " "the allowed/blocked state of a cookie, reminding them to reload " "the page in order for the new cookies to take effect.")); -#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) infobar_list.emplace_back(InfoBarEntry::New( /*type=*/InfoBarType::kDefaultBrowser, /*name=*/"Default Browser", /*description=*/ -@@ -232,7 +232,7 @@ bool InfoBarInternalsHandler::TriggerInfoBarInternal(I - CollectedCookiesInfoBarDelegate::Create(infobar_manager); +@@ -238,7 +238,7 @@ bool InfoBarInternalsHandler::TriggerInfoBarInternal(I + } return true; } -#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) case InfoBarType::kDefaultBrowser: { - BrowserWindowInterface* const bwi = - GetLastActiveBrowserWindowInterfaceWithAnyProfile(); + Profile* profile = bwi ? bwi->GetProfile() : nullptr; + diff --git a/www/chromium/files/patch-chrome_browser_ui_webui_password__manager_promo__cards__handler.h b/www/chromium/files/patch-chrome_browser_ui_webui_password__manager_promo__cards__handler.h index 5a9ee222505a..bde576f92eb1 100644 --- a/www/chromium/files/patch-chrome_browser_ui_webui_password__manager_promo__cards__handler.h +++ b/www/chromium/files/patch-chrome_browser_ui_webui_password__manager_promo__cards__handler.h @@ -1,20 +1,20 @@ ---- chrome/browser/ui/webui/password_manager/promo_cards_handler.h.orig 2026-07-01 06:24:19 UTC +--- chrome/browser/ui/webui/password_manager/promo_cards_handler.h.orig 2026-08-12 09:02:10 UTC +++ chrome/browser/ui/webui/password_manager/promo_cards_handler.h @@ -54,7 +54,7 @@ class PromoCardsHandler : public content::WebUIMessage PasswordPromoCardBase* GetPromoToShowAndUpdatePref(); -#if BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) void OnEncryptorReceived(base::Value callback_id, scoped_refptr encryptor); #endif // BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) @@ -62,7 +62,7 @@ class PromoCardsHandler : public content::WebUIMessage - raw_ptr profile_; + raw_ptr profile_; std::vector> promo_cards_; -#if BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) // This points into `promo_cards_`, so should be ordered after it. raw_ptr relaunch_chrome_promo_ = nullptr; diff --git a/www/chromium/files/patch-chrome_browser_ui_webui_policy_policy__ui.cc b/www/chromium/files/patch-chrome_browser_ui_webui_policy_policy__ui.cc new file mode 100644 index 000000000000..58ae660495c4 --- /dev/null +++ b/www/chromium/files/patch-chrome_browser_ui_webui_policy_policy__ui.cc @@ -0,0 +1,11 @@ +--- chrome/browser/ui/webui/policy/policy_ui.cc.orig 2026-08-12 09:02:10 UTC ++++ chrome/browser/ui/webui/policy/policy_ui.cc +@@ -149,7 +149,7 @@ void CreateAndAddPolicyUIHtmlSource(Profile* profile) + {"statusFlexOrgNoPolicy", IDS_POLICY_STATUS_FLEX_ORG_NO_POLICY}, + {"statusDevice", IDS_POLICY_STATUS_DEVICE}, + {"statusMachine", IDS_POLICY_STATUS_MACHINE}, +-#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) ++#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) + {"statusUpdater", IDS_POLICY_STATUS_UPDATER}, + #endif // BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) + {"statusUser", IDS_POLICY_STATUS_USER}, 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 b389233321d1..97b121ee69d1 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,70 +1,70 @@ ---- chrome/browser/ui/webui/settings/settings_localized_strings_provider.cc.orig 2026-07-01 06:24:19 UTC +--- chrome/browser/ui/webui/settings/settings_localized_strings_provider.cc.orig 2026-08-12 09:02:10 UTC +++ chrome/browser/ui/webui/settings/settings_localized_strings_provider.cc -@@ -155,7 +155,7 @@ +@@ -156,7 +156,7 @@ #include "chrome/browser/ui/webui/settings/system_handler.h" #endif -#if BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) #include "ui/display/screen.h" #endif -@@ -165,7 +165,7 @@ +@@ -166,7 +166,7 @@ #include "device/fido/win/webauthn_api.h" #endif // BUILDFLAG(IS_WIN) -#if BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) #include "ui/linux/linux_ui_factory.h" #include "ui/ozone/public/ozone_platform.h" #endif -@@ -290,7 +290,7 @@ void AddA11yStrings(content::WebUIDataSource* html_sou +@@ -291,7 +291,7 @@ void AddA11yStrings(content::WebUIDataSource* html_sou {"toastAlertLevelDescription", IDS_SETTINGS_ACCESSIBILITY_TOAST_FREQUENCY_DESCRIPTION}, #endif -#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) +#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_BSD) {"overscrollHistoryNavigationTitle", IDS_SETTINGS_OVERSCROLL_HISTORY_NAVIGATION_TITLE}, {"overscrollHistoryNavigationSubtitle", -@@ -592,7 +592,7 @@ void AddAppearanceStrings(content::WebUIDataSource* ht +@@ -610,7 +610,7 @@ void AddAppearanceStrings(content::WebUIDataSource* ht {"uiFeatureAlignSide", IDS_SETTINGS_UI_FEATURE_ALIGN_SIDE}, {"uiFeatureAlignTop", IDS_SETTINGS_UI_FEATURE_ALIGN_TOP}, {"resetToDefault", IDS_SETTINGS_RESET_TO_DEFAULT}, -#if BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) {"gtkTheme", IDS_SETTINGS_GTK_THEME}, {"useGtkTheme", IDS_SETTINGS_USE_GTK_THEME}, {"qtTheme", IDS_SETTINGS_QT_THEME}, -@@ -600,11 +600,11 @@ void AddAppearanceStrings(content::WebUIDataSource* ht +@@ -618,11 +618,11 @@ void AddAppearanceStrings(content::WebUIDataSource* ht {"classicTheme", IDS_SETTINGS_CLASSIC_THEME}, {"useClassicTheme", IDS_SETTINGS_USE_CLASSIC_THEME}, #endif -#if !BUILDFLAG(IS_LINUX) +#if !BUILDFLAG(IS_LINUX) && !BUILDFLAG(IS_BSD) {"resetToDefaultTheme", IDS_SETTINGS_RESET_TO_DEFAULT_THEME}, #endif {"resetToolbarToDefault", IDS_SETTINGS_RESET_TOOLBAR_TO_DEFAULT}, -#if BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) {"showWindowDecorations", IDS_SHOW_WINDOW_DECORATIONS}, #endif #if BUILDFLAG(IS_MAC) -@@ -649,7 +649,7 @@ void AddAppearanceStrings(content::WebUIDataSource* ht +@@ -663,7 +663,7 @@ void AddAppearanceStrings(content::WebUIDataSource* ht html_source->AddString("configurableSidePanelAlignments", configurable_alignments_json); -#if BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) bool show_custom_chrome_frame = ui::OzonePlatform::GetInstance() ->GetPlatformRuntimeProperties() .supports_server_side_window_decorations; -@@ -1965,7 +1965,7 @@ void AddSignOutDialogStrings(content::WebUIDataSource* +@@ -1997,7 +1997,7 @@ void AddSignOutDialogStrings(content::WebUIDataSource* g_browser_process->GetApplicationLocale()) .spec(); -#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) html_source->AddString( "syncDisconnectManagedProfileExplanation", l10n_util::GetStringFUTF8( diff --git a/www/chromium/files/patch-chrome_browser_ui_webui_signin_profile__picker__handler.cc b/www/chromium/files/patch-chrome_browser_ui_webui_signin_profile__picker__handler.cc index 618a5281b20b..b0bcae84c02f 100644 --- a/www/chromium/files/patch-chrome_browser_ui_webui_signin_profile__picker__handler.cc +++ b/www/chromium/files/patch-chrome_browser_ui_webui_signin_profile__picker__handler.cc @@ -1,11 +1,11 @@ ---- chrome/browser/ui/webui/signin/profile_picker_handler.cc.orig 2026-07-01 06:24:19 UTC +--- chrome/browser/ui/webui/signin/profile_picker_handler.cc.orig 2026-08-12 09:02:10 UTC +++ chrome/browser/ui/webui/signin/profile_picker_handler.cc -@@ -177,7 +177,7 @@ base::DictValue CreateProfileState(const ProfileAttrib +@@ -218,7 +218,7 @@ base::DictValue CreateProfileState(const ProfileAttrib IDS_PROFILE_PICKER_PROFILE_CARD_LABEL, local_profile_name); if (entry->GetIsManaged() == signin::Tribool::kTrue) { profile_entry.Set("avatarBadge", "cr:domain"); -#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_WIN) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_WIN) || BUILDFLAG(IS_BSD) } else if (entry->IsSupervised()) { profileCardButtonLabel = l10n_util::GetStringFUTF16( IDS_PROFILE_PICKER_PROFILE_CARD_LABEL_SUPERVISED, local_profile_name); diff --git a/www/chromium/files/patch-chrome_browser_ui_webui_user__education__internals_user__education__internals__page__handler__impl.cc b/www/chromium/files/patch-chrome_browser_ui_webui_user__education__internals_user__education__internals__page__handler__impl.cc index e3eff8a56c7a..6991b5265a92 100644 --- a/www/chromium/files/patch-chrome_browser_ui_webui_user__education__internals_user__education__internals__page__handler__impl.cc +++ b/www/chromium/files/patch-chrome_browser_ui_webui_user__education__internals_user__education__internals__page__handler__impl.cc @@ -1,29 +1,29 @@ ---- chrome/browser/ui/webui/user_education_internals/user_education_internals_page_handler_impl.cc.orig 2026-07-01 06:24:19 UTC +--- chrome/browser/ui/webui/user_education_internals/user_education_internals_page_handler_impl.cc.orig 2026-08-12 09:02:10 UTC +++ chrome/browser/ui/webui/user_education_internals/user_education_internals_page_handler_impl.cc -@@ -49,7 +49,7 @@ +@@ -50,7 +50,7 @@ #include "ui/base/l10n/l10n_util.h" #include "ui/base/webui/resource_path.h" -#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) #include "chrome/browser/ui/navigator/browser_navigator.h" #include "chrome/browser/ui/navigator/browser_navigator_params.h" #include "net/base/url_util.h" -@@ -89,7 +89,7 @@ user_education::NewBadgeRegistry* GetNewBadgeRegistry( +@@ -90,7 +90,7 @@ user_education::NewBadgeRegistry* GetNewBadgeRegistry( } whats_new::WhatsNewRegistry* GetWhatsNewRegistry() { -#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) return g_browser_process->GetFeatures()->whats_new_registry(); #else return nullptr; -@@ -863,7 +863,7 @@ void UserEducationInternalsPageHandlerImpl::ClearWhats +@@ -934,7 +934,7 @@ void UserEducationInternalsPageHandlerImpl::ClearWhats } void UserEducationInternalsPageHandlerImpl::LaunchWhatsNewStaging() { -#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) GURL url = net::AppendQueryParameter(GURL(chrome::kChromeUIWhatsNewURL), "staging", "true"); NavigateParams params(profile_, url, ui::PAGE_TRANSITION_TYPED); diff --git a/www/chromium/files/patch-chrome_browser_ui_webui_version_version__ui.cc b/www/chromium/files/patch-chrome_browser_ui_webui_version_version__ui.cc new file mode 100644 index 000000000000..7cb7a23465fa --- /dev/null +++ b/www/chromium/files/patch-chrome_browser_ui_webui_version_version__ui.cc @@ -0,0 +1,11 @@ +--- chrome/browser/ui/webui/version/version_ui.cc.orig 2026-08-12 09:02:10 UTC ++++ chrome/browser/ui/webui/version/version_ui.cc +@@ -209,7 +209,7 @@ int VersionUI::VersionProcessorVariation() { + return IDS_VERSION_UI_64BIT; + #endif // defined(ARCH_CPU_X86) + #endif // defined(ARCH_CPU_ARM64) +-#elif BUILDFLAG(IS_LINUX) ++#elif BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) + #if defined(ARCH_CPU_X86_64) + return IDS_VERSION_UI_64BIT_INTEL; + #elif defined(ARCH_CPU_ARM64) diff --git a/www/chromium/files/patch-chrome_browser_ui_window__sizer_window__sizer.cc b/www/chromium/files/patch-chrome_browser_ui_window__sizer_window__sizer.cc index de62b2ea4d33..9b5f5fbe3a84 100644 --- a/www/chromium/files/patch-chrome_browser_ui_window__sizer_window__sizer.cc +++ b/www/chromium/files/patch-chrome_browser_ui_window__sizer_window__sizer.cc @@ -1,11 +1,11 @@ ---- chrome/browser/ui/window_sizer/window_sizer.cc.orig 2026-06-04 10:12:25 UTC +--- chrome/browser/ui/window_sizer/window_sizer.cc.orig 2026-08-12 09:02:10 UTC +++ chrome/browser/ui/window_sizer/window_sizer.cc -@@ -225,7 +225,7 @@ void WindowSizer::GetBrowserWindowBoundsAndShowState( +@@ -223,7 +223,7 @@ void WindowSizer::GetBrowserWindowBoundsAndShowState( browser, window_bounds, show_state); } -#if !BUILDFLAG(IS_LINUX) +#if !BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) // Linux has its own implementation, see WindowSizerLinux. // static void WindowSizer::GetBrowserWindowBoundsAndShowState( diff --git a/www/chromium/files/patch-chrome_browser_web__applications_extension__status__utils.h b/www/chromium/files/patch-chrome_browser_web__applications_extension__status__utils.h deleted file mode 100644 index e71a34daeccb..000000000000 --- a/www/chromium/files/patch-chrome_browser_web__applications_extension__status__utils.h +++ /dev/null @@ -1,11 +0,0 @@ ---- chrome/browser/web_applications/extension_status_utils.h.orig 2024-09-30 07:45:04 UTC -+++ chrome/browser/web_applications/extension_status_utils.h -@@ -50,7 +50,7 @@ bool IsExtensionDefaultInstalled(content::BrowserConte - bool IsExternalExtensionUninstalled(content::BrowserContext* context, - const std::string& extension_id); - --#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) -+#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) - // If this method returns true, then |extension_id| will not be launchable. - // - // The eventual goal is that this method should return true for all hosted apps, diff --git a/www/chromium/files/patch-chrome_browser_web__applications_test_os__integration__test__override__impl.cc b/www/chromium/files/patch-chrome_browser_web__applications_test_os__integration__test__override__impl.cc index bc971a28ee36..25ed444bceaa 100644 --- a/www/chromium/files/patch-chrome_browser_web__applications_test_os__integration__test__override__impl.cc +++ b/www/chromium/files/patch-chrome_browser_web__applications_test_os__integration__test__override__impl.cc @@ -1,119 +1,119 @@ ---- chrome/browser/web_applications/test/os_integration_test_override_impl.cc.orig 2026-07-01 06:24:19 UTC +--- chrome/browser/web_applications/test/os_integration_test_override_impl.cc.orig 2026-08-12 09:02:10 UTC +++ chrome/browser/web_applications/test/os_integration_test_override_impl.cc @@ -49,7 +49,7 @@ #include "testing/gtest/include/gtest/gtest.h" #include "third_party/skia/include/core/SkBitmap.h" #include "third_party/skia/include/core/SkColor.h" -#if BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) #include "base/nix/xdg_util.h" #endif @@ -123,7 +123,7 @@ std::vector GetFileExtensionsForProgId( } #endif -#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) // Performs a blocking read of app icons from the disk. std::optional IconManagerReadIconForSize( WebAppIconManager& icon_manager, @@ -308,7 +308,7 @@ bool OsIntegrationTestOverrideImpl::SimulateDeleteShor GetShortcutPath(profile, chrome_apps_folder(), app_id, app_name); CHECK(base::PathExists(app_folder_shortcut_path)); return base::DeletePathRecursively(app_folder_shortcut_path); -#elif BUILDFLAG(IS_LINUX) +#elif BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) base::FilePath desktop_shortcut_path = GetShortcutPath(profile, desktop(), app_id, app_name); LOG(INFO) << desktop_shortcut_path; @@ -355,7 +355,7 @@ bool OsIntegrationTestOverrideImpl::DeleteApplicationM } #endif // BUILDFLAG(IS_WIN) -#if BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) bool OsIntegrationTestOverrideImpl::DeleteDesktopDirOnLinux() { if (desktop_.IsValid()) { return desktop_.Delete(); @@ -369,7 +369,7 @@ bool OsIntegrationTestOverrideImpl::IsRunOnOsLoginEnab Profile* profile, const webapps::AppId& app_id, const std::string& app_name) { -#if BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) std::string shortcut_filename = "chrome-" + app_id + "-" + profile->GetBaseName().value() + ".desktop"; base::i18n::ReplaceIllegalCharactersInPath(&shortcut_filename, '_'); @@ -426,7 +426,7 @@ bool OsIntegrationTestOverrideImpl::IsFileExtensionHan is_file_handled = shell_integration::CanApplicationHandleURL(app_path, test_file_url); base::DeleteFile(test_file_path); -#elif BUILDFLAG(IS_LINUX) +#elif BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) base::FilePath user_applications_dir = applications(); bool database_update_called = false; for (const LinuxFileRegistration& command : linux_file_registration_) { @@ -475,7 +475,7 @@ std::optional OsIntegrationTestOverrideImpl: return std::nullopt; } return GetIconFromShortcutFile(shortcut_path); -#elif BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) +#elif BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) WebAppProvider* provider = WebAppProvider::GetForLocalAppsUnchecked(profile); if (!provider) { return std::nullopt; -@@ -543,7 +543,7 @@ base::FilePath OsIntegrationTestOverrideImpl::GetShort +@@ -544,7 +544,7 @@ base::FilePath OsIntegrationTestOverrideImpl::GetShort return bundle.bundle_path(); } } -#elif BUILDFLAG(IS_LINUX) +#elif BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) std::string shortcut_filename = "chrome-" + app_id + "-" + profile->GetBaseName().value() + ".desktop"; base::i18n::ReplaceIllegalCharactersInPath(&shortcut_filename, '_'); -@@ -570,7 +570,7 @@ bool OsIntegrationTestOverrideImpl::IsShortcutCreated( +@@ -571,7 +571,7 @@ bool OsIntegrationTestOverrideImpl::IsShortcutCreated( base::FilePath app_shortcut_path = GetShortcutPath(profile, chrome_apps_folder(), app_id, app_name); return base::PathExists(app_shortcut_path); -#elif BUILDFLAG(IS_LINUX) +#elif BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) base::FilePath desktop_shortcut_path = GetShortcutPath(profile, desktop(), app_id, app_name); return base::PathExists(desktop_shortcut_path); -@@ -784,7 +784,7 @@ void OsIntegrationTestOverrideImpl::EnableOrDisablePat +@@ -785,7 +785,7 @@ void OsIntegrationTestOverrideImpl::EnableOrDisablePat } #endif // BUILDFLAG(IS_MAC) -#if BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) base::FilePath OsIntegrationTestOverrideImpl::desktop() { return desktop_.GetPath(); } -@@ -835,7 +835,7 @@ OsIntegrationTestOverrideImpl::OsIntegrationTestOverri +@@ -836,7 +836,7 @@ OsIntegrationTestOverrideImpl::OsIntegrationTestOverri success = chrome_apps_folder_.CreateUniqueTempDirUnderPath( outer_temp_dir_.GetPath()); CHECK(success); -#elif BUILDFLAG(IS_LINUX) +#elif BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) success = desktop_.CreateUniqueTempDirUnderPath(outer_temp_dir_.GetPath()); CHECK(success); success = startup_.CreateUniqueTempDirUnderPath(outer_temp_dir_.GetPath()); -@@ -848,7 +848,7 @@ OsIntegrationTestOverrideImpl::OsIntegrationTestOverri +@@ -849,7 +849,7 @@ OsIntegrationTestOverrideImpl::OsIntegrationTestOverri CHECK(success); #endif -#if BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) auto callback = base::BindRepeating([](base::FilePath filename_in, std::string xdg_command, std::string file_contents) { -@@ -920,7 +920,7 @@ OsIntegrationTestOverrideImpl::~OsIntegrationTestOverr +@@ -921,7 +921,7 @@ OsIntegrationTestOverrideImpl::~OsIntegrationTestOverr EXPECT_TRUE(!startup_.IsValid() || startup_.Delete()); #elif BUILDFLAG(IS_MAC) EXPECT_TRUE(!chrome_apps_folder_.IsValid() || DeleteChromeAppsDir()); -#elif BUILDFLAG(IS_LINUX) +#elif BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) EXPECT_TRUE(!desktop_.IsValid() || desktop_.Delete()); EXPECT_TRUE(!startup_.IsValid() || startup_.Delete()); EXPECT_TRUE(!xdg_data_home_dir_.IsValid() || xdg_data_home_dir_.Delete()); diff --git a/www/chromium/files/patch-chrome_browser_web__applications_web__app.cc b/www/chromium/files/patch-chrome_browser_web__applications_web__app.cc index fb900811bd6e..66aa0766f9cb 100644 --- a/www/chromium/files/patch-chrome_browser_web__applications_web__app.cc +++ b/www/chromium/files/patch-chrome_browser_web__applications_web__app.cc @@ -1,20 +1,20 @@ ---- chrome/browser/web_applications/web_app.cc.orig 2026-06-04 10:12:25 UTC +--- chrome/browser/web_applications/web_app.cc.orig 2026-08-12 09:02:10 UTC +++ chrome/browser/web_applications/web_app.cc -@@ -78,7 +78,7 @@ +@@ -76,7 +76,7 @@ #include "url/origin.h" #if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || \ - BUILDFLAG(IS_CHROMEOS) + BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) #include "components/webapps/isolated_web_apps/scheme.h" #endif // BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || // BUILDFLAG(IS_CHROMEOS) -@@ -742,7 +742,7 @@ void WebApp::SetCurrentOsIntegrationStates( +@@ -728,7 +728,7 @@ void WebApp::SetCurrentOsIntegrationStates( void WebApp::SetIsolationData(IsolationData isolation_data) { CHECK(manifest_id_.is_valid() #if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || \ - BUILDFLAG(IS_CHROMEOS) + BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) && manifest_id_.value().SchemeIs(webapps::kIsolatedAppScheme)) #endif // BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || // BUILDFLAG(IS_CHROMEOS) diff --git a/www/chromium/files/patch-chrome_browser_webauthn_enclave__manager.cc b/www/chromium/files/patch-chrome_browser_webauthn_enclave__manager.cc index 292276fe869a..10052afc64c3 100644 --- a/www/chromium/files/patch-chrome_browser_webauthn_enclave__manager.cc +++ b/www/chromium/files/patch-chrome_browser_webauthn_enclave__manager.cc @@ -1,20 +1,20 @@ ---- chrome/browser/webauthn/enclave_manager.cc.orig 2026-07-01 06:24:19 UTC +--- chrome/browser/webauthn/enclave_manager.cc.orig 2026-08-12 09:02:10 UTC +++ chrome/browser/webauthn/enclave_manager.cc -@@ -748,7 +748,7 @@ base::flat_set GetGaiaIDs( +@@ -746,7 +746,7 @@ base::flat_set GetGaiaIDs( std::string UserVerifyingLabelToString(crypto::UserVerifyingKeyLabel label) { #if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || \ - BUILDFLAG(IS_CHROMEOS) + BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) return label; #else return std::string("placeholder"); -@@ -758,7 +758,7 @@ std::string UserVerifyingLabelToString(crypto::UserVer +@@ -756,7 +756,7 @@ std::string UserVerifyingLabelToString(crypto::UserVer std::optional UserVerifyingKeyLabelFromString( std::string saved_label) { #if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || \ - BUILDFLAG(IS_CHROMEOS) + BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) return saved_label; #else return std::nullopt; diff --git a/www/chromium/files/patch-chrome_common_chrome__features.cc b/www/chromium/files/patch-chrome_common_chrome__features.cc index 8025e651e426..b52a81f140ca 100644 --- a/www/chromium/files/patch-chrome_common_chrome__features.cc +++ b/www/chromium/files/patch-chrome_common_chrome__features.cc @@ -1,38 +1,38 @@ ---- chrome/common/chrome_features.cc.orig 2026-07-01 06:24:19 UTC +--- chrome/common/chrome_features.cc.orig 2026-08-12 09:02:10 UTC +++ chrome/common/chrome_features.cc @@ -72,7 +72,7 @@ BASE_FEATURE(kUseKeychainKeyProvider, base::FEATURE_EN #endif // BUILDFLAG(IS_MAC) #if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || \ - BUILDFLAG(IS_CHROMEOS) + BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) // Enables or disables the Autofill survey triggered by opening a prompt to // save address info. BASE_FEATURE(kAutofillAddressSurvey, base::FEATURE_DISABLED_BY_DEFAULT); -@@ -174,7 +174,7 @@ BASE_FEATURE(kEnableFullscreenToAnyScreenAndroid, - // Enables the new reset banner on the settings page. - BASE_FEATURE(kShowResetProfileBannerV2, base::FEATURE_ENABLED_BY_DEFAULT); +@@ -181,7 +181,7 @@ BASE_FEATURE(kEnableFullscreenToAnyScreenAndroid, + #endif + -#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) // Controls whether Chrome Apps are supported. See https://crbug.com/40186761. // If the feature is disabled, Chrome Apps continue to work. If enabled, Chrome // Apps will not launch and will be marked in the UI as deprecated. -@@ -1279,7 +1279,7 @@ BASE_FEATURE(kIsolatedWebAppManagedGuestSessionInstall +@@ -1326,7 +1326,7 @@ BASE_FEATURE(kIsolatedWebAppManagedGuestSessionInstall BASE_FEATURE(kIsolatedWebAppBundleCache, base::FEATURE_ENABLED_BY_DEFAULT); #endif // BUILDFLAG(IS_CHROMEOS) -#if BUILDFLAG(IS_LINUX) && !BUILDFLAG(IS_CHROMEOS) +#if (BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)) && !BUILDFLAG(IS_CHROMEOS) BASE_FEATURE(kLinuxLowMemoryMonitor, base::FEATURE_DISABLED_BY_DEFAULT); // Values taken from the low-memory-monitor documentation and also apply to the // portal API: -@@ -1290,7 +1290,7 @@ constexpr base::FeatureParam kLinuxLowMemoryMonit +@@ -1337,7 +1337,7 @@ constexpr base::FeatureParam kLinuxLowMemoryMonit &kLinuxLowMemoryMonitor, "critical_level", 255}; #endif // BUILDFLAG(IS_LINUX) && !BUILDFLAG(IS_CHROMEOS) -#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_WIN) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_WIN) || BUILDFLAG(IS_BSD) BASE_FEATURE(kListWebAppsSwitch, base::FEATURE_DISABLED_BY_DEFAULT); #endif diff --git a/www/chromium/files/patch-chrome_common_chrome__features.h b/www/chromium/files/patch-chrome_common_chrome__features.h index f8de03a07ffd..42d13eb6683b 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 2026-07-01 06:24:19 UTC +--- chrome/common/chrome_features.h.orig 2026-08-12 09:02:10 UTC +++ chrome/common/chrome_features.h @@ -64,7 +64,7 @@ BASE_DECLARE_FEATURE(kUseKeychainKeyProvider); #endif // BUILDFLAG(IS_MAC) #if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || \ - BUILDFLAG(IS_CHROMEOS) + BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) COMPONENT_EXPORT(CHROME_FEATURES) BASE_DECLARE_FEATURE(kAutofillAddressSurvey); COMPONENT_EXPORT(CHROME_FEATURES) BASE_DECLARE_FEATURE(kAutofillCardSurvey); COMPONENT_EXPORT(CHROME_FEATURES) BASE_DECLARE_FEATURE(kAutofillPasswordSurvey); -@@ -124,7 +124,7 @@ BASE_DECLARE_FEATURE(kDocumentPipStandaloneWindow); - COMPONENT_EXPORT(CHROME_FEATURES) - BASE_DECLARE_FEATURE(kShowResetProfileBannerV2); +@@ -127,7 +127,7 @@ COMPONENT_EXPORT(CHROME_FEATURES) + BASE_DECLARE_FEATURE(kDocumentPipStandaloneWindow); + -#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) COMPONENT_EXPORT(CHROME_FEATURES) BASE_DECLARE_FEATURE(kChromeAppsDeprecation); #endif -@@ -913,7 +913,7 @@ COMPONENT_EXPORT(CHROME_FEATURES) +@@ -939,7 +939,7 @@ COMPONENT_EXPORT(CHROME_FEATURES) BASE_DECLARE_FEATURE(kIsolatedWebAppBundleCache); #endif -#if BUILDFLAG(IS_LINUX) && !BUILDFLAG(IS_CHROMEOS) +#if (BUILDFLAG(IS_LINUX) && !BUILDFLAG(IS_CHROMEOS)) || BUILDFLAG(IS_BSD) COMPONENT_EXPORT(CHROME_FEATURES) BASE_DECLARE_FEATURE(kLinuxLowMemoryMonitor); COMPONENT_EXPORT(CHROME_FEATURES) extern const base::FeatureParam kLinuxLowMemoryMonitorModerateLevel; -@@ -921,7 +921,7 @@ COMPONENT_EXPORT(CHROME_FEATURES) +@@ -947,7 +947,7 @@ COMPONENT_EXPORT(CHROME_FEATURES) extern const base::FeatureParam kLinuxLowMemoryMonitorCriticalLevel; #endif // BUILDFLAG(IS_LINUX) && !BUILDFLAG(IS_CHROMEOS) -#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_WIN) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_WIN) || BUILDFLAG(IS_BSD) COMPONENT_EXPORT(CHROME_FEATURES) BASE_DECLARE_FEATURE(kListWebAppsSwitch); #endif diff --git a/www/chromium/files/patch-chrome_common_chrome__paths.cc b/www/chromium/files/patch-chrome_common_chrome__paths.cc index 60bdba1788bf..815993abca4f 100644 --- a/www/chromium/files/patch-chrome_common_chrome__paths.cc +++ b/www/chromium/files/patch-chrome_common_chrome__paths.cc @@ -1,82 +1,82 @@ ---- chrome/common/chrome_paths.cc.orig 2026-03-13 06:02:14 UTC +--- chrome/common/chrome_paths.cc.orig 2026-08-12 09:02:10 UTC +++ chrome/common/chrome_paths.cc @@ -31,7 +31,7 @@ #include "base/apple/foundation_util.h" #endif -#if BUILDFLAG(IS_POSIX) && !BUILDFLAG(IS_MAC) && !BUILDFLAG(IS_OPENBSD) +#if BUILDFLAG(IS_POSIX) && !BUILDFLAG(IS_MAC) #include "components/policy/core/common/policy_paths.h" #endif @@ -47,14 +47,14 @@ namespace { std::optional g_override_using_default_data_directory_for_testing; -#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_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 BUILDFLAG(GOOGLE_CHROME_BRANDING) - FILE_PATH_LITERAL("/usr/share/google-chrome/extensions"); + FILE_PATH_LITERAL("/usr/local/share/chromium/extensions"); #else - FILE_PATH_LITERAL("/usr/share/chromium/extensions"); + FILE_PATH_LITERAL("/usr/local/share/chromium/extensions"); #endif // BUILDFLAG(GOOGLE_CHROME_BRANDING) #endif // BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) @@ -175,7 +175,7 @@ bool PathProvider(int key, base::FilePath* result) { } break; case chrome::DIR_DEFAULT_DOWNLOADS_SAFE: -#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) +#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) if (!GetUserDownloadsDirectorySafe(&cur)) { return false; } @@ -405,13 +405,13 @@ bool PathProvider(int key, base::FilePath* result) { break; } #endif -#if BUILDFLAG(IS_POSIX) && !BUILDFLAG(IS_MAC) && !BUILDFLAG(IS_OPENBSD) +#if BUILDFLAG(IS_POSIX) && !BUILDFLAG(IS_MAC) case chrome::DIR_POLICY_FILES: { cur = base::FilePath(policy::kPolicyPath); break; } #endif -#if BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_MAC) || \ +#if BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_BSD) || \ (BUILDFLAG(IS_LINUX) && BUILDFLAG(CHROMIUM_BRANDING)) case chrome::DIR_USER_EXTERNAL_EXTENSIONS: { if (!base::PathService::Get(chrome::DIR_USER_DATA, &cur)) { @@ -421,7 +421,7 @@ bool PathProvider(int key, base::FilePath* result) { break; } #endif -#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) case chrome::DIR_STANDALONE_EXTERNAL_EXTENSIONS: { cur = base::FilePath(kFilepathSinglePrefExtensions); break; -@@ -460,7 +460,7 @@ bool PathProvider(int key, base::FilePath* result) { +@@ -448,7 +448,7 @@ bool PathProvider(int key, base::FilePath* result) { #if BUILDFLAG(ENABLE_EXTENSIONS_CORE) && \ (BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_MAC) || \ - BUILDFLAG(IS_ANDROID)) + BUILDFLAG(IS_ANDROID)) || BUILDFLAG(IS_BSD) case chrome::DIR_NATIVE_MESSAGING: #if BUILDFLAG(IS_MAC) #if BUILDFLAG(GOOGLE_CHROME_BRANDING) -@@ -477,6 +477,9 @@ bool PathProvider(int key, base::FilePath* result) { +@@ -465,6 +465,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 BUILDFLAG(IS_FREEBSD) + cur = base::FilePath(FILE_PATH_LITERAL( + "/usr/local/etc/chromium/native-messaging-hosts")); #elif BUILDFLAG(GOOGLE_CHROME_FOR_TESTING_BRANDING) cur = base::FilePath(FILE_PATH_LITERAL( "/etc/opt/chrome_for_testing/native-messaging-hosts")); diff --git a/www/chromium/files/patch-chrome_common_chrome__paths.h b/www/chromium/files/patch-chrome_common_chrome__paths.h index bf026d8717b6..7fe7d0e0e9de 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 2026-06-04 10:12:25 UTC +--- chrome/common/chrome_paths.h.orig 2026-08-12 09:02:10 UTC +++ chrome/common/chrome_paths.h @@ -55,7 +55,7 @@ enum { // to set policies for chrome. This directory // contains subdirectories. #endif -#if BUILDFLAG(IS_CHROMEOS) || \ +#if BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) || \ (BUILDFLAG(IS_LINUX) && BUILDFLAG(CHROMIUM_BRANDING)) || BUILDFLAG(IS_MAC) DIR_USER_EXTERNAL_EXTENSIONS, // Directory for per-user external extensions // on Chrome Mac and Chromium Linux. @@ -64,7 +64,7 @@ enum { // create it. #endif -#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) DIR_STANDALONE_EXTERNAL_EXTENSIONS, // Directory for 'per-extension' // definition manifest files that // describe extensions which are to be -@@ -104,7 +104,7 @@ enum { +@@ -102,7 +102,7 @@ enum { #if BUILDFLAG(ENABLE_EXTENSIONS_CORE) && \ (BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_MAC) || \ - BUILDFLAG(IS_ANDROID)) + BUILDFLAG(IS_ANDROID) || BUILDFLAG(IS_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 c45dca42c090..ef28f456723f 100644 --- a/www/chromium/files/patch-chrome_common_chrome__switches.cc +++ b/www/chromium/files/patch-chrome_common_chrome__switches.cc @@ -1,20 +1,20 @@ ---- chrome/common/chrome_switches.cc.orig 2026-07-01 06:24:19 UTC +--- chrome/common/chrome_switches.cc.orig 2026-08-12 09:02:10 UTC +++ chrome/common/chrome_switches.cc -@@ -932,7 +932,7 @@ const char kDebugPrint[] = "debug-print"; +@@ -937,7 +937,7 @@ const char kDebugPrint[] = "debug-print"; #endif #if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_MAC) || \ - BUILDFLAG(IS_WIN) + BUILDFLAG(IS_WIN) || BUILDFLAG(IS_BSD) // Causes the browser to launch directly in guest mode. const char kGuest[] = "guest"; -@@ -980,7 +980,7 @@ const char kGlicGuestUrlPresetStaging[] = "glic-guest- +@@ -984,7 +984,7 @@ const char kGlicGuestUrlPresetStaging[] = "glic-guest- const char kGlicGuestUrlPresetPreprod[] = "glic-guest-url-preset-preprod"; const char kGlicGuestUrlPresetProd[] = "glic-guest-url-preset-prod"; -#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_WIN) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_WIN) || BUILDFLAG(IS_BSD) // Writes open and installed web apps for each profile to the specified file // without launching a new browser window or tab. Pass a absolute file path // to specify where to output the information. Can be used together with diff --git a/www/chromium/files/patch-chrome_common_chrome__switches.h b/www/chromium/files/patch-chrome_common_chrome__switches.h index 9e611c9eb422..dab6396ddda7 100644 --- a/www/chromium/files/patch-chrome_common_chrome__switches.h +++ b/www/chromium/files/patch-chrome_common_chrome__switches.h @@ -1,20 +1,20 @@ ---- chrome/common/chrome_switches.h.orig 2026-07-01 06:24:19 UTC +--- chrome/common/chrome_switches.h.orig 2026-08-12 09:02:10 UTC +++ chrome/common/chrome_switches.h -@@ -288,7 +288,7 @@ extern const char kDebugPrint[]; +@@ -287,7 +287,7 @@ extern const char kDebugPrint[]; #endif #if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_MAC) || \ - BUILDFLAG(IS_WIN) + BUILDFLAG(IS_WIN) || BUILDFLAG(IS_BSD) extern const char kGuest[]; #endif -@@ -312,7 +312,7 @@ extern const char kGlicGuestUrlPresetStaging[]; +@@ -310,7 +310,7 @@ extern const char kGlicGuestUrlPresetStaging[]; extern const char kGlicGuestUrlPresetPreprod[]; extern const char kGlicGuestUrlPresetProd[]; -#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_WIN) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_WIN) || BUILDFLAG(IS_BSD) extern const char kListApps[]; extern const char kProfileBaseName[]; extern const char kProfileManagementAttributes[]; diff --git a/www/chromium/files/patch-chrome_common_extensions_extension__constants.h b/www/chromium/files/patch-chrome_common_extensions_extension__constants.h index d6c2517984e4..aaeb9a4eee9f 100644 --- a/www/chromium/files/patch-chrome_common_extensions_extension__constants.h +++ b/www/chromium/files/patch-chrome_common_extensions_extension__constants.h @@ -1,20 +1,20 @@ ---- chrome/common/extensions/extension_constants.h.orig 2026-07-01 06:24:19 UTC +--- chrome/common/extensions/extension_constants.h.orig 2026-08-12 09:02:10 UTC +++ chrome/common/extensions/extension_constants.h -@@ -329,7 +329,7 @@ inline constexpr char kReadingModeGDocsHelperExtension +@@ -213,7 +213,7 @@ inline constexpr char kReadingModeGDocsHelperExtension inline constexpr base::FilePath::CharType kReadingModeGDocsHelperManifestFilename[] = FILE_PATH_LITERAL("reading_mode_gdocs_helper_manifest.json"); -#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) +#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_BSD) // The extension id of the google tts engine extension to use on-device natural // Google voices. inline constexpr char kTTSEngineExtensionId[] = -@@ -380,7 +380,7 @@ inline constexpr auto kBuiltInFirstPartyExtensionIds = +@@ -264,7 +264,7 @@ inline constexpr auto kBuiltInFirstPartyExtensionIds = kGoogleSpeechSynthesisExtensionId, #endif // BUILDFLAG(IS_CHROMEOS) kReadingModeGDocsHelperExtensionId, -#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) +#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_BSD) kTTSEngineExtensionId, kComponentUpdaterTTSEngineExtensionId, #endif // BUILDFLAG(IS_WIN) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) diff --git a/www/chromium/files/patch-chrome_common_pref__names.h b/www/chromium/files/patch-chrome_common_pref__names.h index 4e85986ab1a6..93b201029e0f 100644 --- a/www/chromium/files/patch-chrome_common_pref__names.h +++ b/www/chromium/files/patch-chrome_common_pref__names.h @@ -1,101 +1,101 @@ ---- chrome/common/pref_names.h.orig 2026-07-01 06:24:19 UTC +--- chrome/common/pref_names.h.orig 2026-08-12 09:02:10 UTC +++ chrome/common/pref_names.h -@@ -723,7 +723,7 @@ inline constexpr char kGeminiSettings[] = "browser.gem +@@ -672,7 +672,7 @@ inline constexpr char kPrefDictationOnboardingComplete inline constexpr char kAllowedDomainsForApps[] = "settings.allowed_domains_for_apps"; -#if BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) // Linux specific preference on whether we should match the system theme. inline constexpr char kSystemTheme[] = "extensions.theme.system_theme"; #endif -@@ -899,7 +899,7 @@ inline constexpr char kShowUpdatePromotionInfoBar[] = +@@ -843,7 +843,7 @@ inline constexpr char kShowUpdatePromotionInfoBar[] = "browser.show_update_promotion_info_bar"; #endif -#if BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_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). inline constexpr char kUseCustomChromeFrame[] = "browser.custom_chrome_frame"; -@@ -1477,7 +1477,7 @@ inline constexpr char kPinInfoBarTimesShown[] = +@@ -1413,7 +1413,7 @@ inline constexpr char kPinInfoBarTimesShown[] = "browser.pin_infobar_times_shown"; #endif // BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) -#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) // How many times the session restore infobar has been shown. inline constexpr char kSessionRestoreInfoBarTimesShown[] = -@@ -1528,7 +1528,7 @@ static_assert(std::string_view(kDownloadDefaultDirecto +@@ -1464,7 +1464,7 @@ static_assert(std::string_view(kDownloadDefaultDirecto inline constexpr char kDownloadDirUpgraded[] = "download.directory_upgrade"; #if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || \ - BUILDFLAG(IS_MAC) + BUILDFLAG(IS_MAC) || BUILDFLAG(IS_BSD) inline constexpr char kOpenPdfDownloadInSystemReader[] = "download.open_pdf_in_system_reader"; #endif -@@ -1994,7 +1994,7 @@ inline constexpr char kMediaStorageIdSalt[] = "media.s +@@ -1955,7 +1955,7 @@ inline constexpr char kMediaStorageIdSalt[] = "media.s inline constexpr char kMediaCdmOriginData[] = "media.cdm.origin_data"; #endif // BUILDFLAG(IS_WIN) -#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) // A boolean pref to determine whether or not the network service is running // sandboxed. inline constexpr char kNetworkServiceSandboxEnabled[] = -@@ -2008,7 +2008,7 @@ inline constexpr char kNetworkServiceSandboxEnabled[] +@@ -1969,7 +1969,7 @@ inline constexpr char kNetworkServiceSandboxEnabled[] inline constexpr char kNetworkServiceFailedLaunchMajorVersion[] = "net.network_service_failed_launch_major_version"; -#if BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) // Records whether the user has seen an HTTP auth "negotiate" header. inline constexpr char kReceivedHttpAuthNegotiateHeader[] = "net.received_http_auth_negotiate_headers"; -@@ -2105,7 +2105,7 @@ inline constexpr char kIsolatedWebAppUserInstallationE +@@ -2071,7 +2071,7 @@ inline constexpr char kIsolatedWebAppUserInstallationE inline constexpr char kIsolatedWebAppPendingInitializationCount[] = "profile.isolated_web_app.install.pending_initialization_count"; -#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_CHROMEOS) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) // Boolean that specifies whether OK-AS-DELEGATE flag from KDC is respected // along with kAuthNegotiateDelegateAllowlist. inline constexpr char kAuthNegotiateDelegateByKdcPolicy[] = -@@ -2398,7 +2398,7 @@ inline constexpr char kHardwareSecureDecryptionDisable +@@ -2344,7 +2344,7 @@ inline constexpr char kHardwareSecureDecryptionDisable #endif // BUILDFLAG(IS_WIN) #if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_WIN) || \ - BUILDFLAG(IS_ANDROID) + BUILDFLAG(IS_ANDROID) || BUILDFLAG(IS_BSD) // Defines administrator-set availability of Chrome for Testing. inline constexpr char kChromeForTestingAllowed[] = "chrome_for_testing.allowed"; #endif -@@ -2819,7 +2819,7 @@ inline constexpr char kScreenCaptureWithoutGestureAllo +@@ -2770,7 +2770,7 @@ inline constexpr char kScreenCaptureWithoutGestureAllo inline constexpr char kSandboxExternalProtocolBlocked[] = "profile.sandbox_external_protocol_blocked"; -#if BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) // Boolean that indicates if system notifications are allowed to be used in // place of Chrome notifications. inline constexpr char kAllowSystemNotifications[] = -@@ -2968,7 +2968,7 @@ inline constexpr char kLensRegionSearchEnabled[] = +@@ -2918,7 +2918,7 @@ inline constexpr char kLensRegionSearchEnabled[] = inline constexpr char kLensDesktopNTPSearchEnabled[] = "policy.lens_desktop_ntp_search_enabled"; -#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_WIN) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_WIN) || BUILDFLAG(IS_BSD) // A dict mapping the edition name with the major version it was shown. inline constexpr char kWhatsNewEditionUsed[] = "browser.whats_new.edition_used"; // A list containing the features of each module in order of when they -@@ -3058,7 +3058,7 @@ inline constexpr char +@@ -3004,7 +3004,7 @@ inline constexpr char kAccessControlAllowMethodsInCORSPreflightSpecConformant[] = "access_control_allow_methods_in_cors_preflight_spec_conformant"; -#if BUILDFLAG(IS_ANDROID) || BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_ANDROID) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) // If this exists and is true, Chrome may run system DNS resolution out of the // network process. If false, Chrome will run system DNS resolution in the // network process. If non-existent, Chrome will decide where to run system DNS diff --git a/www/chromium/files/patch-chrome_common_url__constants.h b/www/chromium/files/patch-chrome_common_url__constants.h index aa1f06c19659..2c89d4b3e145 100644 --- a/www/chromium/files/patch-chrome_common_url__constants.h +++ b/www/chromium/files/patch-chrome_common_url__constants.h @@ -1,11 +1,11 @@ ---- chrome/common/url_constants.h.orig 2026-07-01 06:24:19 UTC +--- chrome/common/url_constants.h.orig 2026-08-12 09:02:10 UTC +++ chrome/common/url_constants.h -@@ -732,7 +732,7 @@ inline constexpr char kOutdatedPluginLearnMoreURL[] = +@@ -734,7 +734,7 @@ inline constexpr char kOutdatedPluginLearnMoreURL[] = "https://support.google.com/chrome?p=ib_outdated_plugin"; #endif -#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) // "Learn more" URL for the chrome apps deprecation dialog. inline constexpr char kChromeAppsDeprecationLearnMoreURL[] = "https://support.google.com/chrome?p=chrome_app_deprecation"; 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 9eda72ad1585..c03a5b969312 100644 --- a/www/chromium/files/patch-chrome_common_webui__url__constants.h +++ b/www/chromium/files/patch-chrome_common_webui__url__constants.h @@ -1,40 +1,40 @@ ---- chrome/common/webui_url_constants.h.orig 2026-07-01 06:24:19 UTC +--- chrome/common/webui_url_constants.h.orig 2026-08-12 09:02:10 UTC +++ chrome/common/webui_url_constants.h -@@ -467,12 +467,12 @@ bool IsSystemWebUIHost(std::string_view host); +@@ -480,12 +480,12 @@ bool IsSystemWebUIHost(std::string_view host); #endif // BUILDFLAG(IS_CHROMEOS) #if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || \ - BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_DESKTOP_ANDROID) + BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_DESKTOP_ANDROID) || BUILDFLAG(IS_BSD) inline constexpr char kChromeUIDiscardsHost[] = "discards"; inline constexpr char kChromeUIDiscardsURL[] = "chrome://discards/"; #endif -#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) inline constexpr char kChromeUIDefaultBrowserModalURL[] = "chrome://default-browser-modal/"; inline constexpr char kChromeUIDefaultBrowserModalHost[] = -@@ -495,11 +495,11 @@ inline constexpr char kChromeUILinuxProxyConfigHost[] +@@ -508,11 +508,11 @@ inline constexpr char kChromeUILinuxProxyConfigHost[] #endif #if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || \ - BUILDFLAG(IS_ANDROID) + BUILDFLAG(IS_ANDROID) || BUILDFLAG(IS_BSD) inline constexpr char kChromeUISandboxHost[] = "sandbox"; #endif -#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) inline constexpr char kChromeUIBrowserSwitchHost[] = "browser-switch"; inline constexpr char kChromeUIBrowserSwitchURL[] = "chrome://browser-switch/"; inline constexpr char kChromeUIIntroDefaultBrowserSubPage[] = "default-browser"; -@@ -535,7 +535,7 @@ inline constexpr char kChromeUIUpdaterHost[] = "update +@@ -548,7 +548,7 @@ inline constexpr char kChromeUIUpdaterHost[] = "update inline constexpr char kChromeUIUpdaterURL[] = "chrome://updater/"; #endif -#if ((BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS)) && \ +#if ((BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD)) && \ defined(TOOLKIT_VIEWS)) || \ defined(USE_AURA) inline constexpr char kChromeUITabModalConfirmDialogHost[] = diff --git a/www/chromium/files/patch-chrome_utility_services.cc b/www/chromium/files/patch-chrome_utility_services.cc index daa8c50bdb31..a1259a58b1df 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 2026-03-13 06:02:14 UTC +--- chrome/utility/services.cc.orig 2026-08-12 09:02:10 UTC +++ chrome/utility/services.cc -@@ -51,7 +51,7 @@ +@@ -52,7 +52,7 @@ #include "services/proxy_resolver_mac/mac_system_proxy_resolver_impl.h" #endif // BUILDFLAG(IS_MAC) -#if BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) #include "chrome/services/system_signals/linux/linux_system_signals_service.h" #endif // BUILDFLAG(IS_LINUX) -@@ -208,7 +208,7 @@ auto RunMacSystemProxyResolver( +@@ -209,7 +209,7 @@ auto RunMacSystemProxyResolver( } #endif // BUILDFLAG(IS_MAC) -#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) auto RunSystemSignalsService( mojo::PendingReceiver receiver) { -@@ -465,7 +465,7 @@ void RegisterMainThreadServices(mojo::ServiceFactory& +@@ -475,7 +475,7 @@ void RegisterMainThreadServices(mojo::ServiceFactory& services.Add(RunWindowsIconReader); #endif // BUILDFLAG(IS_WIN) -#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) services.Add(RunSystemSignalsService); #endif // BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) diff --git a/www/chromium/files/patch-chromeos_ash_components_mojo__proxy_mojo__core_core_channel.cc b/www/chromium/files/patch-chromeos_ash_components_mojo__proxy_mojo__core_core_channel.cc new file mode 100644 index 000000000000..fddc9e1457ce --- /dev/null +++ b/www/chromium/files/patch-chromeos_ash_components_mojo__proxy_mojo__core_core_channel.cc @@ -0,0 +1,20 @@ +--- chromeos/ash/components/mojo_proxy/mojo_core/core/channel.cc.orig 2026-08-12 09:02:10 UTC ++++ chromeos/ash/components/mojo_proxy/mojo_core/core/channel.cc +@@ -268,7 +268,7 @@ bool ShouldRecordSubsampledHistograms() { + } // namespace + + #if BUILDFLAG(IS_ANDROID) || \ +- (BUILDFLAG(IS_LINUX) && defined(FUZZING_BUILD_MODE_UNSAFE_FOR_PRODUCTION)) ++ ((BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)) && defined(FUZZING_BUILD_MODE_UNSAFE_FOR_PRODUCTION)) + + namespace { + +@@ -1317,7 +1317,7 @@ bool Channel::OnControlMessage(Message::MessageType me + } + + // Currently only CrOs, Linux, and Android support upgrades. +-#if !(BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_ANDROID)) ++#if !(BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_ANDROID) || BUILDFLAG(IS_BSD)) + // static + MOJO_LEGACY_SYSTEM_IMPL_EXPORT bool Channel::SupportsChannelUpgrade() { + return false; diff --git a/www/chromium/files/patch-chromeos_ash_components_mojo__proxy_mojo__core_core_channel.h b/www/chromium/files/patch-chromeos_ash_components_mojo__proxy_mojo__core_core_channel.h new file mode 100644 index 000000000000..9a88ccdf9ac6 --- /dev/null +++ b/www/chromium/files/patch-chromeos_ash_components_mojo__proxy_mojo__core_core_channel.h @@ -0,0 +1,11 @@ +--- chromeos/ash/components/mojo_proxy/mojo_core/core/channel.h.orig 2026-08-12 09:02:10 UTC ++++ chromeos/ash/components/mojo_proxy/mojo_core/core/channel.h +@@ -169,7 +169,7 @@ class MOJO_LEGACY_SYSTEM_IMPL_EXPORT Channel + } v2; + + #if BUILDFLAG(IS_ANDROID) || \ +- (BUILDFLAG(IS_LINUX) && defined(FUZZING_BUILD_MODE_UNSAFE_FOR_PRODUCTION)) ++ ((BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)) && defined(FUZZING_BUILD_MODE_UNSAFE_FOR_PRODUCTION)) + // On Android for each pair of connected ipcz::Node instances both sides + // of the connection run the same version of code. Restricting this + // extension of IpczHeader to Android allows to iterate on the wire format diff --git a/www/chromium/files/patch-chromeos_ash_components_mojo__proxy_mojo__core_core_channel__posix.cc b/www/chromium/files/patch-chromeos_ash_components_mojo__proxy_mojo__core_core_channel__posix.cc new file mode 100644 index 000000000000..5fb336d9901e --- /dev/null +++ b/www/chromium/files/patch-chromeos_ash_components_mojo__proxy_mojo__core_core_channel__posix.cc @@ -0,0 +1,29 @@ +--- chromeos/ash/components/mojo_proxy/mojo_core/core/channel_posix.cc.orig 2026-08-12 09:02:10 UTC ++++ chromeos/ash/components/mojo_proxy/mojo_core/core/channel_posix.cc +@@ -30,7 +30,7 @@ + #include "build/build_config.h" + #include "chromeos/ash/components/mojo_proxy/mojo_core/public/cpp/platform/socket_utils_posix.h" + +-#if (BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_ANDROID)) ++#if (BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_ANDROID) || BUILDFLAG(IS_BSD)) + #include "chromeos/ash/components/mojo_proxy/mojo_core/core/channel_linux.h" + #endif + +@@ -600,7 +600,7 @@ scoped_refptr Channel::Create( + ConnectionParams connection_params, + HandlePolicy handle_policy, + scoped_refptr io_task_runner) { +-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_ANDROID) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_ANDROID) || BUILDFLAG(IS_BSD) + return new ChannelLinux(delegate, std::move(connection_params), handle_policy, + io_task_runner); + #else +@@ -609,7 +609,7 @@ scoped_refptr Channel::Create( + #endif + } + +-#if (BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_ANDROID)) ++#if (BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_ANDROID) || BUILDFLAG(IS_BSD)) + // static + bool Channel::SupportsChannelUpgrade() { + return ChannelLinux::KernelSupportsUpgradeRequirements() && diff --git a/www/chromium/files/patch-chromeos_ash_components_mojo__proxy_mojo__core_core_embedder_embedder.cc b/www/chromium/files/patch-chromeos_ash_components_mojo__proxy_mojo__core_core_embedder_embedder.cc new file mode 100644 index 000000000000..4ea36bd93a76 --- /dev/null +++ b/www/chromium/files/patch-chromeos_ash_components_mojo__proxy_mojo__core_core_embedder_embedder.cc @@ -0,0 +1,20 @@ +--- chromeos/ash/components/mojo_proxy/mojo_core/core/embedder/embedder.cc.orig 2026-08-12 09:02:10 UTC ++++ chromeos/ash/components/mojo_proxy/mojo_core/core/embedder/embedder.cc +@@ -37,7 +37,7 @@ + #include "chromeos/ash/components/mojo_proxy/mojo_core/core/node_controller.h" + #endif + +-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_ANDROID) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_ANDROID) || BUILDFLAG(IS_BSD) + #include "chromeos/ash/components/mojo_proxy/mojo_core/core/channel_linux.h" + #endif // BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || + // BUILDFLAG(IS_ANDROID) +@@ -79,7 +79,7 @@ void InitFeatures() { + CHECK(base::FeatureList::GetInstance()); + + #if BUILDFLAG(IS_POSIX) && !BUILDFLAG(MOJO_LEGACY_USE_APPLE_CHANNEL) +-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_ANDROID) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_ANDROID) || BUILDFLAG(IS_BSD) + bool shared_mem_enabled = base::FeatureList::IsEnabled(kMojoUseEventFd); + int num_pages = kMojoUseEventFdPages.Get(); + if (num_pages < 0) { diff --git a/www/chromium/files/patch-components_BUILD.gn b/www/chromium/files/patch-components_BUILD.gn index f2286b2ba1e1..238b52a2ee6f 100644 --- a/www/chromium/files/patch-components_BUILD.gn +++ b/www/chromium/files/patch-components_BUILD.gn @@ -1,28 +1,28 @@ ---- components/BUILD.gn.orig 2026-07-01 06:24:19 UTC +--- components/BUILD.gn.orig 2026-08-12 09:02:10 UTC +++ components/BUILD.gn @@ -226,7 +226,6 @@ test("components_unittests") { "//components/contextual_search/internal:unit_tests", "//components/contextual_tasks:unit_tests", "//components/country_codes:unit_tests", - "//components/crash/core/common:unit_tests", + "//components/critical_actions/core/browser:unit_tests", "//components/cross_device/logging:unit_tests", "//components/crx_file:unit_tests", - "//components/data_sharing:unit_tests", -@@ -658,7 +657,7 @@ test("components_unittests") { +@@ -662,7 +661,7 @@ test("components_unittests") { "//components/user_data_importer/content:unit_tests", ] - if (!is_fuchsia) { #!iOS and!Fuchsia + if (!is_fuchsia && !is_bsd) { #!iOS and!Fuchsia deps += [ "//components/crash/content/browser:unit_tests", "//components/crash/core/app:unit_tests", -@@ -842,7 +841,7 @@ test("components_unittests") { +@@ -852,7 +851,7 @@ test("components_unittests") { deps += [ "//components/constrained_window:unit_tests" ] } - if (is_win || is_linux || is_chromeos || is_mac) { + if (is_win || (is_linux && !is_bsd) || is_chromeos || is_mac) { deps += [ "//components/stability_report:unit_tests", "//components/webapps/isolated_web_apps:unit_tests", diff --git a/www/chromium/files/patch-components_autofill_core_browser_foundations_browser__autofill__manager.cc b/www/chromium/files/patch-components_autofill_core_browser_foundations_browser__autofill__manager.cc index 6e9bbd135d91..67d2236f5412 100644 --- a/www/chromium/files/patch-components_autofill_core_browser_foundations_browser__autofill__manager.cc +++ b/www/chromium/files/patch-components_autofill_core_browser_foundations_browser__autofill__manager.cc @@ -1,11 +1,11 @@ ---- components/autofill/core/browser/foundations/browser_autofill_manager.cc.orig 2026-06-04 10:12:25 UTC +--- components/autofill/core/browser/foundations/browser_autofill_manager.cc.orig 2026-08-12 09:02:10 UTC +++ components/autofill/core/browser/foundations/browser_autofill_manager.cc -@@ -862,7 +862,7 @@ BrowserAutofillManager::GetAmountExtractionManager() { +@@ -884,7 +884,7 @@ BrowserAutofillManager::GetAmountExtractionManager() { payments::BnplManager* BrowserAutofillManager::GetPaymentsBnplManager() { #if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || \ - BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_ANDROID) + BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_ANDROID) || BUILDFLAG(IS_BSD) if (!bnpl_manager_) { bnpl_manager_ = std::make_unique(this); } diff --git a/www/chromium/files/patch-components_autofill_core_browser_integrators_optimization__guide_autofill__optimization__guide__decider.cc b/www/chromium/files/patch-components_autofill_core_browser_integrators_optimization__guide_autofill__optimization__guide__decider.cc index d08fe4e9787d..d676316823ed 100644 --- a/www/chromium/files/patch-components_autofill_core_browser_integrators_optimization__guide_autofill__optimization__guide__decider.cc +++ b/www/chromium/files/patch-components_autofill_core_browser_integrators_optimization__guide_autofill__optimization__guide__decider.cc @@ -1,11 +1,11 @@ ---- components/autofill/core/browser/integrators/optimization_guide/autofill_optimization_guide_decider.cc.orig 2026-07-01 06:24:19 UTC +--- components/autofill/core/browser/integrators/optimization_guide/autofill_optimization_guide_decider.cc.orig 2026-08-12 09:02:10 UTC +++ components/autofill/core/browser/integrators/optimization_guide/autofill_optimization_guide_decider.cc -@@ -216,7 +216,7 @@ void AddOptimizationTypesForBnplIssuers( +@@ -232,7 +232,7 @@ void AddOptimizationTypesForBnplIssuers( base::flat_set& optimization_types) { #if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || \ - BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_ANDROID) + BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_ANDROID) || BUILDFLAG(IS_BSD) auto bnpl_issuer_allowlist_can_be_loaded = [&bnpl_issuers](BnplIssuer::IssuerId issuer_id) { return std::ranges::contains(bnpl_issuers, issuer_id, diff --git a/www/chromium/files/patch-components_autofill_core_browser_payments_amount__extraction__manager.cc b/www/chromium/files/patch-components_autofill_core_browser_payments_amount__extraction__manager.cc index 2e8f6a1d946e..31439bd95b39 100644 --- a/www/chromium/files/patch-components_autofill_core_browser_payments_amount__extraction__manager.cc +++ b/www/chromium/files/patch-components_autofill_core_browser_payments_amount__extraction__manager.cc @@ -1,29 +1,29 @@ ---- components/autofill/core/browser/payments/amount_extraction_manager.cc.orig 2026-07-01 06:24:19 UTC +--- components/autofill/core/browser/payments/amount_extraction_manager.cc.orig 2026-08-12 09:02:10 UTC +++ components/autofill/core/browser/payments/amount_extraction_manager.cc -@@ -298,7 +298,7 @@ void AmountExtractionManager::OnCheckoutAmountReceived +@@ -296,7 +296,7 @@ void AmountExtractionManager::OnCheckoutAmountReceived /*timeout_reached=*/false); } if constexpr (BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || - BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_ANDROID)) { + BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_ANDROID) || BUILDFLAG(IS_BSD)) { if (base::FeatureList::IsEnabled( - ::autofill::features::kAutofillEnableAmountExtractionTesting)) { + features::kAutofillEnableAmountExtractionTesting)) { VLOG(3) << "The result of amount extraction on domain " -@@ -386,7 +386,7 @@ void AmountExtractionManager::OnTimeoutReached() { +@@ -384,7 +384,7 @@ void AmountExtractionManager::OnTimeoutReached() { } if constexpr (BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || - BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_ANDROID)) { + BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_ANDROID) || BUILDFLAG(IS_BSD)) { if (base::FeatureList::IsEnabled( - ::autofill::features::kAutofillEnableAmountExtractionTesting)) { + features::kAutofillEnableAmountExtractionTesting)) { VLOG(3) << "The amount extraction on domain " -@@ -406,7 +406,7 @@ AmountExtractionManager::CheckEligibilityForFeaturesRe +@@ -404,7 +404,7 @@ AmountExtractionManager::CheckEligibilityForFeaturesRe // Check eligibility of BNPL feature. if constexpr (BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || - BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_ANDROID)) { + BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_ANDROID) || BUILDFLAG(IS_BSD)) { if (IsEligibleForBnpl(autofill_manager_->client())) { eligible_features.insert(EligibleFeature::kBnpl); } diff --git a/www/chromium/files/patch-components_autofill_core_browser_payments_bnpl__manager.cc b/www/chromium/files/patch-components_autofill_core_browser_payments_bnpl__manager.cc index 55b9d33cce44..35d7660e9074 100644 --- a/www/chromium/files/patch-components_autofill_core_browser_payments_bnpl__manager.cc +++ b/www/chromium/files/patch-components_autofill_core_browser_payments_bnpl__manager.cc @@ -1,11 +1,11 @@ ---- components/autofill/core/browser/payments/bnpl_manager.cc.orig 2026-07-01 06:24:19 UTC +--- components/autofill/core/browser/payments/bnpl_manager.cc.orig 2026-08-12 09:02:10 UTC +++ components/autofill/core/browser/payments/bnpl_manager.cc -@@ -1062,7 +1062,7 @@ void BnplManager::MaybeUpdateDesktopSuggestionsWithBnp +@@ -1083,7 +1083,7 @@ void BnplManager::MaybeUpdateDesktopSuggestionsWithBnp .OnBnplSuggestionShown(); #if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || \ - BUILDFLAG(IS_CHROMEOS) + BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) payments_autofill_client().GetPaymentsDataManager().SetAutofillHasSeenBnpl(); #endif // BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || // BUILDFLAG(IS_CHROMEOS) diff --git a/www/chromium/files/patch-components_autofill_core_browser_webdata_payments_payments__sync__bridge__util.cc b/www/chromium/files/patch-components_autofill_core_browser_webdata_payments_payments__sync__bridge__util.cc index 3c42bef90680..4f05776090b2 100644 --- a/www/chromium/files/patch-components_autofill_core_browser_webdata_payments_payments__sync__bridge__util.cc +++ b/www/chromium/files/patch-components_autofill_core_browser_webdata_payments_payments__sync__bridge__util.cc @@ -1,11 +1,11 @@ ---- components/autofill/core/browser/webdata/payments/payments_sync_bridge_util.cc.orig 2026-07-01 06:24:19 UTC +--- components/autofill/core/browser/webdata/payments/payments_sync_bridge_util.cc.orig 2026-08-12 09:02:10 UTC +++ components/autofill/core/browser/webdata/payments/payments_sync_bridge_util.cc -@@ -1278,7 +1278,7 @@ bool AreMaskedBankAccountSupported() { +@@ -1289,7 +1289,7 @@ bool AreMaskedBankAccountSupported() { bool IsBnplIssuerSupported() { #if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || \ - BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_ANDROID) + BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_ANDROID) || BUILDFLAG(IS_BSD) return base::FeatureList::IsEnabled( features::kAutofillEnableBuyNowPayLaterSyncing); #else 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 e68d04c633ae..f9c36e8fc9db 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,110 +1,110 @@ ---- components/autofill/core/common/autofill_payments_features.cc.orig 2026-07-01 06:24:19 UTC +--- components/autofill/core/common/autofill_payments_features.cc.orig 2026-08-12 09:02:10 UTC +++ components/autofill/core/common/autofill_payments_features.cc @@ -32,7 +32,7 @@ BASE_FEATURE(kAutofillDisableBnplCountryCheckForTestin // page using server-side AI. BASE_FEATURE(kAutofillEnableAiBasedAmountExtraction, #if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || \ - BUILDFLAG(IS_CHROMEOS) + BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) base::FEATURE_ENABLED_BY_DEFAULT); #else base::FEATURE_DISABLED_BY_DEFAULT); -@@ -43,7 +43,7 @@ BASE_FEATURE(kAutofillEnableAiBasedAmountExtraction, +@@ -48,7 +48,7 @@ BASE_FEATURE(kAutofillEnableAiCardRecommendation, // of the allowlisted merchant websites. BASE_FEATURE(kAutofillEnableAmountExtraction, #if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || \ - BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_ANDROID) + BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_ANDROID) || BUILDFLAG(IS_BSD) base::FEATURE_ENABLED_BY_DEFAULT); #else base::FEATURE_DISABLED_BY_DEFAULT); -@@ -66,7 +66,7 @@ BASE_FEATURE(kAutofillEnableBottomSheetScanCardAndFill +@@ -81,7 +81,7 @@ BASE_FEATURE(kAutofillEnableBottomSheetScanCardAndFill // When enabled, buy now pay later (BNPL) in Autofill will be offered. BASE_FEATURE(kAutofillEnableBuyNowPayLater, #if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || \ - BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_ANDROID) + BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_ANDROID) || BUILDFLAG(IS_BSD) base::FEATURE_ENABLED_BY_DEFAULT); #else base::FEATURE_DISABLED_BY_DEFAULT); -@@ -77,7 +77,7 @@ BASE_FEATURE(kAutofillEnableBuyNowPayLater, +@@ -92,7 +92,7 @@ BASE_FEATURE(kAutofillEnableBuyNowPayLater, // (BNPL) issuers that are externally linked. BASE_FEATURE(kAutofillEnableBuyNowPayLaterForExternallyLinked, #if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || \ - BUILDFLAG(IS_CHROMEOS) + BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) base::FEATURE_ENABLED_BY_DEFAULT); #else base::FEATURE_DISABLED_BY_DEFAULT); -@@ -88,7 +88,7 @@ BASE_FEATURE(kAutofillEnableBuyNowPayLaterForExternall +@@ -103,7 +103,7 @@ BASE_FEATURE(kAutofillEnableBuyNowPayLaterForExternall // offered. BASE_FEATURE(kAutofillEnableBuyNowPayLaterForKlarna, #if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || \ - BUILDFLAG(IS_CHROMEOS) + BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) base::FEATURE_ENABLED_BY_DEFAULT); #else base::FEATURE_DISABLED_BY_DEFAULT); -@@ -98,7 +98,7 @@ BASE_FEATURE(kAutofillEnableBuyNowPayLaterForKlarna, +@@ -113,7 +113,7 @@ BASE_FEATURE(kAutofillEnableBuyNowPayLaterForKlarna, // When enabled, buy now pay later (BNPL) data will be synced to Chrome clients. BASE_FEATURE(kAutofillEnableBuyNowPayLaterSyncing, #if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || \ - BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_ANDROID) + BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_ANDROID) || BUILDFLAG(IS_BSD) base::FEATURE_ENABLED_BY_DEFAULT); #else base::FEATURE_DISABLED_BY_DEFAULT); -@@ -109,7 +109,7 @@ BASE_FEATURE(kAutofillEnableBuyNowPayLaterSyncing, +@@ -124,7 +124,7 @@ BASE_FEATURE(kAutofillEnableBuyNowPayLaterSyncing, // include the issuer names for better brand recognition. BASE_FEATURE(kAutofillEnableBuyNowPayLaterUpdatedSuggestionSecondLineString, #if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || \ - BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_ANDROID) + BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_ANDROID) || BUILDFLAG(IS_BSD) base::FEATURE_ENABLED_BY_DEFAULT); #else base::FEATURE_DISABLED_BY_DEFAULT); -@@ -129,7 +129,7 @@ BASE_FEATURE(kAutofillEnableCardBenefitsForAmericanExp +@@ -144,7 +144,7 @@ BASE_FEATURE(kAutofillEnableCardBenefitsForAmericanExp // UI. BASE_FEATURE(kAutofillEnableCardBenefitsForBmo, #if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || \ - BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_ANDROID) + BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_ANDROID) || BUILDFLAG(IS_BSD) base::FEATURE_ENABLED_BY_DEFAULT); #else base::FEATURE_DISABLED_BY_DEFAULT); -@@ -173,7 +173,7 @@ BASE_FEATURE(kAutofillEnableFlatRateCardBenefitsBlockl +@@ -183,7 +183,7 @@ BASE_FEATURE(kAutofillEnableFlatRateCardBenefitsBlockl // Payments Autofill UI. BASE_FEATURE(kAutofillEnableFlatRateCardBenefitsFromCurinos, #if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || \ - BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_ANDROID) + BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_ANDROID) || BUILDFLAG(IS_BSD) base::FEATURE_ENABLED_BY_DEFAULT); #else base::FEATURE_DISABLED_BY_DEFAULT); -@@ -256,7 +256,7 @@ BASE_FEATURE(kAutofillEnableTravelCategoryAndMerchantB +@@ -271,7 +271,7 @@ BASE_FEATURE(kAutofillEnableTravelCategoryAndMerchantB // the card, and FIDO is not. BASE_FEATURE(kAutofillEnableVcn3dsAuthentication, #if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || \ - BUILDFLAG(IS_CHROMEOS) + BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) base::FEATURE_ENABLED_BY_DEFAULT); #else base::FEATURE_DISABLED_BY_DEFAULT); -@@ -285,7 +285,7 @@ BASE_FEATURE(kAutofillEnableWalletBrandingV2, +@@ -307,7 +307,7 @@ BASE_FEATURE(kAutofillIgnoreEmptyCvcsInSyncBridge, // eligibility. BASE_FEATURE(kAutofillPreferBuyNowPayLaterBlocklists, #if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || \ - BUILDFLAG(IS_CHROMEOS) + BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) base::FEATURE_ENABLED_BY_DEFAULT); #else base::FEATURE_DISABLED_BY_DEFAULT); -@@ -340,7 +340,7 @@ const base::FeatureParam kAutofillVcnEnrollStrike - /*default_value=*/180}; +@@ -353,7 +353,7 @@ BASE_FEATURE(kAutofillUpstreamEnforceStrikeDelay, + base::FEATURE_DISABLED_BY_DEFAULT); bool ShouldShowImprovedUserConsentForCreditCardSave() { -#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_APPLE) || BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_APPLE) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_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_constrained__window_constrained__window__views.cc b/www/chromium/files/patch-components_constrained__window_constrained__window__views.cc index 343b732e34d1..f653a150884a 100644 --- a/www/chromium/files/patch-components_constrained__window_constrained__window__views.cc +++ b/www/chromium/files/patch-components_constrained__window_constrained__window__views.cc @@ -1,11 +1,11 @@ ---- components/constrained_window/constrained_window_views.cc.orig 2026-07-01 06:24:19 UTC +--- components/constrained_window/constrained_window_views.cc.orig 2026-08-12 09:02:10 UTC +++ components/constrained_window/constrained_window_views.cc -@@ -413,7 +413,7 @@ bool SupportsGlobalScreenCoordinates() { +@@ -419,7 +419,7 @@ bool SupportsGlobalScreenCoordinates() { } bool PlatformClipsChildrenToViewport() { -#if BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) return true; #else return false; diff --git a/www/chromium/files/patch-components_dbus_xdg_file__transfer__portal.cc b/www/chromium/files/patch-components_dbus_xdg_file__transfer__portal.cc index 63a33ead54c3..2f46e7d154ad 100644 --- a/www/chromium/files/patch-components_dbus_xdg_file__transfer__portal.cc +++ b/www/chromium/files/patch-components_dbus_xdg_file__transfer__portal.cc @@ -1,13 +1,13 @@ ---- components/dbus/xdg/file_transfer_portal.cc.orig 2026-05-07 17:02:56 UTC +--- components/dbus/xdg/file_transfer_portal.cc.orig 2026-08-12 09:02:10 UTC +++ components/dbus/xdg/file_transfer_portal.cc -@@ -31,6 +31,10 @@ +@@ -32,6 +32,10 @@ #include "dbus/object_path.h" #include "dbus/object_proxy.h" +#if BUILDFLAG(IS_BSD) && !defined(O_PATH) +#define O_PATH 0 +#endif + namespace dbus_xdg { - BASE_FEATURE(kXdgFileTransferPortal, base::FEATURE_DISABLED_BY_DEFAULT); + BASE_FEATURE(kXdgFileTransferPortal, base::FEATURE_ENABLED_BY_DEFAULT); diff --git a/www/chromium/files/patch-components_device__signals_core_common_signals__features.cc b/www/chromium/files/patch-components_device__signals_core_common_signals__features.cc deleted file mode 100644 index d9b60a872995..000000000000 --- a/www/chromium/files/patch-components_device__signals_core_common_signals__features.cc +++ /dev/null @@ -1,11 +0,0 @@ ---- components/device_signals/core/common/signals_features.cc.orig 2026-06-04 10:12:25 UTC -+++ components/device_signals/core/common/signals_features.cc -@@ -69,7 +69,7 @@ bool IsContentBindingVersioningEnabled() { - } - - #if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || \ -- BUILDFLAG(IS_CHROMEOS) -+ BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) - // Enables the triggering of device signals consent dialog when conditions met - // This feature also requires UnmanagedDeviceSignalsConsentFlowEnabled policy to - // be enabled diff --git a/www/chromium/files/patch-components_device__signals_core_common_signals__features.h b/www/chromium/files/patch-components_device__signals_core_common_signals__features.h deleted file mode 100644 index 4e0a585e5557..000000000000 --- a/www/chromium/files/patch-components_device__signals_core_common_signals__features.h +++ /dev/null @@ -1,11 +0,0 @@ ---- components/device_signals/core/common/signals_features.h.orig 2026-06-04 10:12:25 UTC -+++ components/device_signals/core/common/signals_features.h -@@ -42,7 +42,7 @@ bool IsCertificateCollectionEnabled(); - bool IsContentBindingVersioningEnabled(); - - #if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || \ -- BUILDFLAG(IS_CHROMEOS) -+ BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) - BASE_DECLARE_FEATURE(kDeviceSignalsConsentDialog); - - // Returns true if device signals consent dialog has been enabled for diff --git a/www/chromium/files/patch-components_enterprise_connectors_core_realtime__reporting__client__base.cc b/www/chromium/files/patch-components_enterprise_connectors_core_realtime__reporting__client__base.cc index f3a8cda13a11..a53ccfc67e06 100644 --- a/www/chromium/files/patch-components_enterprise_connectors_core_realtime__reporting__client__base.cc +++ b/www/chromium/files/patch-components_enterprise_connectors_core_realtime__reporting__client__base.cc @@ -1,20 +1,20 @@ ---- components/enterprise/connectors/core/realtime_reporting_client_base.cc.orig 2026-07-01 06:24:19 UTC +--- components/enterprise/connectors/core/realtime_reporting_client_base.cc.orig 2026-08-12 09:02:10 UTC +++ components/enterprise/connectors/core/realtime_reporting_client_base.cc @@ -198,7 +198,7 @@ void RealtimeReportingClientBase::ReportEvent( *event.mutable_time() = ToProtoTimestamp(base::Time::Now()); } -#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) +#if (BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)) && defined(notyet) MaybeCollectDeviceSignalsAndReportEvent(std::move(event), client, settings); #else // Regardless of collecting device signals or not, upload the security event -@@ -319,7 +319,7 @@ void RealtimeReportingClientBase::ReportEventWithTimes +@@ -320,7 +320,7 @@ void RealtimeReportingClientBase::ReportEventWithTimes if (include_profile_user_name) { event.Set(kKeyProfileUserName, GetProfileUserName()); } -#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) +#if (BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)) && defined(notyet) MaybeCollectDeviceSignalsAndReportEventDeprecated(std::move(event), client, name, settings, time); #else 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 ec2b105092d2..081fa9d78c9f 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,30 +1,20 @@ ---- components/feature_engagement/public/feature_configurations.cc.orig 2026-07-01 06:24:19 UTC +--- components/feature_engagement/public/feature_configurations.cc.orig 2026-08-12 09:02:10 UTC +++ components/feature_engagement/public/feature_configurations.cc -@@ -101,7 +101,7 @@ std::optional CreateNewUserGestureInPro - +@@ -102,7 +102,7 @@ std::optional CreateNewUserGestureInPro std::optional GetClientSideFeatureConfig( const base::Feature* feature) { --#if BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_WIN) -+#if BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_WIN) || BUILDFLAG(IS_BSD) - - // The IPH bubble for link capturing has a trigger set to ANY so that it - // always shows up. The per app specific guardrails are independently stored -@@ -120,7 +120,7 @@ std::optional GetClientSideFeatureConfi - - #endif // BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_WIN) #if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_APPLE) || BUILDFLAG(IS_LINUX) || \ - BUILDFLAG(IS_CHROMEOS) + BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) if (kIPHPasswordsManagementBubbleAfterSaveFeature.name == feature->name) { FeatureConfig config; config.valid = true; -@@ -2259,7 +2259,8 @@ std::optional GetClientSideFeatureConfi +@@ -2357,7 +2357,7 @@ std::optional GetClientSideFeatureConfi #endif // BUILDFLAG(IS_ANDROID) #if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_APPLE) || BUILDFLAG(IS_LINUX) || \ - BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_ANDROID) || BUILDFLAG(IS_FUCHSIA) -+ BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_ANDROID) || BUILDFLAG(IS_FUCHSIA) || \ -+ BUILDFLAG(IS_BSD) ++ BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_ANDROID) || BUILDFLAG(IS_FUCHSIA) || BUILDFLAG(IS_BSD) if (kIPHAutofillCreditCardBenefitFeature.name == feature->name) { // The credit card benefit IPH appears up to three times over 10 years and 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 8e68a266bfa9..295cc046aa80 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,29 +1,38 @@ ---- components/feature_engagement/public/feature_constants.cc.orig 2026-07-29 11:06:49 UTC +--- components/feature_engagement/public/feature_constants.cc.orig 2026-08-12 09:02:10 UTC +++ components/feature_engagement/public/feature_constants.cc @@ -32,7 +32,7 @@ bool IsOnDeviceStorageEnabled() { } #if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_APPLE) || BUILDFLAG(IS_LINUX) || \ - BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_FUCHSIA) + BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_FUCHSIA) || BUILDFLAG(IS_BSD) #if BUILDFLAG(GOOGLE_CHROME_BRANDING) BASE_FEATURE(kEsbDownloadRowPromoFeature, "EsbDownloadRowPromo", -@@ -935,7 +935,7 @@ BASE_FEATURE(kIPHiOSActiveDaysTrackingFeature, +@@ -955,7 +955,7 @@ BASE_FEATURE(kIPHiOSActiveDaysTrackingFeature, #endif // BUILDFLAG(IS_IOS) #if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_APPLE) || BUILDFLAG(IS_LINUX) || \ - BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_ANDROID) || BUILDFLAG(IS_FUCHSIA) + BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_ANDROID) || BUILDFLAG(IS_FUCHSIA) || BUILDFLAG(IS_BSD) BASE_FEATURE(kIPHAutofillAtMemoryFeature, "IPH_AutofillAtMemory", base::FEATURE_DISABLED_BY_DEFAULT); -@@ -1008,7 +1008,7 @@ BASE_FEATURE(kIPHLauncherSearchHelpUiFeature, - base::FEATURE_ENABLED_BY_DEFAULT); +@@ -1029,7 +1029,7 @@ BASE_FEATURE(kIPHLauncherSearchHelpUiFeature, #endif --#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) -+#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) + #if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || \ +- BUILDFLAG(IS_CHROMEOS) ++ BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) // This can be enabled by default, as the DesktopPWAsLinkCapturing // flag is needed for the IPH linked to this feature to work, and // use-cases to show the IPH are guarded by that flag. +@@ -1046,7 +1046,7 @@ BASE_FEATURE(kIPHDesktopPWAsLinkCapturingLaunchAppInTa + #endif // BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || + // BUILDFLAG(IS_CHROMEOS) + +-#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) ++#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) + BASE_FEATURE(kIPHSignInBenefitsFeature, + "IPH_SignInBenefits", + base::FEATURE_DISABLED_BY_DEFAULT); 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 bf1a773bbe13..246d78adeeba 100644 --- a/www/chromium/files/patch-components_feature__engagement_public_feature__constants.h +++ b/www/chromium/files/patch-components_feature__engagement_public_feature__constants.h @@ -1,29 +1,36 @@ ---- components/feature_engagement/public/feature_constants.h.orig 2026-07-29 11:06:49 UTC +--- components/feature_engagement/public/feature_constants.h.orig 2026-08-12 09:02:10 UTC +++ components/feature_engagement/public/feature_constants.h @@ -31,7 +31,7 @@ FEATURE_CONSTANTS_DECLARE_FEATURE(kIPHDemoMode); FEATURE_CONSTANTS_DECLARE_FEATURE(kIPHDummyFeature); #if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_APPLE) || BUILDFLAG(IS_LINUX) || \ - BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_FUCHSIA) + BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_FUCHSIA) || BUILDFLAG(IS_BSD) #if BUILDFLAG(GOOGLE_CHROME_BRANDING) FEATURE_CONSTANTS_DECLARE_FEATURE(kEsbDownloadRowPromoFeature); #endif -@@ -407,7 +407,7 @@ FEATURE_CONSTANTS_DECLARE_FEATURE(kIPHiOSActiveDaysTra - +@@ -417,7 +417,7 @@ FEATURE_CONSTANTS_DECLARE_FEATURE(kIPHiOSActiveDaysTra #endif // BUILDFLAG(IS_IOS) --#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_APPLE) || BUILDFLAG(IS_LINUX) || \ -+#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_APPLE) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) || \ - BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_ANDROID) || BUILDFLAG(IS_FUCHSIA) + #if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_APPLE) || BUILDFLAG(IS_LINUX) || \ +- BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_ANDROID) || BUILDFLAG(IS_FUCHSIA) ++ BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_ANDROID) || BUILDFLAG(IS_FUCHSIA) || BUILDFLAG(IS_BSD) FEATURE_CONSTANTS_DECLARE_FEATURE(kIPHAutofillAtMemoryFeature); FEATURE_CONSTANTS_DECLARE_FEATURE(kIPHAutofillBnplAffirmOrZipSuggestionFeature); -@@ -442,7 +442,7 @@ FEATURE_CONSTANTS_DECLARE_FEATURE(kIPHGoogleOneOfferNo - FEATURE_CONSTANTS_DECLARE_FEATURE(kIPHLauncherSearchHelpUiFeature); + FEATURE_CONSTANTS_DECLARE_FEATURE( +@@ -452,13 +452,13 @@ FEATURE_CONSTANTS_DECLARE_FEATURE(kIPHLauncherSearchHe #endif --#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) -+#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) + #if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || \ +- BUILDFLAG(IS_CHROMEOS) ++ BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) FEATURE_CONSTANTS_DECLARE_FEATURE(kIPHDesktopPWAsLinkCapturingLaunch); FEATURE_CONSTANTS_DECLARE_FEATURE(kIPHDesktopPWAsLinkCapturingLaunchAppInTab); + #endif // BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || + // BUILDFLAG(IS_CHROMEOS) + +-#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) ++#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) FEATURE_CONSTANTS_DECLARE_FEATURE(kIPHSignInBenefitsFeature); + FEATURE_CONSTANTS_DECLARE_FEATURE(kIPHSignInBenefitsNewSigninFeature); + FEATURE_CONSTANTS_DECLARE_FEATURE(kIPHSupervisedUserProfileSigninFeature); 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 225070464f3d..8587d7053a4d 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,29 +1,38 @@ ---- components/feature_engagement/public/feature_list.cc.orig 2026-07-29 11:06:49 UTC +--- components/feature_engagement/public/feature_list.cc.orig 2026-08-12 09:02:10 UTC +++ components/feature_engagement/public/feature_list.cc -@@ -242,7 +242,7 @@ const base::Feature* const kAllFeatures[] = { +@@ -247,7 +247,7 @@ const base::Feature* const kAllFeatures[] = { #endif // BUILDFLAG(IS_IOS) #if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_APPLE) || BUILDFLAG(IS_LINUX) || \ - BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_FUCHSIA) + BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_FUCHSIA) || BUILDFLAG(IS_BSD) #if BUILDFLAG(GOOGLE_CHROME_BRANDING) &kEsbDownloadRowPromoFeature, #endif -@@ -329,7 +329,7 @@ const base::Feature* const kAllFeatures[] = { +@@ -336,7 +336,7 @@ const base::Feature* const kAllFeatures[] = { // BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_FUCHSIA) #if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_APPLE) || BUILDFLAG(IS_LINUX) || \ - BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_ANDROID) || BUILDFLAG(IS_FUCHSIA) + BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_ANDROID) || BUILDFLAG(IS_FUCHSIA) || BUILDFLAG(IS_BSD) // keep-sorted start case=no &kIPHAutofillAccountNameEmailSuggestionFeature, &kIPHAutofillAiOptInFeature, -@@ -362,7 +362,7 @@ const base::Feature* const kAllFeatures[] = { - +@@ -370,7 +370,7 @@ const base::Feature* const kAllFeatures[] = { #endif // BUILDFLAG(IS_CHROMEOS) --#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) -+#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) + #if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || \ +- BUILDFLAG(IS_CHROMEOS) ++ BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) // keep-sorted start case=no &kIPHDesktopPWAsLinkCapturingLaunch, &kIPHDesktopPWAsLinkCapturingLaunchAppInTab, +@@ -378,7 +378,7 @@ const base::Feature* const kAllFeatures[] = { + #endif // BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || \ + // BUILDFLAG(IS_CHROMEOS) + +-#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) ++#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) + // keep-sorted start case=no + &kIPHSignInBenefitsFeature, + &kIPHSignInBenefitsNewSigninFeature, 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 d49f0a4be027..b5c18244b184 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,56 +1,72 @@ ---- components/feature_engagement/public/feature_list.h.orig 2026-07-29 11:06:49 UTC +--- components/feature_engagement/public/feature_list.h.orig 2026-08-12 09:02:10 UTC +++ components/feature_engagement/public/feature_list.h -@@ -393,7 +393,7 @@ DEFINE_VARIATION_PARAM(kIPHiOSPinMostVisitedSiteFeatur +@@ -401,7 +401,7 @@ DEFINE_VARIATION_PARAM(kIPHiOSPinMostVisitedSiteFeatur #endif // BUILDFLAG(IS_IOS) #if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_APPLE) || BUILDFLAG(IS_LINUX) || \ - BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_FUCHSIA) + BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_FUCHSIA) || BUILDFLAG(IS_BSD) #if BUILDFLAG(GOOGLE_CHROME_BRANDING) DEFINE_VARIATION_PARAM(kEsbDownloadRowPromoFeature, "EsbDownloadRowPromo"); #endif -@@ -534,7 +534,7 @@ DEFINE_VARIATION_PARAM(kIPHTabGroupsSharedTabFeedbackF +@@ -545,7 +545,7 @@ DEFINE_VARIATION_PARAM(kIPHTabGroupsSharedTabFeedbackF // BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_FUCHSIA) #if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_APPLE) || BUILDFLAG(IS_LINUX) || \ - BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_ANDROID) || BUILDFLAG(IS_FUCHSIA) + BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_ANDROID) || BUILDFLAG(IS_FUCHSIA) || BUILDFLAG(IS_BSD) DEFINE_VARIATION_PARAM(kIPHAutofillAccountNameEmailSuggestionFeature, "IPH_AutofillAccountNameEmailSuggestion"); DEFINE_VARIATION_PARAM(kIPHAutofillAiOptInFeature, "IPH_AutofillAiOptIn"); -@@ -579,7 +579,7 @@ DEFINE_VARIATION_PARAM(kIPHLauncherSearchHelpUiFeature - "IPH_LauncherSearchHelpUi"); +@@ -591,7 +591,7 @@ DEFINE_VARIATION_PARAM(kIPHLauncherSearchHelpUiFeature #endif // BUILDFLAG(IS_CHROMEOS) --#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) -+#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) + #if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || \ +- BUILDFLAG(IS_CHROMEOS) ++ BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) DEFINE_VARIATION_PARAM(kIPHDesktopPWAsLinkCapturingLaunch, "IPH_DesktopPWAsLinkCapturingLaunch"); DEFINE_VARIATION_PARAM(kIPHDesktopPWAsLinkCapturingLaunchAppInTab, -@@ -816,7 +816,7 @@ inline constexpr flags_ui::FeatureEntry::FeatureVariat +@@ -599,7 +599,7 @@ DEFINE_VARIATION_PARAM(kIPHDesktopPWAsLinkCapturingLau + #endif // BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || \ + // BUILDFLAG(IS_CHROMEOS) + +-#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) ++#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) + DEFINE_VARIATION_PARAM(kIPHSignInBenefitsFeature, "IPH_SignInBenefits"); + DEFINE_VARIATION_PARAM(kIPHSupervisedUserProfileSigninFeature, + "IPH_SupervisedUserProfileSignin"); +@@ -837,7 +837,7 @@ inline constexpr flags_ui::FeatureEntry::FeatureVariat VARIATION_ENTRY(kIPHWhatsNewUpdatedFeature), // keep-sorted end #elif BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || \ - BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_FUCHSIA) + BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_FUCHSIA) || BUILDFLAG(IS_BSD) #if BUILDFLAG(ENABLE_EXTENSIONS) VARIATION_ENTRY(kIPHExtensionsMenuFeature), VARIATION_ENTRY(kIPHExtensionsRequestAccessButtonFeature), -@@ -887,7 +887,7 @@ inline constexpr flags_ui::FeatureEntry::FeatureVariat +@@ -910,7 +910,7 @@ inline constexpr flags_ui::FeatureEntry::FeatureVariat // BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_FUCHSIA) #if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_APPLE) || BUILDFLAG(IS_LINUX) || \ - BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_ANDROID) || BUILDFLAG(IS_FUCHSIA) + BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_ANDROID) || BUILDFLAG(IS_FUCHSIA) || BUILDFLAG(IS_BSD) // keep-sorted start case=no VARIATION_ENTRY(kIPHAutofillAccountNameEmailSuggestionFeature), VARIATION_ENTRY(kIPHAutofillAiOptInFeature), -@@ -916,7 +916,7 @@ inline constexpr flags_ui::FeatureEntry::FeatureVariat +@@ -939,13 +939,13 @@ inline constexpr flags_ui::FeatureEntry::FeatureVariat VARIATION_ENTRY(kIPHLauncherSearchHelpUiFeature), #endif // BUILDFLAG(IS_CHROMEOS) --#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) -+#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) +-#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) ++#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) VARIATION_ENTRY(kIPHDesktopPWAsLinkCapturingLaunch), VARIATION_ENTRY(kIPHDesktopPWAsLinkCapturingLaunchAppInTab), + #endif // BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || \ + // BUILDFLAG(IS_CHROMEOS) + +-#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) ++#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) VARIATION_ENTRY(kIPHSignInBenefitsFeature), + VARIATION_ENTRY(kIPHSupervisedUserProfileSigninFeature), + #endif // BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) diff --git a/www/chromium/files/patch-components_feature__engagement_public_tracker.h b/www/chromium/files/patch-components_feature__engagement_public_tracker.h index 78269e6b7496..3e243808beab 100644 --- a/www/chromium/files/patch-components_feature__engagement_public_tracker.h +++ b/www/chromium/files/patch-components_feature__engagement_public_tracker.h @@ -1,11 +1,11 @@ ---- components/feature_engagement/public/tracker.h.orig 2026-07-01 06:24:19 UTC +--- components/feature_engagement/public/tracker.h.orig 2026-08-12 09:02:10 UTC +++ components/feature_engagement/public/tracker.h -@@ -249,7 +249,7 @@ class Tracker : public KeyedService, public base::Supp +@@ -260,7 +260,7 @@ class Tracker : public KeyedService, public base::Supp Dismissed(feature); } -#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) // TODO(https://crbug.com/511194274): For now, allow calling the base API in // chromeos-only code; remove the exception for ChromeOS when we've migrated // those calls. diff --git a/www/chromium/files/patch-components_feed_core_v2_feed__network__impl__unittest.cc b/www/chromium/files/patch-components_feed_core_v2_feed__network__impl__unittest.cc index a4645581800a..e91f38b0d624 100644 --- a/www/chromium/files/patch-components_feed_core_v2_feed__network__impl__unittest.cc +++ b/www/chromium/files/patch-components_feed_core_v2_feed__network__impl__unittest.cc @@ -1,13 +1,13 @@ ---- components/feed/core/v2/feed_network_impl_unittest.cc.orig 2026-05-07 17:02:56 UTC +--- components/feed/core/v2/feed_network_impl_unittest.cc.orig 2026-08-12 09:02:10 UTC +++ components/feed/core/v2/feed_network_impl_unittest.cc -@@ -749,8 +749,8 @@ TEST_F(FeedNetworkTest, SendApiRequest_DecodesClientIn +@@ -748,8 +748,8 @@ TEST_F(FeedNetworkTest, SendApiRequest_DecodesClientIn EXPECT_EQ(feedwire::ClientInfo::CHROME_ANDROID, client_info.app_type()); EXPECT_EQ(feedwire::Version::RELEASE, client_info.app_version().build_type()); - EXPECT_EQ(1, client_info.app_version().major()); - EXPECT_EQ(2, client_info.app_version().minor()); + EXPECT_EQ(1, client_info.app_version().gmajor()); + EXPECT_EQ(2, client_info.app_version().gminor()); EXPECT_EQ(3, client_info.app_version().build()); EXPECT_EQ(4, client_info.app_version().revision()); EXPECT_FALSE(client_info.chrome_client_info().start_surface()); 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 921ff9f5ea94..b38a2385a5e5 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 2025-10-02 04:28:32 UTC +--- components/feed/core/v2/proto_util.cc.orig 2026-08-12 09:02:10 UTC +++ components/feed/core/v2/proto_util.cc -@@ -92,8 +92,8 @@ feedwire::Version GetPlatformVersionMessage() { +@@ -91,8 +91,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 BUILDFLAG(IS_ANDROID) result.set_api_version(base::android::android_info::sdk_int()); -@@ -108,8 +108,8 @@ feedwire::Version GetAppVersionMessage(const ChromeInf +@@ -107,8 +107,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_feed_core_v2_proto__util__unittest.cc b/www/chromium/files/patch-components_feed_core_v2_proto__util__unittest.cc index 24c72d1b4031..7d7a78078c3b 100644 --- a/www/chromium/files/patch-components_feed_core_v2_proto__util__unittest.cc +++ b/www/chromium/files/patch-components_feed_core_v2_proto__util__unittest.cc @@ -1,13 +1,13 @@ ---- components/feed/core/v2/proto_util_unittest.cc.orig 2025-07-02 06:08:04 UTC +--- components/feed/core/v2/proto_util_unittest.cc.orig 2026-08-12 09:02:10 UTC +++ components/feed/core/v2/proto_util_unittest.cc -@@ -42,8 +42,8 @@ TEST(ProtoUtilTest, CreateClientInfo) { +@@ -46,8 +46,8 @@ TEST(ProtoUtilTest, CreateClientInfo) { feedwire::ClientInfo result = CreateClientInfo(request_metadata); EXPECT_EQ(feedwire::ClientInfo::CHROME_ANDROID, result.app_type()); EXPECT_EQ(feedwire::Version::RELEASE, result.app_version().build_type()); - EXPECT_EQ(1, result.app_version().major()); - EXPECT_EQ(2, result.app_version().minor()); + EXPECT_EQ(1, result.app_version().gmajor()); + EXPECT_EQ(2, result.app_version().gminor()); EXPECT_EQ(3, result.app_version().build()); EXPECT_EQ(4, result.app_version().revision()); diff --git a/www/chromium/files/patch-components_optimization__guide_core_feature__registry_feature__registration.cc b/www/chromium/files/patch-components_optimization__guide_core_feature__registry_feature__registration.cc index c0b3a75b66c3..a088a78cbfaf 100644 --- a/www/chromium/files/patch-components_optimization__guide_core_feature__registry_feature__registration.cc +++ b/www/chromium/files/patch-components_optimization__guide_core_feature__registry_feature__registration.cc @@ -1,11 +1,11 @@ ---- components/optimization_guide/core/feature_registry/feature_registration.cc.orig 2026-07-01 06:24:19 UTC +--- components/optimization_guide/core/feature_registry/feature_registration.cc.orig 2026-08-12 09:02:10 UTC +++ components/optimization_guide/core/feature_registry/feature_registration.cc -@@ -78,7 +78,7 @@ BASE_FEATURE(kProductSpecificationsMqlsLogging, +@@ -76,7 +76,7 @@ BASE_FEATURE(kProductSpecificationsMqlsLogging, BASE_FEATURE(kFormsClassificationsMqlsLogging, BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_LINUX) || - BUILDFLAG(IS_MAC) || BUILDFLAG(IS_WIN) + BUILDFLAG(IS_MAC) || BUILDFLAG(IS_WIN) || BUILDFLAG(IS_BSD) ? base::FEATURE_ENABLED_BY_DEFAULT : base::FEATURE_DISABLED_BY_DEFAULT); diff --git a/www/chromium/files/patch-components_optimization__guide_core_optimization__guide__features.cc b/www/chromium/files/patch-components_optimization__guide_core_optimization__guide__features.cc index fec43f29c8c2..48a9bab47c3b 100644 --- a/www/chromium/files/patch-components_optimization__guide_core_optimization__guide__features.cc +++ b/www/chromium/files/patch-components_optimization__guide_core_optimization__guide__features.cc @@ -1,11 +1,11 @@ ---- components/optimization_guide/core/optimization_guide_features.cc.orig 2026-05-07 17:02:56 UTC +--- components/optimization_guide/core/optimization_guide_features.cc.orig 2026-08-12 09:02:10 UTC +++ components/optimization_guide/core/optimization_guide_features.cc -@@ -97,7 +97,7 @@ BASE_FEATURE(kOptimizationGuideModelExecution, +@@ -96,7 +96,7 @@ BASE_FEATURE(kOptimizationGuideModelExecution, // Whether to use the on device model service in optimization guide. BASE_FEATURE(kOptimizationGuideOnDeviceModel, #if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || \ - BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_ANDROID) + BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_ANDROID) || BUILDFLAG(IS_BSD) base::FEATURE_ENABLED_BY_DEFAULT); #else base::FEATURE_DISABLED_BY_DEFAULT); diff --git a/www/chromium/files/patch-components_paint__preview_player_player__compositor__delegate.cc b/www/chromium/files/patch-components_paint__preview_player_player__compositor__delegate.cc index 6b248934c6d3..68e38cf119c2 100644 --- a/www/chromium/files/patch-components_paint__preview_player_player__compositor__delegate.cc +++ b/www/chromium/files/patch-components_paint__preview_player_player__compositor__delegate.cc @@ -1,13 +1,13 @@ ---- components/paint_preview/player/player_compositor_delegate.cc.orig 2026-05-07 17:02:56 UTC +--- components/paint_preview/player/player_compositor_delegate.cc.orig 2026-08-12 09:02:10 UTC +++ components/paint_preview/player/player_compositor_delegate.cc -@@ -395,8 +395,8 @@ void PlayerCompositorDelegate::ValidateProtoAndLoadAXT +@@ -397,8 +397,8 @@ void PlayerCompositorDelegate::ValidateProtoAndLoadAXT auto chrome_version = capture_result_->proto.metadata().chrome_version(); const auto& current_chrome_version = version_info::GetVersion(); if (capture_result_->proto.metadata().has_chrome_version() && - chrome_version.major() == current_chrome_version.components()[0] && - chrome_version.minor() == current_chrome_version.components()[1] && + chrome_version.gmajor() == current_chrome_version.components()[0] && + chrome_version.gminor() == current_chrome_version.components()[1] && chrome_version.build() == current_chrome_version.components()[2] && chrome_version.patch() == current_chrome_version.components()[3]) { paint_preview_service_->GetFileMixin()->GetAXTreeUpdate( diff --git a/www/chromium/files/patch-components_password__manager_core_browser_features_password__features.cc b/www/chromium/files/patch-components_password__manager_core_browser_features_password__features.cc index 491e80a22879..fc0aaf6d7519 100644 --- a/www/chromium/files/patch-components_password__manager_core_browser_features_password__features.cc +++ b/www/chromium/files/patch-components_password__manager_core_browser_features_password__features.cc @@ -1,20 +1,20 @@ ---- components/password_manager/core/browser/features/password_features.cc.orig 2026-07-29 11:06:49 UTC +--- components/password_manager/core/browser/features/password_features.cc.orig 2026-08-12 09:02:10 UTC +++ components/password_manager/core/browser/features/password_features.cc -@@ -78,7 +78,7 @@ BASE_FEATURE(kClearUndecryptablePasswords, +@@ -80,7 +80,7 @@ BASE_FEATURE(kClearUndecryptablePasswords, BASE_FEATURE(kClearUndecryptablePasswordsOnSync, "ClearUndecryptablePasswordsInSync", #if BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_IOS) || \ - BUILDFLAG(IS_WIN) + BUILDFLAG(IS_WIN) || BUILDFLAG(IS_BSD) base::FEATURE_ENABLED_BY_DEFAULT #else base::FEATURE_DISABLED_BY_DEFAULT -@@ -175,7 +175,7 @@ BASE_FEATURE(kPasswordStorePropagatesActionableErrors, - - BASE_FEATURE(kPasswordCheckupPrototype, base::FEATURE_DISABLED_BY_DEFAULT); +@@ -179,7 +179,7 @@ BASE_FEATURE(kPreventAPCOnFederatedLogin, base::FEATUR + BASE_FEATURE(kPreventPasswordManagerOnFederatedLogin, + base::FEATURE_DISABLED_BY_DEFAULT); -#if BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) BASE_FEATURE(kRestartToGainAccessToKeychain, #if BUILDFLAG(IS_MAC) base::FEATURE_ENABLED_BY_DEFAULT); diff --git a/www/chromium/files/patch-components_password__manager_core_browser_features_password__features.h b/www/chromium/files/patch-components_password__manager_core_browser_features_password__features.h index e1e3280db4b9..f03254f1c5e9 100644 --- a/www/chromium/files/patch-components_password__manager_core_browser_features_password__features.h +++ b/www/chromium/files/patch-components_password__manager_core_browser_features_password__features.h @@ -1,11 +1,11 @@ ---- components/password_manager/core/browser/features/password_features.h.orig 2026-07-01 06:24:19 UTC +--- components/password_manager/core/browser/features/password_features.h.orig 2026-08-12 09:02:10 UTC +++ components/password_manager/core/browser/features/password_features.h -@@ -198,7 +198,7 @@ BASE_DECLARE_FEATURE(kPreventAPCOnFederatedLogin); - // This flag is only for the prototype version. - BASE_DECLARE_FEATURE(kPasswordCheckupPrototype); +@@ -194,7 +194,7 @@ BASE_DECLARE_FEATURE(kPreventAPCOnFederatedLogin); + // Prevents password manager from showing save/update UI on federated login. + BASE_DECLARE_FEATURE(kPreventPasswordManagerOnFederatedLogin); -#if BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) // Enables "Needs access to keychain, restart chrome" bubble and banner. BASE_DECLARE_FEATURE(kRestartToGainAccessToKeychain); #endif // BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) diff --git a/www/chromium/files/patch-components_password__manager_core_browser_password__autofill__manager.cc b/www/chromium/files/patch-components_password__manager_core_browser_password__autofill__manager.cc index 3a32d0709fd2..ed2258f814a2 100644 --- a/www/chromium/files/patch-components_password__manager_core_browser_password__autofill__manager.cc +++ b/www/chromium/files/patch-components_password__manager_core_browser_password__autofill__manager.cc @@ -1,20 +1,29 @@ ---- components/password_manager/core/browser/password_autofill_manager.cc.orig 2026-07-01 06:24:19 UTC +--- components/password_manager/core/browser/password_autofill_manager.cc.orig 2026-08-12 09:02:10 UTC +++ components/password_manager/core/browser/password_autofill_manager.cc -@@ -408,7 +408,7 @@ void PasswordAutofillManager::DidAcceptSuggestion( +@@ -392,7 +392,7 @@ void PasswordAutofillManager::DidAcceptSuggestion( + weak_ptr_factory_.GetWeakPtr(), payload); + if (payload.is_cross_domain) { + #if BUILDFLAG(IS_MAC) || BUILDFLAG(IS_WIN) || BUILDFLAG(IS_CHROMEOS) || \ +- BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_ANDROID) ++ BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_ANDROID) || BUILDFLAG(IS_BSD) + cross_domain_confirmation_controller_ = + password_client_->ShowCrossDomainConfirmationPopup( + last_popup_open_args_.element_bounds, +@@ -443,7 +443,7 @@ void PasswordAutofillManager::DidAcceptSuggestion( weak_ptr_factory_.GetWeakPtr(), *password_credential); if (password_credential->is_grouped_affiliation) { #if BUILDFLAG(IS_MAC) || BUILDFLAG(IS_WIN) || BUILDFLAG(IS_CHROMEOS) || \ - BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_ANDROID) + BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_ANDROID) || BUILDFLAG(IS_BSD) cross_domain_confirmation_controller_ = password_client_->ShowCrossDomainConfirmationPopup( last_popup_open_args_.element_bounds, -@@ -667,7 +667,7 @@ void PasswordAutofillManager::DidNavigateMainFrame() { +@@ -706,7 +706,7 @@ void PasswordAutofillManager::DidNavigateMainFrame() { manual_fallback_metrics_recorder_ = std::make_unique(); #if BUILDFLAG(IS_MAC) || BUILDFLAG(IS_WIN) || BUILDFLAG(IS_CHROMEOS) || \ - BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_ANDROID) + BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_ANDROID) || BUILDFLAG(IS_BSD) cross_domain_confirmation_controller_.reset(); #endif wait_for_passkeys_timer_.Stop(); diff --git a/www/chromium/files/patch-components_password__manager_core_browser_password__autofill__manager.h b/www/chromium/files/patch-components_password__manager_core_browser_password__autofill__manager.h index a059be56a8ef..52299797b560 100644 --- a/www/chromium/files/patch-components_password__manager_core_browser_password__autofill__manager.h +++ b/www/chromium/files/patch-components_password__manager_core_browser_password__autofill__manager.h @@ -1,11 +1,11 @@ ---- components/password_manager/core/browser/password_autofill_manager.h.orig 2026-06-17 07:32:12 UTC +--- components/password_manager/core/browser/password_autofill_manager.h.orig 2026-08-12 09:02:10 UTC +++ components/password_manager/core/browser/password_autofill_manager.h -@@ -299,7 +299,7 @@ class PasswordAutofillManager : public autofill::Autof +@@ -296,7 +296,7 @@ class PasswordAutofillManager : public autofill::Autof // Stores the controller of warning popup UI on cross domain filling. #if BUILDFLAG(IS_MAC) || BUILDFLAG(IS_WIN) || BUILDFLAG(IS_CHROMEOS) || \ - BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_ANDROID) + BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_ANDROID) || BUILDFLAG(IS_BSD) std::unique_ptr cross_domain_confirmation_controller_; #endif diff --git a/www/chromium/files/patch-components_password__manager_core_browser_password__form__filling.cc b/www/chromium/files/patch-components_password__manager_core_browser_password__form__filling.cc index 78a7dfd18707..cd31b92a0e28 100644 --- a/www/chromium/files/patch-components_password__manager_core_browser_password__form__filling.cc +++ b/www/chromium/files/patch-components_password__manager_core_browser_password__form__filling.cc @@ -1,11 +1,11 @@ ---- components/password_manager/core/browser/password_form_filling.cc.orig 2026-07-01 06:24:19 UTC +--- components/password_manager/core/browser/password_form_filling.cc.orig 2026-08-12 09:02:10 UTC +++ components/password_manager/core/browser/password_form_filling.cc -@@ -177,7 +177,7 @@ LikelyFormFilling SendFillInformationToRenderer( +@@ -178,7 +178,7 @@ LikelyFormFilling SendFillInformationToRenderer( #endif #if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || \ - BUILDFLAG(IS_CHROMEOS) + BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) if (!should_show_popup_without_passwords) { - client->MaybeShowSavePasswordPrimingPromo(observed_form.url); - } + url::Origin origin = + base::FeatureList::IsEnabled( diff --git a/www/chromium/files/patch-components_password__manager_core_browser_password__form__manager.cc b/www/chromium/files/patch-components_password__manager_core_browser_password__form__manager.cc index de6003ef88a7..916f698b07c0 100644 --- a/www/chromium/files/patch-components_password__manager_core_browser_password__form__manager.cc +++ b/www/chromium/files/patch-components_password__manager_core_browser_password__form__manager.cc @@ -1,20 +1,20 @@ ---- components/password_manager/core/browser/password_form_manager.cc.orig 2026-07-01 06:24:19 UTC +--- components/password_manager/core/browser/password_form_manager.cc.orig 2026-08-12 09:02:10 UTC +++ components/password_manager/core/browser/password_form_manager.cc -@@ -238,7 +238,7 @@ bool ShouldUploadCrowdsourcingVotes(const FormOrDigest +@@ -239,7 +239,7 @@ bool ShouldUploadCrowdsourcingVotes(const FormOrDigest return false; } -#if BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) bool ShouldShowKeychainErrorBubble( std::optional backend_error) { if (!backend_error.has_value()) { -@@ -946,7 +946,7 @@ void PasswordFormManager::OnFetchCompleted() { +@@ -948,7 +948,7 @@ void PasswordFormManager::OnFetchCompleted() { error.value().type); } -#elif BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) +#elif BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) if (ShouldShowKeychainErrorBubble( form_fetcher_->GetProfileStoreBackendError())) { client_->NotifyKeychainError(); diff --git a/www/chromium/files/patch-components_password__manager_core_browser_password__manager.cc b/www/chromium/files/patch-components_password__manager_core_browser_password__manager.cc index ff82537e6c5a..4b4aca392625 100644 --- a/www/chromium/files/patch-components_password__manager_core_browser_password__manager.cc +++ b/www/chromium/files/patch-components_password__manager_core_browser_password__manager.cc @@ -1,35 +1,35 @@ ---- components/password_manager/core/browser/password_manager.cc.orig 2026-06-04 10:12:25 UTC +--- components/password_manager/core/browser/password_manager.cc.orig 2026-08-12 09:02:10 UTC +++ components/password_manager/core/browser/password_manager.cc -@@ -609,12 +609,12 @@ void PasswordManager::RegisterProfilePrefs( +@@ -602,12 +602,12 @@ void PasswordManager::RegisterProfilePrefs( registry->RegisterListPref(prefs::kPasswordManagerPromoCardsList); #endif // BUILDFLAG(IS_ANDROID) && !BUILDFLAG(IS_IOS) #if BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_WIN) || \ - BUILDFLAG(IS_MAC) + BUILDFLAG(IS_MAC) || BUILDFLAG(IS_BSD) registry->RegisterListPref(prefs::kPasswordManagerBlocklist); #endif // BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_WIN) || // BUILDFLAG(IS_MAC) registry->RegisterBooleanPref(prefs::kPasswordSharingEnabled, true); -#if BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) registry->RegisterIntegerPref(prefs::kRelaunchChromeBubbleDismissedCounter, 0); #endif -@@ -627,7 +627,7 @@ void PasswordManager::RegisterProfilePrefs( +@@ -620,7 +620,7 @@ void PasswordManager::RegisterProfilePrefs( #endif #if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || \ - BUILDFLAG(IS_IOS) + BUILDFLAG(IS_IOS) || BUILDFLAG(IS_BSD) registry->RegisterBooleanPref(prefs::kDeletingUndecryptablePasswordsEnabled, true); #endif -@@ -657,7 +657,7 @@ void PasswordManager::RegisterLocalPrefs(PrefRegistryS +@@ -650,7 +650,7 @@ void PasswordManager::RegisterLocalPrefs(PrefRegistryS registry->RegisterBooleanPref(prefs::kOsPasswordBlank, false); registry->RegisterBooleanPref(prefs::kIsBiometricAvailable, false); #endif // BUILDFLAG(IS_WIN) -#if BUILDFLAG(IS_MAC) || BUILDFLAG(IS_WIN) || BUILDFLAG(IS_CHROMEOS) +#if BUILDFLAG(IS_MAC) || BUILDFLAG(IS_WIN) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) registry->RegisterBooleanPref(prefs::kHadBiometricsAvailable, false); #endif // BUILDFLAG(IS_MAC) || BUILDFLAG(IS_WIN) || BUILDFLAG(IS_CHROMEOS) registry->RegisterListPref(prefs::kLocalPasswordHashDataList, diff --git a/www/chromium/files/patch-components_password__manager_core_browser_password__manager__client.h b/www/chromium/files/patch-components_password__manager_core_browser_password__manager__client.h index 91e6e7be9ee1..aa36e35c2795 100644 --- a/www/chromium/files/patch-components_password__manager_core_browser_password__manager__client.h +++ b/www/chromium/files/patch-components_password__manager_core_browser_password__manager__client.h @@ -1,20 +1,20 @@ ---- components/password_manager/core/browser/password_manager_client.h.orig 2026-07-01 06:24:19 UTC +--- components/password_manager/core/browser/password_manager_client.h.orig 2026-08-12 09:02:10 UTC +++ components/password_manager/core/browser/password_manager_client.h -@@ -30,7 +30,7 @@ +@@ -31,7 +31,7 @@ #include "net/cert/cert_status_flags.h" #if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) || \ - BUILDFLAG(IS_CHROMEOS) + BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) #include "base/i18n/rtl.h" #include "components/password_manager/core/browser/password_cross_domain_confirmation_popup_controller.h" #include "ui/gfx/geometry/rect_f.h" -@@ -552,7 +552,7 @@ class PasswordManagerClient { +@@ -580,7 +580,7 @@ class PasswordManagerClient { virtual void TriggerSignIn(signin_metrics::AccessPoint access_point) const; #if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) || \ - BUILDFLAG(IS_CHROMEOS) + BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) // Shows the bubble with the details of the `form`. virtual void OpenPasswordDetailsBubble( const password_manager::PasswordForm& form) = 0; diff --git a/www/chromium/files/patch-components_password__manager_core_browser_password__manual__fallback__flow.cc b/www/chromium/files/patch-components_password__manager_core_browser_password__manual__fallback__flow.cc index ff485d7d816a..091bda5ad585 100644 --- a/www/chromium/files/patch-components_password__manager_core_browser_password__manual__fallback__flow.cc +++ b/www/chromium/files/patch-components_password__manager_core_browser_password__manual__fallback__flow.cc @@ -1,29 +1,29 @@ ---- components/password_manager/core/browser/password_manual_fallback_flow.cc.orig 2026-07-01 06:24:19 UTC +--- components/password_manager/core/browser/password_manual_fallback_flow.cc.orig 2026-08-12 09:02:10 UTC +++ components/password_manager/core/browser/password_manual_fallback_flow.cc -@@ -50,7 +50,7 @@ std::u16string GetUsernameFromLabel(const std::u16stri +@@ -52,7 +52,7 @@ std::u16string GetUsernameFromLabel(const std::u16stri } #if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) || \ - BUILDFLAG(IS_CHROMEOS) + BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) // Returns the password form corresponding to the `payload` data. In most // cases there is only one such form stored, but having more than one or no // forms is also possible. If there is more than one form, showing any of them -@@ -324,7 +324,7 @@ void PasswordManualFallbackFlow::DidAcceptSuggestion( +@@ -344,7 +344,7 @@ void PasswordManualFallbackFlow::DidAcceptSuggestion( } case autofill::SuggestionType::kViewPasswordDetails: { #if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) || \ - BUILDFLAG(IS_CHROMEOS) + BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) std::optional credentials = GetCorrespondingPasswordForm( suggestion.GetPayload(), -@@ -478,7 +478,7 @@ void PasswordManualFallbackFlow::EnsureCrossDomainPass +@@ -491,7 +491,7 @@ void PasswordManualFallbackFlow::EnsureCrossDomainPass const Suggestion::PasswordSuggestionDetails& payload, base::OnceClosure on_allowed) { #if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) || \ - BUILDFLAG(IS_CHROMEOS) + BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) if (payload.is_cross_domain) { CHECK(payload.display_signon_realm); cross_domain_confirmation_popup_controller_ = diff --git a/www/chromium/files/patch-components_password__manager_core_browser_password__manual__fallback__flow.h b/www/chromium/files/patch-components_password__manager_core_browser_password__manual__fallback__flow.h index a8d433808b18..9fa36d3fce61 100644 --- a/www/chromium/files/patch-components_password__manager_core_browser_password__manual__fallback__flow.h +++ b/www/chromium/files/patch-components_password__manager_core_browser_password__manual__fallback__flow.h @@ -1,20 +1,20 @@ ---- components/password_manager/core/browser/password_manual_fallback_flow.h.orig 2026-06-04 10:12:25 UTC +--- components/password_manager/core/browser/password_manual_fallback_flow.h.orig 2026-08-12 09:02:10 UTC +++ components/password_manager/core/browser/password_manual_fallback_flow.h @@ -20,7 +20,7 @@ #include "components/password_manager/core/browser/ui/saved_passwords_presenter.h" #if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) || \ - BUILDFLAG(IS_CHROMEOS) + BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) #include "components/password_manager/core/browser/password_cross_domain_confirmation_popup_controller.h" #endif // BUILDFLAG(IS_WIN) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) || // BUILDFLAG(IS_CHROMEOS) -@@ -188,7 +188,7 @@ class PasswordManualFallbackFlow : public autofill::Au +@@ -185,7 +185,7 @@ class PasswordManualFallbackFlow : public autofill::Au std::unique_ptr authenticator_; #if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) || \ - BUILDFLAG(IS_CHROMEOS) + BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) std::unique_ptr cross_domain_confirmation_popup_controller_; #endif // BUILDFLAG(IS_WIN) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) || diff --git a/www/chromium/files/patch-components_password__manager_core_browser_password__store_login__database__async__helper.cc b/www/chromium/files/patch-components_password__manager_core_browser_password__store_login__database__async__helper.cc index ad3f9a1931b2..34bdad0b5b09 100644 --- a/www/chromium/files/patch-components_password__manager_core_browser_password__store_login__database__async__helper.cc +++ b/www/chromium/files/patch-components_password__manager_core_browser_password__store_login__database__async__helper.cc @@ -1,11 +1,11 @@ ---- components/password_manager/core/browser/password_store/login_database_async_helper.cc.orig 2026-07-01 06:24:19 UTC +--- components/password_manager/core/browser/password_store/login_database_async_helper.cc.orig 2026-08-12 09:02:10 UTC +++ components/password_manager/core/browser/password_store/login_database_async_helper.cc -@@ -139,7 +139,7 @@ StoredCredentialsResultOrError LoginDatabaseAsyncHelpe +@@ -140,7 +140,7 @@ StoredCredentialsResultOrError LoginDatabaseAsyncHelpe std::vector matched_credentials; if (!login_db_ || !login_db_->GetLogins(form, include_psl, &matched_credentials)) { -#if BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) return PasswordStoreBackendError( is_encryption_available_ ? PasswordStoreBackendErrorType::kUncategorized diff --git a/www/chromium/files/patch-components_password__manager_core_browser_password__store_login__database__unittest.cc b/www/chromium/files/patch-components_password__manager_core_browser_password__store_login__database__unittest.cc index d323eef2b127..beb1d359872b 100644 --- a/www/chromium/files/patch-components_password__manager_core_browser_password__store_login__database__unittest.cc +++ b/www/chromium/files/patch-components_password__manager_core_browser_password__store_login__database__unittest.cc @@ -1,11 +1,11 @@ ---- components/password_manager/core/browser/password_store/login_database_unittest.cc.orig 2026-07-01 06:24:19 UTC +--- components/password_manager/core/browser/password_store/login_database_unittest.cc.orig 2026-08-12 09:02:10 UTC +++ components/password_manager/core/browser/password_store/login_database_unittest.cc -@@ -2250,7 +2250,7 @@ INSTANTIATE_TEST_SUITE_P(MigrationToVCurrent, +@@ -2249,7 +2249,7 @@ INSTANTIATE_TEST_SUITE_P(MigrationToVCurrent, testing::Values(1, 2, 3, 24)); #if BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_IOS) || \ - BUILDFLAG(IS_WIN) + BUILDFLAG(IS_WIN) || BUILDFLAG(IS_BSD) class LoginDatabaseUndecryptableLoginsTest : public testing::Test { protected: LoginDatabaseUndecryptableLoginsTest() = default; diff --git a/www/chromium/files/patch-components_password__manager_core_browser_stub__password__manager__client.cc b/www/chromium/files/patch-components_password__manager_core_browser_stub__password__manager__client.cc index 427730f68488..a96b3345c0de 100644 --- a/www/chromium/files/patch-components_password__manager_core_browser_stub__password__manager__client.cc +++ b/www/chromium/files/patch-components_password__manager_core_browser_stub__password__manager__client.cc @@ -1,11 +1,11 @@ ---- components/password_manager/core/browser/stub_password_manager_client.cc.orig 2026-05-07 17:02:56 UTC +--- components/password_manager/core/browser/stub_password_manager_client.cc.orig 2026-08-12 09:02:10 UTC +++ components/password_manager/core/browser/stub_password_manager_client.cc -@@ -231,7 +231,7 @@ version_info::Channel StubPasswordManagerClient::GetCh +@@ -235,7 +235,7 @@ version_info::Channel StubPasswordManagerClient::GetCh } #if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) || \ - BUILDFLAG(IS_CHROMEOS) + BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) void StubPasswordManagerClient::OpenPasswordDetailsBubble( const password_manager::PasswordForm& form) {} void StubPasswordManagerClient::MaybeShowSavePasswordPrimingPromo( diff --git a/www/chromium/files/patch-components_password__manager_core_browser_stub__password__manager__client.h b/www/chromium/files/patch-components_password__manager_core_browser_stub__password__manager__client.h index 6703262c56fe..0651fc56e78f 100644 --- a/www/chromium/files/patch-components_password__manager_core_browser_stub__password__manager__client.h +++ b/www/chromium/files/patch-components_password__manager_core_browser_stub__password__manager__client.h @@ -1,11 +1,11 @@ ---- components/password_manager/core/browser/stub_password_manager_client.h.orig 2026-05-07 17:02:56 UTC +--- components/password_manager/core/browser/stub_password_manager_client.h.orig 2026-08-12 09:02:10 UTC +++ components/password_manager/core/browser/stub_password_manager_client.h -@@ -86,7 +86,7 @@ class StubPasswordManagerClient : public PasswordManag +@@ -92,7 +92,7 @@ class StubPasswordManagerClient : public PasswordManag MockPasswordFeatureManager* GetPasswordFeatureManager(); version_info::Channel GetChannel() const override; #if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) || \ - BUILDFLAG(IS_CHROMEOS) + BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) void OpenPasswordDetailsBubble( const password_manager::PasswordForm& form) override; - void MaybeShowSavePasswordPrimingPromo(const GURL& current_url) override; + void MaybeShowSavePasswordPrimingPromo(const url::Origin& origin) override; diff --git a/www/chromium/files/patch-components_performance__manager_decorators_process__metrics__decorator.cc b/www/chromium/files/patch-components_performance__manager_decorators_process__metrics__decorator.cc index 11a515e64e7e..1b9d29cf9c3a 100644 --- a/www/chromium/files/patch-components_performance__manager_decorators_process__metrics__decorator.cc +++ b/www/chromium/files/patch-components_performance__manager_decorators_process__metrics__decorator.cc @@ -1,11 +1,11 @@ ---- components/performance_manager/decorators/process_metrics_decorator.cc.orig 2025-12-05 10:12:50 UTC +--- components/performance_manager/decorators/process_metrics_decorator.cc.orig 2026-08-12 09:02:10 UTC +++ components/performance_manager/decorators/process_metrics_decorator.cc -@@ -54,7 +54,7 @@ class ProcessMetricsDecorator::NodeMetricsUpdater { +@@ -53,7 +53,7 @@ class ProcessMetricsDecorator::NodeMetricsUpdater { auto* process_node = ProcessNodeImpl::FromNode(context.GetProcessNode()); process_node->set_private_footprint(memory_summary_->private_footprint); process_node->set_resident_set(memory_summary_->resident_set_size); -#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_ANDROID) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_ANDROID) || BUILDFLAG(IS_BSD) process_node->set_private_swap(memory_summary_->private_swap); #endif } diff --git a/www/chromium/files/patch-components_policy_core_common_cloud_cloud__policy__client.cc b/www/chromium/files/patch-components_policy_core_common_cloud_cloud__policy__client.cc index 389d3d8997e3..e38a6cf9b691 100644 --- a/www/chromium/files/patch-components_policy_core_common_cloud_cloud__policy__client.cc +++ b/www/chromium/files/patch-components_policy_core_common_cloud_cloud__policy__client.cc @@ -1,16 +1,16 @@ ---- components/policy/core/common/cloud/cloud_policy_client.cc.orig 2026-03-13 06:02:14 UTC +--- components/policy/core/common/cloud/cloud_policy_client.cc.orig 2026-08-12 09:02:10 UTC +++ components/policy/core/common/cloud/cloud_policy_client.cc -@@ -849,11 +849,11 @@ void CloudPolicyClient::FetchPolicyInternal( +@@ -852,11 +852,11 @@ void CloudPolicyClient::FetchPolicyInternal( // Build policy fetch requests. em::DevicePolicyRequest* policy_request = request->mutable_policy_request(); -#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) em::PolicyFetchRequest* fetch_request = nullptr; #endif for (const auto& type_to_fetch : types_to_fetch) { -#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) fetch_request = AddPolicyFetchRequest(policy_request, type_to_fetch); // Only set browser device identifier for CBCM Chrome cloud policy on // desktop. diff --git a/www/chromium/files/patch-components_safe__browsing_core_browser_realtime_url__lookup__service__base.cc b/www/chromium/files/patch-components_safe__browsing_core_browser_realtime_url__lookup__service__base.cc index 4416bb805c01..1485115477a1 100644 --- a/www/chromium/files/patch-components_safe__browsing_core_browser_realtime_url__lookup__service__base.cc +++ b/www/chromium/files/patch-components_safe__browsing_core_browser_realtime_url__lookup__service__base.cc @@ -1,11 +1,11 @@ ---- components/safe_browsing/core/browser/realtime/url_lookup_service_base.cc.orig 2026-05-07 17:02:56 UTC +--- components/safe_browsing/core/browser/realtime/url_lookup_service_base.cc.orig 2026-08-12 09:02:10 UTC +++ components/safe_browsing/core/browser/realtime/url_lookup_service_base.cc -@@ -115,7 +115,7 @@ RTLookupRequest::OSType GetRTLookupRequestOSType() { +@@ -121,7 +121,7 @@ RTLookupRequest::OSType GetRTLookupRequestOSType() { return RTLookupRequest::OS_TYPE_CHROME_OS; #elif BUILDFLAG(IS_IOS) return RTLookupRequest::OS_TYPE_IOS; -#elif BUILDFLAG(IS_LINUX) +#elif BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) return RTLookupRequest::OS_TYPE_LINUX; #elif BUILDFLAG(IS_MAC) return RTLookupRequest::OS_TYPE_MAC; diff --git a/www/chromium/files/patch-components_search__engines_template__url__service.cc b/www/chromium/files/patch-components_search__engines_template__url__service.cc index 651d3a932110..6eb11ee241f1 100644 --- a/www/chromium/files/patch-components_search__engines_template__url__service.cc +++ b/www/chromium/files/patch-components_search__engines_template__url__service.cc @@ -1,11 +1,11 @@ ---- components/search_engines/template_url_service.cc.orig 2026-07-01 06:24:19 UTC +--- components/search_engines/template_url_service.cc.orig 2026-08-12 09:02:10 UTC +++ components/search_engines/template_url_service.cc -@@ -3716,7 +3716,7 @@ bool TemplateURLService::MatchesDefaultSearchProvider( +@@ -3721,7 +3721,7 @@ bool TemplateURLService::MatchesDefaultSearchProvider( std::unique_ptr TemplateURLService::GetEnterpriseSearchManager(PrefService* prefs) { #if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || \ - BUILDFLAG(IS_CHROMEOS) + BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) return std::make_unique( prefs, base::BindRepeating(&TemplateURLService::EnterpriseSearchChanged, base::Unretained(this))); diff --git a/www/chromium/files/patch-components_signin_public_base_signin__switches.cc b/www/chromium/files/patch-components_signin_public_base_signin__switches.cc index ec54b7fd2905..0ce7c1c4ddcf 100644 --- a/www/chromium/files/patch-components_signin_public_base_signin__switches.cc +++ b/www/chromium/files/patch-components_signin_public_base_signin__switches.cc @@ -1,103 +1,136 @@ ---- components/signin/public/base/signin_switches.cc.orig 2026-07-29 11:06:49 UTC +--- components/signin/public/base/signin_switches.cc.orig 2026-08-12 09:02:10 UTC +++ components/signin/public/base/signin_switches.cc @@ -33,7 +33,7 @@ const char kForceFreFeatureShowcaseSteps[] = "force-fr #endif // BUILDFLAG(ENABLE_DICE_SUPPORT) #if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || \ - BUILDFLAG(IS_ANDROID) + BUILDFLAG(IS_ANDROID) || BUILDFLAG(IS_BSD) // Feature param to pass probability for identity surveys. constexpr char kHatsSurveyProbabilityName[] = "probability"; #endif // BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || -@@ -81,7 +81,7 @@ base::TimeDelta GetAvatarSyncPromoFeatureMinimumCookeA - #endif - } +@@ -84,7 +84,7 @@ base::TimeDelta GetAvatarSyncPromoFeatureMinimumCookeA + BASE_FEATURE(kAvoidAutoTriggerListAccountsOnStale, + base::FEATURE_DISABLED_BY_DEFAULT); -#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) BASE_FEATURE(kBeforeFirstRunDesktopRefreshSurvey, base::FEATURE_DISABLED_BY_DEFAULT); #endif // BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) -@@ -148,7 +148,7 @@ BASE_FEATURE_PARAM(double, +@@ -160,7 +160,7 @@ BASE_FEATURE_PARAM(double, 0.42); #endif // BUILDFLAG(IS_ANDROID) -#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) constexpr double kMediumSurveyProbability = 0.08; constexpr double kLowSurveyProbability = 0.008; BASE_FEATURE(kChromeIdentitySurveyAddressBubbleSignin, -@@ -240,7 +240,7 @@ BASE_FEATURE_PARAM( +@@ -252,7 +252,7 @@ BASE_FEATURE_PARAM( kMediumSurveyProbability); #endif // BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) -#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) BASE_FEATURE(kChromeIdentitySurveyLaunchWithDelay, base::FEATURE_ENABLED_BY_DEFAULT); BASE_FEATURE_PARAM(base::TimeDelta, -@@ -261,7 +261,7 @@ const base::FeatureParam kCrossDeviceSign +@@ -267,7 +267,7 @@ BASE_FEATURE(kChromeOsUseConsentLevelSigninForNewUsers + base::FEATURE_DISABLED_BY_DEFAULT); + #endif // BUILDFLAG(IS_CHROMEOS) + +-#if BUILDFLAG(IS_ANDROID) || BUILDFLAG(IS_IOS) ++#if BUILDFLAG(IS_ANDROID) || BUILDFLAG(IS_IOS) || BUILDFLAG(IS_BSD) + BASE_FEATURE(kCrossDeviceSignin, base::FEATURE_DISABLED_BY_DEFAULT); + const base::FeatureParam kCrossDeviceSigninUrl{&kCrossDeviceSignin, "url", ""}; - #endif // BUILDFLAG(IS_ANDROID) || BUILDFLAG(IS_IOS) +@@ -277,7 +277,7 @@ const base::FeatureParam kCrossDeviceSign + BASE_FEATURE(kDiceLinkedAccounts, base::FEATURE_DISABLED_BY_DEFAULT); + #endif // BUILDFLAG(ENABLE_DICE_SUPPORT) + +-#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) ++#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) + BASE_FEATURE(kCrossDeviceSigninFromDesktop, base::FEATURE_DISABLED_BY_DEFAULT); + const base::FeatureParam kCrossDeviceSigninFromDesktopUrl{ + &kCrossDeviceSigninFromDesktop, "url", +@@ -286,7 +286,7 @@ const base::FeatureParam kCrossDeviceSigninFromD + &kCrossDeviceSigninFromDesktop, "show_new_badge", true}; + #endif // BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) -#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) BASE_FEATURE(kDisableU18FeedbackDesktop, base::FEATURE_DISABLED_BY_DEFAULT); #endif // BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) -@@ -481,7 +481,7 @@ const base::FeatureParam - base::Hours(8)}; - #endif +@@ -528,7 +528,7 @@ const base::FeatureParam + + BASE_FEATURE(kFetchAccountInfoOnRestart, base::FEATURE_DISABLED_BY_DEFAULT); -#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) BASE_FEATURE(kFirstRunDesktopRefresh, base::FEATURE_DISABLED_BY_DEFAULT); BASE_FEATURE(kFirstRunDesktopChoiceScreenRefresh, base::FEATURE_DISABLED_BY_DEFAULT); -@@ -509,11 +509,11 @@ constexpr base::FeatureParam kContextualSigninPromoDi +@@ -703,7 +703,7 @@ const base::FeatureParam kContextualSigninPromoDi "contextual_signin_promo_dismissed_threshold", 2); -#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) BASE_FEATURE(kSignInPromoMaterialNextUI, base::FEATURE_ENABLED_BY_DEFAULT); #endif // BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) -@@ -696,7 +696,7 @@ BASE_FEATURE(kStableDeviceId, base::FEATURE_DISABLED_B +@@ -773,7 +773,7 @@ BASE_FEATURE(kStableDeviceId, base::FEATURE_DISABLED_B BASE_FEATURE(kSupportAddSessionEmailPrefill, base::FEATURE_ENABLED_BY_DEFAULT); #endif -#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) // Kill switch for displaying sign-in errors in the profile picker. BASE_FEATURE(kSupportErrorsInProfilePicker, base::FEATURE_ENABLED_BY_DEFAULT); #endif // BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) diff --git a/www/chromium/files/patch-components_signin_public_base_signin__switches.h b/www/chromium/files/patch-components_signin_public_base_signin__switches.h index 9554e5671dad..d67da4e4df41 100644 --- a/www/chromium/files/patch-components_signin_public_base_signin__switches.h +++ b/www/chromium/files/patch-components_signin_public_base_signin__switches.h @@ -1,101 +1,128 @@ ---- components/signin/public/base/signin_switches.h.orig 2026-07-29 11:06:49 UTC +--- components/signin/public/base/signin_switches.h.orig 2026-08-12 09:02:10 UTC +++ components/signin/public/base/signin_switches.h -@@ -58,7 +58,7 @@ bool IsAvatarSyncPromoFeatureEnabled(); +@@ -61,7 +61,7 @@ base::TimeDelta GetAvatarSyncPromoFeatureMinimumCookeA COMPONENT_EXPORT(SIGNIN_SWITCHES) - base::TimeDelta GetAvatarSyncPromoFeatureMinimumCookeAgeParam(); + BASE_DECLARE_FEATURE(kAvoidAutoTriggerListAccountsOnStale); -#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) // A HaTS survey flag for the survey to gather user feedback before any changes // to the FRE as part of Chrome Desktop FRE Refresh project. // -@@ -127,7 +127,7 @@ BASE_DECLARE_FEATURE_PARAM( +@@ -135,7 +135,7 @@ BASE_DECLARE_FEATURE_PARAM( kChromeAndroidIdentitySurveyBookmarkPromoProbability); #endif // BUILDFLAG(IS_ANDROID) -#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) // Enables surveys to measure the effectiveness of the identity model. // These surveys would be displayed after interactions such as signin, profile // switching, etc. Please keep sorted alphabetically. -@@ -204,7 +204,7 @@ BASE_DECLARE_FEATURE_PARAM( +@@ -212,7 +212,7 @@ BASE_DECLARE_FEATURE_PARAM( // LINT.ThenChange(//chrome/browser/signin/signin_hats_util.cc) #endif // BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) -#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) // Controls the duration for which the launch of an identity survey is delayed. COMPONENT_EXPORT(SIGNIN_SWITCHES) BASE_DECLARE_FEATURE(kChromeIdentitySurveyLaunchWithDelay); -@@ -229,7 +229,7 @@ COMPONENT_EXPORT(SIGNIN_SWITCHES) - extern const base::FeatureParam kCrossDeviceSigninUrl; - #endif // BUILDFLAG(IS_ANDROID) || BUILDFLAG(IS_IOS) +@@ -243,7 +243,7 @@ COMPONENT_EXPORT(SIGNIN_SWITCHES) + BASE_DECLARE_FEATURE(kDiceLinkedAccounts); + #endif // BUILDFLAG(ENABLE_DICE_SUPPORT) + +-#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) ++#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) + // Feature flag to enable cross-device sign-in promo. + COMPONENT_EXPORT(SIGNIN_SWITCHES) + BASE_DECLARE_FEATURE(kCrossDeviceSigninFromDesktop); +@@ -255,7 +255,7 @@ COMPONENT_EXPORT(SIGNIN_SWITCHES) + extern const base::FeatureParam kCrossDeviceSigninFromDesktopNewBadge; + #endif // BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) -#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) // If enabled, disables feedback for U18 users on desktop platforms. // The iOS version is kDisableFeedbackForIneligibleUsers flag. COMPONENT_EXPORT(SIGNIN_SWITCHES) -@@ -379,7 +379,7 @@ extern const base::FeatureParam - kPolicyDisclaimerRegistrationRetryDelay; - #endif +@@ -425,7 +425,7 @@ extern const base::FeatureParam + COMPONENT_EXPORT(SIGNIN_SWITCHES) + BASE_DECLARE_FEATURE(kFetchAccountInfoOnRestart); -#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) // This feature controls running visually refreshed first run and profile // creation flows for users outside of the search engine choice regions. To // enable the refresh in search engine choice screen regions, -@@ -433,7 +433,7 @@ extern const base::FeatureParam kContextualSignin +@@ -689,7 +689,7 @@ extern const base::FeatureParam kContextualSignin COMPONENT_EXPORT(SIGNIN_SWITCHES) extern const base::FeatureParam kContextualSigninPromoDismissedThreshold; -#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) // Uses the Material Next theme for the signin promo. COMPONENT_EXPORT(SIGNIN_SWITCHES) BASE_DECLARE_FEATURE(kSignInPromoMaterialNextUI); -@@ -655,7 +655,7 @@ COMPONENT_EXPORT(SIGNIN_SWITCHES) +@@ -744,7 +744,7 @@ COMPONENT_EXPORT(SIGNIN_SWITCHES) BASE_DECLARE_FEATURE(kSupportAddSessionEmailPrefill); #endif -#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) // Kill switch for displaying sign-in errors in the profile picker. COMPONENT_EXPORT(SIGNIN_SWITCHES) BASE_DECLARE_FEATURE(kSupportErrorsInProfilePicker); diff --git a/www/chromium/files/patch-components_signin_public_identity__manager_account__capabilities.cc b/www/chromium/files/patch-components_signin_public_identity__manager_account__capabilities.cc index 22df58744cfe..24fc18ce8e03 100644 --- a/www/chromium/files/patch-components_signin_public_identity__manager_account__capabilities.cc +++ b/www/chromium/files/patch-components_signin_public_identity__manager_account__capabilities.cc @@ -1,11 +1,11 @@ ---- components/signin/public/identity_manager/account_capabilities.cc.orig 2026-07-01 06:24:19 UTC +--- components/signin/public/identity_manager/account_capabilities.cc.orig 2026-08-12 09:02:10 UTC +++ components/signin/public/identity_manager/account_capabilities.cc -@@ -146,7 +146,7 @@ signin::Tribool AccountCapabilities::can_sign_in_to_ch +@@ -192,7 +192,7 @@ signin::Tribool AccountCapabilities::can_sign_in_to_ch #endif #if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || \ - BUILDFLAG(IS_IOS) + BUILDFLAG(IS_IOS) || BUILDFLAG(IS_BSD) signin::Tribool AccountCapabilities::can_submit_feedback() const { return GetCapabilityByName(kCanSubmitFeedbackInChromeCapabilityName); } diff --git a/www/chromium/files/patch-components_signin_public_identity__manager_account__capabilities.h b/www/chromium/files/patch-components_signin_public_identity__manager_account__capabilities.h index b4001c34d53f..3de05a2c7f0f 100644 --- a/www/chromium/files/patch-components_signin_public_identity__manager_account__capabilities.h +++ b/www/chromium/files/patch-components_signin_public_identity__manager_account__capabilities.h @@ -1,11 +1,11 @@ ---- components/signin/public/identity_manager/account_capabilities.h.orig 2026-07-01 06:24:19 UTC +--- components/signin/public/identity_manager/account_capabilities.h.orig 2026-08-12 09:02:10 UTC +++ components/signin/public/identity_manager/account_capabilities.h -@@ -89,7 +89,7 @@ class AccountCapabilities { +@@ -93,7 +93,7 @@ class AccountCapabilities { #endif #if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || \ - BUILDFLAG(IS_IOS) + BUILDFLAG(IS_IOS) || BUILDFLAG(IS_BSD) // Whether the account can submit feedback. For iOS, this is implemented by // Aloha FeedbackKit. For Android, this is implemented by GMS Core. signin::Tribool can_submit_feedback() const; diff --git a/www/chromium/files/patch-components_startup__metric__utils_common_startup__metric__utils.cc b/www/chromium/files/patch-components_startup__metric__utils_common_startup__metric__utils.cc index 0d4300bab365..728696377f27 100644 --- a/www/chromium/files/patch-components_startup__metric__utils_common_startup__metric__utils.cc +++ b/www/chromium/files/patch-components_startup__metric__utils_common_startup__metric__utils.cc @@ -1,11 +1,11 @@ ---- components/startup_metric_utils/common/startup_metric_utils.cc.orig 2025-09-06 10:01:20 UTC +--- components/startup_metric_utils/common/startup_metric_utils.cc.orig 2026-08-12 09:02:10 UTC +++ components/startup_metric_utils/common/startup_metric_utils.cc -@@ -95,7 +95,7 @@ base::TimeTicks CommonStartupMetricRecorder::StartupTi +@@ -99,7 +99,7 @@ base::TimeTicks CommonStartupMetricRecorder::StartupTi // Enabling this logic on OS X causes a significant performance regression. // TODO(crbug.com/40464036): Remove IS_APPLE ifdef once utility processes // set their desired main thread priority. -#if !BUILDFLAG(IS_APPLE) +#if !BUILDFLAG(IS_APPLE) && !BUILDFLAG(IS_BSD) static bool statics_initialized = false; if (!statics_initialized) { statics_initialized = true; diff --git a/www/chromium/files/patch-components_supervised__user_core_browser_child__account__service.cc b/www/chromium/files/patch-components_supervised__user_core_browser_child__account__service.cc index d9a7a0362a6e..7aeb84ee5603 100644 --- a/www/chromium/files/patch-components_supervised__user_core_browser_child__account__service.cc +++ b/www/chromium/files/patch-components_supervised__user_core_browser_child__account__service.cc @@ -1,11 +1,11 @@ ---- components/supervised_user/core/browser/child_account_service.cc.orig 2025-09-06 10:01:20 UTC +--- components/supervised_user/core/browser/child_account_service.cc.orig 2026-08-12 09:02:10 UTC +++ components/supervised_user/core/browser/child_account_service.cc -@@ -170,7 +170,7 @@ void ChildAccountService::OnPrimaryAccountChanged( +@@ -174,7 +174,7 @@ void ChildAccountService::OnPrimaryAccountChanged( void ChildAccountService::UpdateForceGoogleSafeSearch() { // On platforms without web sign-out (where the primary account is always // authenticated), there's no need to force SafeSearch. -#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_WIN) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_WIN) || BUILDFLAG(IS_BSD) bool is_subject_to_parental_controls = IsPrimaryAccountSubjectToParentalControls(identity_manager_) == signin::Tribool::kTrue; diff --git a/www/chromium/files/patch-components_supervised__user_core_browser_kids__chrome__management__url__checker__client.cc b/www/chromium/files/patch-components_supervised__user_core_browser_supervised__user__url__checker__client.cc similarity index 68% rename from www/chromium/files/patch-components_supervised__user_core_browser_kids__chrome__management__url__checker__client.cc rename to www/chromium/files/patch-components_supervised__user_core_browser_supervised__user__url__checker__client.cc index 3b7225530d62..3f4d58ae66c4 100644 --- a/www/chromium/files/patch-components_supervised__user_core_browser_kids__chrome__management__url__checker__client.cc +++ b/www/chromium/files/patch-components_supervised__user_core_browser_supervised__user__url__checker__client.cc @@ -1,11 +1,11 @@ ---- components/supervised_user/core/browser/kids_chrome_management_url_checker_client.cc.orig 2026-03-13 06:02:14 UTC -+++ components/supervised_user/core/browser/kids_chrome_management_url_checker_client.cc +--- components/supervised_user/core/browser/supervised_user_url_checker_client.cc.orig 2026-08-12 09:02:10 UTC ++++ components/supervised_user/core/browser/supervised_user_url_checker_client.cc @@ -65,7 +65,7 @@ void OnResponse( FetcherConfig GetFetcherConfig( bool is_subject_to_family_link_parental_controls) { -#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_WIN) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_WIN) || BUILDFLAG(IS_BSD) // Supervised users on these platforms might get into a state where their // credentials are not available, so best-effort access mode is a graceful // fallback here. diff --git a/www/chromium/files/patch-components_sync__device__info_local__device__info__util.cc b/www/chromium/files/patch-components_sync__device__info_local__device__info__util.cc index 0f415de5f8d8..1eee0dec0951 100644 --- a/www/chromium/files/patch-components_sync__device__info_local__device__info__util.cc +++ b/www/chromium/files/patch-components_sync__device__info_local__device__info__util.cc @@ -1,20 +1,20 @@ ---- components/sync_device_info/local_device_info_util.cc.orig 2026-05-07 17:02:56 UTC +--- components/sync_device_info/local_device_info_util.cc.orig 2026-08-12 09:02:10 UTC +++ components/sync_device_info/local_device_info_util.cc -@@ -84,7 +84,7 @@ void OnMachineStatisticsLoaded(LocalDeviceNameInfo* na +@@ -91,7 +91,7 @@ void OnMachineStatisticsLoaded(LocalDeviceNameInfo* na DeviceInfo::DeviceType GetLocalDeviceType() { #if BUILDFLAG(IS_CHROMEOS) return DeviceInfo::DeviceType::kChromeOS; -#elif BUILDFLAG(IS_LINUX) +#elif BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) return DeviceInfo::DeviceType::kLinux; #elif BUILDFLAG(IS_ANDROID) || BUILDFLAG(IS_IOS) switch (ui::GetDeviceFormFactor()) { -@@ -107,7 +107,7 @@ DeviceInfo::DeviceType GetLocalDeviceType() { +@@ -114,7 +114,7 @@ DeviceInfo::DeviceType GetLocalDeviceType() { DeviceInfo::OsType GetLocalDeviceOSType() { #if BUILDFLAG(IS_CHROMEOS) return DeviceInfo::OsType::kChromeOsAsh; -#elif BUILDFLAG(IS_LINUX) +#elif BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) return DeviceInfo::OsType::kLinux; #elif BUILDFLAG(IS_ANDROID) return DeviceInfo::OsType::kAndroid; diff --git a/www/chromium/files/patch-components_user__education_views_help__bubble__views.cc b/www/chromium/files/patch-components_user__education_views_help__bubble__views.cc new file mode 100644 index 000000000000..5fe84d16381b --- /dev/null +++ b/www/chromium/files/patch-components_user__education_views_help__bubble__views.cc @@ -0,0 +1,20 @@ +--- components/user_education/views/help_bubble_views.cc.orig 2026-08-12 09:02:10 UTC ++++ components/user_education/views/help_bubble_views.cc +@@ -127,7 +127,7 @@ bool HelpBubbleViews::ToggleFocusForAccessibility() { + + if (auto* const anchor = GetAnchorView()) { + if (anchor->GetViewAccessibility().IsAccessibilityFocusable()) { +-#if BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) ++#if BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) + // Mac and Linux do not automatically pass activation on focus, so we have + // to do it manually. + anchor->GetWidget()->Activate(); +@@ -143,7 +143,7 @@ bool HelpBubbleViews::ToggleFocusForAccessibility() { + // An AccessiblePaneView can receive focus, but is not necessarily itself + // accessibility focusable. Use the built-in functionality for focusing + // elements of AccessiblePaneView instead. +-#if BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) ++#if BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) + // Mac and Linux do not automatically pass activation on focus, so we have + // to do it manually. + anchor->GetWidget()->Activate(); diff --git a/www/chromium/files/patch-components_viz_host_gpu__host__impl.cc b/www/chromium/files/patch-components_viz_host_gpu__host__impl.cc index 2e7bb3b6ea04..53168d675fd7 100644 --- a/www/chromium/files/patch-components_viz_host_gpu__host__impl.cc +++ b/www/chromium/files/patch-components_viz_host_gpu__host__impl.cc @@ -1,11 +1,11 @@ ---- components/viz/host/gpu_host_impl.cc.orig 2026-02-11 09:05:39 UTC +--- components/viz/host/gpu_host_impl.cc.orig 2026-08-12 09:02:10 UTC +++ components/viz/host/gpu_host_impl.cc -@@ -159,7 +159,7 @@ GpuHostImpl::GpuHostImpl(Delegate* delegate, +@@ -176,7 +176,7 @@ GpuHostImpl::GpuHostImpl(Delegate* delegate, mojom::GpuServiceCreationParams::New(); #if BUILDFLAG(IS_OZONE) -#if BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) // Linux has an issue when running in single-process mode wherein // GetPlatformRuntimeProperties() browser-side calls can have a data race with // in-process GPU service initialization. The call to diff --git a/www/chromium/files/patch-components_viz_service_display__embedder_skia__output__surface__impl.cc b/www/chromium/files/patch-components_viz_service_display__embedder_skia__output__surface__impl.cc index b4eb45208714..6ddeca5173d7 100644 --- a/www/chromium/files/patch-components_viz_service_display__embedder_skia__output__surface__impl.cc +++ b/www/chromium/files/patch-components_viz_service_display__embedder_skia__output__surface__impl.cc @@ -1,11 +1,11 @@ ---- components/viz/service/display_embedder/skia_output_surface_impl.cc.orig 2026-06-04 10:12:25 UTC +--- components/viz/service/display_embedder/skia_output_surface_impl.cc.orig 2026-08-12 09:02:10 UTC +++ components/viz/service/display_embedder/skia_output_surface_impl.cc -@@ -1537,7 +1537,7 @@ GrBackendFormat SkiaOutputSurfaceImpl::GetGrBackendFor +@@ -1530,7 +1530,7 @@ GrBackendFormat SkiaOutputSurfaceImpl::GetGrBackendFor VK_IMAGE_TILING_OPTIMAL, vk_format, si_format, image_context->color_space(), image_context->ycbcr_info()); -#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) // Textures that were allocated _on linux_ with ycbcr info came from // VaapiVideoDecoder, which exports using DRM format modifiers. return GrBackendFormats::MakeVk(gr_ycbcr_info, diff --git a/www/chromium/files/patch-components_viz_service_display_skia__renderer.cc b/www/chromium/files/patch-components_viz_service_display_skia__renderer.cc index 5243a27c6cef..d9affba0ce96 100644 --- a/www/chromium/files/patch-components_viz_service_display_skia__renderer.cc +++ b/www/chromium/files/patch-components_viz_service_display_skia__renderer.cc @@ -1,11 +1,11 @@ ---- components/viz/service/display/skia_renderer.cc.orig 2026-06-04 10:12:25 UTC +--- components/viz/service/display/skia_renderer.cc.orig 2026-08-12 09:02:10 UTC +++ components/viz/service/display/skia_renderer.cc -@@ -1340,7 +1340,7 @@ void SkiaRenderer::ClearFramebuffer() { +@@ -1414,7 +1414,7 @@ void SkiaRenderer::ClearFramebuffer() { if (current_frame()->current_render_pass->has_transparent_background) { ClearCanvas(SkColors::kTransparent); } else { -#if DCHECK_IS_ON() && !BUILDFLAG(IS_LINUX) +#if DCHECK_IS_ON() && !BUILDFLAG(IS_LINUX) && !BUILDFLAG(IS_BSD) // On DEBUG builds, opaque render passes are cleared to blue // to easily see regions that were not drawn on the screen. // ClearCavas() call causes slight pixel difference, so linux-ref and 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 b62980e97b74..31a6a41a280c 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 2026-07-01 06:24:19 UTC +--- components/viz/service/frame_sinks/root_compositor_frame_sink_impl.cc.orig 2026-08-12 09:02:10 UTC +++ components/viz/service/frame_sinks/root_compositor_frame_sink_impl.cc @@ -142,7 +142,7 @@ RootCompositorFrameSinkImpl::Create( output_surface->SetNeedsSwapSizeNotifications( params->send_swap_size_notifications); -#if BUILDFLAG(IS_LINUX) && BUILDFLAG(SUPPORTS_OZONE_X11) +#if (BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)) && BUILDFLAG(SUPPORTS_OZONE_X11) // 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); -@@ -934,7 +934,7 @@ void RootCompositorFrameSinkImpl::DisplayDidCompleteSw +@@ -946,7 +946,7 @@ void RootCompositorFrameSinkImpl::DisplayDidCompleteSw if (display_client_ && enable_swap_completion_callback_) { display_client_->DidCompleteSwapWithSize(pixel_size); } -#elif BUILDFLAG(IS_LINUX) && BUILDFLAG(SUPPORTS_OZONE_X11) +#elif (BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)) && BUILDFLAG(SUPPORTS_OZONE_X11) 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 76ec04bc6c2e..974491283a06 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 2026-06-04 10:12:25 UTC +--- components/viz/service/frame_sinks/root_compositor_frame_sink_impl.h.orig 2026-08-12 09:02:10 UTC +++ components/viz/service/frame_sinks/root_compositor_frame_sink_impl.h -@@ -222,7 +222,7 @@ class VIZ_SERVICE_EXPORT RootCompositorFrameSinkImpl +@@ -221,7 +221,7 @@ class VIZ_SERVICE_EXPORT RootCompositorFrameSinkImpl base::TimeDelta display_frame_interval_ = BeginFrameArgs::DefaultInterval(); base::TimeDelta preferred_frame_interval_; -#if BUILDFLAG(IS_LINUX) && BUILDFLAG(SUPPORTS_OZONE_X11) +#if (BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)) && BUILDFLAG(SUPPORTS_OZONE_X11) gfx::Size last_swap_pixel_size_; #endif // BUILDFLAG(IS_LINUX) && BUILDFLAG(SUPPORTS_OZONE_X11) diff --git a/www/chromium/files/patch-components_viz_service_gl_gpu__service__impl.cc b/www/chromium/files/patch-components_viz_service_gl_gpu__service__impl.cc index da5eeefd887b..5b344a428fad 100644 --- a/www/chromium/files/patch-components_viz_service_gl_gpu__service__impl.cc +++ b/www/chromium/files/patch-components_viz_service_gl_gpu__service__impl.cc @@ -1,20 +1,20 @@ ---- components/viz/service/gl/gpu_service_impl.cc.orig 2026-07-01 06:24:19 UTC +--- components/viz/service/gl/gpu_service_impl.cc.orig 2026-08-12 09:02:10 UTC +++ components/viz/service/gl/gpu_service_impl.cc -@@ -458,7 +458,7 @@ void GpuServiceImpl::InitializeWithHostInternal( +@@ -489,7 +489,7 @@ void GpuServiceImpl::InitializeWithHostInternal( mojo::Remote gpu_host(std::move(pending_gpu_host)); -#if BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) gpu_extra_info_.is_gmb_nv12_supported = IsGMBNV12Supported(); #endif -@@ -1248,7 +1248,7 @@ bool GpuServiceImpl::OnBeginFrameDerivedImpl(const Beg +@@ -1286,7 +1286,7 @@ bool GpuServiceImpl::OnBeginFrameDerivedImpl(const Beg return true; } -#if BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) bool GpuServiceImpl::IsGMBNV12Supported() { CHECK(main_runner_->BelongsToCurrentThread()); diff --git a/www/chromium/files/patch-components_viz_service_gl_gpu__service__impl.h b/www/chromium/files/patch-components_viz_service_gl_gpu__service__impl.h index ced749166984..d05fdeef1826 100644 --- a/www/chromium/files/patch-components_viz_service_gl_gpu__service__impl.h +++ b/www/chromium/files/patch-components_viz_service_gl_gpu__service__impl.h @@ -1,11 +1,11 @@ ---- components/viz/service/gl/gpu_service_impl.h.orig 2026-06-04 10:12:25 UTC +--- components/viz/service/gl/gpu_service_impl.h.orig 2026-08-12 09:02:10 UTC +++ components/viz/service/gl/gpu_service_impl.h -@@ -441,7 +441,7 @@ class VIZ_SERVICE_EXPORT GpuServiceImpl +@@ -444,7 +444,7 @@ class VIZ_SERVICE_EXPORT GpuServiceImpl void OnBeginFrameOnIO(const BeginFrameArgs& args); -#if BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) bool IsGMBNV12Supported(); #endif diff --git a/www/chromium/files/patch-components_webui_flags_flags__state.cc b/www/chromium/files/patch-components_webui_flags_flags__state.cc index 55e927f4ced3..df4e4946f1f0 100644 --- a/www/chromium/files/patch-components_webui_flags_flags__state.cc +++ b/www/chromium/files/patch-components_webui_flags_flags__state.cc @@ -1,11 +1,11 @@ ---- components/webui/flags/flags_state.cc.orig 2026-05-07 17:02:56 UTC +--- components/webui/flags/flags_state.cc.orig 2026-08-12 09:02:10 UTC +++ components/webui/flags/flags_state.cc -@@ -773,7 +773,7 @@ unsigned short FlagsState::GetCurrentPlatform() { +@@ -790,7 +790,7 @@ unsigned short FlagsState::GetCurrentPlatform() { return kOsWin; #elif BUILDFLAG(IS_CHROMEOS) return kOsCrOS; -#elif BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_OPENBSD) +#elif BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) return kOsLinux; #elif BUILDFLAG(IS_ANDROID) return kOsAndroid; 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 f9c960541bb8..f16c5a4ca7db 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,154 +1,154 @@ ---- content/app/content_main_runner_impl.cc.orig 2026-06-04 10:12:25 UTC +--- content/app/content_main_runner_impl.cc.orig 2026-08-12 09:02:10 UTC +++ content/app/content_main_runner_impl.cc -@@ -152,19 +152,22 @@ +@@ -153,19 +153,22 @@ #include "content/browser/posix_file_descriptor_info_impl.h" #include "content/public/common/content_descriptors.h" -#if !BUILDFLAG(IS_MAC) +#if !BUILDFLAG(IS_MAC) && !BUILDFLAG(IS_BSD) #include "content/public/common/zygote/zygote_fork_delegate_linux.h" #endif #endif // BUILDFLAG(IS_POSIX) || BUILDFLAG(IS_FUCHSIA) -#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) #include "base/environment.h" #include "base/files/file_path_watcher_inotify.h" #include "base/native_library.h" #include "base/rand_util.h" #include "content/public/common/zygote/sandbox_support_linux.h" +#if !BUILDFLAG(IS_BSD) #include "sandbox/policy/linux/sandbox_linux.h" +#endif +#include "third_party/skia/rust/png/FFI.rs.h" #include "third_party/boringssl/src/include/openssl/crypto.h" #include "third_party/webrtc_overrides/init_webrtc.h" // nogncheck -@@ -188,6 +191,10 @@ +@@ -189,6 +192,10 @@ #include "media/base/media_switches.h" #endif +#if BUILDFLAG(IS_BSD) +#include "base/system/sys_info.h" +#endif + #if BUILDFLAG(IS_ANDROID) #include "base/android/background_thread_pool_field_trial.h" #include "base/system/sys_info.h" -@@ -367,7 +374,7 @@ void InitializeZygoteSandboxForBrowserProcess( +@@ -368,7 +375,7 @@ void InitializeZygoteSandboxForBrowserProcess( } #endif // BUILDFLAG(USE_ZYGOTE) -#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) #if BUILDFLAG(ENABLE_LIBRARY_CDMS) // Loads registered library CDMs but does not initialize them. This is needed by -@@ -386,7 +393,10 @@ void PreloadLibraryCdms() { +@@ -387,7 +394,10 @@ void PreloadLibraryCdms() { void PreSandboxInit() { // Ensure the /dev/urandom is opened. + // we use arc4random +#if !BUILDFLAG(IS_BSD) base::GetUrandomFD(); +#endif // May use sysinfo(), sched_getaffinity(), and open various /sys/ and /proc/ // files. -@@ -398,9 +408,16 @@ void PreSandboxInit() { +@@ -399,9 +409,16 @@ void PreSandboxInit() { // https://boringssl.googlesource.com/boringssl/+/HEAD/SANDBOXING.md CRYPTO_pre_sandbox_init(); +#if BUILDFLAG(IS_BSD) + // rust_png calls into sysctl so cache the cpu features before pledge(2) + rust_png::initialize_cpudetect(); +#endif + +#if !BUILDFLAG(IS_BSD) // Pre-read /proc/sys/fs/inotify/max_user_watches so it doesn't have to be // allowed by the sandbox. base::GetMaxNumberOfInotifyWatches(); +#endif #if BUILDFLAG(ENABLE_LIBRARY_CDMS) // Ensure access to the library CDMs before the sandbox is turned on. -@@ -629,7 +646,7 @@ NO_STACK_PROTECTOR int RunZygote(ContentMainDelegate* +@@ -630,7 +647,7 @@ NO_STACK_PROTECTOR int RunZygote(ContentMainDelegate* // Once Zygote forks and feature list initializes we can start a thread to // begin tracing immediately. if (delegate->ShouldInitializePerfetto(invoked_in_child)) { -#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) if (process_type == switches::kGpuProcess) { tracing::InitTracingPostFeatureList(/*enable_consumer=*/false, /*will_trace_thread_restart=*/true); -@@ -733,7 +750,7 @@ NO_STACK_PROTECTOR int RunOtherNamedProcessTypeMain( +@@ -734,7 +751,7 @@ NO_STACK_PROTECTOR int RunOtherNamedProcessTypeMain( base::HangWatcher::CreateHangWatcherInstance(); unregister_thread_closure = base::HangWatcher::RegisterThread( base::HangWatcher::ThreadType::kMainThread); -#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) // On Linux/ChromeOS, the HangWatcher can't start until after the sandbox is // initialized, because the sandbox can't be started with multiple threads. // TODO(mpdenton): start the HangWatcher after the sandbox is initialized. -@@ -854,11 +871,10 @@ int ContentMainRunnerImpl::Initialize(ContentMainParam +@@ -855,11 +872,10 @@ int ContentMainRunnerImpl::Initialize(ContentMainParam base::GlobalDescriptors::kBaseDescriptor); #endif // !BUILDFLAG(IS_ANDROID) -#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_OPENBSD) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) g_fds->Set(kCrashDumpSignal, kCrashDumpSignal + base::GlobalDescriptors::kBaseDescriptor); -#endif // BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || - // BUILDFLAG(IS_OPENBSD) +#endif // BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) #endif // !BUILDFLAG(IS_WIN) -@@ -992,7 +1008,7 @@ int ContentMainRunnerImpl::Initialize(ContentMainParam +@@ -993,7 +1009,7 @@ int ContentMainRunnerImpl::Initialize(ContentMainParam delegate_->PreSandboxStartup(); -#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) // Set environment variables for fontconfig fontations indexing and before // creating threads. if (process_type.empty()) { -@@ -1027,7 +1043,7 @@ int ContentMainRunnerImpl::Initialize(ContentMainParam +@@ -1028,7 +1044,7 @@ int ContentMainRunnerImpl::Initialize(ContentMainParam // SeatbeltExecServer. CHECK(sandbox::Seatbelt::IsSandboxed()); } -#elif BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) +#elif BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) // In sandboxed processes and zygotes, certain resource should be pre-warmed // as they cannot be initialized under a sandbox. In addition, loading these // resources in zygotes (including the unsandboxed zygote) allows them to be -@@ -1041,6 +1057,16 @@ int ContentMainRunnerImpl::Initialize(ContentMainParam +@@ -1042,6 +1058,16 @@ int ContentMainRunnerImpl::Initialize(ContentMainParam ChildProcessEnterSandbox(); #endif +#if BUILDFLAG(IS_BSD) + if (process_type.empty()) { + sandbox::policy::SandboxLinux::Options sandbox_options; + sandbox::policy::SandboxLinux::GetInstance()->InitializeSandbox( + sandbox::policy::SandboxTypeFromCommandLine( + *base::CommandLine::ForCurrentProcess()), + sandbox::policy::SandboxLinux::PreSandboxHook(), sandbox_options); + } +#endif + delegate_->SandboxInitialized(process_type); #if BUILDFLAG(USE_ZYGOTE) -@@ -1157,6 +1183,11 @@ NO_STACK_PROTECTOR int ContentMainRunnerImpl::Run() { +@@ -1158,6 +1184,11 @@ NO_STACK_PROTECTOR int ContentMainRunnerImpl::Run() { content_main_params_.reset(); RegisterMainThreadFactories(); + +#if BUILDFLAG(IS_BSD) + if (!process_type.empty()) + PreSandboxInit(); +#endif if (process_type.empty()) return RunBrowser(std::move(main_params), start_minimal_browser); diff --git a/www/chromium/files/patch-content_browser_BUILD.gn b/www/chromium/files/patch-content_browser_BUILD.gn index 7ea2e58f6478..b496f6550902 100644 --- a/www/chromium/files/patch-content_browser_BUILD.gn +++ b/www/chromium/files/patch-content_browser_BUILD.gn @@ -1,33 +1,33 @@ ---- content/browser/BUILD.gn.orig 2026-07-29 11:06:49 UTC +--- content/browser/BUILD.gn.orig 2026-08-12 09:02:10 UTC +++ content/browser/BUILD.gn -@@ -2676,6 +2676,14 @@ source_set("browser") { +@@ -2702,6 +2702,14 @@ source_set("browser") { ] } + if (is_bsd) { + sources += [ + "file_system_access/file_path_watcher/file_path_watcher_bsd.cc", + "file_system_access/file_path_watcher/file_path_watcher_kqueue.cc", + "file_system_access/file_path_watcher/file_path_watcher_kqueue.h", + ] + } + if (is_linux || is_chromeos) { sources -= [ "file_system_access/file_path_watcher/file_path_watcher_stub.cc" ] -@@ -2725,6 +2733,15 @@ source_set("browser") { +@@ -2751,6 +2759,15 @@ source_set("browser") { if (allow_oop_video_decoder) { sources += [ "media/oop_video_decoder_factory.cc" ] deps += [ "//media/mojo/mojom" ] + } + + if (is_bsd) { + sources -= [ + "file_system_access/file_path_watcher/file_path_watcher_inotify.cc", + "file_system_access/file_path_watcher/file_path_watcher_inotify.h", + "sandbox_ipc_linux.cc", + "sandbox_ipc_linux.h", + ] } if (is_p2p_enabled) { diff --git a/www/chromium/files/patch-content_browser_accessibility_browser__accessibility__state__impl.cc b/www/chromium/files/patch-content_browser_accessibility_browser__accessibility__state__impl.cc index 8a1cd02d6bf8..837a76cc188c 100644 --- a/www/chromium/files/patch-content_browser_accessibility_browser__accessibility__state__impl.cc +++ b/www/chromium/files/patch-content_browser_accessibility_browser__accessibility__state__impl.cc @@ -1,11 +1,11 @@ ---- content/browser/accessibility/browser_accessibility_state_impl.cc.orig 2026-07-01 06:24:19 UTC +--- content/browser/accessibility/browser_accessibility_state_impl.cc.orig 2026-08-12 09:02:10 UTC +++ content/browser/accessibility/browser_accessibility_state_impl.cc -@@ -285,7 +285,7 @@ BrowserAccessibilityStateImpl* BrowserAccessibilitySta +@@ -295,7 +295,7 @@ BrowserAccessibilityStateImpl* BrowserAccessibilitySta // On Android, Mac, Windows and Linux there are platform-specific subclasses. #if !BUILDFLAG(IS_ANDROID) && !BUILDFLAG(IS_WIN) && !BUILDFLAG(IS_MAC) && \ - !BUILDFLAG(IS_LINUX) && !BUILDFLAG(IS_CHROMEOS) + !BUILDFLAG(IS_LINUX) && !BUILDFLAG(IS_CHROMEOS) && !BUILDFLAG(IS_BSD) // static std::unique_ptr BrowserAccessibilityStateImpl::Create() { diff --git a/www/chromium/files/patch-content_browser_browser__child__process__host__impl.cc b/www/chromium/files/patch-content_browser_browser__child__process__host__impl.cc index 2daef28751fb..aa1cfe723a41 100644 --- a/www/chromium/files/patch-content_browser_browser__child__process__host__impl.cc +++ b/www/chromium/files/patch-content_browser_browser__child__process__host__impl.cc @@ -1,19 +1,19 @@ ---- content/browser/browser_child_process_host_impl.cc.orig 2026-04-09 06:05:42 UTC +--- content/browser/browser_child_process_host_impl.cc.orig 2026-08-12 09:02:10 UTC +++ content/browser/browser_child_process_host_impl.cc -@@ -292,6 +292,7 @@ void BrowserChildProcessHostImpl::LaunchWithoutExtraCo - switches::kIPCConnectionTimeout, +@@ -293,6 +293,7 @@ void BrowserChildProcessHostImpl::LaunchWithoutExtraCo switches::kLogBestEffortTasks, + switches::kPartitionAllocSchedulerLoopQuarantine, switches::kPerfettoDisableInterning, + switches::kDisableUnveil, }; cmd_line->CopySwitchesFrom(browser_command_line, kForwardSwitches); -@@ -653,7 +654,7 @@ void BrowserChildProcessHostImpl::OnProcessLaunched() +@@ -654,7 +655,7 @@ void BrowserChildProcessHostImpl::OnProcessLaunched() ->child_process()); #endif -#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) child_thread_type_switcher_.SetPid(process.Pid()); #endif // BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) diff --git a/www/chromium/files/patch-content_browser_browser__child__process__host__impl__receiver__bindings.cc b/www/chromium/files/patch-content_browser_browser__child__process__host__impl__receiver__bindings.cc index 49d7cfdd5b57..53e1b5f7cf6b 100644 --- a/www/chromium/files/patch-content_browser_browser__child__process__host__impl__receiver__bindings.cc +++ b/www/chromium/files/patch-content_browser_browser__child__process__host__impl__receiver__bindings.cc @@ -1,29 +1,29 @@ ---- content/browser/browser_child_process_host_impl_receiver_bindings.cc.orig 2026-06-04 10:12:25 UTC +--- content/browser/browser_child_process_host_impl_receiver_bindings.cc.orig 2026-08-12 09:02:10 UTC +++ content/browser/browser_child_process_host_impl_receiver_bindings.cc @@ -38,7 +38,7 @@ #include "content/public/common/font_cache_win.mojom.h" #endif -#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) #include "components/services/font_data/font_data_service_impl.h" #endif @@ -69,7 +69,7 @@ void BrowserChildProcessHostImpl::BindHostReceiver( } } -#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) if (auto r = receiver.As()) { child_thread_type_switcher_.Bind(std::move(r)); return; -@@ -114,7 +114,7 @@ void BrowserChildProcessHostImpl::BindHostReceiver( +@@ -120,7 +120,7 @@ void BrowserChildProcessHostImpl::BindHostReceiver( } #endif -#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) if (features::IsFontDataServiceEnabled()) { if (auto font_data_receiver = receiver.As()) { 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 c2b92c47f8d6..5dc244f94e8a 100644 --- a/www/chromium/files/patch-content_browser_browser__main__loop.cc +++ b/www/chromium/files/patch-content_browser_browser__main__loop.cc @@ -1,37 +1,37 @@ ---- content/browser/browser_main_loop.cc.orig 2026-07-29 11:06:49 UTC +--- content/browser/browser_main_loop.cc.orig 2026-08-12 09:02:10 UTC +++ content/browser/browser_main_loop.cc -@@ -252,6 +252,12 @@ +@@ -253,6 +253,12 @@ #include "mojo/public/cpp/bindings/lib/test_random_mojo_delays.h" #endif +#if BUILDFLAG(IS_BSD) +#include "content/browser/sandbox_host_linux.h" +#include "content/public/common/zygote/sandbox_support_linux.h" +#include "sandbox/policy/sandbox.h" +#endif + // One of the linux specific headers defines this as a macro. #ifdef DestroyAll #undef DestroyAll -@@ -538,6 +544,12 @@ int BrowserMainLoop::EarlyInitialization() { +@@ -539,6 +545,12 @@ int BrowserMainLoop::EarlyInitialization() { // by now since a thread to start the ServiceManager has been created // before the browser main loop starts. DCHECK(SandboxHostLinux::GetInstance()->IsInitialized()); +#elif BUILDFLAG(IS_BSD) + base::FileHandleMappingVector additional_remapped_fds; + base::LaunchOptions options; + SandboxHostLinux::GetInstance()->Init(); + const int sfd = SandboxHostLinux::GetInstance()->GetChildSocket(); + options.fds_to_remap.push_back(std::make_pair(sfd, GetSandboxFD())); #endif // GLib's spawning of new processes is buggy, so it's important that at this -@@ -569,7 +581,7 @@ int BrowserMainLoop::EarlyInitialization() { +@@ -570,7 +582,7 @@ int BrowserMainLoop::EarlyInitialization() { base::PlatformThread::SetCurrentThreadType(base::ThreadType::kPresentation); #if BUILDFLAG(IS_APPLE) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || \ - BUILDFLAG(IS_ANDROID) + BUILDFLAG(IS_ANDROID) || BUILDFLAG(IS_BSD) // We use quite a few file descriptors for our IPC as well as disk the disk // cache, and the default limit on Apple is low (256), so bump it up. diff --git a/www/chromium/files/patch-content_browser_child__thread__type__switcher__linux.cc b/www/chromium/files/patch-content_browser_child__thread__type__switcher__linux.cc index 09d721f6843c..c8c5b87752ab 100644 --- a/www/chromium/files/patch-content_browser_child__thread__type__switcher__linux.cc +++ b/www/chromium/files/patch-content_browser_child__thread__type__switcher__linux.cc @@ -1,37 +1,28 @@ ---- content/browser/child_thread_type_switcher_linux.cc.orig 2026-03-13 06:02:14 UTC +--- content/browser/child_thread_type_switcher_linux.cc.orig 2026-08-12 09:02:10 UTC +++ content/browser/child_thread_type_switcher_linux.cc @@ -6,6 +6,7 @@ #include "base/linux_util.h" #include "base/logging.h" +#include "base/notimplemented.h" + #include "base/metrics/histogram_macros.h" #include "base/process/process_handle.h" #include "base/task/single_thread_task_runner.h" - #include "base/threading/platform_thread.h" -@@ -20,6 +21,9 @@ void SetThreadTypeOnLauncherThread(base::ProcessId pee +@@ -21,6 +22,9 @@ void SetThreadTypeOnLauncherThread(base::ProcessId pee base::ThreadType thread_type) { DCHECK(CurrentlyOnProcessLauncherTaskRunner()); +#if BUILDFLAG(IS_BSD) + NOTIMPLEMENTED(); +#else bool ns_pid_supported = false; pid_t peer_tid = base::FindThreadID(peer_pid, ns_tid.raw(), &ns_pid_supported); -@@ -41,6 +45,7 @@ void SetThreadTypeOnLauncherThread(base::ProcessId pee +@@ -42,6 +46,7 @@ void SetThreadTypeOnLauncherThread(base::ProcessId pee base::PlatformThread::SetThreadType( peer_pid, base::PlatformThreadId(peer_tid), thread_type); +#endif } - } // namespace -@@ -69,7 +74,7 @@ void ChildThreadTypeSwitcher::SetPid(base::ProcessId c - } - } - --void ChildThreadTypeSwitcher::SetThreadType(int32_t ns_tid, -+void ChildThreadTypeSwitcher::SetThreadType(uint64_t ns_tid, - base::ThreadType thread_type) { - // This function is only used on platforms with 32-bit thread ids. - static_assert(sizeof(ns_tid) == sizeof(base::PlatformThreadId)); + void SetThreadTypesOnLauncherThread( diff --git a/www/chromium/files/patch-content_browser_child__thread__type__switcher__linux.h b/www/chromium/files/patch-content_browser_child__thread__type__switcher__linux.h deleted file mode 100644 index 1332f8cb0ea0..000000000000 --- a/www/chromium/files/patch-content_browser_child__thread__type__switcher__linux.h +++ /dev/null @@ -1,11 +0,0 @@ ---- content/browser/child_thread_type_switcher_linux.h.orig 2025-04-04 08:52:13 UTC -+++ content/browser/child_thread_type_switcher_linux.h -@@ -36,7 +36,7 @@ class ChildThreadTypeSwitcher : public mojom::ThreadTy - void SetPid(base::ProcessId child_pid); - - // mojom::ThreadTypeSwitcher: -- void SetThreadType(int32_t ns_tid, base::ThreadType thread_type) override; -+ void SetThreadType(uint64_t ns_tid, base::ThreadType thread_type) override; - - private: - base::ProcessId child_pid_ = base::kNullProcessHandle; diff --git a/www/chromium/files/patch-content_browser_gpu_gpu__data__manager__impl.cc b/www/chromium/files/patch-content_browser_gpu_gpu__data__manager__impl.cc index 7dbb08aac132..cbf7c296e1c0 100644 --- a/www/chromium/files/patch-content_browser_gpu_gpu__data__manager__impl.cc +++ b/www/chromium/files/patch-content_browser_gpu_gpu__data__manager__impl.cc @@ -1,11 +1,11 @@ ---- content/browser/gpu/gpu_data_manager_impl.cc.orig 2026-06-04 10:12:25 UTC +--- content/browser/gpu/gpu_data_manager_impl.cc.orig 2026-08-12 09:02:10 UTC +++ content/browser/gpu/gpu_data_manager_impl.cc -@@ -432,7 +432,7 @@ void GpuDataManagerImpl::OnDisplayMetricsChanged( +@@ -416,7 +416,7 @@ void GpuDataManagerImpl::OnDisplayMetricsChanged( private_->OnDisplayMetricsChanged(display, changed_metrics); } -#if BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) bool GpuDataManagerImpl::IsGpuMemoryBufferNV12Supported() { base::AutoLock auto_lock(lock_); return private_->IsGpuMemoryBufferNV12Supported(); diff --git a/www/chromium/files/patch-content_browser_gpu_gpu__data__manager__impl.h b/www/chromium/files/patch-content_browser_gpu_gpu__data__manager__impl.h index e40923fe9c4b..8eb8ec02f890 100644 --- a/www/chromium/files/patch-content_browser_gpu_gpu__data__manager__impl.h +++ b/www/chromium/files/patch-content_browser_gpu_gpu__data__manager__impl.h @@ -1,11 +1,11 @@ ---- content/browser/gpu/gpu_data_manager_impl.h.orig 2026-06-04 10:12:25 UTC +--- content/browser/gpu/gpu_data_manager_impl.h.orig 2026-08-12 09:02:10 UTC +++ content/browser/gpu/gpu_data_manager_impl.h -@@ -234,7 +234,7 @@ class CONTENT_EXPORT GpuDataManagerImpl : public GpuDa +@@ -227,7 +227,7 @@ class CONTENT_EXPORT GpuDataManagerImpl : public GpuDa void OnDisplayMetricsChanged(const display::Display& display, uint32_t changed_metrics) override; -#if BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) bool IsGpuMemoryBufferNV12Supported(); #endif // BUILDFLAG(IS_LINUX) diff --git a/www/chromium/files/patch-content_browser_gpu_gpu__data__manager__impl__private.cc b/www/chromium/files/patch-content_browser_gpu_gpu__data__manager__impl__private.cc index c1cd9aeeae42..99f3bfb6da0c 100644 --- a/www/chromium/files/patch-content_browser_gpu_gpu__data__manager__impl__private.cc +++ b/www/chromium/files/patch-content_browser_gpu_gpu__data__manager__impl__private.cc @@ -1,11 +1,11 @@ ---- content/browser/gpu/gpu_data_manager_impl_private.cc.orig 2026-07-01 06:24:19 UTC +--- content/browser/gpu/gpu_data_manager_impl_private.cc.orig 2026-08-12 09:02:10 UTC +++ content/browser/gpu/gpu_data_manager_impl_private.cc -@@ -1751,7 +1751,7 @@ void GpuDataManagerImplPrivate::RecordCompositingMode( +@@ -1715,7 +1715,7 @@ void GpuDataManagerImplPrivate::RecordCompositingMode( UMA_HISTOGRAM_ENUMERATION("GPU.CompositingMode", compositing_mode); } -#if BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) bool GpuDataManagerImplPrivate::IsGpuMemoryBufferNV12Supported() { return gpu_extra_info_.is_gmb_nv12_supported; } diff --git a/www/chromium/files/patch-content_browser_gpu_gpu__data__manager__impl__private.h b/www/chromium/files/patch-content_browser_gpu_gpu__data__manager__impl__private.h index 7c4681dd6247..80980e85a75b 100644 --- a/www/chromium/files/patch-content_browser_gpu_gpu__data__manager__impl__private.h +++ b/www/chromium/files/patch-content_browser_gpu_gpu__data__manager__impl__private.h @@ -1,20 +1,20 @@ ---- content/browser/gpu/gpu_data_manager_impl_private.h.orig 2026-06-04 10:12:25 UTC +--- content/browser/gpu/gpu_data_manager_impl_private.h.orig 2026-08-12 09:02:10 UTC +++ content/browser/gpu/gpu_data_manager_impl_private.h -@@ -152,7 +152,7 @@ class CONTENT_EXPORT GpuDataManagerImplPrivate { +@@ -148,7 +148,7 @@ class CONTENT_EXPORT GpuDataManagerImplPrivate { void OnDisplayMetricsChanged(const display::Display& display, uint32_t changed_metrics); -#if BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) bool IsGpuMemoryBufferNV12Supported(); #endif // BUILDFLAG(IS_LINUX) -@@ -316,7 +316,7 @@ class CONTENT_EXPORT GpuDataManagerImplPrivate { +@@ -308,7 +308,7 @@ class CONTENT_EXPORT GpuDataManagerImplPrivate { bool application_is_visible_ = true; bool disable_gpu_compositing_ = false; -#if BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) bool is_gpu_memory_buffer_NV12_supported_ = false; #endif // BUILDFLAG(IS_LINUX) 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 493e5f15934f..eecfbebc811c 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,19 +1,19 @@ ---- content/browser/gpu/gpu_process_host.cc.orig 2026-07-01 06:24:19 UTC +--- content/browser/gpu/gpu_process_host.cc.orig 2026-08-12 09:02:10 UTC +++ content/browser/gpu/gpu_process_host.cc -@@ -297,6 +297,7 @@ static const char* const kSwitchNames[] = { +@@ -289,6 +289,7 @@ static const char* const kSwitchNames[] = { switches::kDisableSkiaGraphite, switches::kDisableSkiaGraphitePrecompilation, switches::kDisableLowEndDeviceMode, + switches::kDisableUnveil, switches::kProfilingAtStart, switches::kProfilingFile, switches::kProfilingFlush, -@@ -321,7 +322,7 @@ static const char* const kSwitchNames[] = { +@@ -313,7 +314,7 @@ static const char* const kSwitchNames[] = { switches::kEnableNativeGpuMemoryBuffers, switches::kRenderNodeOverride, #endif -#if BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) switches::kX11Display, switches::kNoXshm, #endif diff --git a/www/chromium/files/patch-content_browser_media_media__keys__listener__manager__impl.cc b/www/chromium/files/patch-content_browser_media_media__keys__listener__manager__impl.cc index 6e2749f0a835..5db49fdda062 100644 --- a/www/chromium/files/patch-content_browser_media_media__keys__listener__manager__impl.cc +++ b/www/chromium/files/patch-content_browser_media_media__keys__listener__manager__impl.cc @@ -1,11 +1,11 @@ ---- content/browser/media/media_keys_listener_manager_impl.cc.orig 2025-02-19 07:43:18 UTC +--- content/browser/media/media_keys_listener_manager_impl.cc.orig 2026-08-12 09:02:10 UTC +++ content/browser/media/media_keys_listener_manager_impl.cc -@@ -332,7 +332,7 @@ void MediaKeysListenerManagerImpl::StartListeningForMe +@@ -326,7 +326,7 @@ void MediaKeysListenerManagerImpl::StartListeningForMe return; } -#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_WIN) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_WIN) || BUILDFLAG(IS_BSD) // Create SystemMediaControls with the SingletonHwnd. browser_system_media_controls_ = system_media_controls::SystemMediaControls::Create( diff --git a/www/chromium/files/patch-content_browser_network__service__instance__impl.cc b/www/chromium/files/patch-content_browser_network__service__instance__impl.cc index c6eca86254a6..76551d35d40b 100644 --- a/www/chromium/files/patch-content_browser_network__service__instance__impl.cc +++ b/www/chromium/files/patch-content_browser_network__service__instance__impl.cc @@ -1,29 +1,29 @@ ---- content/browser/network_service_instance_impl.cc.orig 2026-07-01 06:24:19 UTC +--- content/browser/network_service_instance_impl.cc.orig 2026-08-12 09:02:10 UTC +++ content/browser/network_service_instance_impl.cc -@@ -94,7 +94,7 @@ +@@ -96,7 +96,7 @@ #include "content/browser/network/network_service_process_tracker_win.h" #endif -#if BUILDFLAG(IS_ANDROID) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) +#if BUILDFLAG(IS_ANDROID) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) #include "content/browser/system_dns_resolution/system_dns_resolver.h" #include "services/network/public/mojom/system_dns_resolution.mojom-forward.h" #endif -@@ -458,7 +458,7 @@ void CreateInProcessNetworkService( +@@ -355,7 +355,7 @@ void CreateInProcessNetworkService( })); } -#if BUILDFLAG(IS_ANDROID) || BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_ANDROID) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) // Runs a self-owned SystemDnsResolverMojoImpl. This is meant to run on a // high-priority thread pool. void RunSystemDnsResolverOnThreadPool( -@@ -524,7 +524,7 @@ network::mojom::NetworkServiceParamsPtr CreateNetworkS +@@ -421,7 +421,7 @@ network::mojom::NetworkServiceParamsPtr CreateNetworkS } #endif // BUILDFLAG(IS_POSIX) -#if BUILDFLAG(IS_ANDROID) || BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_ANDROID) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) if (GetContentClient() ->browser() ->ShouldRunOutOfProcessSystemDnsResolution() && diff --git a/www/chromium/files/patch-content_browser_renderer__host_delegated__frame__host.cc b/www/chromium/files/patch-content_browser_renderer__host_delegated__frame__host.cc index c76ebe7c0916..2fc52808cfeb 100644 --- a/www/chromium/files/patch-content_browser_renderer__host_delegated__frame__host.cc +++ b/www/chromium/files/patch-content_browser_renderer__host_delegated__frame__host.cc @@ -1,11 +1,11 @@ ---- content/browser/renderer_host/delegated_frame_host.cc.orig 2026-06-04 10:12:25 UTC +--- content/browser/renderer_host/delegated_frame_host.cc.orig 2026-08-12 09:02:10 UTC +++ content/browser/renderer_host/delegated_frame_host.cc -@@ -353,7 +353,7 @@ void DelegatedFrameHost::EmbedSurface( +@@ -347,7 +347,7 @@ void DelegatedFrameHost::EmbedSurface( if (!primary_surface_id || primary_surface_id->local_surface_id() != local_surface_id_) { -#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) +#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_BSD) // On Windows, Linux, and macOS, we would like to produce new content as // soon as possible or the OS will create an additional black gutter. // Until we can block resize on surface synchronization on these 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 463d313ebe43..697462f65d05 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,55 +1,55 @@ ---- content/browser/renderer_host/render_process_host_impl.cc.orig 2026-07-29 11:06:49 UTC +--- content/browser/renderer_host/render_process_host_impl.cc.orig 2026-08-12 09:02:10 UTC +++ content/browser/renderer_host/render_process_host_impl.cc -@@ -229,7 +229,7 @@ +@@ -230,7 +230,7 @@ #include "third_party/blink/public/mojom/android_font_lookup/android_font_lookup.mojom.h" #endif -#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) #include #include "components/services/font/public/mojom/font_service.mojom.h" // nogncheck -@@ -1192,7 +1192,7 @@ static constexpr size_t kUnknownPlatformProcessLimit = +@@ -1196,7 +1196,7 @@ static constexpr size_t kUnknownPlatformProcessLimit = // to indicate failure and std::numeric_limits::max() to indicate // unlimited. size_t GetPlatformProcessLimit() { -#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) struct rlimit limit; if (getrlimit(RLIMIT_NPROC, &limit) != 0) return kUnknownPlatformProcessLimit; -@@ -1452,7 +1452,7 @@ RenderProcessHostImpl::IOThreadHostImpl::~IOThreadHost +@@ -1456,7 +1456,7 @@ RenderProcessHostImpl::IOThreadHostImpl::~IOThreadHost void RenderProcessHostImpl::IOThreadHostImpl::SetPid( base::ProcessId child_pid) { -#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) child_thread_type_switcher_.SetPid(child_pid); #endif // BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) } -@@ -3778,7 +3778,7 @@ void RenderProcessHostImpl::AppendRendererCommandLine( +@@ -3809,7 +3809,7 @@ void RenderProcessHostImpl::AppendRendererCommandLine( base::TimeTicks::UnixEpoch().since_origin().InMicroseconds())); } -#if BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) // Append `kDisableVideoCaptureUseGpuMemoryBuffer` flag if there is no support // for NV12 GPU memory buffer. if (switches::IsVideoCaptureUseGpuMemoryBufferEnabled() && -@@ -3836,6 +3836,7 @@ void RenderProcessHostImpl::PropagateBrowserCommandLin +@@ -3867,6 +3867,7 @@ void RenderProcessHostImpl::PropagateBrowserCommandLin switches::kDisableSkiaRuntimeOpts, switches::kDisableSpeechAPI, switches::kDisableThreadedCompositing, + switches::kDisableUnveil, switches::kDisableV8IdleTasks, switches::kDisableVideoCaptureUseGpuMemoryBuffer, switches::kDomAutomationController, -@@ -5795,7 +5796,7 @@ uint64_t RenderProcessHostImpl::GetPrivateMemoryFootpr +@@ -5853,7 +5854,7 @@ uint64_t RenderProcessHostImpl::GetPrivateMemoryFootpr // - Win: https://crbug.com/707022 . uint64_t total_size = 0; #if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_ANDROID) || \ - BUILDFLAG(IS_FUCHSIA) + BUILDFLAG(IS_FUCHSIA) || BUILDFLAG(IS_BSD) total_size = dump->platform_private_footprint->rss_anon_bytes + dump->platform_private_footprint->vm_swap_bytes; #elif BUILDFLAG(IS_APPLE) diff --git a/www/chromium/files/patch-content_browser_renderer__host_render__process__host__impl.h b/www/chromium/files/patch-content_browser_renderer__host_render__process__host__impl.h index 356035b03835..8556762cd126 100644 --- a/www/chromium/files/patch-content_browser_renderer__host_render__process__host__impl.h +++ b/www/chromium/files/patch-content_browser_renderer__host_render__process__host__impl.h @@ -1,29 +1,29 @@ ---- content/browser/renderer_host/render_process_host_impl.h.orig 2026-06-04 10:12:25 UTC +--- content/browser/renderer_host/render_process_host_impl.h.orig 2026-08-12 09:02:10 UTC +++ content/browser/renderer_host/render_process_host_impl.h @@ -107,7 +107,7 @@ #include "media/fuchsia_media_codec_provider_impl.h" #endif -#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) #include "content/browser/child_thread_type_switcher_linux.h" #include "media/mojo/mojom/video_encode_accelerator.mojom.h" #endif -@@ -1043,7 +1043,7 @@ class CONTENT_EXPORT RenderProcessHostImpl +@@ -1042,7 +1042,7 @@ class CONTENT_EXPORT RenderProcessHostImpl mojo::Remote video_encode_accelerator_factory_remote_; #endif -#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) ChildThreadTypeSwitcher child_thread_type_switcher_; #endif }; -@@ -1299,7 +1299,7 @@ class CONTENT_EXPORT RenderProcessHostImpl +@@ -1298,7 +1298,7 @@ class CONTENT_EXPORT RenderProcessHostImpl // if the request isn't handled on the IO thread. void OnBindHostReceiver(mojo::GenericPendingReceiver receiver); -#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) // Provides /proc/{renderer pid}/status and statm files for the renderer, // because the files are required to calculate the renderer's private // footprint on Chromium Linux. Regarding MacOS X and Windows, we have diff --git a/www/chromium/files/patch-content_browser_renderer__host_render__process__host__impl__receiver__bindings.cc b/www/chromium/files/patch-content_browser_renderer__host_render__process__host__impl__receiver__bindings.cc index ba0fc9e5a564..2f6880c90c29 100644 --- a/www/chromium/files/patch-content_browser_renderer__host_render__process__host__impl__receiver__bindings.cc +++ b/www/chromium/files/patch-content_browser_renderer__host_render__process__host__impl__receiver__bindings.cc @@ -1,47 +1,47 @@ ---- content/browser/renderer_host/render_process_host_impl_receiver_bindings.cc.orig 2026-04-09 06:05:42 UTC +--- content/browser/renderer_host/render_process_host_impl_receiver_bindings.cc.orig 2026-08-12 09:02:10 UTC +++ content/browser/renderer_host/render_process_host_impl_receiver_bindings.cc @@ -56,7 +56,7 @@ #include "content/browser/renderer_host/p2p/socket_dispatcher_host.h" #endif // BUILDFLAG(IS_P2P_ENABLED) -#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) #include "components/services/font/public/mojom/font_service.mojom.h" // nogncheck #include "content/browser/font_service.h" // nogncheck #endif @@ -78,7 +78,7 @@ #include "content/public/common/font_cache_win.mojom.h" #endif -#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) +#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) #include "components/services/font_data/font_data_service_impl.h" #endif -@@ -345,7 +345,7 @@ void RenderProcessHostImpl::IOThreadHostImpl::BindHost +@@ -350,7 +350,7 @@ void RenderProcessHostImpl::IOThreadHostImpl::BindHost } } -#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) +#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) if (features::IsFontDataServiceEnabled()) { if (auto font_data_receiver = receiver.As()) { -@@ -356,7 +356,7 @@ void RenderProcessHostImpl::IOThreadHostImpl::BindHost +@@ -361,7 +361,7 @@ void RenderProcessHostImpl::IOThreadHostImpl::BindHost } #endif -#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) if (auto font_receiver = receiver.As()) { ConnectToFontService(std::move(font_receiver)); return; -@@ -384,7 +384,7 @@ void RenderProcessHostImpl::IOThreadHostImpl::BindHost +@@ -389,7 +389,7 @@ void RenderProcessHostImpl::IOThreadHostImpl::BindHost } #endif -#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) if (auto r = receiver.As()) { child_thread_type_switcher_.Bind(std::move(r)); return; 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 c198845a5286..c999b5e0ee7f 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 2026-06-04 10:12:25 UTC +--- content/browser/renderer_host/render_view_host_impl.cc.orig 2026-08-12 09:02:10 UTC +++ content/browser/renderer_host/render_view_host_impl.cc -@@ -266,7 +266,7 @@ void RenderViewHostImpl::GetPlatformSpecificPrefs( +@@ -265,7 +265,7 @@ void RenderViewHostImpl::GetPlatformSpecificPrefs( GetFontInfo(gfx::win::SystemFont::kStatus, &prefs->status_font_family_name, &prefs->status_font_height); -#elif BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) +#elif BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) base::CommandLine* command_line = base::CommandLine::ForCurrentProcess(); if (command_line->HasSwitch(switches::kSystemFontFamily)) { prefs->system_font_family_name = 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 2c43ccfed539..5991d6e9a5be 100644 --- a/www/chromium/files/patch-content_browser_renderer__host_render__widget__host__view__aura.cc +++ b/www/chromium/files/patch-content_browser_renderer__host_render__widget__host__view__aura.cc @@ -1,47 +1,47 @@ ---- content/browser/renderer_host/render_widget_host_view_aura.cc.orig 2026-07-29 11:06:49 UTC +--- content/browser/renderer_host/render_widget_host_view_aura.cc.orig 2026-08-12 09:02:10 UTC +++ content/browser/renderer_host/render_widget_host_view_aura.cc -@@ -132,7 +132,7 @@ +@@ -133,7 +133,7 @@ #include "ui/gfx/win/gdi_util.h" #endif // BUILDFLAG(IS_WIN) -#if BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) #include "ui/accessibility/platform/browser_accessibility_auralinux.h" #include "ui/base/ime/linux/text_edit_command_auralinux.h" #include "ui/base/ime/text_input_flags.h" -@@ -578,7 +578,7 @@ gfx::NativeViewAccessible RenderWidgetHostViewAura::Ge +@@ -579,7 +579,7 @@ gfx::NativeViewAccessible RenderWidgetHostViewAura::Ge return ToBrowserAccessibilityWin(manager->GetBrowserAccessibilityRoot()) ->GetCOM(); -#elif BUILDFLAG(IS_LINUX) +#elif BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) ui::BrowserAccessibilityManager* manager = host()->GetOrCreateRootBrowserAccessibilityManager(); if (manager && manager->GetBrowserAccessibilityRoot()) -@@ -2048,7 +2048,7 @@ bool RenderWidgetHostViewAura::ShouldDoLearning() { +@@ -2044,7 +2044,7 @@ bool RenderWidgetHostViewAura::ShouldDoLearning() { return host() && host()->delegate() && host()->delegate()->ShouldDoLearning(); } -#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) +#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) bool RenderWidgetHostViewAura::SetCompositionFromExistingText( const gfx::Range& range, const std::vector& ui_ime_text_spans) { -@@ -3122,7 +3122,7 @@ bool RenderWidgetHostViewAura::NeedsInputGrab() { +@@ -3123,7 +3123,7 @@ bool RenderWidgetHostViewAura::NeedsInputGrab() { } bool RenderWidgetHostViewAura::NeedsMouseCapture() { -#if BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) return NeedsInputGrab(); #else return false; -@@ -3348,7 +3348,7 @@ void RenderWidgetHostViewAura::ForwardKeyboardEventWit +@@ -3351,7 +3351,7 @@ void RenderWidgetHostViewAura::ForwardKeyboardEventWit if (!target_host) return; -#if BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) auto* linux_ui = ui::LinuxUi::instance(); if (!event.skip_if_unhandled && linux_ui && event.os_event) { const auto command = linux_ui->GetTextEditCommandForEvent( diff --git a/www/chromium/files/patch-content_browser_renderer__host_render__widget__host__view__aura.h b/www/chromium/files/patch-content_browser_renderer__host_render__widget__host__view__aura.h index 4651f4f0efe5..a524e3f85190 100644 --- a/www/chromium/files/patch-content_browser_renderer__host_render__widget__host__view__aura.h +++ b/www/chromium/files/patch-content_browser_renderer__host_render__widget__host__view__aura.h @@ -1,11 +1,11 @@ ---- content/browser/renderer_host/render_widget_host_view_aura.h.orig 2026-07-01 06:24:19 UTC +--- content/browser/renderer_host/render_widget_host_view_aura.h.orig 2026-08-12 09:02:10 UTC +++ content/browser/renderer_host/render_widget_host_view_aura.h -@@ -293,7 +293,7 @@ class CONTENT_EXPORT RenderWidgetHostViewAura +@@ -299,7 +299,7 @@ class CONTENT_EXPORT RenderWidgetHostViewAura ukm::SourceId GetClientSourceForMetrics() const override; bool ShouldDoLearning() override; -#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) +#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) bool SetCompositionFromExistingText( const gfx::Range& range, const std::vector& ui_ime_text_spans) override; 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 ca07e1d821a4..c67aad85ed1c 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 2026-06-04 10:12:25 UTC +--- content/browser/renderer_host/render_widget_host_view_event_handler.cc.orig 2026-08-12 09:02:10 UTC +++ content/browser/renderer_host/render_widget_host_view_event_handler.cc -@@ -617,7 +617,7 @@ bool RenderWidgetHostViewEventHandler::CanRendererHand +@@ -630,7 +630,7 @@ bool RenderWidgetHostViewEventHandler::CanRendererHand if (event->type() == ui::EventType::kMouseExited) { if (mouse_locked || selection_popup) return false; -#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) +#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_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_service__host_utility__process__host.cc b/www/chromium/files/patch-content_browser_service__host_utility__process__host.cc index 18bc2f33361b..db0b072583c8 100644 --- a/www/chromium/files/patch-content_browser_service__host_utility__process__host.cc +++ b/www/chromium/files/patch-content_browser_service__host_utility__process__host.cc @@ -1,38 +1,38 @@ ---- content/browser/service_host/utility_process_host.cc.orig 2026-06-04 10:12:25 UTC +--- content/browser/service_host/utility_process_host.cc.orig 2026-08-12 09:02:10 UTC +++ content/browser/service_host/utility_process_host.cc @@ -65,7 +65,7 @@ #include "content/browser/v8_snapshot_files.h" #endif -#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) #include "base/files/file_util.h" #include "base/files/scoped_file.h" #include "base/pickle.h" @@ -99,7 +99,7 @@ namespace content { namespace { -#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) base::ScopedFD PassNetworkContextParentDirs( std::vector network_context_parent_dirs) { base::Pickle pickle; -@@ -522,7 +522,7 @@ bool UtilityProcessHost::StartProcess() { +@@ -528,7 +528,7 @@ bool UtilityProcessHost::StartProcess() { GetV8SnapshotFilesToPreload(*cmd_line)); #endif // BUILDFLAG(IS_POSIX) -#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) // The network service should have access to the parent directories // necessary for its usage. if (options_.sandbox_type_ == sandbox::mojom::Sandbox::kNetwork) { -@@ -540,7 +540,7 @@ bool UtilityProcessHost::StartProcess() { +@@ -546,7 +546,7 @@ bool UtilityProcessHost::StartProcess() { video_capture::mojom::VideoCaptureService::Name_) { bool pass_gpu_buffer_flag = switches::IsVideoCaptureUseGpuMemoryBufferEnabled(); -#if BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) // Check if NV12 GPU memory buffer supported at the same time. pass_gpu_buffer_flag = pass_gpu_buffer_flag && diff --git a/www/chromium/files/patch-content_browser_service__host_utility__sandbox__delegate.cc b/www/chromium/files/patch-content_browser_service__host_utility__sandbox__delegate.cc index 0c051d3c661a..7058358b0f36 100644 --- a/www/chromium/files/patch-content_browser_service__host_utility__sandbox__delegate.cc +++ b/www/chromium/files/patch-content_browser_service__host_utility__sandbox__delegate.cc @@ -1,57 +1,57 @@ ---- content/browser/service_host/utility_sandbox_delegate.cc.orig 2026-06-04 10:12:25 UTC +--- content/browser/service_host/utility_sandbox_delegate.cc.orig 2026-08-12 09:02:10 UTC +++ content/browser/service_host/utility_sandbox_delegate.cc @@ -24,7 +24,7 @@ #include "sandbox/policy/sandbox_type.h" #endif -#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) #include "media/gpu/buildflags.h" #include "media/media_buildflags.h" #endif // BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) -@@ -73,10 +73,10 @@ UtilitySandboxedProcessLauncherDelegate:: +@@ -75,10 +75,10 @@ UtilitySandboxedProcessLauncherDelegate:: sandbox_type_ == sandbox::mojom::Sandbox::kOnDeviceModelExecution || sandbox_type_ == sandbox::mojom::Sandbox::kCdm || sandbox_type_ == sandbox::mojom::Sandbox::kPrintCompositor || -#if BUILDFLAG(IS_FUCHSIA) +#if BUILDFLAG(IS_FUCHSIA) || BUILDFLAG(IS_BSD) sandbox_type_ == sandbox::mojom::Sandbox::kVideoCapture || #endif -#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) sandbox_type_ == sandbox::mojom::Sandbox::kShapeDetection || #if BUILDFLAG(ALLOW_OOP_VIDEO_DECODER) sandbox_type_ == sandbox::mojom::Sandbox::kHardwareVideoDecoding || -@@ -91,11 +91,11 @@ UtilitySandboxedProcessLauncherDelegate:: +@@ -93,11 +93,11 @@ UtilitySandboxedProcessLauncherDelegate:: sandbox_type_ == sandbox::mojom::Sandbox::kNearby || #endif // BUILDFLAG(IS_CHROMEOS) #if BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) || \ - BUILDFLAG(IS_WIN) + BUILDFLAG(IS_WIN) || BUILDFLAG(IS_BSD) sandbox_type_ == sandbox::mojom::Sandbox::kScreenAI || sandbox_type_ == sandbox::mojom::Sandbox::kPrintBackend || #endif -#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_CHROMEOS) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) sandbox_type_ == sandbox::mojom::Sandbox::kOnDeviceTranslation || #endif sandbox_type_ == sandbox::mojom::Sandbox::kAudio || -@@ -152,15 +152,15 @@ ZygoteCommunication* UtilitySandboxedProcessLauncherDe +@@ -154,15 +154,15 @@ ZygoteCommunication* UtilitySandboxedProcessLauncherDe sandbox_type_ == sandbox::mojom::Sandbox::kNearby || #endif // BUILDFLAG(IS_CHROMEOS) sandbox_type_ == sandbox::mojom::Sandbox::kAudio || -#if BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) sandbox_type_ == sandbox::mojom::Sandbox::kShapeDetection || #endif #if BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) || \ - BUILDFLAG(IS_WIN) + BUILDFLAG(IS_WIN) || BUILDFLAG(IS_BSD) sandbox_type_ == sandbox::mojom::Sandbox::kPrintBackend || sandbox_type_ == sandbox::mojom::Sandbox::kScreenAI || #endif -#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) sandbox_type_ == sandbox::mojom::Sandbox::kOnDeviceTranslation || #endif // BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) sandbox_type_ == sandbox::mojom::Sandbox::kSpeechRecognition) { 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 3f2262402911..a112c4288384 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 2026-07-01 06:24:19 UTC +--- content/browser/web_contents/web_contents_view_aura.cc.orig 2026-08-12 09:02:10 UTC +++ content/browser/web_contents/web_contents_view_aura.cc @@ -188,7 +188,7 @@ class WebDragSourceAura : public content::WebContentsO raw_ptr window_; }; -#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_WIN) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_WIN) || BUILDFLAG(IS_BSD) // Fill out the OSExchangeData with a file contents, synthesizing a name if // necessary. void PrepareDragForFileContents(const DropData& drop_data, @@ -268,7 +268,7 @@ void PrepareDragData(RenderFrameHost& source_rfh, PrepareDragForDownload(source_rfh, drop_data, provider); } #endif -#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_WIN) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_WIN) || BUILDFLAG(IS_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. -@@ -1455,7 +1455,7 @@ void WebContentsViewAura::OnMouseEvent(ui::MouseEvent* +@@ -1470,7 +1470,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 !BUILDFLAG(IS_LINUX) && !BUILDFLAG(IS_CHROMEOS) +#if !BUILDFLAG(IS_LINUX) && !BUILDFLAG(IS_CHROMEOS) && !BUILDFLAG(IS_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_features.cc b/www/chromium/files/patch-content_common_features.cc index ce26ba24af5b..1685630a1305 100644 --- a/www/chromium/files/patch-content_common_features.cc +++ b/www/chromium/files/patch-content_common_features.cc @@ -1,40 +1,40 @@ ---- content/common/features.cc.orig 2026-07-01 06:24:19 UTC +--- content/common/features.cc.orig 2026-08-12 09:02:10 UTC +++ content/common/features.cc -@@ -204,7 +204,7 @@ BASE_FEATURE(kKillOnUnexpectedOriginHeader, base::FEAT +@@ -209,7 +209,7 @@ BASE_FEATURE(kKillOnUnexpectedOriginHeader, base::FEAT BASE_FEATURE(kEmbeddingRequiresOptIn, base::FEATURE_DISABLED_BY_DEFAULT); // Enables error reporting for JS errors inside DevTools frontend host -#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) BASE_FEATURE(kEnableDevToolsJsErrorReporting, base::FEATURE_DISABLED_BY_DEFAULT); #endif // BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) -@@ -308,12 +308,12 @@ BASE_FEATURE_ENUM_PARAM(FontDataServiceTypefaceType, +@@ -320,12 +320,12 @@ BASE_FEATURE_ENUM_PARAM(FontDataServiceTypefaceType, FontDataServiceTypefaceType::kDwrite, &font_data_service_typeface); #endif // BUILDFLAG(IS_WIN) -#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) const base::FeatureParam::Option font_data_service_typeface[] = { {FontDataServiceTypefaceType::kFreetype, "Freetype"}, {FontDataServiceTypefaceType::kFontations, "Fontations"}}; -#if BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) BASE_FEATURE(kFontDataServiceLinux, base::FEATURE_ENABLED_BY_DEFAULT); BASE_FEATURE_ENUM_PARAM(FontDataServiceTypefaceType, kFontDataServiceTypefaceType, -@@ -332,11 +332,11 @@ BASE_FEATURE_ENUM_PARAM(FontDataServiceTypefaceType, - #endif // BUILDFLAG(IS_LINUX) - #endif // BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) +@@ -348,11 +348,11 @@ BASE_FEATURE_ENUM_PARAM(FontDataServiceTypefaceType, + BASE_FEATURE(kFontDataServiceForCSSLocalFonts, + base::FEATURE_DISABLED_BY_DEFAULT); -#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) +#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) bool IsFontDataServiceEnabled() { #if BUILDFLAG(IS_WIN) return base::FeatureList::IsEnabled(features::kFontDataServiceAllWebContents); -#elif BUILDFLAG(IS_LINUX) +#elif BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) return base::FeatureList::IsEnabled(features::kFontDataServiceLinux); #elif BUILDFLAG(IS_CHROMEOS) return base::FeatureList::IsEnabled(features::kFontDataServiceChromeOS); diff --git a/www/chromium/files/patch-content_common_features.h b/www/chromium/files/patch-content_common_features.h index d319d75eb7df..42a4c12a773c 100644 --- a/www/chromium/files/patch-content_common_features.h +++ b/www/chromium/files/patch-content_common_features.h @@ -1,31 +1,31 @@ ---- content/common/features.h.orig 2026-07-01 06:24:19 UTC +--- content/common/features.h.orig 2026-08-12 09:02:10 UTC +++ content/common/features.h @@ -82,7 +82,7 @@ CONTENT_EXPORT BASE_DECLARE_FEATURE( - kDocumentIsolationPolicyWithoutSiteIsolation); CONTENT_EXPORT BASE_DECLARE_FEATURE(kDocumentPolicyNegotiation); + CONTENT_EXPORT BASE_DECLARE_FEATURE(kEditContextSelectionSync); CONTENT_EXPORT BASE_DECLARE_FEATURE(kKillOnUnexpectedOriginHeader); -#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) CONTENT_EXPORT BASE_DECLARE_FEATURE(kEnableDevToolsJsErrorReporting); #endif // BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) CONTENT_EXPORT BASE_DECLARE_FEATURE(kEnforceSameDocumentOriginInvariants); -@@ -120,8 +120,8 @@ enum class FontDataServiceTypefaceType { +@@ -122,8 +122,8 @@ enum class FontDataServiceTypefaceType { CONTENT_EXPORT BASE_DECLARE_FEATURE_PARAM(FontDataServiceTypefaceType, kFontDataServiceTypefaceType); #endif // BUILDFLAG(IS_WIN) -#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) -#if BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) CONTENT_EXPORT BASE_DECLARE_FEATURE(kFontDataServiceLinux); #else CONTENT_EXPORT BASE_DECLARE_FEATURE(kFontDataServiceChromeOS); -@@ -134,7 +134,7 @@ CONTENT_EXPORT BASE_DECLARE_FEATURE_PARAM(FontDataServ - kFontDataServiceTypefaceType); - #endif // BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) +@@ -138,7 +138,7 @@ CONTENT_EXPORT BASE_DECLARE_FEATURE_PARAM(FontDataServ + + CONTENT_EXPORT BASE_DECLARE_FEATURE(kFontDataServiceForCSSLocalFonts); -#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) +#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) bool IsFontDataServiceEnabled(); #endif diff --git a/www/chromium/files/patch-content_common_thread__type__switcher.mojom b/www/chromium/files/patch-content_common_thread__type__switcher.mojom index 212d7c3d32ce..0b6c3a90e7dd 100644 --- a/www/chromium/files/patch-content_common_thread__type__switcher.mojom +++ b/www/chromium/files/patch-content_common_thread__type__switcher.mojom @@ -1,10 +1,11 @@ ---- content/common/thread_type_switcher.mojom.orig 2025-04-04 08:52:13 UTC +--- content/common/thread_type_switcher.mojom.orig 2026-08-12 09:02:10 UTC +++ content/common/thread_type_switcher.mojom -@@ -10,6 +10,6 @@ import "mojo/public/mojom/base/thread_type.mojom"; - // occur in a child process due to its sandbox, e.g. on Linux and ChromeOS. - interface ThreadTypeSwitcher { - // Asks the browser to change the type of thread. -- SetThreadType(int32 platform_thread_id, -+ SetThreadType(uint64 platform_thread_id, - mojo_base.mojom.ThreadType thread_type); +@@ -8,7 +8,7 @@ import "mojo/public/mojom/base/thread_type.mojom"; + + // A single thread type change request. + struct ThreadTypeChange { +- int32 platform_thread_id; ++ uint64 platform_thread_id; + mojo_base.mojom.ThreadType thread_type; }; + diff --git a/www/chromium/files/patch-content_gpu_gpu__main.cc b/www/chromium/files/patch-content_gpu_gpu__main.cc index 6fbb5b8cac94..ba0b11af5fcf 100644 --- a/www/chromium/files/patch-content_gpu_gpu__main.cc +++ b/www/chromium/files/patch-content_gpu_gpu__main.cc @@ -1,73 +1,73 @@ ---- content/gpu/gpu_main.cc.orig 2026-07-01 06:24:19 UTC +--- content/gpu/gpu_main.cc.orig 2026-08-12 09:02:10 UTC +++ content/gpu/gpu_main.cc -@@ -109,10 +109,14 @@ - #include "sandbox/win/src/sandbox.h" +@@ -112,10 +112,14 @@ + #include "services/webnn/public/cpp/webnn_sandbox_init.h" #endif -#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) #include "content/child/sandboxed_process_thread_type_handler.h" #include "content/common/gpu_pre_sandbox_hook_linux.h" +#if BUILDFLAG(IS_BSD) +#include "sandbox/policy/sandbox.h" +#else #include "sandbox/policy/linux/sandbox_linux.h" +#endif #include "sandbox/policy/sandbox_type.h" #endif -@@ -130,7 +134,7 @@ namespace content { +@@ -133,7 +137,7 @@ namespace content { namespace { -#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) bool StartSandboxLinux(gpu::GpuWatchdogThread*, const gpu::GPUInfo*, const gpu::GpuPreferences&); -@@ -197,7 +201,7 @@ class ContentSandboxHelper : public gpu::GpuSandboxHel +@@ -201,7 +205,7 @@ class ContentSandboxHelper : public gpu::GpuSandboxHel const gpu::GPUInfo* gpu_info, const gpu::GpuPreferences& gpu_prefs) override { TRACE_EVENT("gpu,startup", "gpu_main::EnsureSandboxInitialized"); -#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) return StartSandboxLinux(watchdog_thread, gpu_info, gpu_prefs); #elif BUILDFLAG(IS_WIN) return StartSandboxWindows(sandbox_info_); -@@ -313,7 +317,7 @@ int GpuMain(MainFunctionParams parameters) { +@@ -317,7 +321,7 @@ int GpuMain(MainFunctionParams parameters) { std::make_unique( gpu_preferences.message_pump_type, /*is_main_thread=*/true); } -#elif BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) +#elif BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) #error "Unsupported Linux platform." #elif BUILDFLAG(IS_MAC) // Cross-process CoreAnimation requires a CFRunLoop to function at all, and -@@ -338,7 +342,8 @@ int GpuMain(MainFunctionParams parameters) { - base::PlatformThread::SetName("CrGpuMain"); +@@ -343,7 +347,8 @@ int GpuMain(MainFunctionParams parameters) { mojo::InterfaceEndpointClient::SetThreadNameSuffixForMetrics("GpuMain"); + base::MessagePumpWakeupCounter::InitializeForCurrentThread("GpuMain"); -#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) +// XXX BSD +#if (BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS)) && !BUILDFLAG(IS_BSD) // Thread type delegate of the process should be registered before // thread type change below for the main thread and for thread pool in // ChildProcess constructor. -@@ -490,7 +495,7 @@ int GpuMain(MainFunctionParams parameters) { +@@ -495,7 +500,7 @@ int GpuMain(MainFunctionParams parameters) { namespace { -#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) bool StartSandboxLinux(gpu::GpuWatchdogThread* watchdog_thread, const gpu::GPUInfo* gpu_info, const gpu::GpuPreferences& gpu_prefs) { -@@ -538,7 +543,7 @@ bool StartSandboxLinux(gpu::GpuWatchdogThread* watchdo +@@ -543,7 +548,7 @@ bool StartSandboxLinux(gpu::GpuWatchdogThread* watchdo sandbox_options.accelerated_video_encode_enabled = !gpu_prefs.disable_accelerated_video_encode; -#if BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) // Video decoding of many video streams can use thousands of FDs as well as // Exo clients. // See https://crbug.com/1417237 diff --git a/www/chromium/files/patch-content_public_browser_content__browser__client.cc b/www/chromium/files/patch-content_public_browser_content__browser__client.cc index 3cd2d6697a64..7eb1e95dc4c5 100644 --- a/www/chromium/files/patch-content_public_browser_content__browser__client.cc +++ b/www/chromium/files/patch-content_public_browser_content__browser__client.cc @@ -1,11 +1,11 @@ ---- content/public/browser/content_browser_client.cc.orig 2026-07-01 06:24:19 UTC +--- content/public/browser/content_browser_client.cc.orig 2026-08-12 09:02:10 UTC +++ content/public/browser/content_browser_client.cc -@@ -1431,7 +1431,7 @@ bool ContentBrowserClient::ShouldRunOutOfProcessSystem +@@ -1452,7 +1452,7 @@ bool ContentBrowserClient::ShouldRunOutOfProcessSystem // that can be adequately sandboxed. // Currently Android's network service will not run out of process or sandboxed, // so OutOfProcessSystemDnsResolution is not currently enabled on Android. -#if BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) return true; #else return false; 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 940f344b8a49..19081e29dd2b 100644 --- a/www/chromium/files/patch-content_public_common_content__features.cc +++ b/www/chromium/files/patch-content_public_common_content__features.cc @@ -1,45 +1,45 @@ ---- content/public/common/content_features.cc.orig 2026-07-01 06:24:19 UTC +--- content/public/common/content_features.cc.orig 2026-08-12 09:02:10 UTC +++ content/public/common/content_features.cc -@@ -149,7 +149,7 @@ BASE_FEATURE(kAudioServiceLaunchOnStartup, base::FEATU +@@ -147,7 +147,7 @@ BASE_FEATURE(kAttachUnownedInnerWebContents, base::FEA // Runs the audio service in a separate process. BASE_FEATURE(kAudioServiceOutOfProcess, -#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) base::FEATURE_ENABLED_BY_DEFAULT #else base::FEATURE_DISABLED_BY_DEFAULT -@@ -159,7 +159,7 @@ BASE_FEATURE(kAudioServiceOutOfProcess, +@@ -157,7 +157,7 @@ BASE_FEATURE(kAudioServiceOutOfProcess, // Enables the audio-service sandbox. This feature has an effect only when the // kAudioServiceOutOfProcess feature is enabled. BASE_FEATURE(kAudioServiceSandbox, -#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_FUCHSIA) +#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_FUCHSIA) || BUILDFLAG(IS_BSD) base::FEATURE_ENABLED_BY_DEFAULT #else base::FEATURE_DISABLED_BY_DEFAULT -@@ -1230,10 +1230,10 @@ BASE_FEATURE(kWebAssemblyTiering, base::FEATURE_ENABLE +@@ -1251,10 +1251,10 @@ BASE_FEATURE(kWebAssemblyTiering, base::FEATURE_ENABLE // Enable WebAssembly trap handler. BASE_FEATURE(kWebAssemblyTrapHandler, -#if ((BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_WIN) || \ +#if ((BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_WIN) || \ BUILDFLAG(IS_MAC)) && \ defined(ARCH_CPU_X86_64)) || \ - ((BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_MAC)) && \ + ((BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_MAC)) && \ defined(ARCH_CPU_ARM64)) base::FEATURE_ENABLED_BY_DEFAULT #else -@@ -1294,7 +1294,11 @@ BASE_FEATURE(kWebUIInProcessResourceLoadingV2, +@@ -1315,7 +1315,11 @@ BASE_FEATURE(kWebUIInProcessResourceLoadingV2, // Controls whether the WebUSB API is enabled: // https://wicg.github.io/webusb +#if BUILDFLAG(IS_BSD) +BASE_FEATURE(kWebUsb, "WebUSB", base::FEATURE_DISABLED_BY_DEFAULT); +#else BASE_FEATURE(kWebUsb, "WebUSB", base::FEATURE_ENABLED_BY_DEFAULT); +#endif // Apply `PrefetchPriority::kHighest` for Webview Prefetch API. BASE_FEATURE(kWebViewPrefetchHighestPrefetchPriority, 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 67e8ec89b457..163b39b87208 100644 --- a/www/chromium/files/patch-content_renderer_render__thread__impl.cc +++ b/www/chromium/files/patch-content_renderer_render__thread__impl.cc @@ -1,38 +1,38 @@ ---- content/renderer/render_thread_impl.cc.orig 2026-07-01 06:24:19 UTC +--- content/renderer/render_thread_impl.cc.orig 2026-08-12 09:02:10 UTC +++ content/renderer/render_thread_impl.cc @@ -206,6 +206,8 @@ #if BUILDFLAG(IS_APPLE) #include +#elif BUILDFLAG(IS_BSD) +#include #else #include #endif -@@ -976,7 +978,7 @@ media::GpuVideoAcceleratorFactories* RenderThreadImpl: - viz::command_buffer_metrics::ContextType::MEDIA); +@@ -979,7 +981,7 @@ media::GpuVideoAcceleratorFactories* RenderThreadImpl: + viz::command_buffer_metrics::ContextType::MEDIA); const bool enable_video_decode_accelerator = -#if BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) base::FeatureList::IsEnabled(media::kAcceleratedVideoDecodeLinux) && #endif // BUILDFLAG(IS_LINUX) !cmd_line->HasSwitch(switches::kDisableAcceleratedVideoDecode) && -@@ -985,7 +987,7 @@ media::GpuVideoAcceleratorFactories* RenderThreadImpl: +@@ -988,7 +990,7 @@ media::GpuVideoAcceleratorFactories* RenderThreadImpl: gpu::kGpuFeatureStatusEnabled); const bool enable_video_encode_accelerator = -#if BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) base::FeatureList::IsEnabled(media::kAcceleratedVideoEncodeLinux) && #else !cmd_line->HasSwitch(switches::kDisableAcceleratedVideoEncode) && -@@ -1727,7 +1729,7 @@ RenderThreadImpl::CreateMediaMojoCodecFactory( +@@ -1730,7 +1732,7 @@ RenderThreadImpl::CreateMediaMojoCodecFactory( bool enable_video_encode_accelerator) { mojo::PendingRemote vea_provider; -#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) if (base::FeatureList::IsEnabled(media::kUseOutOfProcessVideoEncoding)) { BindHostReceiver(vea_provider.InitWithNewPipeAndPassReceiver()); } else { 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 28c9dc4c7003..600d1a4e8676 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,62 +1,62 @@ ---- content/renderer/renderer_blink_platform_impl.cc.orig 2026-06-04 10:12:25 UTC +--- content/renderer/renderer_blink_platform_impl.cc.orig 2026-08-12 09:02:10 UTC +++ content/renderer/renderer_blink_platform_impl.cc -@@ -121,14 +121,14 @@ +@@ -122,14 +122,14 @@ #include "third_party/blink/public/web/win/web_font_rendering.h" #endif -#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) +#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) #include "content/child/font_data/font_data_manager.h" #include "skia/ext/font_utils.h" #endif #if BUILDFLAG(IS_MAC) #include "content/child/child_process_sandbox_support_impl_mac.h" -#elif BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) +#elif BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) #include "content/child/child_process_sandbox_support_impl_linux.h" #include "content/child/sandboxed_process_thread_type_handler.h" #endif -@@ -204,13 +204,13 @@ RendererBlinkPlatformImpl::RendererBlinkPlatformImpl( +@@ -203,13 +203,13 @@ RendererBlinkPlatformImpl::RendererBlinkPlatformImpl( is_locked_to_site_(false), main_thread_scheduler_(main_thread_scheduler), next_frame_sink_id_(uint32_t{std::numeric_limits::max()} + 1) { -#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) sk_sp font_loader; #endif // RenderThread may not exist in some tests. if (RenderThreadImpl::current()) { -#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) mojo::PendingRemote font_service; RenderThreadImpl::current()->BindHostReceiver( font_service.InitWithNewPipeAndPassReceiver()); -@@ -218,7 +218,7 @@ RendererBlinkPlatformImpl::RendererBlinkPlatformImpl( +@@ -217,7 +217,7 @@ RendererBlinkPlatformImpl::RendererBlinkPlatformImpl( SkFontConfigInterface::SetGlobal(font_loader); #endif -#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) +#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) // Create a FontDataManager if it's enabled, and if we're not in a // single-process environment. In single process, the SkFontMgr is already // installed by browser process code at this point. -@@ -232,7 +232,7 @@ RendererBlinkPlatformImpl::RendererBlinkPlatformImpl( +@@ -231,7 +231,7 @@ RendererBlinkPlatformImpl::RendererBlinkPlatformImpl( } #if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_MAC) || \ - BUILDFLAG(IS_WIN) + BUILDFLAG(IS_WIN) || BUILDFLAG(IS_BSD) if (sandboxEnabled()) { #if BUILDFLAG(IS_MAC) sandbox_support_ = std::make_unique(); -@@ -305,7 +305,7 @@ RendererBlinkPlatformImpl::GetWebUIBundledCodeCacheRes +@@ -304,7 +304,7 @@ RendererBlinkPlatformImpl::GetWebUIBundledCodeCacheRes blink::WebSandboxSupport* RendererBlinkPlatformImpl::GetSandboxSupport() { #if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_MAC) || \ - BUILDFLAG(IS_WIN) + BUILDFLAG(IS_WIN) || BUILDFLAG(IS_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 33131251427b..31620c948223 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,11 +1,11 @@ ---- content/renderer/renderer_blink_platform_impl.h.orig 2026-05-07 17:02:56 UTC +--- content/renderer/renderer_blink_platform_impl.h.orig 2026-08-12 09:02:10 UTC +++ content/renderer/renderer_blink_platform_impl.h -@@ -285,7 +285,7 @@ class CONTENT_EXPORT RendererBlinkPlatformImpl : publi +@@ -289,7 +289,7 @@ class CONTENT_EXPORT RendererBlinkPlatformImpl : publi const gpu::GPUInfo& gpu_info) const; #if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_MAC) || \ - BUILDFLAG(IS_WIN) + BUILDFLAG(IS_WIN) || BUILDFLAG(IS_BSD) std::unique_ptr sandbox_support_; #endif diff --git a/www/chromium/files/patch-content_renderer_renderer__main.cc b/www/chromium/files/patch-content_renderer_renderer__main.cc index 0eb363a4e3af..950be06516db 100644 --- a/www/chromium/files/patch-content_renderer_renderer__main.cc +++ b/www/chromium/files/patch-content_renderer_renderer__main.cc @@ -1,11 +1,11 @@ ---- content/renderer/renderer_main.cc.orig 2026-05-07 17:02:56 UTC +--- content/renderer/renderer_main.cc.orig 2026-08-12 09:02:10 UTC +++ content/renderer/renderer_main.cc -@@ -179,7 +179,7 @@ int RendererMain(MainFunctionParams parameters) { +@@ -180,7 +180,7 @@ int RendererMain(MainFunctionParams parameters) { InitializeSkia(); -#if !BUILDFLAG(IS_WIN) && !BUILDFLAG(IS_LINUX) && !BUILDFLAG(IS_CHROMEOS) +#if !BUILDFLAG(IS_WIN) && !BUILDFLAG(IS_LINUX) && !BUILDFLAG(IS_CHROMEOS) && !BUILDFLAG(IS_BSD) // On Linux, Windows, and ChromeOS, the font manager is overridden or // specially handled in RendererBlinkPlatformImpl(). On other platforms, // initialise the default one on a thread pool, to avoid blocking on it later. diff --git a/www/chromium/files/patch-content_shell_BUILD.gn b/www/chromium/files/patch-content_shell_BUILD.gn index 85be4d983479..dcab438629c9 100644 --- a/www/chromium/files/patch-content_shell_BUILD.gn +++ b/www/chromium/files/patch-content_shell_BUILD.gn @@ -1,11 +1,11 @@ ---- content/shell/BUILD.gn.orig 2026-07-01 06:24:19 UTC +--- content/shell/BUILD.gn.orig 2026-08-12 09:02:10 UTC +++ content/shell/BUILD.gn -@@ -1138,7 +1138,7 @@ group("content_shell_crash_test") { +@@ -1154,7 +1154,7 @@ group("content_shell_crash_test") { if (is_win) { data_deps += [ "//build/win:copy_cdb_to_output" ] } - if (is_posix) { + if (is_posix && !is_bsd) { data_deps += [ "//third_party/breakpad:dump_syms", "//third_party/breakpad:minidump_stackwalk", diff --git a/www/chromium/files/patch-content_shell_app_shell__main__delegate.cc b/www/chromium/files/patch-content_shell_app_shell__main__delegate.cc index 5d723f605066..b3e04e52626c 100644 --- a/www/chromium/files/patch-content_shell_app_shell__main__delegate.cc +++ b/www/chromium/files/patch-content_shell_app_shell__main__delegate.cc @@ -1,11 +1,11 @@ ---- content/shell/app/shell_main_delegate.cc.orig 2026-07-01 06:24:19 UTC +--- content/shell/app/shell_main_delegate.cc.orig 2026-08-12 09:02:10 UTC +++ content/shell/app/shell_main_delegate.cc -@@ -299,7 +299,7 @@ void ShellMainDelegate::PreSandboxStartup() { +@@ -305,7 +305,7 @@ void ShellMainDelegate::PreSandboxStartup() { // Reporting for sub-processes will be initialized in ZygoteForked. if (process_type != switches::kZygoteProcess) { crash_reporter::InitializeCrashpad(process_type.empty(), process_type); -#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) crash_reporter::SetFirstChanceExceptionHandler( v8::TryHandleWebAssemblyTrapPosix); #endif diff --git a/www/chromium/files/patch-content_utility_services.cc b/www/chromium/files/patch-content_utility_services.cc index 42a599789bc2..58ee4e37b20b 100644 --- a/www/chromium/files/patch-content_utility_services.cc +++ b/www/chromium/files/patch-content_utility_services.cc @@ -1,46 +1,46 @@ ---- content/utility/services.cc.orig 2026-05-07 17:02:56 UTC +--- content/utility/services.cc.orig 2026-08-12 09:02:10 UTC +++ content/utility/services.cc -@@ -69,14 +69,14 @@ +@@ -72,14 +72,14 @@ extern sandbox::TargetServices* g_utility_target_services; #endif // BUILDFLAG(IS_WIN) -#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) #include "sandbox/linux/services/libc_interceptor.h" #include "sandbox/policy/mojom/sandbox.mojom.h" #include "sandbox/policy/sandbox_type.h" #endif // BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) #if BUILDFLAG(IS_WIN) || (BUILDFLAG(GOOGLE_CHROME_BRANDING) && \ - (BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_LINUX))) + (BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD))) #include "services/shape_detection/public/mojom/shape_detection_service.mojom.h" // nogncheck #include "services/shape_detection/shape_detection_service.h" // nogncheck #endif // BUILDFLAG(IS_WIN) || (BUILDFLAG(GOOGLE_CHROME_BRANDING) && -@@ -230,7 +230,7 @@ auto RunAudio(mojo::PendingReceiver receiver) { -@@ -409,7 +409,7 @@ void RegisterMainThreadServices(mojo::ServiceFactory& +@@ -417,7 +417,7 @@ void RegisterMainThreadServices(mojo::ServiceFactory& } #if BUILDFLAG(IS_WIN) || (BUILDFLAG(GOOGLE_CHROME_BRANDING) && \ - (BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_LINUX))) + (BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD))) services.Add(RunShapeDetectionService); #endif diff --git a/www/chromium/files/patch-content_utility_utility__blink__platform__with__sandbox__support__impl.h b/www/chromium/files/patch-content_utility_utility__blink__platform__with__sandbox__support__impl.h index 34259cf2bd22..8f5551008568 100644 --- a/www/chromium/files/patch-content_utility_utility__blink__platform__with__sandbox__support__impl.h +++ b/www/chromium/files/patch-content_utility_utility__blink__platform__with__sandbox__support__impl.h @@ -1,11 +1,11 @@ ---- content/utility/utility_blink_platform_with_sandbox_support_impl.h.orig 2025-03-05 08:14:56 UTC +--- content/utility/utility_blink_platform_with_sandbox_support_impl.h.orig 2026-08-12 09:02:10 UTC +++ content/utility/utility_blink_platform_with_sandbox_support_impl.h -@@ -34,7 +34,7 @@ class UtilityBlinkPlatformWithSandboxSupportImpl : pub +@@ -38,7 +38,7 @@ class UtilityBlinkPlatformWithSandboxSupportImpl : pub private: #if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_MAC) || \ - BUILDFLAG(IS_WIN) + BUILDFLAG(IS_WIN) || BUILDFLAG(IS_BSD) std::unique_ptr sandbox_support_; #endif }; diff --git a/www/chromium/files/patch-content_utility_utility__main.cc b/www/chromium/files/patch-content_utility_utility__main.cc index 7301670ffc35..826dbe1b8f33 100644 --- a/www/chromium/files/patch-content_utility_utility__main.cc +++ b/www/chromium/files/patch-content_utility_utility__main.cc @@ -1,111 +1,111 @@ ---- content/utility/utility_main.cc.orig 2026-03-13 06:02:14 UTC +--- content/utility/utility_main.cc.orig 2026-08-12 09:02:10 UTC +++ content/utility/utility_main.cc -@@ -38,22 +38,31 @@ - #include "services/on_device_model/public/mojom/on_device_model_service.mojom.h" +@@ -44,22 +44,31 @@ #include "services/tracing/public/cpp/trace_startup.h" + #include "services/video_capture/public/mojom/video_capture_service.mojom.h" -#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) #include "base/file_descriptor_store.h" #include "base/files/file_util.h" #include "base/pickle.h" #include "content/child/sandboxed_process_thread_type_handler.h" +#if !BUILDFLAG(IS_BSD) #include "content/common/gpu_pre_sandbox_hook_linux.h" +#endif #include "content/public/common/content_descriptor_keys.h" #include "content/utility/speech/speech_recognition_sandbox_hook_linux.h" #include "media/gpu/buildflags.h" #include "media/media_buildflags.h" +#if !BUILDFLAG(IS_BSD) #include "sandbox/policy/linux/sandbox_linux.h" +#endif #include "services/audio/audio_sandbox_hook_linux.h" #include "services/network/network_sandbox_hook_linux.h" #include "services/screen_ai/buildflags/buildflags.h" #include "services/shape_detection/shape_detection_sandbox_hook.h" +#if BUILDFLAG(IS_BSD) +#include "sandbox/policy/sandbox.h" +#include "content/common/gpu_pre_sandbox_hook_bsd.h" +#endif + #if BUILDFLAG(USE_LINUX_VIDEO_ACCELERATION) #include "gpu/config/gpu_info_collector.h" #include "media/gpu/sandbox/hardware_video_encoding_sandbox_hook_linux.h" -@@ -112,7 +121,7 @@ sandbox::TargetServices* g_utility_target_services = n +@@ -118,7 +127,7 @@ sandbox::TargetServices* g_utility_target_services = n #endif // BUILDFLAG(IS_WIN) #if BUILDFLAG(ENABLE_ON_DEVICE_TRANSLATION) && \ - (BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS)) + (BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD)) #include "components/on_device_translation/service/sandbox_hook.h" #endif // BUILDFLAG(ENABLE_ON_DEVICE_TRANSLATION) && (BUILDFLAG(IS_LINUX) || // BUILDFLAG(IS_CHROMEOS)) -@@ -121,7 +130,7 @@ namespace content { +@@ -127,7 +136,7 @@ namespace content { namespace { -#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) std::vector GetNetworkContextsParentDirectories() { base::MemoryMappedFile::Region region; base::ScopedFD read_pipe_fd = base::FileDescriptorStore::GetInstance().TakeFD( -@@ -276,7 +285,7 @@ int UtilityMain(MainFunctionParams parameters) { +@@ -286,7 +295,7 @@ int UtilityMain(MainFunctionParams parameters) { CHECK(on_device_model::PreSandboxInit()); } -#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) #if BUILDFLAG(USE_LINUX_VIDEO_ACCELERATION) && BUILDFLAG(USE_VAAPI) // Regardless of the sandbox status, the VaapiWrapper needs to be initialized -@@ -291,7 +300,10 @@ int UtilityMain(MainFunctionParams parameters) { +@@ -301,7 +310,10 @@ int UtilityMain(MainFunctionParams parameters) { // thread type change in ChildProcess constructor. It also needs to be // registered before the process has multiple threads, which may race with // application of the sandbox. +// XXX BSD +#if !BUILDFLAG(IS_BSD) SandboxedProcessThreadTypeHandler::Create(); +#endif // Initializes the sandbox before any threads are created. // TODO(jorgelo): move this after GTK initialization when we enable a strict -@@ -324,7 +336,7 @@ int UtilityMain(MainFunctionParams parameters) { +@@ -334,7 +346,7 @@ int UtilityMain(MainFunctionParams parameters) { base::BindOnce(&speech::SpeechRecognitionPreSandboxHook); break; #if BUILDFLAG(ENABLE_ON_DEVICE_TRANSLATION) && \ - (BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS)) + (BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD)) case sandbox::mojom::Sandbox::kOnDeviceTranslation: pre_sandbox_hook = base::BindOnce( &on_device_translation::OnDeviceTranslationSandboxHook); -@@ -341,7 +353,7 @@ int UtilityMain(MainFunctionParams parameters) { +@@ -351,7 +363,7 @@ int UtilityMain(MainFunctionParams parameters) { #else NOTREACHED(); #endif -#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) case sandbox::mojom::Sandbox::kShapeDetection: pre_sandbox_hook = base::BindOnce(&shape_detection::ShapeDetectionPreSandboxHook); -@@ -370,6 +382,7 @@ int UtilityMain(MainFunctionParams parameters) { +@@ -380,6 +392,7 @@ int UtilityMain(MainFunctionParams parameters) { default: break; } +#if !BUILDFLAG(IS_BSD) if (!sandbox::policy::IsUnsandboxedSandboxType(sandbox_type) && (parameters.zygote_child || !pre_sandbox_hook.is_null())) { sandbox_options.use_amd_specific_policies = -@@ -377,6 +390,11 @@ int UtilityMain(MainFunctionParams parameters) { +@@ -387,6 +400,11 @@ int UtilityMain(MainFunctionParams parameters) { sandbox::policy::Sandbox::Initialize( sandbox_type, std::move(pre_sandbox_hook), sandbox_options); } +#else + sandbox::policy::Sandbox::Initialize( + sandbox_type, std::move(pre_sandbox_hook), + sandbox::policy::SandboxLinux::Options()); +#endif // Startup tracing creates a tracing thread, which is incompatible on // platforms that require single-threaded sandbox initialization. In these diff --git a/www/chromium/files/patch-extensions_browser_api_api__browser__context__keyed__service__factories.cc b/www/chromium/files/patch-extensions_browser_api_api__browser__context__keyed__service__factories.cc index b8370f7850fd..0f84ecc1c2a8 100644 --- a/www/chromium/files/patch-extensions_browser_api_api__browser__context__keyed__service__factories.cc +++ b/www/chromium/files/patch-extensions_browser_api_api__browser__context__keyed__service__factories.cc @@ -1,11 +1,11 @@ ---- extensions/browser/api/api_browser_context_keyed_service_factories.cc.orig 2026-06-04 10:12:25 UTC +--- extensions/browser/api/api_browser_context_keyed_service_factories.cc.orig 2026-08-12 09:02:10 UTC +++ extensions/browser/api/api_browser_context_keyed_service_factories.cc -@@ -133,7 +133,7 @@ void EnsureApiBrowserContextKeyedServiceFactoriesBuilt +@@ -135,7 +135,7 @@ void EnsureApiBrowserContextKeyedServiceFactoriesBuilt MediaPerceptionAPIManager::GetFactoryInstance(); #endif #if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_WIN) || \ - BUILDFLAG(IS_MAC) + BUILDFLAG(IS_MAC) || BUILDFLAG(IS_BSD) NetworkingPrivateEventRouterFactory::GetInstance(); #endif PrinterProviderAPIFactory::GetInstance(); 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 536065b62835..2f7c50b7b9a5 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,20 +1,20 @@ ---- extensions/browser/api/messaging/message_service.cc.orig 2026-07-01 06:24:19 UTC +--- extensions/browser/api/messaging/message_service.cc.orig 2026-08-12 09:02:10 UTC +++ extensions/browser/api/messaging/message_service.cc @@ -89,7 +89,7 @@ const char kReceivingEndIncompatibleMessageSerializati "Could not establish connection. Receiving end uses different message " "serialization format."; #if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || \ - BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_ANDROID) + BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_ANDROID) || BUILDFLAG(IS_BSD) const char kMissingPermissionError[] = "Access to native messaging requires nativeMessaging permission."; const char kProhibitedByPoliciesError[] = -@@ -710,7 +710,7 @@ void MessageService::OpenChannelToNativeAppImpl( +@@ -714,7 +714,7 @@ void MessageService::OpenChannelToNativeAppImpl( return; #if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || \ - BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_ANDROID) + BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_ANDROID) || BUILDFLAG(IS_BSD) bool has_permission = extension->permissions_data()->HasAPIPermission( mojom::APIPermissionID::kNativeMessaging); if (!has_permission) { diff --git a/www/chromium/files/patch-gpu_command__buffer_client_internal_mappable__buffer__native__pixmap.cc b/www/chromium/files/patch-gpu_command__buffer_client_internal_mappable__buffer__native__pixmap.cc index a2a2472ecde6..a1c9e41be297 100644 --- a/www/chromium/files/patch-gpu_command__buffer_client_internal_mappable__buffer__native__pixmap.cc +++ b/www/chromium/files/patch-gpu_command__buffer_client_internal_mappable__buffer__native__pixmap.cc @@ -1,11 +1,11 @@ ---- gpu/command_buffer/client/internal/mappable_buffer_native_pixmap.cc.orig 2026-07-01 06:24:19 UTC +--- gpu/command_buffer/client/internal/mappable_buffer_native_pixmap.cc.orig 2026-08-12 09:02:10 UTC +++ gpu/command_buffer/client/internal/mappable_buffer_native_pixmap.cc -@@ -62,7 +62,7 @@ MappableBufferNativePixmap::CreateFromHandle( +@@ -64,7 +64,7 @@ MappableBufferNativePixmap::CreateFromHandle( viz::SharedImageFormat format, gfx::BufferUsage usage) { const bool supports_zero_copy_webgpu_import = -#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) handle.native_pixmap_handle().supports_zero_copy_webgpu_import; #else false; diff --git a/www/chromium/files/patch-gpu_command__buffer_service_gles2__cmd__decoder.cc b/www/chromium/files/patch-gpu_command__buffer_service_gles2__cmd__decoder.cc index ca6cd5478583..33a488bd516a 100644 --- a/www/chromium/files/patch-gpu_command__buffer_service_gles2__cmd__decoder.cc +++ b/www/chromium/files/patch-gpu_command__buffer_service_gles2__cmd__decoder.cc @@ -1,11 +1,11 @@ ---- gpu/command_buffer/service/gles2_cmd_decoder.cc.orig 2026-07-01 06:24:19 UTC +--- gpu/command_buffer/service/gles2_cmd_decoder.cc.orig 2026-08-12 09:02:10 UTC +++ gpu/command_buffer/service/gles2_cmd_decoder.cc -@@ -2996,7 +2996,7 @@ std::unique_ptr GLES2Decoder::Create( +@@ -3011,7 +3011,7 @@ std::unique_ptr GLES2Decoder::Create( } // Allow linux to run fuzzers. -#if BUILDFLAG(ENABLE_VALIDATING_COMMAND_DECODER) || BUILDFLAG(IS_LINUX) +#if BUILDFLAG(ENABLE_VALIDATING_COMMAND_DECODER) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) return std::make_unique(client, command_buffer_service, outputter, group); #else 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 668fb5babe00..00ac54f13a76 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,20 +1,20 @@ ---- gpu/command_buffer/service/webgpu_decoder_impl.cc.orig 2026-07-01 06:24:19 UTC +--- gpu/command_buffer/service/webgpu_decoder_impl.cc.orig 2026-08-12 09:02:10 UTC +++ gpu/command_buffer/service/webgpu_decoder_impl.cc -@@ -1776,7 +1776,7 @@ wgpu::Adapter WebGPUDecoderImpl::CreatePreferredAdapte +@@ -1780,7 +1780,7 @@ wgpu::Adapter WebGPUDecoderImpl::CreatePreferredAdapte backend_types = {wgpu::BackendType::D3D12}; #elif BUILDFLAG(IS_APPLE) backend_types = {wgpu::BackendType::Metal}; -#elif BUILDFLAG(IS_LINUX) +#elif BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) if (shared_context_state_->GrContextIsVulkan() || webgpu_on_vk_gl_interop_ || shared_context_state_->IsGraphiteDawnVulkan()) { -@@ -2102,7 +2102,7 @@ WebGPUDecoderImpl::AssociateMailboxDawn( +@@ -2106,7 +2106,7 @@ WebGPUDecoderImpl::AssociateMailboxDawn( } #if !BUILDFLAG(IS_WIN) && !BUILDFLAG(IS_CHROMEOS) && !BUILDFLAG(IS_APPLE) && \ - !BUILDFLAG(IS_ANDROID) && !BUILDFLAG(IS_LINUX) + !BUILDFLAG(IS_ANDROID) && !BUILDFLAG(IS_LINUX) && !BUILDFLAG(IS_BSD) if (usage & wgpu::TextureUsage::StorageBinding) { LOG(ERROR) << "AssociateMailbox: wgpu::TextureUsage::StorageBinding is NOT " "supported yet on this platform."; diff --git a/www/chromium/files/patch-gpu_config_gpu__finch__features.cc b/www/chromium/files/patch-gpu_config_gpu__finch__features.cc index 76b1c8f547d6..1de8f053553d 100644 --- a/www/chromium/files/patch-gpu_config_gpu__finch__features.cc +++ b/www/chromium/files/patch-gpu_config_gpu__finch__features.cc @@ -1,29 +1,29 @@ ---- gpu/config/gpu_finch_features.cc.orig 2026-07-01 06:24:19 UTC +--- gpu/config/gpu_finch_features.cc.orig 2026-08-12 09:02:10 UTC +++ gpu/config/gpu_finch_features.cc -@@ -111,7 +111,7 @@ const base::FeatureParam +@@ -176,7 +176,7 @@ const base::FeatureParam // of associating with an unused IPC::Channel. BASE_FEATURE(kRemoveGPULegacyIPC, base::FEATURE_DISABLED_BY_DEFAULT); -#if BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) // Feature flag to control whether SharedImageStub sequence uses high priority // on ChromeOS and Linux. Enabled by default. BASE_FEATURE(kSharedImageStubHighPriority, base::FEATURE_DISABLED_BY_DEFAULT); -@@ -120,7 +120,7 @@ BASE_FEATURE(kSharedImageStubHighPriority, base::FEATU +@@ -185,7 +185,7 @@ BASE_FEATURE(kSharedImageStubHighPriority, base::FEATU // Disables hardware YUV conversion on NVIDIA + Wayland to workaround a driver // bug. BASE_FEATURE(kNvidiaWaylandYuvHardwareConversionWorkaround, -#if BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) base::FEATURE_ENABLED_BY_DEFAULT #else base::FEATURE_DISABLED_BY_DEFAULT -@@ -449,7 +449,7 @@ BASE_FEATURE(kGPUDriverBugListTestGroup, base::FEATURE +@@ -515,7 +515,7 @@ BASE_FEATURE(kGPUDriverBugListTestGroup, base::FEATURE const base::FeatureParam kGPUDriverBugListTestGroupId{ &kGPUDriverBugListTestGroup, "test_group", 0}; -#if BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) bool IsForceEnableWebGpuInterop() { return base::FeatureList::IsEnabled(kForceEnableWebGpuInterop); } diff --git a/www/chromium/files/patch-gpu_config_gpu__finch__features.h b/www/chromium/files/patch-gpu_config_gpu__finch__features.h index 92395e52f329..4d4e33c73d86 100644 --- a/www/chromium/files/patch-gpu_config_gpu__finch__features.h +++ b/www/chromium/files/patch-gpu_config_gpu__finch__features.h @@ -1,11 +1,11 @@ ---- gpu/config/gpu_finch_features.h.orig 2026-06-04 10:12:25 UTC +--- gpu/config/gpu_finch_features.h.orig 2026-08-12 09:02:10 UTC +++ gpu/config/gpu_finch_features.h -@@ -105,7 +105,7 @@ GPU_CONFIG_EXPORT BASE_DECLARE_FEATURE(kPruneOldTransf +@@ -179,7 +179,7 @@ GPU_CONFIG_EXPORT BASE_DECLARE_FEATURE(kPruneOldTransf GPU_CONFIG_EXPORT BASE_DECLARE_FEATURE(kRemoveGPULegacyIPC); -#if BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) GPU_CONFIG_EXPORT BASE_DECLARE_FEATURE(kSharedImageStubHighPriority); #endif diff --git a/www/chromium/files/patch-gpu_config_gpu__info__collector.cc b/www/chromium/files/patch-gpu_config_gpu__info__collector.cc index 2cd4b4135624..4634a7cdfbcc 100644 --- a/www/chromium/files/patch-gpu_config_gpu__info__collector.cc +++ b/www/chromium/files/patch-gpu_config_gpu__info__collector.cc @@ -1,11 +1,11 @@ ---- gpu/config/gpu_info_collector.cc.orig 2026-04-09 06:05:42 UTC +--- gpu/config/gpu_info_collector.cc.orig 2026-08-12 09:02:10 UTC +++ gpu/config/gpu_info_collector.cc -@@ -366,7 +366,7 @@ void ReportWebGPUAdapterMetrics(dawn::native::Instance +@@ -364,7 +364,7 @@ void ReportWebGPUAdapterMetrics(dawn::native::Instance void ReportWebGPUSupportMetrics(dawn::native::Instance* instance) { static BASE_FEATURE(kCollectWebGPUSupportMetrics, "CollectWebGPUSupportMetrics", -#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_ANDROID) || BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_ANDROID) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) base::FEATURE_DISABLED_BY_DEFAULT); #else base::FEATURE_ENABLED_BY_DEFAULT); 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 8d5139128378..e990bccbbed6 100644 --- a/www/chromium/files/patch-gpu_ipc_service_gpu__init.cc +++ b/www/chromium/files/patch-gpu_ipc_service_gpu__init.cc @@ -1,83 +1,83 @@ ---- gpu/ipc/service/gpu_init.cc.orig 2026-06-04 10:12:25 UTC +--- gpu/ipc/service/gpu_init.cc.orig 2026-08-12 09:02:10 UTC +++ gpu/ipc/service/gpu_init.cc -@@ -165,7 +165,7 @@ void InitializePlatformOverlaySettings(GPUInfo* gpu_in +@@ -170,7 +170,7 @@ void InitializePlatformOverlaySettings(GPUInfo* gpu_in #if !BUILDFLAG(IS_ANDROID) && !BUILDFLAG(IS_CASTOS) bool CanAccessDeviceFile(const GPUInfo& gpu_info) { -#if BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) if (gpu_info.gpu.vendor_id != 0x10de || // NVIDIA gpu_info.gpu.driver_vendor != "NVIDIA") return true; -@@ -429,7 +429,7 @@ bool GpuInit::InitializeAndStartSandbox(base::CommandL +@@ -432,7 +432,7 @@ bool GpuInit::InitializeAndStartSandbox(base::CommandL enable_watchdog = false; #endif -#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) bool gpu_sandbox_start_early = gpu_preferences_.gpu_sandbox_start_early; #else // !(BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS)) // For some reasons MacOSX's VideoToolbox might crash when called after -@@ -468,7 +468,7 @@ bool GpuInit::InitializeAndStartSandbox(base::CommandL +@@ -471,7 +471,7 @@ bool GpuInit::InitializeAndStartSandbox(base::CommandL } bool attempted_startsandbox = false; -#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_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. -@@ -562,7 +562,7 @@ bool GpuInit::InitializeAndStartSandbox(base::CommandL - gpu_preferences_.gr_context_type = GrContextType::kGL; +@@ -514,7 +514,7 @@ bool GpuInit::InitializeAndStartSandbox(base::CommandL + } } -#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_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 -@@ -621,7 +621,7 @@ bool GpuInit::InitializeAndStartSandbox(base::CommandL +@@ -573,7 +573,7 @@ bool GpuInit::InitializeAndStartSandbox(base::CommandL command_line, gpu_feature_info_, gpu_preferences_.disable_software_rasterizer, false); if (gl_use_swiftshader_) { -#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) VLOG(1) << "Quit GPU process launch to fallback to SwiftShader cleanly " << "on Linux"; return false; -@@ -829,7 +829,7 @@ bool GpuInit::InitializeAndStartSandbox(base::CommandL +@@ -794,7 +794,7 @@ bool GpuInit::InitializeAndStartSandbox(base::CommandL } } -#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_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. -@@ -904,7 +904,7 @@ bool GpuInit::InitializeAndStartSandbox(base::CommandL +@@ -869,7 +869,7 @@ bool GpuInit::InitializeAndStartSandbox(base::CommandL } } } -#if BUILDFLAG(IS_LINUX) || \ +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) || \ (BUILDFLAG(IS_CHROMEOS) && !BUILDFLAG(IS_CHROMEOS_DEVICE)) if (!gl_disabled && !gl_use_swiftshader_ && std::getenv("RUNNING_UNDER_RR")) { // https://rr-project.org/ is a Linux-only record-and-replay debugger that -@@ -1103,7 +1103,7 @@ void GpuInit::InitializeInProcess(base::CommandLine* c +@@ -1099,7 +1099,7 @@ void GpuInit::InitializeInProcess(base::CommandLine* c } bool gl_disabled = gl::GetGLImplementation() == gl::kGLImplementationDisabled; -#if BUILDFLAG(IS_LINUX) || \ +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) || \ (BUILDFLAG(IS_CHROMEOS) && !BUILDFLAG(IS_CHROMEOS_DEVICE)) if (!gl_disabled && !gl_use_swiftshader_ && std::getenv("RUNNING_UNDER_RR")) { // https://rr-project.org/ is a Linux-only record-and-replay debugger that -@@ -1159,7 +1159,7 @@ void GpuInit::InitializeInProcess(base::CommandLine* c +@@ -1155,7 +1155,7 @@ void GpuInit::InitializeInProcess(base::CommandLine* c } } -#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_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. diff --git a/www/chromium/files/patch-headless_BUILD.gn b/www/chromium/files/patch-headless_BUILD.gn index 3c0b57a7bdc5..a5a65d4e38e0 100644 --- a/www/chromium/files/patch-headless_BUILD.gn +++ b/www/chromium/files/patch-headless_BUILD.gn @@ -1,11 +1,11 @@ ---- headless/BUILD.gn.orig 2026-07-01 06:24:19 UTC +--- headless/BUILD.gn.orig 2026-08-12 09:02:10 UTC +++ headless/BUILD.gn -@@ -807,7 +807,7 @@ component("headless_shell_lib") { +@@ -812,7 +812,7 @@ component("headless_shell_lib") { "//v8", ] - if (!is_fuchsia) { + if (!is_fuchsia && !is_bsd) { deps += [ "//components/crash/core/app" ] } diff --git a/www/chromium/files/patch-headless_lib_browser_headless__browser__impl.cc b/www/chromium/files/patch-headless_lib_browser_headless__browser__impl.cc index e5398f6f153c..5498cbdadecf 100644 --- a/www/chromium/files/patch-headless_lib_browser_headless__browser__impl.cc +++ b/www/chromium/files/patch-headless_lib_browser_headless__browser__impl.cc @@ -1,20 +1,20 @@ ---- headless/lib/browser/headless_browser_impl.cc.orig 2026-07-01 06:24:19 UTC +--- headless/lib/browser/headless_browser_impl.cc.orig 2026-08-12 09:02:10 UTC +++ headless/lib/browser/headless_browser_impl.cc @@ -37,7 +37,7 @@ #include "components/os_crypt/async/browser/keychain_key_provider.h" #endif -#if BUILDFLAG(IS_LINUX) && BUILDFLAG(USE_DBUS) +#if (BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)) && BUILDFLAG(USE_DBUS) #include "base/command_line.h" #include "components/os_crypt/async/browser/freedesktop_secret_key_provider.h" #include "components/password_manager/core/browser/password_manager_switches.h" // nogncheck -@@ -368,7 +368,7 @@ void HeadlessBrowserImpl::CreateOSCryptAsync() { +@@ -363,7 +363,7 @@ void HeadlessBrowserImpl::CreateOSCryptAsync() { providers.emplace_back(std::make_pair( /*precedence=*/10u, std::make_unique())); -#elif BUILDFLAG(IS_LINUX) && BUILDFLAG(USE_DBUS) +#elif (BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)) && BUILDFLAG(USE_DBUS) base::CommandLine* cmd_line = base::CommandLine::ForCurrentProcess(); const auto password_store = cmd_line->GetSwitchValueASCII(password_manager::kPasswordStore); diff --git a/www/chromium/files/patch-headless_lib_browser_headless__web__contents__impl.cc b/www/chromium/files/patch-headless_lib_browser_headless__web__contents__impl.cc index 793e74e4faa4..02ec57d3e2d6 100644 --- a/www/chromium/files/patch-headless_lib_browser_headless__web__contents__impl.cc +++ b/www/chromium/files/patch-headless_lib_browser_headless__web__contents__impl.cc @@ -1,11 +1,11 @@ ---- headless/lib/browser/headless_web_contents_impl.cc.orig 2026-03-13 06:02:14 UTC +--- headless/lib/browser/headless_web_contents_impl.cc.orig 2026-08-12 09:02:10 UTC +++ headless/lib/browser/headless_web_contents_impl.cc -@@ -74,7 +74,7 @@ BASE_FEATURE(kPrerender2InHeadlessMode, base::FEATURE_ +@@ -76,7 +76,7 @@ BASE_FEATURE(kPrerender2InHeadlessMode, base::FEATURE_ namespace { void UpdatePrefsFromSystemSettings(blink::RendererPreferences* prefs) { -#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_WIN) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_WIN) || BUILDFLAG(IS_BSD) content::UpdateFontRendererPreferencesFromSystemSettings(prefs); #endif diff --git a/www/chromium/files/patch-headless_lib_headless__content__main__delegate.cc b/www/chromium/files/patch-headless_lib_headless__content__main__delegate.cc index 9f9769cdcfbd..eaf1c526282b 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 2026-05-07 17:02:56 UTC +--- headless/lib/headless_content_main_delegate.cc.orig 2026-08-12 09:02:10 UTC +++ headless/lib/headless_content_main_delegate.cc -@@ -404,7 +404,7 @@ void HeadlessContentMainDelegate::InitCrashReporter( +@@ -407,7 +407,7 @@ void HeadlessContentMainDelegate::InitCrashReporter( if (process_type != ::switches::kZygoteProcess) { g_headless_crash_client.Pointer()->set_crash_dumps_dir( command_line.GetSwitchValuePath(switches::kCrashDumpsDir)); -#if !BUILDFLAG(IS_WIN) +#if !BUILDFLAG(IS_WIN) && !BUILDFLAG(IS_BSD) crash_reporter::InitializeCrashpad(process_type.empty(), process_type); #endif // !BUILDFLAG(IS_WIN) #if BUILDFLAG(IS_POSIX) && !BUILDFLAG(IS_MAC) && !BUILDFLAG(IS_ANDROID) diff --git a/www/chromium/files/patch-media_BUILD.gn b/www/chromium/files/patch-media_BUILD.gn index 21bc42ea20ad..5f92fd56aef4 100644 --- a/www/chromium/files/patch-media_BUILD.gn +++ b/www/chromium/files/patch-media_BUILD.gn @@ -1,12 +1,12 @@ ---- media/BUILD.gn.orig 2026-07-01 06:24:19 UTC +--- media/BUILD.gn.orig 2026-08-12 09:02:10 UTC +++ media/BUILD.gn -@@ -102,6 +102,9 @@ config("media_config") { +@@ -105,6 +105,9 @@ config("media_config") { defines += [ "DLOPEN_PULSEAUDIO" ] } } + if (use_sndio) { + defines += [ "USE_SNDIO" ] + } } # Internal grouping of the configs necessary to support sub-folders having their diff --git a/www/chromium/files/patch-media_audio_BUILD.gn b/www/chromium/files/patch-media_audio_BUILD.gn index 517773346eaf..18c49575b593 100644 --- a/www/chromium/files/patch-media_audio_BUILD.gn +++ b/www/chromium/files/patch-media_audio_BUILD.gn @@ -1,27 +1,27 @@ ---- media/audio/BUILD.gn.orig 2026-06-04 10:12:25 UTC +--- media/audio/BUILD.gn.orig 2026-08-12 09:02:10 UTC +++ media/audio/BUILD.gn -@@ -289,9 +289,23 @@ source_set("audio") { +@@ -290,9 +290,23 @@ source_set("audio") { deps += [ "//media/base/android:media_jni_headers" ] } - if (is_linux || is_chromeos) { + if ((is_linux || is_chromeos) && !is_bsd) { sources += [ "linux/audio_manager_linux.cc" ] } + + if (is_bsd) { + sources += [ "sndio/audio_manager_sndio.cc" ] + } + + if (use_sndio) { + libs += [ "sndio" ] + sources += [ + "sndio/sndio_input.cc", + "sndio/sndio_input.h", + "sndio/sndio_output.cc", + "sndio/sndio_output.h" + ] + } if (use_alsa) { libs += [ "asound" ] diff --git a/www/chromium/files/patch-media_audio_alsa_audio__manager__alsa.cc b/www/chromium/files/patch-media_audio_alsa_audio__manager__alsa.cc index 467f088b184f..efd79979bf73 100644 --- a/www/chromium/files/patch-media_audio_alsa_audio__manager__alsa.cc +++ b/www/chromium/files/patch-media_audio_alsa_audio__manager__alsa.cc @@ -1,54 +1,54 @@ ---- media/audio/alsa/audio_manager_alsa.cc.orig 2026-07-01 17:42:29 UTC +--- media/audio/alsa/audio_manager_alsa.cc.orig 2026-08-12 15:23:09 UTC +++ media/audio/alsa/audio_manager_alsa.cc @@ -106,7 +106,9 @@ bool AudioManagerAlsa::GetAlsaAudioDevices(StreamType // Loop through the physical sound cards to get ALSA device hints. bool had_error = false; int card_next_result = 0; +#if !BUILDFLAG(IS_BSD) while ((card_next_result = wrapper_->CardNext(&card)) == 0 && card >= 0) { +#endif void** hints = nullptr; int hint_result = wrapper_->DeviceNameHint(card, kPcmInterfaceName, &hints); if (!hint_result) { @@ -119,7 +121,9 @@ bool AudioManagerAlsa::GetAlsaAudioDevices(StreamType DLOG(WARNING) << "GetAlsaAudioDevices: unable to get device hints: " << wrapper_->StrError(hint_result); } +#if !BUILDFLAG(IS_BSD) } +#endif if (card_next_result != 0) { had_error = true; @@ -211,7 +215,11 @@ bool AudioManagerAlsa::IsAlsaDeviceAvailable(AudioMana // goes through software conversion if needed (e.g. incompatible // sample rate). // TODO(joi): Should we prefer "hw" instead? +#if BUILDFLAG(IS_BSD) + static constexpr std::string_view kDeviceTypeDesired = "plug"; +#else static constexpr std::string_view kDeviceTypeDesired = "plughw"; +#endif return device_name.starts_with(kDeviceTypeDesired); } @@ -262,7 +270,9 @@ bool AudioManagerAlsa::HasAnyAlsaAudioDevice( // Loop through the sound cards. // Don't use snd_device_name_hint(-1,..) since there is an access violation // inside this ALSA API with libasound.so.2.0.0. +#if !BUILDFLAG(IS_BSD) while (!wrapper_->CardNext(&card) && (card >= 0) && !has_device) { +#endif int error = wrapper_->DeviceNameHint(card, kPcmInterfaceName, &hints); if (!error) { const std::string_view unwanted_type = @@ -291,7 +301,9 @@ bool AudioManagerAlsa::HasAnyAlsaAudioDevice( DLOG(WARNING) << "HasAnyAudioDevice: unable to get device hints: " << wrapper_->StrError(error); } +#if !BUILDFLAG(IS_BSD) } +#endif return has_device; } diff --git a/www/chromium/files/patch-media_base_audio__bus.h b/www/chromium/files/patch-media_base_audio__bus.h new file mode 100644 index 000000000000..2d02b30a081f --- /dev/null +++ b/www/chromium/files/patch-media_base_audio__bus.h @@ -0,0 +1,233 @@ +--- media/base/audio_bus.h.orig 2026-08-12 09:02:10 UTC ++++ media/base/audio_bus.h +@@ -110,6 +110,23 @@ class MEDIA_EXPORT AudioBus { + // Returns the currently used bitstream data. + BitstreamData bitstream_data() const { return bitstream_data_; } + ++ // Note: DEPRECATED, prefer spanified version instead. ++ // Overwrites the sample values stored in this AudioBus instance with values ++ // from a given interleaved `source_buffer` with expected layout ++ // [ch0, ch1, ..., chN, ch0, ch1, ...] and sample values in the format ++ // corresponding to the given SourceSampleTypeTraits. ++ // The sample values are converted to float values by means of the method ++ // convert_to_float32() provided by the SourceSampleTypeTraits. For a list of ++ // ready-to-use SampleTypeTraits, see file audio_sample_types.h. ++ // If `num_frames_to_write` is less than frames(), the remaining frames are ++ // zeroed out. If `num_frames_to_write` is more than frames(), this results in ++ // undefined behavior. ++ // TODO(crbug.com/373960632): Delete this function. ++ template ++ void FromInterleaved( ++ const typename SourceSampleTypeTraits::ValueType* source_buffer, ++ int num_frames_to_write); ++ + // Overwrites every sample stored in this AudioBus instance with values + // from a given interleaved `source` with expected layout + // [ch0, ch1, ..., chN, ch0, ch1, ...]. The sample values are converted to +@@ -122,13 +139,36 @@ class MEDIA_EXPORT AudioBus { + base::span source, + bool zero_remaining_frames = false); + ++ // Note: DEPRECATED, prefer spanified version instead. + // Similar to FromInterleaved...(), but overwrites the frames starting at a ++ // given offset `write_offset_in_frames` and does not zero out frames that are ++ // not overwritten. ++ // TODO(crbug.com/373960632): Delete this function. ++ template ++ void FromInterleavedPartial( ++ const typename SourceSampleTypeTraits::ValueType* source_buffer, ++ int write_offset_in_frames, ++ int num_frames_to_write); ++ ++ // Similar to FromInterleaved...(), but overwrites the frames starting at a + // given offset `write_offset`, without zero'ing other frames. + template + void FromInterleavedPartial( + base::span source, + size_t write_offset); + ++ // Note: DEPRECATED, prefer spanified version instead. ++ // Reads the sample values stored in this AudioBus instance and places them ++ // into the given `dest_buffer` in interleaved format using the sample format ++ // specified by TargetSampleTypeTraits. For a list of ready-to-use ++ // SampleTypeTraits, see file audio_sample_types.h. If `num_frames_to_read` is ++ // larger than frames(), this results in undefined behavior. ++ // TODO(crbug.com/373960632): Delete this function. ++ template ++ void ToInterleaved( ++ int num_frames_to_read, ++ typename TargetSampleTypeTraits::ValueType* dest_buffer) const; ++ + // Fills `dest` with the sample values in this AudioBus instance. Converts the + // samples to the format specified by `TargetSampleTypeTraits` and places them + // in interleaved format. +@@ -138,6 +178,16 @@ class MEDIA_EXPORT AudioBus { + void ToInterleaved( + base::span dest) const; + ++ // Note: DEPRECATED, prefer spanified version instead. ++ // Similar to ToInterleaved(), but reads the frames starting at a given ++ // offset `read_offset_in_frames`. ++ // TODO(crbug.com/373960632): Delete this function. ++ template ++ void ToInterleavedPartial( ++ int read_offset_in_frames, ++ int num_frames_to_read, ++ typename TargetSampleTypeTraits::ValueType* dest_buffer) const; ++ + // Similar to ToInterleaved...(), but reads the frames starting at a given + // `read_offset`. + // Note: `dest` must have a multiple of `channels()` elements, but it does not +@@ -243,6 +293,12 @@ class MEDIA_EXPORT AudioBus { + + template + static void CopyConvertFromInterleavedSourceToAudioBus( ++ const typename SourceSampleTypeTraits::ValueType* source_buffer, ++ int write_offset_in_frames, ++ int num_frames_to_write, ++ AudioBus* dest); ++ template ++ static void CopyConvertFromInterleavedSourceToAudioBus( + base::span source, + size_t write_offset, + AudioBus* dest); +@@ -250,6 +306,12 @@ class MEDIA_EXPORT AudioBus { + template + static void CopyConvertFromAudioBusToInterleavedTarget( + const AudioBus* source, ++ int read_offset_in_frames, ++ int num_frames_to_read, ++ typename TargetSampleTypeTraits::ValueType* dest_buffer); ++ template ++ static void CopyConvertFromAudioBusToInterleavedTarget( ++ const AudioBus* source, + size_t read_offset, + base::span dest); + +@@ -298,6 +360,17 @@ class MEDIA_EXPORT AudioBus { + // Delegates to FromInterleavedPartial() + template + void AudioBus::FromInterleaved( ++ const typename SourceSampleTypeTraits::ValueType* source_buffer, ++ int num_frames_to_write) { ++ FromInterleavedPartial(source_buffer, 0, ++ num_frames_to_write); ++ // Zero any remaining frames. ++ ZeroFramesPartial(num_frames_to_write, frames_ - num_frames_to_write); ++} ++ ++// Delegates to FromInterleavedPartial() ++template ++void AudioBus::FromInterleaved( + base::span source, + bool zero_remaining_frames) { + const size_t source_frame_count = get_frame_count(source, channels()); +@@ -318,6 +391,16 @@ void AudioBus::FromInterleaved( + + template + void AudioBus::FromInterleavedPartial( ++ const typename SourceSampleTypeTraits::ValueType* source_buffer, ++ int write_offset_in_frames, ++ int num_frames_to_write) { ++ CheckOverflow(write_offset_in_frames, num_frames_to_write, frames_); ++ CopyConvertFromInterleavedSourceToAudioBus( ++ source_buffer, write_offset_in_frames, num_frames_to_write, this); ++} ++ ++template ++void AudioBus::FromInterleavedPartial( + base::span source, + size_t write_offset) { + const size_t frame_count = get_frame_count(source, channels()); +@@ -332,6 +415,15 @@ void AudioBus::FromInterleavedPartial( + // Delegates to ToInterleavedPartial() + template + void AudioBus::ToInterleaved( ++ int num_frames_to_read, ++ typename TargetSampleTypeTraits::ValueType* dest_buffer) const { ++ ToInterleavedPartial(0, num_frames_to_read, ++ dest_buffer); ++} ++ ++// Delegates to ToInterleavedPartial() ++template ++void AudioBus::ToInterleaved( + base::span dest) const { + const size_t frames_count = get_frame_count(dest, channels()); + CHECK_EQ(frames_count, frames_); +@@ -340,6 +432,16 @@ void AudioBus::ToInterleaved( + + template + void AudioBus::ToInterleavedPartial( ++ int read_offset_in_frames, ++ int num_frames_to_read, ++ typename TargetSampleTypeTraits::ValueType* dest) const { ++ CheckOverflow(read_offset_in_frames, num_frames_to_read, frames_); ++ CopyConvertFromAudioBusToInterleavedTarget( ++ this, read_offset_in_frames, num_frames_to_read, dest); ++} ++ ++template ++void AudioBus::ToInterleavedPartial( + size_t read_offset, + base::span dest) const { + const size_t frame_count = get_frame_count(dest, channels()); +@@ -350,8 +452,30 @@ void AudioBus::ToInterleavedPartial( + this, read_offset, dest); + } + ++// TODO(chfremer): Consider using vector instructions to speed this up, ++// https://crbug.com/619628 + template + void AudioBus::CopyConvertFromInterleavedSourceToAudioBus( ++ const typename SourceSampleTypeTraits::ValueType* source_buffer, ++ int write_offset_in_frames, ++ int num_frames_to_write, ++ AudioBus* dest) { ++ const int channels = dest->channels(); ++ for (int ch = 0; ch < channels; ++ch) { ++ AudioBus::Channel channel_data = dest->channel(ch); ++ for (int target_frame_index = write_offset_in_frames, ++ read_pos_in_source = ch; ++ target_frame_index < write_offset_in_frames + num_frames_to_write; ++ ++target_frame_index, read_pos_in_source += channels) { ++ auto source_value = UNSAFE_TODO(source_buffer[read_pos_in_source]); ++ channel_data[target_frame_index] = ++ SourceSampleTypeTraits::ToFloat(source_value); ++ } ++ } ++} ++ ++template ++void AudioBus::CopyConvertFromInterleavedSourceToAudioBus( + base::span source, + size_t write_offset, + AudioBus* dest) { +@@ -368,6 +492,27 @@ void AudioBus::CopyConvertFromInterleavedSourceToAudio + ++dest_idx, src_idx += channels) { + auto source_sample = source[src_idx]; + channel_data[dest_idx] = SourceSampleTypeTraits::ToFloat(source_sample); ++ } ++ } ++} ++ ++// TODO(chfremer): Consider using vector instructions to speed this up, ++// https://crbug.com/619628 ++template ++void AudioBus::CopyConvertFromAudioBusToInterleavedTarget( ++ const AudioBus* source, ++ int read_offset_in_frames, ++ int num_frames_to_read, ++ typename TargetSampleTypeTraits::ValueType* dest_buffer) { ++ const int channels = source->channels(); ++ for (int ch = 0; ch < channels; ++ch) { ++ AudioBus::ConstChannel channel_data = source->channel(ch); ++ for (int source_frame_index = read_offset_in_frames, write_pos_in_dest = ch; ++ source_frame_index < read_offset_in_frames + num_frames_to_read; ++ ++source_frame_index, write_pos_in_dest += channels) { ++ float sourceSampleValue = channel_data[source_frame_index]; ++ UNSAFE_TODO(dest_buffer[write_pos_in_dest]) = ++ TargetSampleTypeTraits::FromFloat(sourceSampleValue); + } + } + } diff --git a/www/chromium/files/patch-media_base_media__switches.cc b/www/chromium/files/patch-media_base_media__switches.cc index 10c113b39485..d9d2a3735496 100644 --- a/www/chromium/files/patch-media_base_media__switches.cc +++ b/www/chromium/files/patch-media_base_media__switches.cc @@ -1,111 +1,129 @@ ---- media/base/media_switches.cc.orig 2026-07-01 06:24:19 UTC +--- media/base/media_switches.cc.orig 2026-08-12 09:02:10 UTC +++ media/base/media_switches.cc @@ -20,7 +20,7 @@ #include "ui/gl/gl_features.h" #include "ui/gl/gl_utils.h" -#if BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) #include "base/cpu.h" #include "components/system_media_controls/linux/buildflags/buildflags.h" #endif -@@ -436,13 +436,35 @@ BASE_FEATURE(kApplicationAudioCaptureMac, base::FEATUR +@@ -469,13 +469,35 @@ BASE_FEATURE(kApplicationAudioCaptureMac, base::FEATUR #endif // BUILDFLAG(IS_MAC) -#if BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) // Enables system audio mirroring using pulseaudio. BASE_FEATURE(kPulseaudioLoopbackForCast, base::FEATURE_DISABLED_BY_DEFAULT); // Enables system audio sharing using pulseaudio. BASE_FEATURE(kPulseaudioLoopbackForScreenShare, base::FEATURE_DISABLED_BY_DEFAULT); + +BASE_FEATURE(kAudioBackend, + "AudioBackend", + base::FEATURE_ENABLED_BY_DEFAULT); + +constexpr base::FeatureParam::Option + kAudioBackendOptions[] = { + {AudioBackend::kAuto, + "auto"}, + {AudioBackend::kPulseAudio, "pulseaudio"}, + {AudioBackend::kSndio, "sndio"}, + {AudioBackend::kAlsa, "alsa"}}; + +const base::FeatureParam + kAudioBackendParam{ + &kAudioBackend, "audio-backend", +#if BUILDFLAG(IS_OPENBSD) + AudioBackend::kSndio, +#elif BUILDFLAG(IS_FREEBSD) + AudioBackend::kAuto, +#endif + &kAudioBackendOptions}; #endif // BUILDFLAG(IS_LINUX) // When enabled, MediaCapabilities will check with GPU Video Accelerator -@@ -716,7 +738,7 @@ BASE_FEATURE(kMediaCodecColorSpaceCleanup, base::FEATU +@@ -647,7 +669,7 @@ BASE_FEATURE(kRevokeMediaSourceObjectURLOnAttach, + // Android / Fuchsia are expected to launch in M150. + BASE_FEATURE(kSymphoniaAudioDecoding, + #if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || \ +- BUILDFLAG(IS_CHROMEOS) ++ BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) + base::FEATURE_ENABLED_BY_DEFAULT + #else + base::FEATURE_DISABLED_BY_DEFAULT +@@ -657,7 +679,7 @@ BASE_FEATURE(kSymphoniaAudioDecoding, + // Android / Fuchsia are expected to launch in M150. + BASE_FEATURE(kSymphoniaMp3Decoding, + #if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || \ +- BUILDFLAG(IS_CHROMEOS) ++ BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) + base::FEATURE_ENABLED_BY_DEFAULT + #else + base::FEATURE_DISABLED_BY_DEFAULT +@@ -768,7 +790,7 @@ BASE_FEATURE(kMediaCodecColorSpaceCleanup, base::FEATU #if !BUILDFLAG(IS_ANDROID) // If enabled, users can request Media Remoting without fullscreen-in-tab. BASE_FEATURE(kMediaRemotingWithoutFullscreen, -#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) base::FEATURE_ENABLED_BY_DEFAULT #else base::FEATURE_DISABLED_BY_DEFAULT -@@ -739,7 +761,7 @@ BASE_FEATURE(kSuspendMediaForFrozenFrames, base::FEATU +@@ -791,7 +813,7 @@ BASE_FEATURE(kSuspendMediaForFrozenFrames, base::FEATU // autoplay policy. BASE_FEATURE(kUnifiedAutoplay, base::FEATURE_ENABLED_BY_DEFAULT); -#if BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) // Enable vaapi/v4l2 video decoding on linux. This is already enabled by default // on chromeos, but needs an experiment on linux. -@@ -817,7 +839,7 @@ BASE_FEATURE(kVaapiVp9SModeHWEncoding, base::FEATURE_E +@@ -869,7 +891,7 @@ BASE_FEATURE(kVaapiVp9SModeHWEncoding, base::FEATURE_E // Enables VSync aligned MJPEG decoding. BASE_FEATURE(kVSyncMjpegDecoding, base::FEATURE_DISABLED_BY_DEFAULT); #endif // defined(ARCH_CPU_X86_FAMILY) && BUILDFLAG(IS_CHROMEOS) -#if BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) // Enable H264 temporal layer encoding with V4L2 HW encoder on ChromeOS. BASE_FEATURE(kV4L2H264TemporalLayerHWEncoding, base::FEATURE_DISABLED_BY_DEFAULT); -@@ -1016,7 +1038,7 @@ BASE_FEATURE(kMediaFoundationMultiGpuAdapterSelection, +@@ -1074,7 +1096,7 @@ BASE_FEATURE(kMediaFoundationMultiGpuAdapterSelection, BASE_FEATURE(kHardwareMediaKeyHandling, #if BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) base::FEATURE_ENABLED_BY_DEFAULT -#elif BUILDFLAG(IS_LINUX) +#elif BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) #if BUILDFLAG(USE_MPRIS) base::FEATURE_ENABLED_BY_DEFAULT #else -@@ -1380,7 +1402,7 @@ BASE_FEATURE(kUseOutOfProcessVideoDecoding, +@@ -1436,7 +1458,7 @@ BASE_FEATURE(kUseOutOfProcessVideoDecoding, BASE_FEATURE(kUseSharedImageInOOPVDProcess, base::FEATURE_ENABLED_BY_DEFAULT); #endif // BUILDFLAG(ALLOW_OOP_VIDEO_DECODER) -#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) // Spawn utility processes to perform hardware encode acceleration instead of // using the GPU process. BASE_FEATURE(kUseOutOfProcessVideoEncoding, base::FEATURE_DISABLED_BY_DEFAULT); -@@ -1442,7 +1464,7 @@ BASE_FEATURE(kRecordMediaEngagementScores, base::FEATU +@@ -1498,7 +1520,7 @@ BASE_FEATURE(kRecordMediaEngagementScores, base::FEATU // Enables Media Engagement Index recording for Web Audio playbacks. BASE_FEATURE(kRecordWebAudioEngagement, base::FEATURE_ENABLED_BY_DEFAULT); -#if BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) // Reduces the number of buffers needed in the output video frame pool to // populate the Renderer pipeline for hardware accelerated VideoDecoder in // non-low latency scenarios. -@@ -1768,7 +1790,7 @@ bool IsSystemLoopbackCaptureSupported() { +@@ -1823,7 +1845,7 @@ bool IsSystemLoopbackCaptureSupported() { #elif BUILDFLAG(IS_MAC) return (IsMacSckSystemLoopbackCaptureSupported() || IsMacCatapSystemLoopbackCaptureSupported()); -#elif BUILDFLAG(IS_LINUX) && defined(USE_PULSEAUDIO) +#elif (BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)) && defined(USE_PULSEAUDIO) return true; #else return false; diff --git a/www/chromium/files/patch-media_base_media__switches.h b/www/chromium/files/patch-media_base_media__switches.h index cd639c55ae7a..b9270269909e 100644 --- a/www/chromium/files/patch-media_base_media__switches.h +++ b/www/chromium/files/patch-media_base_media__switches.h @@ -1,57 +1,57 @@ ---- media/base/media_switches.h.orig 2026-07-01 06:24:19 UTC +--- media/base/media_switches.h.orig 2026-08-12 09:02:10 UTC +++ media/base/media_switches.h -@@ -326,13 +326,25 @@ MEDIA_EXPORT BASE_DECLARE_FEATURE(kMediaRecorderHEVCSu +@@ -331,13 +331,25 @@ MEDIA_EXPORT BASE_DECLARE_FEATURE(kMediaRecorderHEVCSu MEDIA_EXPORT BASE_DECLARE_FEATURE(kPlaybackSpeedButton); MEDIA_EXPORT BASE_DECLARE_FEATURE(kPreloadMediaEngagementData); MEDIA_EXPORT BASE_DECLARE_FEATURE(kPreloadMetadataSuspend); -#if BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) MEDIA_EXPORT BASE_DECLARE_FEATURE(kPulseaudioLoopbackForCast); MEDIA_EXPORT BASE_DECLARE_FEATURE(kPulseaudioLoopbackForScreenShare); + +enum class AudioBackend { + kAuto, + kPulseAudio, + kSndio, + kAlsa +}; + +MEDIA_EXPORT BASE_DECLARE_FEATURE(kAudioBackend); +MEDIA_EXPORT extern const base::FeatureParam< + AudioBackend> + kAudioBackendParam; #endif // BUILDFLAG(IS_LINUX) MEDIA_EXPORT BASE_DECLARE_FEATURE(kRecordMediaEngagementScores); MEDIA_EXPORT BASE_DECLARE_FEATURE(kRecordWebAudioEngagement); -#if BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) MEDIA_EXPORT BASE_DECLARE_FEATURE(kReduceHardwareVideoDecoderBuffers); #endif // BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_LINUX) MEDIA_EXPORT BASE_DECLARE_FEATURE(kResumeBackgroundVideo); -@@ -351,7 +363,7 @@ MEDIA_EXPORT BASE_DECLARE_FEATURE(kUnifiedAutoplay); +@@ -356,7 +368,7 @@ MEDIA_EXPORT BASE_DECLARE_FEATURE(kUnifiedAutoplay); MEDIA_EXPORT BASE_DECLARE_FEATURE(kUseAndroidOverlayForSecureOnly); MEDIA_EXPORT BASE_DECLARE_FEATURE(kUseFakeDeviceForMediaStream); MEDIA_EXPORT BASE_DECLARE_FEATURE(kMediaStreamAccurateDroppedFrameCount); -#if BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) MEDIA_EXPORT BASE_DECLARE_FEATURE(kAcceleratedVideoDecodeLinux); MEDIA_EXPORT BASE_DECLARE_FEATURE(kAcceleratedVideoDecodeLinuxGL); MEDIA_EXPORT BASE_DECLARE_FEATURE(kAcceleratedVideoEncodeLinux); -@@ -368,7 +380,7 @@ MEDIA_EXPORT BASE_DECLARE_FEATURE(kVaapiAV1TemporalLay +@@ -373,7 +385,7 @@ MEDIA_EXPORT BASE_DECLARE_FEATURE(kVaapiAV1TemporalLay MEDIA_EXPORT BASE_DECLARE_FEATURE(kVaapiVp9SModeHWEncoding); MEDIA_EXPORT BASE_DECLARE_FEATURE(kVSyncMjpegDecoding); #endif // defined(ARCH_CPU_X86_FAMILY) && BUILDFLAG(IS_CHROMEOS) -#if BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) MEDIA_EXPORT BASE_DECLARE_FEATURE(kV4L2H264TemporalLayerHWEncoding); #endif // BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_LINUX) MEDIA_EXPORT BASE_DECLARE_FEATURE(kVideoBlitColorAccuracy); -@@ -477,7 +489,7 @@ MEDIA_EXPORT BASE_DECLARE_FEATURE(kUseOutOfProcessVide +@@ -484,7 +496,7 @@ MEDIA_EXPORT BASE_DECLARE_FEATURE(kUseOutOfProcessVide MEDIA_EXPORT BASE_DECLARE_FEATURE(kUseSharedImageInOOPVDProcess); #endif // BUILDFLAG(ALLOW_OOP_VIDEO_DECODER) -#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) MEDIA_EXPORT BASE_DECLARE_FEATURE(kUseOutOfProcessVideoEncoding); #endif // BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) diff --git a/www/chromium/files/patch-media_ffmpeg_scripts_build__ffmpeg.py b/www/chromium/files/patch-media_ffmpeg_scripts_build__ffmpeg.py index fd43f83acc2f..8e897ef050ec 100644 --- a/www/chromium/files/patch-media_ffmpeg_scripts_build__ffmpeg.py +++ b/www/chromium/files/patch-media_ffmpeg_scripts_build__ffmpeg.py @@ -1,66 +1,74 @@ ---- media/ffmpeg/scripts/build_ffmpeg.py.orig 2026-05-07 17:02:56 UTC +--- media/ffmpeg/scripts/build_ffmpeg.py.orig 2026-08-12 09:02:10 UTC +++ media/ffmpeg/scripts/build_ffmpeg.py @@ -33,7 +33,7 @@ NDK_ROOT_DIR = os.path.abspath( SUCCESS_TOKEN = 'THIS_BUILD_WORKED' sys.path.append(os.path.join(CHROMIUM_ROOT_DIR, 'build')) -import gn_helpers +#import gn_helpers BRANDINGS = [ 'Chrome', @@ -43,6 +43,8 @@ BRANDINGS = [ ARCH_MAP = { 'android': ['ia32', 'x64', 'arm-neon', 'arm64'], 'linux': ['ia32', 'x64', 'noasm-x64', 'arm-neon', 'arm64', 'riscv64'], + 'openbsd': ['x64', 'arm64', 'ia32'], + 'freebsd': ['x64', 'arm64', 'ia32'], 'mac': ['x64', 'arm64'], 'win': ['ia32', 'x64', 'arm64'], } @@ -124,7 +126,7 @@ def PrintAndCheckCall(argv, *args, **kwargs): def GetDsoName(target_os, dso_name, dso_version): - if target_os in ('linux', 'linux-noasm', 'android'): + if target_os in ('linux', 'linux-noasm', 'android', 'openbsd', 'freebsd'): return 'lib%s.so.%s' % (dso_name, dso_version) elif target_os == 'mac': return 'lib%s.%s.dylib' % (dso_name, dso_version) @@ -475,7 +477,7 @@ def BuildFFmpeg(target_os, target_arch, host_os, host_ # removing soon, so this is needed to silence a deprecation # #warning which will be converted to an error via -Werror. # There is also no prctl.h - if target_os in ['linux', 'linux-noasm']: + if target_os in ['linux', 'linux-noasm', 'openbsd', 'freebsd']: pre_make_rewrites += [ (r'(#define HAVE_SYSCTL [01])', r'#define HAVE_SYSCTL 0 /* \1 -- forced to 0 for Fuchsia */'), -@@ -598,7 +600,7 @@ def main(argv): +@@ -604,7 +606,7 @@ def main(argv): configure_args = args[2:] if target_os not in ('android', 'linux', 'linux-noasm', 'mac', 'win', - 'all'): + 'all', 'openbsd', 'freebsd'): parser.print_help() return 1 -@@ -712,7 +714,7 @@ def ConfigureAndBuild(target_arch, target_os, host_os, +@@ -678,7 +680,6 @@ def ConfigureAndBuild(target_arch, target_os, host_os, + '--disable-faan', + '--disable-alsa', + '--disable-iamf', +- '--disable-checkasm', + + + # Disable automatically detected external libraries. This prevents +@@ -720,7 +721,7 @@ def ConfigureAndBuild(target_arch, target_os, host_os, '--optflags="-O2"', ]) - if target_os in ('linux', 'linux-noasm', 'android'): + if target_os in ('linux', 'linux-noasm', 'android', 'openbsd', 'freebsd'): if target_arch == 'x64': if target_os == 'android': configure_flags['Common'].extend([ -@@ -808,9 +810,6 @@ def ConfigureAndBuild(target_arch, target_os, host_os, +@@ -816,9 +817,6 @@ def ConfigureAndBuild(target_arch, target_os, host_os, configure_flags['Common'].extend([ '--target-os=linux', - '--sysroot=' + - os.path.join(CHROMIUM_ROOT_DIR, - 'build/linux/debian_bullseye_arm64-sysroot'), # See crbug.com/1467681. These could be removed eventually '--disable-dotprod', '--disable-i8mm', diff --git a/www/chromium/files/patch-media_gpu_chromeos_video__decoder__pipeline.cc b/www/chromium/files/patch-media_gpu_chromeos_video__decoder__pipeline.cc index 3ed8822d9413..41d8d9b02e34 100644 --- a/www/chromium/files/patch-media_gpu_chromeos_video__decoder__pipeline.cc +++ b/www/chromium/files/patch-media_gpu_chromeos_video__decoder__pipeline.cc @@ -1,29 +1,38 @@ ---- media/gpu/chromeos/video_decoder_pipeline.cc.orig 2026-03-13 06:02:14 UTC +--- media/gpu/chromeos/video_decoder_pipeline.cc.orig 2026-08-12 09:02:10 UTC +++ media/gpu/chromeos/video_decoder_pipeline.cc -@@ -1134,7 +1134,7 @@ VideoDecoderPipeline::PickDecoderOutputFormat( +@@ -682,7 +682,7 @@ void VideoDecoderPipeline::InitializeTask(const VideoD + &OOPVideoDecoder::GetOriginalFrame, + base::Unretained(static_cast(decoder_.get()))); + } else { +-#if BUILDFLAG(IS_LINUX) && BUILDFLAG(USE_V4L2_CODEC) ++#if (BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)) && BUILDFLAG(USE_V4L2_CODEC) + if (!main_frame_pool_) { + get_original_frame_cb = base::NullCallback(); + } else +@@ -1141,7 +1141,7 @@ VideoDecoderPipeline::PickDecoderOutputFormat( } #endif -#if BUILDFLAG(IS_LINUX) && BUILDFLAG(USE_VAAPI) +#if (BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)) && BUILDFLAG(USE_VAAPI) // Linux should always use a custom allocator (to allocate buffers using // libva) and a PlatformVideoFramePool. CHECK(allocator.has_value()); -@@ -1143,7 +1143,7 @@ VideoDecoderPipeline::PickDecoderOutputFormat( +@@ -1150,7 +1150,7 @@ VideoDecoderPipeline::PickDecoderOutputFormat( // VideoFrame::StorageType of VideoFrame::STORAGE_DMABUFS. main_frame_pool_->AsPlatformVideoFramePool()->SetCustomFrameAllocator( *allocator, VideoFrame::STORAGE_DMABUFS); -#elif BUILDFLAG(IS_LINUX) && BUILDFLAG(USE_V4L2_CODEC) +#elif (BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)) && BUILDFLAG(USE_V4L2_CODEC) // Linux w/ V4L2 should not use a custom allocator // Only tested with video_decode_accelerator_tests // TODO(wenst@) Test with full Chromium Browser -@@ -1317,7 +1317,7 @@ VideoDecoderPipeline::PickDecoderOutputFormat( +@@ -1324,7 +1324,7 @@ VideoDecoderPipeline::PickDecoderOutputFormat( << " VideoFrames"; auxiliary_frame_pool_->set_parent_task_runner(decoder_task_runner_); -#if BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) // The custom allocator creates frames backed by NativePixmap, which uses a // VideoFrame::StorageType of VideoFrame::STORAGE_DMABUFS. auxiliary_frame_pool_->AsPlatformVideoFramePool()->SetCustomFrameAllocator( diff --git a/www/chromium/files/patch-media_gpu_v4l2_v4l2__utils.cc b/www/chromium/files/patch-media_gpu_v4l2_v4l2__utils.cc index 6577a520b3e8..02eef51a8f1f 100644 --- a/www/chromium/files/patch-media_gpu_v4l2_v4l2__utils.cc +++ b/www/chromium/files/patch-media_gpu_v4l2_v4l2__utils.cc @@ -1,20 +1,20 @@ ---- media/gpu/v4l2/v4l2_utils.cc.orig 2026-05-07 17:02:56 UTC +--- media/gpu/v4l2/v4l2_utils.cc.orig 2026-08-12 09:02:10 UTC +++ media/gpu/v4l2/v4l2_utils.cc @@ -15,7 +15,7 @@ #include "base/compiler_specific.h" -#if BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) #include #endif @@ -240,7 +240,7 @@ std::optional V4L2FormatToVideoFrame } const VideoPixelFormat video_format = video_fourcc->ToVideoPixelFormat(); uint64_t modifiers = gfx::NativePixmapHandle::kNoModifier; -#if BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) if (video_fourcc == Fourcc(Fourcc::MM21)) { modifiers = DRM_FORMAT_MOD_MTK_16L_32S_TILE; - } + } else { diff --git a/www/chromium/files/patch-media_gpu_vaapi_vaapi__video__decoder.cc b/www/chromium/files/patch-media_gpu_vaapi_vaapi__video__decoder.cc index 8b451c250f65..53d3b77e8c8e 100644 --- a/www/chromium/files/patch-media_gpu_vaapi_vaapi__video__decoder.cc +++ b/www/chromium/files/patch-media_gpu_vaapi_vaapi__video__decoder.cc @@ -1,11 +1,11 @@ ---- media/gpu/vaapi/vaapi_video_decoder.cc.orig 2026-07-01 06:24:19 UTC +--- media/gpu/vaapi/vaapi_video_decoder.cc.orig 2026-08-12 09:02:10 UTC +++ media/gpu/vaapi/vaapi_video_decoder.cc -@@ -798,7 +798,7 @@ void VaapiVideoDecoder::ApplyResolutionChangeWithScree +@@ -800,7 +800,7 @@ void VaapiVideoDecoder::ApplyResolutionChangeWithScree const gfx::Size decoder_natural_size = aspect_ratio_.GetNaturalSize(decoder_visible_rect); -#if BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) std::optional allocator = base::BindRepeating(&AllocateCustomFrameProxy, weak_this_); std::vector candidates = { diff --git a/www/chromium/files/patch-media_media__options.gni b/www/chromium/files/patch-media_media__options.gni index 3692470d098f..4ca47f2459b0 100644 --- a/www/chromium/files/patch-media_media__options.gni +++ b/www/chromium/files/patch-media_media__options.gni @@ -1,19 +1,19 @@ ---- media/media_options.gni.orig 2026-07-01 06:24:19 UTC +--- media/media_options.gni.orig 2026-08-12 09:02:10 UTC +++ media/media_options.gni -@@ -209,12 +209,15 @@ declare_args() { +@@ -217,12 +217,15 @@ declare_args() { # Enables runtime selection of ALSA library for audio. use_alsa = false + # Enable runtime selection of sndio(7) + use_sndio = false + # Alsa should be used on all non-Android, non-Mac POSIX systems - with the # exception of CastOS desktop builds. # # TODO(crbug.com/1336055): Remove legacy target_cpu hack used for targeting # desktop Chromecast builds. - if (is_posix && !is_android && !is_apple && + if (is_posix && !is_android && !is_apple && !is_bsd && (!is_castos || (target_cpu == "x86" || target_cpu == "x64"))) { use_alsa = true diff --git a/www/chromium/files/patch-media_mojo_mojom_BUILD.gn b/www/chromium/files/patch-media_mojo_mojom_BUILD.gn index cf39b802b6ea..610ea62a5fa2 100644 --- a/www/chromium/files/patch-media_mojo_mojom_BUILD.gn +++ b/www/chromium/files/patch-media_mojo_mojom_BUILD.gn @@ -1,11 +1,11 @@ ---- media/mojo/mojom/BUILD.gn.orig 2026-07-01 06:24:19 UTC +--- media/mojo/mojom/BUILD.gn.orig 2026-08-12 09:02:10 UTC +++ media/mojo/mojom/BUILD.gn -@@ -1072,7 +1072,7 @@ source_set("test_support") { +@@ -1101,7 +1101,7 @@ source_set("test_support") { sources = [] deps = [] - if (is_linux || is_chromeos) { + if (!is_bsd && (is_linux || is_chromeos)) { sources += [ "buffer_handle_test_util.cc", "buffer_handle_test_util.h", diff --git a/www/chromium/files/patch-media_mojo_mojom_video__frame__mojom__traits.cc b/www/chromium/files/patch-media_mojo_mojom_video__frame__mojom__traits.cc index dbb8bb32c957..9d29adc547b3 100644 --- a/www/chromium/files/patch-media_mojo_mojom_video__frame__mojom__traits.cc +++ b/www/chromium/files/patch-media_mojo_mojom_video__frame__mojom__traits.cc @@ -1,47 +1,47 @@ ---- media/mojo/mojom/video_frame_mojom_traits.cc.orig 2026-07-01 06:24:19 UTC +--- media/mojo/mojom/video_frame_mojom_traits.cc.orig 2026-08-12 09:02:10 UTC +++ media/mojo/mojom/video_frame_mojom_traits.cc -@@ -23,7 +23,7 @@ +@@ -24,7 +24,7 @@ #include "ui/gfx/mojom/color_space_mojom_traits.h" #include "ui/gfx/mojom/hdr_metadata_mojom_traits.h" -#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) #include "base/posix/eintr_wrapper.h" #include "media/gpu/buffer_validation.h" #endif // BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) -@@ -144,7 +144,7 @@ media::mojom::VideoFrameDataPtr MakeVideoFrameData( +@@ -145,7 +145,7 @@ media::mojom::VideoFrameDataPtr MakeVideoFrameData( media::mojom::OpaqueVideoFrameData::New()); } -#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) if (input->storage_type() == media::VideoFrame::STORAGE_DMABUFS) { // Duplicates the DMA buffer FDs to a new vector since this cannot take // ownership of the FDs in |input| due to constness. -@@ -175,7 +175,7 @@ media::mojom::VideoFrameDataPtr MakeVideoFrameData( +@@ -189,7 +189,7 @@ std::string PlanesToString(const std::vector= kChannelMessageAlignment, ""); +#endif Channel::AlignedBuffer MakeAlignedBuffer(size_t size) { // Generic allocators (such as malloc) return a pointer that is suitably // aligned for storing any type of object with a fundamental alignment @@ -268,7 +272,7 @@ bool ShouldRecordSubsampledHistograms() { } // namespace #if BUILDFLAG(IS_ANDROID) || \ - (BUILDFLAG(IS_LINUX) && defined(FUZZING_BUILD_MODE_UNSAFE_FOR_PRODUCTION)) + ((BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)) && defined(FUZZING_BUILD_MODE_UNSAFE_FOR_PRODUCTION)) namespace { -@@ -1317,7 +1321,7 @@ bool Channel::OnControlMessage(Message::MessageType me +@@ -1316,7 +1320,7 @@ bool Channel::OnControlMessage(Message::MessageType me } // Currently only CrOs, Linux, and Android support upgrades. -#if !(BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_ANDROID)) +#if !(BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_ANDROID) || BUILDFLAG(IS_BSD)) // static MOJO_SYSTEM_IMPL_EXPORT bool Channel::SupportsChannelUpgrade() { return false; diff --git a/www/chromium/files/patch-mojo_core_channel__posix.cc b/www/chromium/files/patch-mojo_core_channel__posix.cc index 7a24cb53aa15..1a8ddccb0e89 100644 --- a/www/chromium/files/patch-mojo_core_channel__posix.cc +++ b/www/chromium/files/patch-mojo_core_channel__posix.cc @@ -1,16 +1,16 @@ ---- mojo/core/channel_posix.cc.orig 2026-07-01 06:24:19 UTC +--- mojo/core/channel_posix.cc.orig 2026-08-12 09:02:10 UTC +++ mojo/core/channel_posix.cc -@@ -622,6 +622,13 @@ void Channel::OfferChannelUpgrade() { +@@ -627,6 +627,13 @@ void Channel::OfferChannelUpgrade() { } static_cast(this)->OfferSharedMemUpgrade(); } +#elif BUILDFLAG(IS_BSD) +// static +bool Channel::SupportsChannelUpgrade() { + return false; +} +void Channel::OfferChannelUpgrade() { +} #endif // BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || // BUILDFLAG(IS_ANDROID) diff --git a/www/chromium/files/patch-mojo_public_tools_bindings_mojom.gni b/www/chromium/files/patch-mojo_public_tools_bindings_mojom.gni index 926ce06cd4a4..af95c071e902 100644 --- a/www/chromium/files/patch-mojo_public_tools_bindings_mojom.gni +++ b/www/chromium/files/patch-mojo_public_tools_bindings_mojom.gni @@ -1,19 +1,19 @@ ---- mojo/public/tools/bindings/mojom.gni.orig 2026-05-07 17:02:56 UTC +--- mojo/public/tools/bindings/mojom.gni.orig 2026-08-12 09:02:10 UTC +++ mojo/public/tools/bindings/mojom.gni -@@ -750,6 +750,16 @@ template("mojom") { +@@ -751,6 +751,16 @@ template("mojom") { enabled_features += [ "is_apple" ] } + if (is_openbsd) { + enabled_features += [ "is_openbsd" ] + enabled_features += [ "is_bsd" ] + } + + if (is_freebsd) { + enabled_features += [ "is_freebsd" ] + enabled_features += [ "is_bsd" ] + } + action_outputs = [] foreach(base_path, output_file_base_paths) { filename = get_path_info(base_path, "file") diff --git a/www/chromium/files/patch-net_BUILD.gn b/www/chromium/files/patch-net_BUILD.gn index 2ad7268997ab..7338bf02c664 100644 --- a/www/chromium/files/patch-net_BUILD.gn +++ b/www/chromium/files/patch-net_BUILD.gn @@ -1,95 +1,95 @@ ---- net/BUILD.gn.orig 2026-07-01 06:24:19 UTC +--- net/BUILD.gn.orig 2026-08-12 09:02:10 UTC +++ net/BUILD.gn @@ -115,7 +115,7 @@ net_configs = [ "//build/config/compiler:wexit_time_destructors", ] -if (is_linux || is_chromeos) { +if ((is_linux || is_chromeos) && !is_bsd) { net_configs += [ "//build/config/linux:libresolv" ] } -@@ -1416,6 +1416,19 @@ component("net") { +@@ -1420,6 +1420,19 @@ component("net") { ] } + if (is_bsd) { + sources -= [ + "base/address_map_cache_linux.cc", + "base/address_map_cache_linux.h", + "base/address_map_linux.cc", + "base/address_map_linux.h", + "base/address_tracker_linux.cc", + "base/address_tracker_linux.h", + "base/network_change_notifier_linux.cc", + "base/network_interfaces_linux.cc", + ] + } + if (is_mac) { sources += [ "base/network_notification_thread_mac.cc", -@@ -1590,7 +1603,7 @@ component("net") { +@@ -1594,7 +1607,7 @@ component("net") { } # Use getifaddrs() on POSIX platforms, except Linux. - if (is_posix && !is_linux && !is_chromeos) { + if ((is_posix && !is_linux && !is_chromeos) || is_bsd) { sources += [ "base/network_interfaces_getifaddrs.cc", "base/network_interfaces_getifaddrs.h", -@@ -2351,7 +2364,7 @@ static_library("test_support") { +@@ -2361,7 +2374,7 @@ static_library("test_support") { ] } - if (is_linux || is_chromeos || is_android) { + if (!is_bsd && (is_linux || is_chromeos || is_android)) { sources += [ "base/address_tracker_linux_test_util.cc", "base/address_tracker_linux_test_util.h", -@@ -3190,14 +3203,14 @@ target(_test_target_type, "net_unittests") { +@@ -3203,14 +3216,14 @@ target(_test_target_type, "net_unittests") { ] } - if (is_linux) { + if (is_linux && !is_bsd) { sources += [ "base/network_change_notifier_linux_unittest.cc", "proxy_resolution/proxy_config_service_linux_unittest.cc", ] } - if (is_linux || is_chromeos) { + if ((is_linux || is_chromeos) && !is_bsd) { sources += [ "base/address_tracker_linux_unittest.cc", "base/network_interfaces_linux_unittest.cc", -@@ -3318,6 +3331,10 @@ target(_test_target_type, "net_unittests") { +@@ -3335,6 +3348,10 @@ target(_test_target_type, "net_unittests") { ] } + if (is_bsd) { + deps += [ "//sandbox/policy" ] + } + if (enable_websockets) { sources += [ "server/http_connection_unittest.cc", -@@ -3375,7 +3392,7 @@ target(_test_target_type, "net_unittests") { +@@ -3393,7 +3410,7 @@ target(_test_target_type, "net_unittests") { ] data_deps = [ "//testing/buildbot/filters:net_unittests_filters" ] - if (is_linux || is_chromeos) { + if ((is_linux || is_chromeos) && !is_bsd) { sources += [ "tools/quic/quic_simple_server_test.cc" ] } -@@ -3508,7 +3525,7 @@ target(_test_target_type, "net_unittests") { +@@ -3526,7 +3543,7 @@ target(_test_target_type, "net_unittests") { } # Use getifaddrs() on POSIX platforms, except Linux. - if (is_posix && !is_linux && !is_chromeos) { + if (is_posix && !is_linux && !is_chromeos && !is_bsd) { sources += [ "base/network_interfaces_getifaddrs_unittest.cc" ] } diff --git a/www/chromium/files/patch-net_base_features.cc b/www/chromium/files/patch-net_base_features.cc index b92b37fb9d03..215f47976c3e 100644 --- a/www/chromium/files/patch-net_base_features.cc +++ b/www/chromium/files/patch-net_base_features.cc @@ -1,29 +1,29 @@ ---- net/base/features.cc.orig 2026-07-01 06:24:19 UTC +--- net/base/features.cc.orig 2026-08-12 09:02:10 UTC +++ net/base/features.cc -@@ -40,7 +40,7 @@ BASE_FEATURE(kCapReferrerToOriginOnCrossOrigin, +@@ -41,7 +41,7 @@ BASE_FEATURE(kDeriveConnectionTypeFromCapabilities, BASE_FEATURE(kAsyncDns, #if BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_ANDROID) || \ - BUILDFLAG(IS_WIN) || BUILDFLAG(IS_LINUX) + BUILDFLAG(IS_WIN) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) base::FEATURE_ENABLED_BY_DEFAULT #else base::FEATURE_DISABLED_BY_DEFAULT -@@ -314,7 +314,7 @@ inline constexpr auto kMigrateSessionsOnNetworkChangeV +@@ -321,7 +321,7 @@ inline constexpr auto kMigrateSessionsOnNetworkChangeV BASE_FEATURE(kMigrateSessionsOnNetworkChangeV2, kMigrateSessionsOnNetworkChangeV2Default); -#if BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) BASE_FEATURE(kAddressTrackerLinuxIsProxied, base::FEATURE_ENABLED_BY_DEFAULT); #endif // BUILDFLAG(IS_LINUX) -@@ -426,7 +426,7 @@ BASE_FEATURE(kReportingApiEnableEnterpriseCookieIssues +@@ -433,7 +433,7 @@ BASE_FEATURE(kReportingApiEnableEnterpriseCookieIssues base::FEATURE_DISABLED_BY_DEFAULT); BASE_FEATURE(kSimdutfBase64Support, -#if BUILDFLAG(IS_MAC) || BUILDFLAG(IS_WIN) || BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_MAC) || BUILDFLAG(IS_WIN) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) base::FEATURE_ENABLED_BY_DEFAULT #else base::FEATURE_DISABLED_BY_DEFAULT diff --git a/www/chromium/files/patch-net_dns_address__sorter__posix.cc b/www/chromium/files/patch-net_dns_address__sorter__posix.cc index 571c063ca358..f7f36f09ccc2 100644 --- a/www/chromium/files/patch-net_dns_address__sorter__posix.cc +++ b/www/chromium/files/patch-net_dns_address__sorter__posix.cc @@ -1,10 +1,10 @@ ---- net/dns/address_sorter_posix.cc.orig 2026-01-14 08:33:23 UTC +--- net/dns/address_sorter_posix.cc.orig 2026-08-12 09:02:10 UTC +++ net/dns/address_sorter_posix.cc -@@ -29,6 +29,7 @@ +@@ -27,6 +27,7 @@ #include "net/dns/netinet_in_var_ios.h" #else #include +#include #endif // BUILDFLAG(IS_IOS) #endif - #include + diff --git a/www/chromium/files/patch-net_dns_dns__util.cc b/www/chromium/files/patch-net_dns_dns__util.cc index 25b9eea25eeb..08921b9341f8 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 2026-05-07 17:02:56 UTC +--- net/dns/dns_util.cc.orig 2026-08-12 09:02:10 UTC +++ net/dns/dns_util.cc @@ -27,6 +27,8 @@ - #include "net/dns/public/util.h" #include "net/third_party/uri_template/uri_template.h" + #include "third_party/abseil-cpp/absl/container/flat_hash_map.h" +#include + #if BUILDFLAG(IS_POSIX) #include #include diff --git a/www/chromium/files/patch-net_http_http__auth__handler__negotiate.cc b/www/chromium/files/patch-net_http_http__auth__handler__negotiate.cc index 75f5237f219a..e74aab6cab94 100644 --- a/www/chromium/files/patch-net_http_http__auth__handler__negotiate.cc +++ b/www/chromium/files/patch-net_http_http__auth__handler__negotiate.cc @@ -1,11 +1,11 @@ ---- net/http/http_auth_handler_negotiate.cc.orig 2025-04-04 08:52:13 UTC +--- net/http/http_auth_handler_negotiate.cc.orig 2026-08-12 09:02:10 UTC +++ net/http/http_auth_handler_negotiate.cc -@@ -119,7 +119,7 @@ int HttpAuthHandlerNegotiate::Factory::CreateAuthHandl +@@ -120,7 +120,7 @@ int HttpAuthHandlerNegotiate::Factory::CreateAuthHandl #elif BUILDFLAG(IS_POSIX) if (is_unsupported_) return ERR_UNSUPPORTED_AUTH_SCHEME; -#if BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) // Note: Don't set is_unsupported_ = true here. AllowGssapiLibraryLoad() // might change to true during a session. if (!http_auth_preferences() || 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 806be5576198..3f04a2b17396 100644 --- a/www/chromium/files/patch-net_socket_udp__socket__posix.cc +++ b/www/chromium/files/patch-net_socket_udp__socket__posix.cc @@ -1,79 +1,126 @@ ---- net/socket/udp_socket_posix.cc.orig 2026-04-09 06:05:42 UTC +--- net/socket/udp_socket_posix.cc.orig 2026-08-12 09:02:10 UTC +++ net/socket/udp_socket_posix.cc -@@ -135,7 +135,7 @@ uint32_t GetInterfaceForDestination(const IPAddress& d +@@ -77,6 +77,10 @@ + #include "base/mac/mac_util.h" + #endif // BUILDFLAG(IS_MAC) + ++#if !defined(CMSG_ALIGN) ++#define CMSG_ALIGN(n) _ALIGN(n) ++#endif ++ + namespace net { + + namespace { +@@ -84,7 +88,7 @@ namespace { + constexpr int kBindRetries = 10; + constexpr int kPortStart = 1024; + constexpr int kPortEnd = 65535; +-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_ANDROID) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_ANDROID) || BUILDFLAG(IS_BSD) + // Maximum number of UDP packets that can be read at a time from recvmmsg. + constexpr size_t kMaxMmsgMessages = 128; + #endif +@@ -181,7 +185,7 @@ uint32_t GetInterfaceForDestination(const IPAddress& d } #endif // BUILDFLAG(IS_MAC) -#if !BUILDFLAG(IS_ANDROID) && !BUILDFLAG(IS_IOS) && !BUILDFLAG(IS_FUCHSIA) +#if !BUILDFLAG(IS_ANDROID) && !BUILDFLAG(IS_IOS) && !BUILDFLAG(IS_FUCHSIA) && !BUILDFLAG(IS_BSD) // Helper for IPv4 SSM. Sets sin_len on macOS, no-op on Linux. group_source_req CreateIPv4SourceGroupRequest(const IPAddress& group_address, const IPAddress& source_address, -@@ -674,12 +674,17 @@ int UDPSocketPosix::SetRecvTos() { +@@ -495,7 +499,7 @@ base::expected UDPSocketPosi + CHECK_GT(maximum_packet_size, 0u); + CHECK_GE(buf_len, maximum_packet_size); + +-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_ANDROID) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_ANDROID) || BUILDFLAG(IS_BSD) + base::expected nread = + InternalReadMultiple(buffer, buf_len, maximum_packet_size); + if (nread.has_value() || nread.error() != ERR_IO_PENDING) { +@@ -777,12 +781,17 @@ int UDPSocketPosix::SetRecvTos() { #endif // BUILDFLAG(IS_APPLE) } +#ifdef IP_RECVTOS int rv = setsockopt(socket_, IPPROTO_IP, IP_RECVTOS, &ecn, sizeof(ecn)); +#else + int rv = -1; + errno = EOPNOTSUPP; +#endif return rv == 0 ? OK : MapSystemError(errno); } void UDPSocketPosix::SetMsgConfirm(bool confirm) { -#if !BUILDFLAG(IS_APPLE) +#if !BUILDFLAG(IS_APPLE) && !BUILDFLAG(IS_BSD) if (confirm) { sendto_flags_ |= MSG_CONFIRM; } else { -@@ -700,7 +705,7 @@ int UDPSocketPosix::SetBroadcast(bool broadcast) { +@@ -803,7 +812,7 @@ int UDPSocketPosix::SetBroadcast(bool broadcast) { DCHECK_CALLED_ON_VALID_THREAD(thread_checker_); int value = broadcast ? 1 : 0; int rv; -#if BUILDFLAG(IS_APPLE) +#if BUILDFLAG(IS_APPLE) || BUILDFLAG(IS_BSD) // SO_REUSEPORT on OSX permits multiple processes to each receive // UDP multicast or broadcast datagrams destined for the bound // port. -@@ -1074,7 +1079,7 @@ int UDPSocketPosix::DoBind(const IPEndPoint& address) +@@ -1011,7 +1020,7 @@ base::expected UDPSocketPosi + // This read API currently only supports connected UDP sockets. + CHECK(is_connected_); + CHECK(remote_address_); +-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_ANDROID) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_ANDROID) || BUILDFLAG(IS_BSD) + return InternalRecvMmsg(buffer, buf_len / maximum_packet_size, + maximum_packet_size); + #else +@@ -1019,7 +1028,7 @@ base::expected UDPSocketPosi + #endif + } + +-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_ANDROID) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_ANDROID) || BUILDFLAG(IS_BSD) + base::expected UDPSocketPosix::InternalRecvMmsg( + IOBuffer* buffer, + size_t num_messages, +@@ -1315,7 +1324,7 @@ int UDPSocketPosix::DoBind(const IPEndPoint& address) #if BUILDFLAG(IS_CHROMEOS) if (last_error == EINVAL) return ERR_ADDRESS_IN_USE; -#elif BUILDFLAG(IS_APPLE) +#elif BUILDFLAG(IS_APPLE) || BUILDFLAG(IS_BSD) if (last_error == EADDRNOTAVAIL) return ERR_ADDRESS_IN_USE; #endif -@@ -1174,7 +1179,7 @@ int UDPSocketPosix::LeaveGroup(const IPAddress& group_ +@@ -1415,7 +1424,7 @@ int UDPSocketPosix::LeaveGroup(const IPAddress& group_ int UDPSocketPosix::SetSourceGroupMembership(const IPAddress& group_address, const IPAddress& source_address, int option) const { -#if BUILDFLAG(IS_ANDROID) || BUILDFLAG(IS_IOS) || BUILDFLAG(IS_FUCHSIA) +#if BUILDFLAG(IS_ANDROID) || BUILDFLAG(IS_IOS) || BUILDFLAG(IS_FUCHSIA) || BUILDFLAG(IS_BSD) return ERR_NOT_IMPLEMENTED; #else uint32_t interface_index = multicast_interface_; -@@ -1200,6 +1205,10 @@ int UDPSocketPosix::SetSourceGroupMembership(const IPA +@@ -1441,6 +1450,10 @@ int UDPSocketPosix::SetSourceGroupMembership(const IPA #endif } +#if !defined(MCAST_JOIN_SOURCE_GROUP) +#define MCAST_JOIN_SOURCE_GROUP 0 +#endif + int UDPSocketPosix::JoinSourceGroup(const IPAddress& group_address, const IPAddress& source_address) const { DCHECK_CALLED_ON_VALID_THREAD(thread_checker_); -@@ -1215,6 +1224,10 @@ int UDPSocketPosix::JoinSourceGroup(const IPAddress& g +@@ -1456,6 +1469,10 @@ int UDPSocketPosix::JoinSourceGroup(const IPAddress& g return SetSourceGroupMembership(group_address, source_address, MCAST_JOIN_SOURCE_GROUP); } + +#if !defined(MCAST_LEAVE_SOURCE_GROUP) +#define MCAST_LEAVE_SOURCE_GROUP 0 +#endif int UDPSocketPosix::LeaveSourceGroup(const IPAddress& group_address, const IPAddress& source_address) const { diff --git a/www/chromium/files/patch-net_socket_udp__socket__posix.h b/www/chromium/files/patch-net_socket_udp__socket__posix.h new file mode 100644 index 000000000000..27538be14510 --- /dev/null +++ b/www/chromium/files/patch-net_socket_udp__socket__posix.h @@ -0,0 +1,11 @@ +--- net/socket/udp_socket_posix.h.orig 2026-08-12 09:02:10 UTC ++++ net/socket/udp_socket_posix.h +@@ -409,7 +409,7 @@ class NET_EXPORT UDPSocketPosix { + size_t buf_len, + size_t maximum_packet_size); + // recvmmsg() is only available on Linux, ChromeOS, and Android. +-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_ANDROID) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_ANDROID) || BUILDFLAG(IS_BSD) + base::expected InternalRecvMmsg( + IOBuffer* buffer, + size_t num_messages, diff --git a/www/chromium/files/patch-net_socket_udp__socket__unittest.cc b/www/chromium/files/patch-net_socket_udp__socket__unittest.cc index bcdf451bd441..f82ac726f3f2 100644 --- a/www/chromium/files/patch-net_socket_udp__socket__unittest.cc +++ b/www/chromium/files/patch-net_socket_udp__socket__unittest.cc @@ -1,47 +1,47 @@ ---- net/socket/udp_socket_unittest.cc.orig 2026-04-09 06:05:42 UTC +--- net/socket/udp_socket_unittest.cc.orig 2026-08-12 09:02:10 UTC +++ net/socket/udp_socket_unittest.cc -@@ -409,7 +409,7 @@ TEST_F(UDPSocketTest, PartialRecv) { +@@ -455,7 +455,7 @@ TEST_F(UDPSocketTest, PartialRecv) { EXPECT_EQ(second_packet, received); } -#if BUILDFLAG(IS_APPLE) || BUILDFLAG(IS_ANDROID) +#if BUILDFLAG(IS_APPLE) || BUILDFLAG(IS_ANDROID) || BUILDFLAG(IS_BSD) // - MacOS: requires root permissions on OSX 10.7+. // - Android: devices attached to testbots don't have default network, so // broadcasting to 255.255.255.255 returns error -109 (Address not reachable). -@@ -720,7 +720,7 @@ TEST_F(UDPSocketTest, ClientSetDoNotFragment) { +@@ -767,7 +767,7 @@ TEST_F(UDPSocketTest, ClientSetDoNotFragment) { EXPECT_THAT(rv, IsOk()); rv = client.SetDoNotFragment(); -#if BUILDFLAG(IS_IOS) || BUILDFLAG(IS_FUCHSIA) +#if BUILDFLAG(IS_IOS) || BUILDFLAG(IS_FUCHSIA) || BUILDFLAG(IS_BSD) // TODO(crbug.com/42050633): IP_MTU_DISCOVER is not implemented on Fuchsia. EXPECT_THAT(rv, IsError(ERR_NOT_IMPLEMENTED)); #else -@@ -742,7 +742,7 @@ TEST_F(UDPSocketTest, ServerSetDoNotFragment) { +@@ -789,7 +789,7 @@ TEST_F(UDPSocketTest, ServerSetDoNotFragment) { EXPECT_THAT(rv, IsOk()); rv = server.SetDoNotFragment(); -#if BUILDFLAG(IS_IOS) || BUILDFLAG(IS_FUCHSIA) +#if BUILDFLAG(IS_IOS) || BUILDFLAG(IS_FUCHSIA) || BUILDFLAG(IS_BSD) // TODO(crbug.com/42050633): IP_MTU_DISCOVER is not implemented on Fuchsia. EXPECT_THAT(rv, IsError(ERR_NOT_IMPLEMENTED)); #else -@@ -808,7 +808,7 @@ TEST_F(UDPSocketTest, JoinMulticastGroup) { +@@ -855,7 +855,7 @@ TEST_F(UDPSocketTest, JoinMulticastGroup) { // TODO(crbug.com/40620614): failing on device on iOS 12.2. // TODO(crbug.com/40189274): flaky on Mac 11. -#if BUILDFLAG(IS_IOS) || BUILDFLAG(IS_MAC) +#if BUILDFLAG(IS_IOS) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_BSD) #define MAYBE_SharedMulticastAddress DISABLED_SharedMulticastAddress #else #define MAYBE_SharedMulticastAddress SharedMulticastAddress -@@ -859,7 +859,7 @@ TEST_F(UDPSocketTest, MAYBE_SharedMulticastAddress) { - NetLogSource()); +@@ -906,7 +906,7 @@ TEST_F(UDPSocketTest, MAYBE_SharedMulticastAddress) { + NetLogSource(), handles::kInvalidNetworkHandle); ASSERT_THAT(client_socket.Connect(send_address), IsOk()); -#if !BUILDFLAG(IS_CHROMEOS) +#if !BUILDFLAG(IS_CHROMEOS) && !BUILDFLAG(IS_BSD) // Send a message via the multicast group. That message is expected be be // received by both receving sockets. // diff --git a/www/chromium/files/patch-net_url__request_url__request__context__builder.cc b/www/chromium/files/patch-net_url__request_url__request__context__builder.cc index b545b7f6730b..14bdb0625b94 100644 --- a/www/chromium/files/patch-net_url__request_url__request__context__builder.cc +++ b/www/chromium/files/patch-net_url__request_url__request__context__builder.cc @@ -1,11 +1,11 @@ ---- net/url_request/url_request_context_builder.cc.orig 2026-06-04 10:12:25 UTC +--- net/url_request/url_request_context_builder.cc.orig 2026-08-12 09:02:10 UTC +++ net/url_request/url_request_context_builder.cc -@@ -448,7 +448,7 @@ std::unique_ptr URLRequestContextBu +@@ -454,7 +454,7 @@ std::unique_ptr URLRequestContextBu } if (!proxy_resolution_service_) { -#if !BUILDFLAG(IS_LINUX) && !BUILDFLAG(IS_CHROMEOS) && !BUILDFLAG(IS_ANDROID) +#if !BUILDFLAG(IS_LINUX) && !BUILDFLAG(IS_CHROMEOS) && !BUILDFLAG(IS_ANDROID) && !BUILDFLAG(IS_BSD) // TODO(willchan): Switch to using this code when // ProxyConfigService::CreateSystemProxyConfigService()'s // signature doesn't suck. diff --git a/www/chromium/files/patch-net_websockets_websocket__basic__stream__adapters__test.cc b/www/chromium/files/patch-net_websockets_websocket__basic__stream__adapters__test.cc index fa018d4bb43e..5f2e31959e65 100644 --- a/www/chromium/files/patch-net_websockets_websocket__basic__stream__adapters__test.cc +++ b/www/chromium/files/patch-net_websockets_websocket__basic__stream__adapters__test.cc @@ -1,15 +1,15 @@ ---- net/websockets/websocket_basic_stream_adapters_test.cc.orig 2026-07-01 06:24:19 UTC +--- net/websockets/websocket_basic_stream_adapters_test.cc.orig 2026-08-12 09:02:10 UTC +++ net/websockets/websocket_basic_stream_adapters_test.cc -@@ -1103,10 +1103,10 @@ TEST_F(WebSocketSpdyStreamAdapterTest, +@@ -1104,10 +1104,10 @@ TEST_F(WebSocketSpdyStreamAdapterTest, OnCloseOkShouldBeTranslatedToConnectionClose) { spdy::SpdySerializedFrame response_headers( spdy_util_.ConstructSpdyResponseHeaders(1, ResponseHeaders(), false)); - spdy::SpdySerializedFrame close( + spdy::SpdySerializedFrame test_close( spdy_util_.ConstructSpdyRstStream(1, spdy::ERROR_CODE_NO_ERROR)); MockRead reads[] = {CreateMockRead(response_headers, 1), - CreateMockRead(close, 2), MockRead(ASYNC, 0, 3)}; + CreateMockRead(test_close, 2), MockRead(ASYNC, 0, 3)}; spdy::SpdySerializedFrame request_headers(spdy_util_.ConstructSpdyHeaders( 1, RequestHeaders(), DEFAULT_PRIORITY, false)); MockWrite writes[] = {CreateMockWrite(request_headers, 0)}; diff --git a/www/chromium/files/patch-pdf_pdfium_pdfium__engine.cc b/www/chromium/files/patch-pdf_pdfium_pdfium__engine.cc index 3ccd4cda8861..b6ebfa7237aa 100644 --- a/www/chromium/files/patch-pdf_pdfium_pdfium__engine.cc +++ b/www/chromium/files/patch-pdf_pdfium_pdfium__engine.cc @@ -1,20 +1,20 @@ ---- pdf/pdfium/pdfium_engine.cc.orig 2026-07-01 06:24:19 UTC +--- pdf/pdfium/pdfium_engine.cc.orig 2026-08-12 09:02:10 UTC +++ pdf/pdfium/pdfium_engine.cc -@@ -130,7 +130,7 @@ +@@ -132,7 +132,7 @@ #include "ui/accessibility/ax_features.mojom-features.h" #endif -#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) #include "pdf/pdfium/pdfium_font_linux.h" #endif -@@ -797,7 +797,7 @@ void InitializeSDK(bool enable_v8, +@@ -786,7 +786,7 @@ void InitializeSDK(bool enable_v8, FPDF_InitLibraryWithConfig(&config); -#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) g_font_mapping_mode = font_mapping_mode; InitializeLinuxFontMapper(); #endif diff --git a/www/chromium/files/patch-printing_print__settings.h b/www/chromium/files/patch-printing_print__settings.h index afc2352693b3..4a08f290d960 100644 --- a/www/chromium/files/patch-printing_print__settings.h +++ b/www/chromium/files/patch-printing_print__settings.h @@ -1,47 +1,47 @@ ---- printing/print_settings.h.orig 2026-06-04 10:12:25 UTC +--- printing/print_settings.h.orig 2026-08-12 09:02:10 UTC +++ printing/print_settings.h @@ -25,7 +25,7 @@ #include "base/values.h" #endif -#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) #include #include "base/values.h" @@ -52,7 +52,7 @@ inline constexpr char kMacSystemPrintDialogDataPrintSe "print_settings"; #endif // BUILDFLAG(IS_MAC) -#if BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) // Used by PrintDialogGtk inline constexpr char kLinuxSystemPrintDialogDataPrinter[] = "printer_name"; inline constexpr char kLinuxSystemPrintDialogDataPrintSettings[] = @@ -112,7 +112,7 @@ class COMPONENT_EXPORT(PRINTING_SETTINGS) PrintSetting std::string vendor_id; }; -#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) using AdvancedSettings = std::map; #endif // BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) @@ -298,7 +298,7 @@ class COMPONENT_EXPORT(PRINTING_SETTINGS) PrintSetting pages_per_sheet_ = pages_per_sheet; } -#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) AdvancedSettings& advanced_settings() { return advanced_settings_; } const AdvancedSettings& advanced_settings() const { return advanced_settings_; -@@ -459,7 +459,7 @@ class COMPONENT_EXPORT(PRINTING_SETTINGS) PrintSetting +@@ -458,7 +458,7 @@ class COMPONENT_EXPORT(PRINTING_SETTINGS) PrintSetting // Number of pages per sheet. int pages_per_sheet_; -#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) // Advanced settings. AdvancedSettings advanced_settings_; #endif // BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) diff --git a/www/chromium/files/patch-remoting_base_crash_crashpad__database__manager.cc b/www/chromium/files/patch-remoting_base_crash_crashpad__database__manager.cc index b21ed777b313..4e03b0138508 100644 --- a/www/chromium/files/patch-remoting_base_crash_crashpad__database__manager.cc +++ b/www/chromium/files/patch-remoting_base_crash_crashpad__database__manager.cc @@ -1,47 +1,47 @@ ---- remoting/base/crash/crashpad_database_manager.cc.orig 2026-07-01 06:24:19 UTC +--- remoting/base/crash/crashpad_database_manager.cc.orig 2026-08-12 09:02:10 UTC +++ remoting/base/crash/crashpad_database_manager.cc @@ -24,7 +24,7 @@ #if BUILDFLAG(IS_WIN) #include "base/base_paths.h" #include "base/strings/utf_string_conversions.h" -#elif BUILDFLAG(IS_LINUX) +#elif BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) #include #include #include @@ -39,7 +39,7 @@ namespace remoting { namespace { -#if !BUILDFLAG(IS_LINUX) +#if !BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) const base::FilePath::CharType kChromotingCrashpadDatabasePath[] = FILE_PATH_LITERAL("crashpad"); #endif @@ -56,7 +56,7 @@ const size_t kMaxReportsToRetain = 20; // Maximum number of days to keep reports around in the local database. const size_t kMaxReportAgeDays = 7; -#if BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) inline base::FilePath GetDaemonProcessCrashpadDatabasePath() { return GetVarLibDir().Append("crashpad.daemon"); -@@ -131,7 +131,7 @@ base::FilePath GetCrashpadDatabasePath() { +@@ -138,7 +138,7 @@ base::FilePath GetCrashpadDatabasePath() { base::FilePath path; base::PathService::Get(base::BasePathKey::DIR_ASSETS, &path); return path.Append(kChromotingCrashpadDatabasePath); -#elif BUILDFLAG(IS_LINUX) +#elif BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) if (getuid() == 0) { return GetDaemonProcessCrashpadDatabasePath(); } -@@ -186,7 +186,7 @@ CrashpadDatabaseManager::CrashpadDatabaseManager(Logge +@@ -196,7 +196,7 @@ CrashpadDatabaseManager::CrashpadDatabaseManager(Logge CrashpadDatabaseManager::~CrashpadDatabaseManager() = default; bool CrashpadDatabaseManager::InitializeCrashpadDatabase() { -#if BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) SetupCrashpadDirectories(); #endif diff --git a/www/chromium/files/patch-remoting_base_username.h b/www/chromium/files/patch-remoting_base_username.h index 6ae44f905308..d58f43079951 100644 --- a/www/chromium/files/patch-remoting_base_username.h +++ b/www/chromium/files/patch-remoting_base_username.h @@ -1,11 +1,11 @@ ---- remoting/base/username.h.orig 2026-04-09 06:05:42 UTC +--- remoting/base/username.h.orig 2026-08-12 09:02:10 UTC +++ remoting/base/username.h @@ -16,7 +16,7 @@ namespace remoting { // error or if not implemented. std::string GetUsername(); -#if BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) // Returns the username that the network process is run as. base::cstring_view GetNetworkProcessUsername(); - #endif // BUILDFLAG(IS_LINUX) + diff --git a/www/chromium/files/patch-remoting_host_base_desktop__environment__options.cc b/www/chromium/files/patch-remoting_host_base_desktop__environment__options.cc index cd7cc2ce8002..e9be8ffeb87d 100644 --- a/www/chromium/files/patch-remoting_host_base_desktop__environment__options.cc +++ b/www/chromium/files/patch-remoting_host_base_desktop__environment__options.cc @@ -1,11 +1,11 @@ ---- remoting/host/base/desktop_environment_options.cc.orig 2025-05-05 10:57:53 UTC +--- remoting/host/base/desktop_environment_options.cc.orig 2026-08-12 09:02:10 UTC +++ remoting/host/base/desktop_environment_options.cc -@@ -109,7 +109,7 @@ bool DesktopEnvironmentOptions::capture_video_on_dedic +@@ -117,7 +117,7 @@ bool DesktopEnvironmentOptions::capture_video_on_dedic // TODO(joedow): Determine whether we can migrate additional platforms to // using the DesktopCaptureWrapper instead of the DesktopCaptureProxy. Then // clean up DesktopCapturerProxy::Core::CreateCapturer(). -#if BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) return capture_video_on_dedicated_thread_; #else return false; diff --git a/www/chromium/files/patch-remoting_host_base_switches.cc b/www/chromium/files/patch-remoting_host_base_switches.cc index bd254e0563ed..f7f7992c508d 100644 --- a/www/chromium/files/patch-remoting_host_base_switches.cc +++ b/www/chromium/files/patch-remoting_host_base_switches.cc @@ -1,18 +1,18 @@ ---- remoting/host/base/switches.cc.orig 2026-05-07 17:02:56 UTC +--- remoting/host/base/switches.cc.orig 2026-08-12 09:02:10 UTC +++ remoting/host/base/switches.cc -@@ -24,13 +24,13 @@ const char kProcessTypeEvaluateCapability[] = "evaluat +@@ -25,13 +25,13 @@ const char kProcessTypeEvaluateCapability[] = "evaluat const char kProcessTypeFileChooser[] = "file_chooser"; const char kProcessTypeUrlForwarderConfigurator[] = "url_forwarder_configurator"; -#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) const char kProcessTypeXSessionChooser[] = "xsession_chooser"; #endif // BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) const char kEvaluateCapabilitySwitchName[] = "evaluate-type"; -#if BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) const char kEnableWtmpdb[] = "enable-wtmpdb"; #endif diff --git a/www/chromium/files/patch-remoting_host_base_switches.h b/www/chromium/files/patch-remoting_host_base_switches.h index e527a860cfa4..6483d48dc8ef 100644 --- a/www/chromium/files/patch-remoting_host_base_switches.h +++ b/www/chromium/files/patch-remoting_host_base_switches.h @@ -1,18 +1,18 @@ ---- remoting/host/base/switches.h.orig 2026-05-07 17:02:56 UTC +--- remoting/host/base/switches.h.orig 2026-08-12 09:02:10 UTC +++ remoting/host/base/switches.h -@@ -36,13 +36,13 @@ extern const char kProcessTypeRdpDesktopSession[]; +@@ -37,13 +37,13 @@ extern const char kProcessTypeRdpDesktopSession[]; extern const char kProcessTypeEvaluateCapability[]; extern const char kProcessTypeFileChooser[]; extern const char kProcessTypeUrlForwarderConfigurator[]; -#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) extern const char kProcessTypeXSessionChooser[]; #endif // BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) extern const char kEvaluateCapabilitySwitchName[]; -#if BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) // Used to record client sessions to wtmpd. extern const char kEnableWtmpdb[]; #endif diff --git a/www/chromium/files/patch-remoting_host_client__session.cc b/www/chromium/files/patch-remoting_host_client__session.cc index 31179ca2ba66..0c667b282aaa 100644 --- a/www/chromium/files/patch-remoting_host_client__session.cc +++ b/www/chromium/files/patch-remoting_host_client__session.cc @@ -1,11 +1,11 @@ ---- remoting/host/client_session.cc.orig 2026-07-01 06:24:19 UTC +--- remoting/host/client_session.cc.orig 2026-08-12 09:02:10 UTC +++ remoting/host/client_session.cc -@@ -222,7 +222,7 @@ void ClientSession::NotifyClientResolution( +@@ -225,7 +225,7 @@ void ClientSession::NotifyClientResolution( if (effective_policies_.curtain_required.value_or(false)) { dpi_vector.set(resolution.x_dpi(), resolution.y_dpi()); } -#elif BUILDFLAG(IS_LINUX) +#elif BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) dpi_vector.set(resolution.x_dpi(), resolution.y_dpi()); #endif diff --git a/www/chromium/files/patch-remoting_host_host__main.cc b/www/chromium/files/patch-remoting_host_host__main.cc index f22262c17322..f856aa2a24de 100644 --- a/www/chromium/files/patch-remoting_host_host__main.cc +++ b/www/chromium/files/patch-remoting_host_host__main.cc @@ -1,90 +1,63 @@ ---- remoting/host/host_main.cc.orig 2026-05-07 17:02:56 UTC +--- remoting/host/host_main.cc.orig 2026-08-12 09:02:10 UTC +++ remoting/host/host_main.cc -@@ -23,7 +23,7 @@ +@@ -24,7 +24,7 @@ #include "remoting/base/crash/crash_reporting_crashpad.h" #include "remoting/base/logging.h" -#if BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) #include #include -@@ -57,7 +57,7 @@ namespace remoting { - // Known entry points. - int SingleProcessHostProcessMain(); - int NetworkProcessMain(); --#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_LINUX) -+#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) - int DaemonProcessMain(); - int DesktopProcessMain(); - #endif -@@ -66,13 +66,13 @@ int FileChooserMain(); +@@ -69,13 +69,13 @@ int FileChooserMain(); int RdpDesktopSessionMain(); int UrlForwarderConfiguratorMain(); #endif // BUILDFLAG(IS_WIN) --#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) -+#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) +-#if BUILDFLAG(IS_LINUX) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) int XSessionChooserMain(); - #endif // BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) + #endif // BUILDFLAG(IS_LINUX) namespace { -#if BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) void EnsureVarLibDirectory() { if (getuid() != 0) { // Only do this in the daemon process, which is always run as root. -@@ -109,7 +109,7 @@ void Usage(const base::FilePath& program_name) { +@@ -112,7 +112,7 @@ void Usage(const base::FilePath& program_name) { "\n" "Options:\n" -#if BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) " --audio-pipe-name= - Sets the pipe name to capture audio on " "Linux.\n" #endif // BUILDFLAG(IS_LINUX) -@@ -189,7 +189,7 @@ MainRoutineFn SelectMainRoutine(const std::string& pro - main_routine = &SingleProcessHostProcessMain; - } else if (process_type == kProcessTypeNetwork) { - main_routine = &NetworkProcessMain; --#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_LINUX) -+#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) - } else if (process_type == kProcessTypeDaemon) { - main_routine = &DaemonProcessMain; - } else if (process_type == kProcessTypeDesktop) { -@@ -203,7 +203,7 @@ MainRoutineFn SelectMainRoutine(const std::string& pro +@@ -208,7 +208,7 @@ MainRoutineFn SelectMainRoutine(const std::string& pro } else if (process_type == kProcessTypeUrlForwarderConfigurator) { main_routine = &UrlForwarderConfiguratorMain; #endif // BUILDFLAG(IS_WIN) --#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) -+#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) +-#if BUILDFLAG(IS_LINUX) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) } else if (process_type == kProcessTypeXSessionChooser) { main_routine = &XSessionChooserMain; - #endif // BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) -@@ -264,7 +264,7 @@ int HostMain(int argc, char** argv) { + #endif // BUILDFLAG(IS_LINUX) +@@ -272,7 +272,7 @@ int HostMain(int argc, char** argv) { // Enable debug logs. InitHostLogging(); -#if BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) EnsureVarLibDirectory(); #endif // BUILDFLAG(IS_LINUX) -@@ -275,7 +275,7 @@ int HostMain(int argc, char** argv) { +@@ -283,7 +283,7 @@ int HostMain(int argc, char** argv) { // Note that we enable crash reporting only if the user has opted in to having // the crash reports uploaded. if (IsUsageStatsAllowed()) { -#if BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) InitializeCrashpadReporting(); #elif BUILDFLAG(IS_WIN) // TODO: joedow - Enable crash reporting for the RDP process. -@@ -319,7 +319,7 @@ int HostMain(int argc, char** argv) { - // Mac, where the broker process is the agent process broker. - is_broker_process |= main_routine == &SingleProcessHostProcessMain; - #endif --#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_LINUX) -+#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) - // For multi-process hosts, the daemon process acts as the broker. - is_broker_process |= main_routine == &DaemonProcessMain; - #endif diff --git a/www/chromium/files/patch-remoting_host_it2me_it2me__native__messaging__host__main.cc b/www/chromium/files/patch-remoting_host_it2me_it2me__native__messaging__host__main.cc index a09216de154f..ebad5e2923e8 100644 --- a/www/chromium/files/patch-remoting_host_it2me_it2me__native__messaging__host__main.cc +++ b/www/chromium/files/patch-remoting_host_it2me_it2me__native__messaging__host__main.cc @@ -1,65 +1,65 @@ ---- remoting/host/it2me/it2me_native_messaging_host_main.cc.orig 2025-07-02 06:08:04 UTC +--- remoting/host/it2me/it2me_native_messaging_host_main.cc.orig 2026-08-12 09:02:10 UTC +++ remoting/host/it2me/it2me_native_messaging_host_main.cc -@@ -29,7 +29,7 @@ +@@ -30,7 +30,7 @@ #include "remoting/host/resources.h" #include "remoting/host/usage_stats_consent.h" -#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) #if defined(REMOTING_USE_X11) #include #include "base/linux_util.h" -@@ -43,7 +43,7 @@ +@@ -44,7 +44,7 @@ #include "remoting/host/mac/permission_utils.h" #endif // BUILDFLAG(IS_APPLE) -#if BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) #include "remoting/base/crash/crash_reporting_crashpad.h" #endif // BUILDFLAG(IS_LINUX) -@@ -79,7 +79,7 @@ bool CurrentProcessHasUiAccess() { - // Creates a It2MeNativeMessagingHost instance, attaches it to stdin/stdout and - // runs the task executor until It2MeNativeMessagingHost signals shutdown. - int It2MeNativeMessagingHostMain(int argc, char** argv) { +@@ -83,7 +83,7 @@ int It2MeNativeMessagingHostMain(int argc, char** argv + base::ScopedMemoryConsumerRegistry + memory_consumer_registry; + -#if (BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS)) && defined(REMOTING_USE_X11) +#if (BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD)) && defined(REMOTING_USE_X11) // Initialize Xlib for multi-threaded use, allowing non-Chromium code to // use X11 safely (such as the WebRTC capturer, GTK ...) x11::InitXlib(); -@@ -104,7 +104,7 @@ int It2MeNativeMessagingHostMain(int argc, char** argv +@@ -108,7 +108,7 @@ int It2MeNativeMessagingHostMain(int argc, char** argv // needs to be initialized first, so that the preference for crash-reporting // can be looked up in the config file. if (IsUsageStatsAllowed()) { -#if BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) InitializeCrashpadReporting(); #elif BUILDFLAG(IS_WIN) InitializeBreakpadReporting(); -@@ -129,7 +129,7 @@ int It2MeNativeMessagingHostMain(int argc, char** argv +@@ -133,7 +133,7 @@ int It2MeNativeMessagingHostMain(int argc, char** argv remoting::LoadResources(""); -#if (BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS)) && defined(REMOTING_USE_X11) +#if (BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD)) && defined(REMOTING_USE_X11) // Required for any calls into GTK functions, such as the Disconnect and // Continue windows. Calling with nullptr arguments because we don't have // any command line arguments for gtk to consume. -@@ -257,7 +257,7 @@ int It2MeNativeMessagingHostMain(int argc, char** argv +@@ -262,7 +262,7 @@ int It2MeNativeMessagingHostMain(int argc, char** argv PolicyWatcher::CreateWithTaskRunner(context->file_task_runner(), context->management_service()); -#if (BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS)) && defined(REMOTING_USE_X11) +#if (BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD)) && defined(REMOTING_USE_X11) scoped_refptr input_task_runner; // Create an X11EventSource on all UI threads, so the global X11 connection // (x11::Connection::Get()) can dispatch X events. -@@ -281,7 +281,7 @@ int It2MeNativeMessagingHostMain(int argc, char** argv +@@ -286,7 +286,7 @@ int It2MeNativeMessagingHostMain(int argc, char** argv // Run the loop until channel is alive. run_loop.Run(); -#if (BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS)) && defined(REMOTING_USE_X11) +#if (BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD)) && defined(REMOTING_USE_X11) input_task_runner->PostTask(FROM_HERE, base::BindOnce([]() { delete ui::X11EventSource::GetInstance(); })); 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 9ce202ae38e8..5e98d97ec0bf 100644 --- a/www/chromium/files/patch-remoting_host_remoting__me2me__host.cc +++ b/www/chromium/files/patch-remoting_host_remoting__me2me__host.cc @@ -1,182 +1,164 @@ ---- remoting/host/remoting_me2me_host.cc.orig 2026-06-04 10:12:25 UTC +--- remoting/host/remoting_me2me_host.cc.orig 2026-08-12 09:02:10 UTC +++ remoting/host/remoting_me2me_host.cc -@@ -149,7 +149,7 @@ +@@ -153,7 +153,7 @@ #include "remoting/host/mac/permission_utils.h" #endif // BUILDFLAG(IS_APPLE) -#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) #if defined(REMOTING_USE_X11) #include -@@ -161,7 +161,7 @@ +@@ -165,7 +165,7 @@ #endif // defined(REMOTING_USE_X11) #endif // BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) -#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) #include "base/linux_util.h" #include "remoting/host/linux/certificate_watcher.h" #include "remoting/host/linux/pulse_audio_capturer.h" -@@ -176,7 +176,7 @@ +@@ -180,7 +180,7 @@ #include "remoting/host/pairing_registry_delegate_win.h" #endif // BUILDFLAG(IS_WIN) -#if BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) #include "remoting/base/crash/crash_reporting_crashpad.h" #include "remoting/host/host_wtmpdb_logger.h" #endif // BUILDFLAG(IS_LINUX) -@@ -202,7 +202,7 @@ const char kApplicationName[] = "chromoting"; +@@ -206,7 +206,7 @@ const char kApplicationName[] = "chromoting"; // from stdin. constexpr base::FilePath::CharType kStdinConfigPath[] = FILE_PATH_LITERAL("-"); -#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) // The command line switch used to pass name of the pipe to capture audio on // linux. const char kAudioPipeSwitchName[] = "audio-pipe-name"; -@@ -426,7 +426,7 @@ class HostProcess : public ConfigWatcher::Delegate, - int line_number) override; - - // mojom::RemotingHostControl implementation. --#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_LINUX) -+#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) - void ApplyHostConfig(base::DictValue serialized_config) override; - #endif - #if BUILDFLAG(IS_WIN) -@@ -457,7 +457,7 @@ class HostProcess : public ConfigWatcher::Delegate, +@@ -468,7 +468,7 @@ class HostProcess : public ConfigWatcher::Delegate, std::unique_ptr agent_process_broker_client_; #endif -#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) // Watch for certificate changes and kill the host when changes occur std::unique_ptr cert_watcher_; #endif // BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) -@@ -525,7 +525,7 @@ class HostProcess : public ConfigWatcher::Delegate, +@@ -534,7 +534,7 @@ class HostProcess : public ConfigWatcher::Delegate, std::unique_ptr ftl_echo_message_listener_; std::unique_ptr host_event_logger_; -#if BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) std::unique_ptr host_wtmpdb_logger_; #endif std::unique_ptr power_save_blocker_; -@@ -854,7 +854,7 @@ void HostProcess::StartOnNetworkThread() { +@@ -867,7 +867,7 @@ void HostProcess::StartOnNetworkThread() { void HostProcess::ShutdownOnNetworkThread() { DCHECK(context_->network_task_runner()->BelongsToCurrentThread()); config_watcher_.reset(); -#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) cert_watcher_.reset(); #endif // BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) } -@@ -938,7 +938,7 @@ void HostProcess::CreateAuthenticatorFactory() { +@@ -951,7 +951,7 @@ void HostProcess::CreateAuthenticatorFactory() { context_->create_client_cert_store_callback(), service_account_email_, oauth_refresh_token_)); -#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) if (!cert_watcher_) { cert_watcher_ = std::make_unique( base::BindRepeating(&HostProcess::ShutdownHost, -@@ -1087,7 +1087,7 @@ void HostProcess::StartOnUiThread() { +@@ -1098,7 +1098,7 @@ void HostProcess::StartOnUiThread() { base::BindRepeating(&HostProcess::OnPolicyUpdate, base::Unretained(this)), base::BindRepeating(&HostProcess::OnPolicyError, base::Unretained(this))); -#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) // If an audio pipe is specific on the command-line then initialize // PulseAudioCapturer to capture from it. base::FilePath audio_pipe_name = -@@ -1162,7 +1162,7 @@ void HostProcess::ShutdownOnUiThread() { +@@ -1184,7 +1184,7 @@ void HostProcess::ShutdownOnUiThread() { // It is now safe for the HostProcess to be deleted. self_ = nullptr; -#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_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. -@@ -1170,7 +1170,7 @@ void HostProcess::ShutdownOnUiThread() { +@@ -1192,7 +1192,7 @@ void HostProcess::ShutdownOnUiThread() { PulseAudioCapturer::InitializePipeReader(nullptr, base::FilePath()); #endif // BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) -#if (BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS)) && defined(REMOTING_USE_X11) +#if (BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD)) && defined(REMOTING_USE_X11) context_->input_task_runner()->PostTask( FROM_HERE, base::BindOnce([]() { delete ui::X11EventSource::GetInstance(); })); -@@ -1267,7 +1267,7 @@ void HostProcess::BindRemotingHostControl( - - #endif - --#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_LINUX) -+#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) - void HostProcess::ApplyHostConfig(base::DictValue config) { - DCHECK(context_->ui_task_runner()->BelongsToCurrentThread()); - OnConfigParsed(std::move(config)); -@@ -1825,7 +1825,7 @@ void HostProcess::InitializeSignaling() { +@@ -1834,7 +1834,7 @@ void HostProcess::InitializeSignaling() { zombie_host_detector_ = std::make_unique(base::BindOnce( &HostProcess::OnZombieStateDetected, base::Unretained(this))); -#if BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) // TODO: joedow - Remove Linux scope after this codepath has been stabilized. const base::CommandLine* cmd_line = base::CommandLine::ForCurrentProcess(); if (cmd_line->HasSwitch(kEnableCorpMessaging)) { -@@ -1920,7 +1920,7 @@ void HostProcess::StartHost() { +@@ -1929,7 +1929,7 @@ void HostProcess::StartHost() { SetState(HOST_STARTED); -#if BUILDFLAG(IS_LINUX) && defined(REMOTING_USE_X11) +#if (BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)) && defined(REMOTING_USE_X11) if (webrtc::DesktopCapturer::IsRunningUnderWayland()) { if (GnomeRemoteDesktopSession::IsRunningUnderGnome()) { GnomeRemoteDesktopSession::GetInstance()->Init( -@@ -2022,7 +2022,7 @@ void HostProcess::StartHost() { +@@ -2027,7 +2027,7 @@ void HostProcess::StartHost() { host_->AddExtension(std::make_unique()); -#if BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) const base::CommandLine* cmd_line = base::CommandLine::ForCurrentProcess(); if (cmd_line->HasSwitch(kEnableWtmpdb)) { host_wtmpdb_logger_ = -@@ -2057,7 +2057,7 @@ void HostProcess::StartHost() { +@@ -2065,7 +2065,7 @@ void HostProcess::StartHost() { // addresses. host_->Start(*host_owner_emails_.begin()); -#if BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) // For Multi-process hosts and Mac, ChromotingHostServices connections are // handled by another process, then the message pipe is forwarded to the // network process. -@@ -2209,7 +2209,7 @@ int HostProcessMain(bool multi_process) { +@@ -2219,7 +2219,7 @@ int HostProcessMain(bool multi_process) { : " (single-process)"); const base::CommandLine* cmd_line = base::CommandLine::ForCurrentProcess(); -#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) // For the multi-process host, screen capturing and UI rendering should be // done by the desktop process. if (!multi_process) { -@@ -2260,7 +2260,7 @@ int HostProcessMain(bool multi_process) { +@@ -2271,7 +2271,7 @@ int HostProcessMain(bool multi_process) { return kInitializationFailed; } -#if BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) // Log and cleanup the crash database. We do this after a short delay so that // the crash database has a chance to be updated properly if we just got // relaunched after a crash. -@@ -2280,7 +2280,7 @@ int HostProcessMain(bool multi_process) { +@@ -2291,7 +2291,7 @@ int HostProcessMain(bool multi_process) { std::unique_ptr network_change_notifier( net::NetworkChangeNotifier::CreateIfNeeded()); -#if (BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS)) && defined(REMOTING_USE_X11) +#if (BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD)) && defined(REMOTING_USE_X11) // Create an X11EventSource on all UI threads, so the global X11 connection // (x11::Connection::Get()) can dispatch X events. auto event_source = diff --git a/www/chromium/files/patch-remoting_host_session__policies__from__dict.cc b/www/chromium/files/patch-remoting_host_session__policies__from__dict.cc index 37bdc2cbc5a3..bab41d7256ea 100644 --- a/www/chromium/files/patch-remoting_host_session__policies__from__dict.cc +++ b/www/chromium/files/patch-remoting_host_session__policies__from__dict.cc @@ -1,11 +1,11 @@ ---- remoting/host/session_policies_from_dict.cc.orig 2025-05-05 10:57:53 UTC +--- remoting/host/session_policies_from_dict.cc.orig 2026-08-12 09:02:10 UTC +++ remoting/host/session_policies_from_dict.cc -@@ -75,7 +75,7 @@ std::optional SessionPoliciesFromDict +@@ -77,7 +77,7 @@ std::optional SessionPoliciesFromDict session_policies.curtain_required = dict.FindBool(policy::key::kRemoteAccessHostRequireCurtain); #endif -#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_BSD) session_policies.host_username_match_required = dict.FindBool(policy::key::kRemoteAccessHostMatchUsername); #endif diff --git a/www/chromium/files/patch-remoting_host_setup_me2me__native__messaging__host__main.cc b/www/chromium/files/patch-remoting_host_setup_me2me__native__messaging__host__main.cc index e72cec7a62bf..3b663a0055c7 100644 --- a/www/chromium/files/patch-remoting_host_setup_me2me__native__messaging__host__main.cc +++ b/www/chromium/files/patch-remoting_host_setup_me2me__native__messaging__host__main.cc @@ -1,29 +1,29 @@ ---- remoting/host/setup/me2me_native_messaging_host_main.cc.orig 2026-06-04 10:12:25 UTC +--- remoting/host/setup/me2me_native_messaging_host_main.cc.orig 2026-08-12 09:02:10 UTC +++ remoting/host/setup/me2me_native_messaging_host_main.cc -@@ -41,7 +41,7 @@ +@@ -42,7 +42,7 @@ #include "base/apple/scoped_nsautorelease_pool.h" #endif // BUILDFLAG(IS_APPLE) -#if BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) #include "remoting/base/crash/crash_reporting_crashpad.h" #include "remoting/base/file_path_util_linux.h" #include "remoting/host/pairing_registry_delegate_linux.h" -@@ -101,7 +101,7 @@ int Me2MeNativeMessagingHostMain(int argc, char** argv +@@ -105,7 +105,7 @@ int Me2MeNativeMessagingHostMain(int argc, char** argv // needs to be initialized first, so that the preference for crash-reporting // can be looked up in the config file. if (IsUsageStatsAllowed()) { -#if BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) InitializeCrashpadReporting(); #elif BUILDFLAG(IS_WIN) InitializeBreakpadReporting(); -@@ -268,7 +268,7 @@ int Me2MeNativeMessagingHostMain(int argc, char** argv +@@ -273,7 +273,7 @@ int Me2MeNativeMessagingHostMain(int argc, char** argv pairing_registry = new PairingRegistry(io_thread.task_runner(), std::move(delegate)); -#elif BUILDFLAG(IS_LINUX) +#elif BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) if (daemon_controller->is_multi_process()) { pairing_registry = base::MakeRefCounted( io_thread.task_runner(), diff --git a/www/chromium/files/patch-remoting_host_setup_start__host__main.cc b/www/chromium/files/patch-remoting_host_setup_start__host__main.cc index b923317248a3..df0984b66eb2 100644 --- a/www/chromium/files/patch-remoting_host_setup_start__host__main.cc +++ b/www/chromium/files/patch-remoting_host_setup_start__host__main.cc @@ -1,47 +1,83 @@ ---- remoting/host/setup/start_host_main.cc.orig 2026-06-04 10:12:25 UTC +--- remoting/host/setup/start_host_main.cc.orig 2026-08-12 09:02:10 UTC +++ remoting/host/setup/start_host_main.cc -@@ -44,7 +44,7 @@ +@@ -45,7 +45,7 @@ #include #endif // BUILDFLAG(IS_POSIX) -#if BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) #include "remoting/base/crash/crash_reporting_crashpad.h" #include "remoting/host/linux/host_types.h" #include "remoting/host/setup/daemon_controller_delegate_linux_single_process.h" -@@ -91,7 +91,7 @@ constexpr char kDisableCrashReportingSwitchName[] = "d +@@ -92,7 +92,7 @@ constexpr char kDisableCrashReportingSwitchName[] = "d constexpr char kInvalidPinErrorMessage[] = "Please provide a numeric PIN consisting of at least six digits.\n"; -#if BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) // The host type to use. constexpr char kHostTypeSwitchName[] = "host-type"; #endif -@@ -118,7 +118,7 @@ void PrintDefaultHelpMessage(const char* process_name) +@@ -119,7 +119,7 @@ void PrintDefaultHelpMessage(const char* process_name) process_name, kAuthCodeSwitchName, kRedirectUrlSwitchName, kDisplayNameSwitchName, kPinSwitchName, kDisableCrashReportingSwitchName); -#if BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) std::cerr << base::StringPrintf(" [--%s=]", kHostTypeSwitchName) << "\n\n"; HostType::PrintHostTypeHelp(); -@@ -424,7 +424,7 @@ int StartHostMain(int argc, char** argv) { +@@ -135,7 +135,7 @@ void PrintCorpUserHelpMessage(const char* process_name + "Example usage:\n%s --%s= [--%s=corp-machine-name]", + process_name, kCorpUserSwitchName, kDisplayNameSwitchName); + +-#if BUILDFLAG(IS_LINUX) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) + std::cerr << base::StringPrintf(" [--%s=]", kHostTypeSwitchName) + << "\n\n"; + HostType::PrintHostTypeHelp(); +@@ -159,7 +159,7 @@ void PrintCloudUserHelpMessage(const char* process_nam + process_name, kCloudUserSwitchName, kCloudApiKeySwitchName, + kDisplayNameSwitchName, kDisableCrashReportingSwitchName); + +-#if BUILDFLAG(IS_LINUX) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) + std::cerr << base::StringPrintf(" [--%s=]", kHostTypeSwitchName) + << "\n\n"; + HostType::PrintHostTypeHelp(); +@@ -339,7 +339,7 @@ bool InitializeCorpMachineParams(HostStarter::Params& + params.name = command_line->GetSwitchValueASCII(kDisplayNameSwitchName); + } + +-#if BUILDFLAG(IS_LINUX) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) + if (command_line->HasSwitch(kHostTypeSwitchName)) { + corp_arg_count++; + } +@@ -388,7 +388,7 @@ bool InitializeCloudMachineParams(HostStarter::Params& + cloud_arg_count++; + } + +-#if BUILDFLAG(IS_LINUX) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) + if (command_line->HasSwitch(kHostTypeSwitchName)) { + cloud_arg_count++; + } +@@ -454,7 +454,7 @@ int StartHostMain(int argc, char** argv) { } #endif // defined(REMOTING_ENABLE_CRASH_REPORTING) -#if BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) const HostType* host_type = nullptr; if (command_line->HasSwitch(kHostTypeSwitchName)) { std::string host_type_name = -@@ -473,7 +473,7 @@ int StartHostMain(int argc, char** argv) { +@@ -503,7 +503,7 @@ int StartHostMain(int argc, char** argv) { } #endif // BUILDFLAG(IS_LINUX) -#if BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_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 diff --git a/www/chromium/files/patch-sandbox_policy_features.cc b/www/chromium/files/patch-sandbox_policy_features.cc index a30e9dba6d00..2ecdf4a6232a 100644 --- a/www/chromium/files/patch-sandbox_policy_features.cc +++ b/www/chromium/files/patch-sandbox_policy_features.cc @@ -1,23 +1,23 @@ ---- sandbox/policy/features.cc.orig 2026-06-04 10:12:25 UTC +--- sandbox/policy/features.cc.orig 2026-08-12 09:02:10 UTC +++ sandbox/policy/features.cc @@ -17,7 +17,11 @@ namespace sandbox::policy::features { #if !BUILDFLAG(IS_MAC) && !BUILDFLAG(IS_FUCHSIA) // Enables network service sandbox. // (Only causes an effect when feature kNetworkServiceInProcess is disabled.) +#if BUILDFLAG(IS_BSD) +BASE_FEATURE(kNetworkServiceSandbox, base::FEATURE_ENABLED_BY_DEFAULT); +#else BASE_FEATURE(kNetworkServiceSandbox, base::FEATURE_DISABLED_BY_DEFAULT); +#endif #if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) // Enables a fine-grained seccomp-BPF syscall filter for the network service. -@@ -110,7 +114,7 @@ BASE_FEATURE(kWinSboxModuleTamperingProtection, +@@ -115,7 +119,7 @@ BASE_FEATURE(kWinSboxModuleTamperingProtection, BASE_FEATURE(kSpectreVariant2Mitigation, base::FEATURE_ENABLED_BY_DEFAULT); #endif // BUILDFLAG(IS_CHROMEOS) -#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) // Increase the renderer sandbox memory limit. As of 2023, there are no limits // on macOS, and a 1TiB limit on Windows. There are reports of users bumping // into the limit. This increases the limit by 2x compared to the default diff --git a/www/chromium/files/patch-sandbox_policy_features.h b/www/chromium/files/patch-sandbox_policy_features.h index cd93bce02029..16ed5e288e1d 100644 --- a/www/chromium/files/patch-sandbox_policy_features.h +++ b/www/chromium/files/patch-sandbox_policy_features.h @@ -1,11 +1,11 @@ ---- sandbox/policy/features.h.orig 2026-06-04 10:12:25 UTC +--- sandbox/policy/features.h.orig 2026-08-12 09:02:10 UTC +++ sandbox/policy/features.h -@@ -45,7 +45,7 @@ SANDBOX_POLICY_EXPORT BASE_DECLARE_FEATURE( +@@ -46,7 +46,7 @@ SANDBOX_POLICY_EXPORT BASE_DECLARE_FEATURE( SANDBOX_POLICY_EXPORT BASE_DECLARE_FEATURE(kSpectreVariant2Mitigation); #endif // BUILDFLAG(IS_CHROMEOS) -#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) SANDBOX_POLICY_EXPORT BASE_DECLARE_FEATURE(kHigherRendererMemoryLimit); #endif // BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) diff --git a/www/chromium/files/patch-sandbox_policy_freebsd_sandbox__freebsd.cc b/www/chromium/files/patch-sandbox_policy_freebsd_sandbox__freebsd.cc index 6b26b6bf0554..84d50fd9ee4f 100644 --- a/www/chromium/files/patch-sandbox_policy_freebsd_sandbox__freebsd.cc +++ b/www/chromium/files/patch-sandbox_policy_freebsd_sandbox__freebsd.cc @@ -1,213 +1,213 @@ ---- sandbox/policy/freebsd/sandbox_freebsd.cc.orig 2025-09-06 10:01:20 UTC +--- sandbox/policy/freebsd/sandbox_freebsd.cc.orig 2026-08-12 09:02:10 UTC +++ sandbox/policy/freebsd/sandbox_freebsd.cc @@ -0,0 +1,210 @@ +// Copyright (c) 2012 The Chromium Authors. All rights reserved. +// Use of this source code is governed by a BSD-style license that can be +// found in the LICENSE file. + +#include "sandbox/policy/freebsd/sandbox_freebsd.h" + +#include +#include +#include +#include +#include +#include +#include +#include + +#include +#include +#include +#include + +#include "base/command_line.h" +#include "base/debug/stack_trace.h" +#include "base/feature_list.h" +#include "base/files/file_path.h" +#include "base/files/file_util.h" +#include "base/files/scoped_file.h" +#include "base/logging.h" +#include "base/memory/singleton.h" +#include "base/path_service.h" +#include "base/posix/eintr_wrapper.h" +#include "base/strings/string_number_conversions.h" +#include "base/system/sys_info.h" +#include "base/threading/thread.h" +#include "base/time/time.h" +#include "build/build_config.h" +#include "crypto/crypto_buildflags.h" +#include "sandbox/constants.h" +#include "sandbox/linux/services/credentials.h" +#include "sandbox/linux/services/namespace_sandbox.h" +#include "sandbox/linux/services/proc_util.h" +#include "sandbox/linux/services/resource_limits.h" +#include "sandbox/linux/services/thread_helpers.h" +#include "sandbox/linux/syscall_broker/broker_command.h" +#include "sandbox/linux/syscall_broker/broker_process.h" +#include "sandbox/policy/sandbox.h" +#include "sandbox/policy/sandbox_type.h" +#include "sandbox/policy/mojom/sandbox.mojom.h" +#include "sandbox/policy/switches.h" +#include "sandbox/sandbox_buildflags.h" + +#if BUILDFLAG(USING_SANITIZER) +#include +#endif + +#if BUILDFLAG(USE_NSS_CERTS) +#include "crypto/nss_util.h" +#endif + +#include "third_party/boringssl/src/include/openssl/crypto.h" + +#include "ui/gfx/font_util.h" + +namespace sandbox { +namespace policy { + +SandboxLinux::SandboxLinux() + : sandbox_status_flags_(kInvalid), + pre_initialized_(false), + initialize_sandbox_ran_(false), + broker_process_(nullptr) { +} + +SandboxLinux::~SandboxLinux() { + if (pre_initialized_) { + CHECK(initialize_sandbox_ran_); + } +} + +SandboxLinux* SandboxLinux::GetInstance() { + SandboxLinux* instance = base::Singleton::get(); + CHECK(instance); + return instance; +} + +void SandboxLinux::StopThread(base::Thread* thread) { + DCHECK(thread); + thread->Stop(); +} + +void SandboxLinux::PreinitializeSandbox(sandbox::mojom::Sandbox sandbox_type) { + CHECK(!pre_initialized_); +#if BUILDFLAG(USING_SANITIZER) + // Sanitizers need to open some resources before the sandbox is enabled. + // This should not fork, not launch threads, not open a directory. + __sanitizer_sandbox_on_notify(sanitizer_args()); + sanitizer_args_.reset(); +#endif + base::CommandLine* command_line = base::CommandLine::ForCurrentProcess(); + const std::string process_type = + command_line->GetSwitchValueASCII(switches::kProcessType); + -+ base::SysInfo::AmountOfPhysicalMemory(); ++ base::SysInfo::AmountOfTotalPhysicalMemory(); + base::SysInfo::NumberOfProcessors(); + base::SysInfo::CPUModelName(); + + switch (sandbox_type) { + case sandbox::mojom::Sandbox::kNoSandbox: + { +#if BUILDFLAG(USE_NSS_CERTS) + // The main process has to initialize the ~/.pki dir which won't work + // after unveil(2). + crypto::EnsureNSSInit(); +#endif + CRYPTO_pre_sandbox_init(); + + base::FilePath cache_directory, local_directory; + + base::PathService::Get(base::DIR_CACHE, &cache_directory); + base::PathService::Get(base::DIR_HOME, &local_directory); + + cache_directory = cache_directory.AppendASCII("chromium"); + local_directory = local_directory.AppendASCII(".local").AppendASCII("share").AppendASCII("applications"); + + if (!base::CreateDirectory(cache_directory)) { + LOG(ERROR) << "Failed to create " << cache_directory.value() << " directory."; + } + + if (!base::CreateDirectory(local_directory)) { + LOG(ERROR) << "Failed to create " << local_directory.value() << " directory."; + } + + break; + } + case sandbox::mojom::Sandbox::kRenderer: + gfx::InitializeFonts(); + break; + default: + break; + } + + pre_initialized_ = true; +} + +bool SandboxLinux::InitializeSandbox(sandbox::mojom::Sandbox sandbox_type, + SandboxLinux::PreSandboxHook hook, + const Options& options) { + DCHECK(!initialize_sandbox_ran_); + initialize_sandbox_ran_ = true; + + base::CommandLine* command_line = base::CommandLine::ForCurrentProcess(); + const std::string process_type = + command_line->GetSwitchValueASCII(switches::kProcessType); + + if (command_line->HasSwitch(switches::kNoSandbox)) + return true; + + VLOG(1) << "SandboxLinux::InitializeSandbox: process_type=" + << process_type << " sandbox_type=" << sandbox_type; + + // Only one thread is running, pre-initialize if not already done. + if (!pre_initialized_) + PreinitializeSandbox(sandbox_type); + + // Attempt to limit the future size of the address space of the process. + int error = 0; + const bool limited_as = LimitAddressSpace(&error); + if (error) { + // Restore errno. Internally to |LimitAddressSpace|, the errno due to + // setrlimit may be lost. + errno = error; + PCHECK(limited_as); + } + + if (hook) + CHECK(std::move(hook).Run(options)); + + return true; +} + +bool SandboxLinux::LimitAddressSpace(int* error) { +#if !defined(ADDRESS_SANITIZER) && !defined(MEMORY_SANITIZER) && \ + !defined(THREAD_SANITIZER) && !defined(LEAK_SANITIZER) + base::CommandLine* command_line = base::CommandLine::ForCurrentProcess(); + if (SandboxTypeFromCommandLine(*command_line) == sandbox::mojom::Sandbox::kNoSandbox) { + return false; + } + + // Unfortunately, it does not appear possible to set RLIMIT_AS such that it + // will both (a) be high enough to support V8's and WebAssembly's address + // space requirements while also (b) being low enough to mitigate exploits + // using integer overflows that require large allocations, heap spray, or + // other memory-hungry attack modes. + + *error = sandbox::ResourceLimits::Lower( + RLIMIT_DATA, static_cast(sandbox::kDataSizeLimit)); + + // Cache the resource limit before turning on the sandbox. + base::SysInfo::AmountOfVirtualMemory(); + base::SysInfo::MaxSharedMemorySize(); + + return *error == 0; +#else + base::SysInfo::AmountOfVirtualMemory(); + return false; +#endif // !defined(ADDRESS_SANITIZER) && !defined(MEMORY_SANITIZER) && + // !defined(THREAD_SANITIZER) && !defined(LEAK_SANITIZER) +} + +} // namespace policy +} // namespace sandbox diff --git a/www/chromium/files/patch-sandbox_policy_openbsd_sandbox__openbsd.cc b/www/chromium/files/patch-sandbox_policy_openbsd_sandbox__openbsd.cc index 6453f8edd5b6..96de807bc366 100644 --- a/www/chromium/files/patch-sandbox_policy_openbsd_sandbox__openbsd.cc +++ b/www/chromium/files/patch-sandbox_policy_openbsd_sandbox__openbsd.cc @@ -1,448 +1,448 @@ ---- sandbox/policy/openbsd/sandbox_openbsd.cc.orig 2026-03-13 06:02:14 UTC +--- sandbox/policy/openbsd/sandbox_openbsd.cc.orig 2026-08-12 09:02:10 UTC +++ sandbox/policy/openbsd/sandbox_openbsd.cc @@ -0,0 +1,445 @@ +// Copyright (c) 2012 The Chromium Authors. All rights reserved. +// Use of this source code is governed by a BSD-style license that can be +// found in the LICENSE file. + +#include "sandbox/policy/openbsd/sandbox_openbsd.h" + +#include +#include +#include +#include +#include +#include +#include +#include +#include + +#include +#include +#include +#include + +#include "base/command_line.h" +#include "base/debug/stack_trace.h" +#include "base/feature_list.h" +#include "base/files/file_path.h" +#include "base/files/file_util.h" +#include "base/files/scoped_file.h" +#include "base/logging.h" +#include "base/memory/singleton.h" +#include "base/path_service.h" +#include "base/posix/eintr_wrapper.h" +#include "base/strings/string_number_conversions.h" +#include "base/system/sys_info.h" +#include "base/threading/thread.h" +#include "base/time/time.h" +#include "build/build_config.h" +#include "crypto/crypto_buildflags.h" +#include "sandbox/constants.h" +#include "sandbox/linux/services/credentials.h" +#include "sandbox/linux/services/namespace_sandbox.h" +#include "sandbox/linux/services/proc_util.h" +#include "sandbox/linux/services/resource_limits.h" +#include "sandbox/linux/services/thread_helpers.h" +#include "sandbox/linux/syscall_broker/broker_command.h" +#include "sandbox/linux/syscall_broker/broker_process.h" +#include "sandbox/policy/features.h" +#include "sandbox/policy/sandbox.h" +#include "sandbox/policy/sandbox_type.h" +#include "sandbox/policy/mojom/sandbox.mojom.h" +#include "sandbox/policy/switches.h" +#include "sandbox/sandbox_buildflags.h" + +#if BUILDFLAG(USING_SANITIZER) +#include +#endif + +#if BUILDFLAG(USE_NSS_CERTS) +#include "crypto/nss_util.h" +#endif + +#include "third_party/boringssl/src/include/openssl/crypto.h" +#include "third_party/skia/rust/png/FFI.rs.h" + +#include +#include "ui/gfx/linux/fontconfig_util.h" + +#define MAXTOKENS 3 + +#define _UNVEIL_MAIN "/etc/chromium/unveil.main"; +#define _UNVEIL_GPU "/etc/chromium/unveil.gpu"; +#define _UNVEIL_UTILITY_NETWORK "/etc/chromium/unveil.utility_network"; +#define _UNVEIL_UTILITY_AUDIO "/etc/chromium/unveil.utility_audio"; +#define _UNVEIL_UTILITY_VIDEO "/etc/chromium/unveil.utility_video"; +#define _UNVEIL_CDM "/etc/chromium/unveil.cdm"; + +namespace sandbox { +namespace policy { + +SandboxLinux::SandboxLinux() + : unveil_initialized_(false), + sandbox_status_flags_(kInvalid), + pre_initialized_(false), + initialize_sandbox_ran_(false), + broker_process_(nullptr) { +} + +SandboxLinux::~SandboxLinux() { + if (pre_initialized_) { + CHECK(initialize_sandbox_ran_); + } +} + +SandboxLinux* SandboxLinux::GetInstance() { + SandboxLinux* instance = base::Singleton::get(); + CHECK(instance); + return instance; +} + +void SandboxLinux::StopThread(base::Thread* thread) { + DCHECK(thread); + thread->Stop(); +} + +void SandboxLinux::PreinitializeSandbox(sandbox::mojom::Sandbox sandbox_type) { + CHECK(!pre_initialized_); +#if BUILDFLAG(USING_SANITIZER) + // Sanitizers need to open some resources before the sandbox is enabled. + // This should not fork, not launch threads, not open a directory. + __sanitizer_sandbox_on_notify(sanitizer_args()); + sanitizer_args_.reset(); +#endif + base::CommandLine* command_line = base::CommandLine::ForCurrentProcess(); + const std::string process_type = + command_line->GetSwitchValueASCII(switches::kProcessType); + -+ base::SysInfo::AmountOfPhysicalMemory(); ++ base::SysInfo::AmountOfTotalPhysicalMemory(); + base::SysInfo::NumberOfProcessors(); + base::SysInfo::CPUModelName(); + + switch (sandbox_type) { + case sandbox::mojom::Sandbox::kNoSandbox: + { +#if BUILDFLAG(USE_NSS_CERTS) + // The main process has to initialize the ~/.pki dir which won't work + // after unveil(2). + crypto::EnsureNSSInit(); +#endif + CRYPTO_pre_sandbox_init(); + + rust_png::initialize_cpudetect(); + + base::FilePath cache_directory, local_directory; + + base::PathService::Get(base::DIR_CACHE, &cache_directory); + base::PathService::Get(base::DIR_HOME, &local_directory); + + cache_directory = cache_directory.AppendASCII("chromium"); + local_directory = local_directory.AppendASCII(".local").AppendASCII("share").AppendASCII("applications"); + + if (!base::CreateDirectory(cache_directory)) { + LOG(ERROR) << "Failed to create " << cache_directory.value() << " directory."; + } + + if (!base::CreateDirectory(local_directory)) { + LOG(ERROR) << "Failed to create " << local_directory.value() << " directory."; + } + + break; + } + case sandbox::mojom::Sandbox::kRenderer: + { + FcConfig* config = gfx::GetGlobalFontConfig(); + DCHECK(config); + break; + } + default: + break; + } + + pre_initialized_ = true; +} + +bool SandboxLinux::SetPledge(const char *pstring, const char *ppath) { + FILE *fp; + char *s = NULL; + size_t len = 0; + ssize_t read; + + if (pstring != NULL) { + if (pledge(pstring, NULL) == -1) + goto err; + VLOG(5) << "pledge " << pstring; + } else if (ppath != NULL) { + fp = fopen(ppath, "r"); + if (fp != NULL) { + while ((read = getline(&s, &len, fp)) != -1 ) { + if (s[strlen(s)-1] == '\n') + s[strlen(s)-1] = '\0'; + if (pledge(s, NULL) == -1) + goto err; + VLOG(5) << "pledge " << s; + } + fclose(fp); + } else { + LOG(ERROR) << "fopen(" << ppath << ") failed, errno: " << errno; + return false; + } + } + return true; +err: + LOG(ERROR) << "pledge() failed, errno: " << errno; + return false; +} + +bool SandboxLinux::SetUnveil(const std::string process_type, sandbox::mojom::Sandbox sandbox_type) { + FILE *fp; + char *s = NULL, *cp = NULL, *home = NULL, **ap, *tokens[MAXTOKENS]; + char *xdg_var = NULL; + char path[PATH_MAX]; + const char *ufile; + size_t len = 0, lineno = 0; + + switch (sandbox_type) { + case sandbox::mojom::Sandbox::kNoSandbox: + ufile = _UNVEIL_MAIN; + break; + case sandbox::mojom::Sandbox::kGpu: + case sandbox::mojom::Sandbox::kOnDeviceModelExecution: + ufile = _UNVEIL_GPU; + break; + case sandbox::mojom::Sandbox::kNetwork: + ufile = _UNVEIL_UTILITY_NETWORK; + break; + case sandbox::mojom::Sandbox::kAudio: + ufile = _UNVEIL_UTILITY_AUDIO; + break; + case sandbox::mojom::Sandbox::kVideoCapture: + ufile = _UNVEIL_UTILITY_VIDEO; + break; + case sandbox::mojom::Sandbox::kCdm: + ufile = _UNVEIL_CDM; + break; + default: + unveil("/dev/null", "rw"); + goto done; + } + + fp = fopen(ufile, "r"); + if (fp != NULL) { + while (!feof(fp)) { + if ((s = fparseln(fp, &len, &lineno, NULL, + FPARSELN_UNESCCOMM | FPARSELN_UNESCCONT)) == NULL) { + if (ferror(fp)) { + LOG(ERROR) << "ferror(), errno: " << errno; + _exit(1); + } else { + continue; + } + } + cp = s; + cp += strspn(cp, " \t\n"); /* eat whitespace */ + if (cp[0] == '\0') + continue; + + for (ap = tokens; ap < &tokens[MAXTOKENS - 1] && + (*ap = strsep(&cp, " \t")) != NULL;) { + if (**ap != '\0') + ap++; + } + *ap = NULL; + + if (tokens[1] == NULL) { + LOG(ERROR) << ufile << ": line " << lineno << ": must supply value to " << s; + _exit(1); + } + + if (tokens[0][0] == '~') { + if ((home = getenv("HOME")) == NULL || *home == '\0') { + LOG(ERROR) << "failed to get home"; + _exit(1); + } + memmove(tokens[0], tokens[0] + 1, strlen(tokens[0])); + strncpy(path, home, sizeof(path) - 1); + path[sizeof(path) - 1] = '\0'; + strncat(path, tokens[0], sizeof(path) - 1 - strlen(path)); + } else if (strncmp(tokens[0], "XDG_", 4) == 0) { + if ((xdg_var = getenv(tokens[0])) == NULL || *xdg_var == '\0') { + LOG(ERROR) << "failed to get " << tokens[0]; + continue; + } + strncpy(path, xdg_var, sizeof(path) - 1); + path[sizeof(path) - 1] = '\0'; + } else { + strncpy(path, tokens[0], sizeof(path) - 1); + path[sizeof(path) - 1] = '\0'; + } + + if (unveil(path, tokens[1]) == -1) { + LOG(ERROR) << "failed unveiling " << path << " with permissions " << tokens[1]; + _exit(1); + } else { + VLOG(5) << "unveiling " << path << " with permissions " << tokens[1]; + } + } + fclose(fp); + } else { + LOG(ERROR) << "failed to open " << ufile << " errno: " << errno; + _exit(1); + } + +done: + unveil_initialized_ = true; + + return true; +} + +bool SandboxLinux::unveil_initialized() const { + return unveil_initialized_; +} + +bool SandboxLinux::InitializeSandbox(sandbox::mojom::Sandbox sandbox_type, + SandboxLinux::PreSandboxHook hook, + const Options& options) { + DCHECK(!initialize_sandbox_ran_); + initialize_sandbox_ran_ = true; + + base::CommandLine* command_line = base::CommandLine::ForCurrentProcess(); + const std::string process_type = + command_line->GetSwitchValueASCII(switches::kProcessType); + + if (command_line->HasSwitch(switches::kNoSandbox)) + return true; + + VLOG(1) << "SandboxLinux::InitializeSandbox: process_type=" + << process_type << " sandbox_type=" << sandbox_type; + + // Only one thread is running, pre-initialize if not already done. + if (!pre_initialized_) + PreinitializeSandbox(sandbox_type); + + // Attempt to limit the future size of the address space of the process. + int error = 0; + const bool limited_as = LimitAddressSpace(&error); + if (error) { + // Restore errno. Internally to |LimitAddressSpace|, the errno due to + // setrlimit may be lost. + errno = error; + PCHECK(limited_as); + } + + if (hook) + CHECK(std::move(hook).Run(options)); + + if (!command_line->HasSwitch(switches::kDisableUnveil)) + SetUnveil(process_type, sandbox_type); + + switch(sandbox_type) { + case sandbox::mojom::Sandbox::kNoSandbox: + SetPledge(NULL, "/etc/chromium/pledge.main"); + break; + case sandbox::mojom::Sandbox::kRenderer: + // prot_exec needed by v8 + // flock needed by sqlite3 locking + SetPledge("stdio rpath flock prot_exec recvfd sendfd ps", NULL); + break; + case sandbox::mojom::Sandbox::kGpu: + case sandbox::mojom::Sandbox::kOnDeviceModelExecution: + SetPledge("stdio drm inet rpath flock cpath wpath prot_exec recvfd sendfd unix", NULL); + break; + case sandbox::mojom::Sandbox::kAudio: + SetPledge(NULL, "/etc/chromium/pledge.utility_audio"); + break; + case sandbox::mojom::Sandbox::kNetwork: + SetPledge(NULL, "/etc/chromium/pledge.utility_network"); + break; + case sandbox::mojom::Sandbox::kVideoCapture: + SetPledge(NULL, "/etc/chromium/pledge.utility_video"); + break; + case sandbox::mojom::Sandbox::kCdm: + SetPledge("stdio rpath flock recvfd sendfd", NULL); + break; + case sandbox::mojom::Sandbox::kUtility: + case sandbox::mojom::Sandbox::kService: + SetPledge("stdio rpath cpath wpath fattr flock sendfd recvfd prot_exec", NULL); + break; + default: + LOG(ERROR) << "non-pledge()'d process: " << sandbox_type; + break; + } + + return true; +} + +rlim_t GetProcessDataSizeLimit(sandbox::mojom::Sandbox sandbox_type) { +#if defined(ARCH_CPU_64_BITS) + if (sandbox_type == sandbox::mojom::Sandbox::kGpu || + sandbox_type == sandbox::mojom::Sandbox::kOnDeviceModelExecution || + sandbox_type == sandbox::mojom::Sandbox::kRenderer) { + // Allow the GPU/ODML/RENDERER process's sandbox to access more physical + // memory if it's available on the system. + // + // Renderer processes are allowed to access 32 GB; the GPU/ODML processes, + // up to 64 GB. + constexpr rlim_t GB = 1024 * 1024 * 1024; + const rlim_t physical_memory = -+ base::SysInfo::AmountOfPhysicalMemory().InBytes(); ++ base::SysInfo::AmountOfTotalPhysicalMemory().InBytes(); + rlim_t limit; + if ((sandbox_type == sandbox::mojom::Sandbox::kGpu || + sandbox_type == sandbox::mojom::Sandbox::kOnDeviceModelExecution) && + physical_memory > 64 * GB) { + limit = 64 * GB; + } else if (physical_memory > 32 * GB) { + limit = 32 * GB; + } else if (physical_memory > 16 * GB) { + limit = 16 * GB; + } else { + limit = 8 * GB; + } + + if (sandbox_type == sandbox::mojom::Sandbox::kRenderer && + base::FeatureList::IsEnabled( + sandbox::policy::features::kHigherRendererMemoryLimit)) { + limit *= 2; + } + + return limit; + } +#endif + + return static_cast(kDataSizeLimit); +} + +bool SandboxLinux::LimitAddressSpace(int* error) { +#if !defined(ADDRESS_SANITIZER) && !defined(MEMORY_SANITIZER) && \ + !defined(THREAD_SANITIZER) && !defined(LEAK_SANITIZER) + base::CommandLine* command_line = base::CommandLine::ForCurrentProcess(); + sandbox::mojom::Sandbox sandbox_type = + SandboxTypeFromCommandLine(*command_line); + if (sandbox_type == sandbox::mojom::Sandbox::kNoSandbox) { + return false; + } + + // Unfortunately, it does not appear possible to set RLIMIT_AS such that it + // will both (a) be high enough to support V8's and WebAssembly's address + // space requirements while also (b) being low enough to mitigate exploits + // using integer overflows that require large allocations, heap spray, or + // other memory-hungry attack modes. + + rlim_t process_data_size_limit = GetProcessDataSizeLimit(sandbox_type); + *error = ResourceLimits::Lower(RLIMIT_DATA, process_data_size_limit); + + // Cache the resource limit before turning on the sandbox. + base::SysInfo::AmountOfVirtualMemory(); + base::SysInfo::MaxSharedMemorySize(); + + return *error == 0; +#else + base::SysInfo::AmountOfVirtualMemory(); + return false; +#endif // !defined(ADDRESS_SANITIZER) && !defined(MEMORY_SANITIZER) && + // !defined(THREAD_SANITIZER) && !defined(LEAK_SANITIZER) +} + +} // namespace policy +} // namespace sandbox diff --git a/www/chromium/files/patch-sandbox_policy_sandbox.cc b/www/chromium/files/patch-sandbox_policy_sandbox.cc index 61198046a6d7..f39232553508 100644 --- a/www/chromium/files/patch-sandbox_policy_sandbox.cc +++ b/www/chromium/files/patch-sandbox_policy_sandbox.cc @@ -1,22 +1,22 @@ ---- sandbox/policy/sandbox.cc.orig 2026-02-11 09:05:39 UTC +--- sandbox/policy/sandbox.cc.orig 2026-08-12 09:02:10 UTC +++ sandbox/policy/sandbox.cc -@@ -20,6 +20,10 @@ +@@ -22,6 +22,10 @@ #include "sandbox/policy/linux/sandbox_linux.h" #endif // BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) +#if BUILDFLAG(IS_BSD) +#include "sandbox/policy/sandbox.h" +#endif // BUILDFLAG(IS_BSD) + #if BUILDFLAG(IS_MAC) #include "sandbox/mac/seatbelt.h" #endif // BUILDFLAG(IS_MAC) -@@ -36,7 +40,7 @@ +@@ -38,7 +42,7 @@ namespace sandbox { namespace policy { -#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) bool Sandbox::Initialize(sandbox::mojom::Sandbox sandbox_type, SandboxLinux::PreSandboxHook hook, const SandboxLinux::Options& options) { diff --git a/www/chromium/files/patch-services_device_device__service.cc b/www/chromium/files/patch-services_device_device__service.cc new file mode 100644 index 000000000000..151213a5b6ab --- /dev/null +++ b/www/chromium/files/patch-services_device_device__service.cc @@ -0,0 +1,20 @@ +--- services/device/device_service.cc.orig 2026-08-12 09:02:10 UTC ++++ services/device/device_service.cc +@@ -6,6 +6,8 @@ + + #include + ++#include "base/notimplemented.h" ++ + #include "base/functional/bind.h" + #include "base/memory/weak_ptr.h" + #include "base/task/single_thread_task_runner.h" +@@ -310,7 +312,7 @@ void DeviceService::BindSerialPortManager( + serial_port_manager_.AsyncCall(&SerialPortManagerImpl::Bind, FROM_HERE) + .WithArgs(std::move(receiver)); + #else // defined(IS_SERIAL_ENABLED_PLATFORM) +- NOTREACHED() << "Serial devices not supported on this platform."; ++ NOTIMPLEMENTED() << "Serial devices not supported on this platform."; + #endif // defined(IS_SERIAL_ENABLED_PLATFORM) + } + diff --git a/www/chromium/files/patch-services_device_hid_hid__service__fido.h b/www/chromium/files/patch-services_device_hid_hid__service__fido.h index c5af55c5d3c5..017848756185 100644 --- a/www/chromium/files/patch-services_device_hid_hid__service__fido.h +++ b/www/chromium/files/patch-services_device_hid_hid__service__fido.h @@ -1,68 +1,59 @@ ---- services/device/hid/hid_service_fido.h.orig 2022-10-28 16:39:00 UTC +--- services/device/hid/hid_service_fido.h.orig 2026-08-12 09:02:10 UTC +++ services/device/hid/hid_service_fido.h -@@ -0,0 +1,65 @@ +@@ -0,0 +1,56 @@ +// Copyright 2014 The Chromium Authors +// Use of this source code is governed by a BSD-style license that can be +// found in the LICENSE file. + +#ifndef SERVICES_DEVICE_HID_HID_SERVICE_LINUX_H_ +#define SERVICES_DEVICE_HID_HID_SERVICE_LINUX_H_ + +#include + +#include "base/compiler_specific.h" +#include "base/files/scoped_file.h" +#include "base/memory/weak_ptr.h" +#include "base/task/sequenced_task_runner.h" +#include "build/build_config.h" +#include "build/chromeos_buildflags.h" +#include "services/device/hid/hid_device_info.h" +#include "services/device/hid/hid_service.h" + +namespace device { + +class HidServiceFido : public HidService { + public: + HidServiceFido(); + HidServiceFido(HidServiceFido&) = delete; + HidServiceFido& operator=(HidServiceFido&) = delete; + ~HidServiceFido() override; + + // HidService: + void Connect(const std::string& device_id, + bool allow_protected_reports, + bool allow_fido_reports, + ConnectCallback callback) override; + base::WeakPtr GetWeakPtr() override; + + private: + struct ConnectParams; + class BlockingTaskRunnerHelper; + +// These functions implement the process of locating, requesting access to and +// opening a device. Because this operation crosses multiple threads these +// functions are static and the necessary parameters are passed as a single +// struct. -+#if BUILDFLAG(IS_CHROMEOS_ASH) -+ static void OnPathOpenComplete(std::unique_ptr params, -+ base::ScopedFD fd); -+ static void OnPathOpenError(const std::string& device_path, -+ ConnectCallback callback, -+ const std::string& error_name, -+ const std::string& error_message); -+#else + static void OpenOnBlockingThread(std::unique_ptr params); -+#endif + static void FinishOpen(std::unique_ptr params); + + const scoped_refptr blocking_task_runner_; + + // |helper_| lives on the sequence |blocking_task_runner_| posts to and holds + // a weak reference back to the service that owns it. + std::unique_ptr helper_; + base::WeakPtrFactory weak_factory_{this}; +}; + +} // namespace device + +#endif // SERVICES_DEVICE_HID_HID_SERVICE_LINUX_H_ diff --git a/www/chromium/files/patch-services_network_BUILD.gn b/www/chromium/files/patch-services_network_BUILD.gn index 5ae55814ae02..5b0e229fd851 100644 --- a/www/chromium/files/patch-services_network_BUILD.gn +++ b/www/chromium/files/patch-services_network_BUILD.gn @@ -1,10 +1,10 @@ ---- services/network/BUILD.gn.orig 2026-07-01 06:24:19 UTC +--- services/network/BUILD.gn.orig 2026-08-12 09:02:10 UTC +++ services/network/BUILD.gn -@@ -447,7 +447,6 @@ if (is_linux || is_chromeos) { +@@ -457,7 +457,6 @@ if (is_linux || is_chromeos) { deps = [ "//base", "//components/vrp_flags:buildflags", - "//sandbox/linux:sandbox_services", "//sandbox/policy", ] configs += [ "//build/config/compiler:wexit_time_destructors" ] diff --git a/www/chromium/files/patch-services_network_network__context.cc b/www/chromium/files/patch-services_network_network__context.cc index d52fe873f80a..bf8b20f58dbe 100644 --- a/www/chromium/files/patch-services_network_network__context.cc +++ b/www/chromium/files/patch-services_network_network__context.cc @@ -1,20 +1,20 @@ ---- services/network/network_context.cc.orig 2026-07-01 06:24:19 UTC +--- services/network/network_context.cc.orig 2026-08-12 09:02:10 UTC +++ services/network/network_context.cc -@@ -651,7 +651,7 @@ NetworkContext::NetworkContextHttpAuthPreferences:: +@@ -670,7 +670,7 @@ NetworkContext::NetworkContextHttpAuthPreferences:: NetworkContext::NetworkContextHttpAuthPreferences:: ~NetworkContextHttpAuthPreferences() = default; -#if BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) bool NetworkContext::NetworkContextHttpAuthPreferences::AllowGssapiLibraryLoad() const { if (network_service_) { -@@ -2709,7 +2709,7 @@ void NetworkContext::OnHttpAuthDynamicParamsChanged( +@@ -2800,7 +2800,7 @@ void NetworkContext::OnHttpAuthDynamicParamsChanged( http_auth_dynamic_network_service_params->android_negotiate_account_type); #endif // BUILDFLAG(IS_ANDROID) -#if BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) http_auth_merged_preferences_.set_allow_gssapi_library_load( http_auth_dynamic_network_service_params->allow_gssapi_library_load); #endif // BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_LINUX) diff --git a/www/chromium/files/patch-services_network_network__context.h b/www/chromium/files/patch-services_network_network__context.h index fdb15c053826..3050fc805e47 100644 --- a/www/chromium/files/patch-services_network_network__context.h +++ b/www/chromium/files/patch-services_network_network__context.h @@ -1,11 +1,11 @@ ---- services/network/network_context.h.orig 2026-07-01 06:24:19 UTC +--- services/network/network_context.h.orig 2026-08-12 09:02:10 UTC +++ services/network/network_context.h -@@ -764,7 +764,7 @@ class COMPONENT_EXPORT(NETWORK_SERVICE) NetworkContext +@@ -782,7 +782,7 @@ class COMPONENT_EXPORT(NETWORK_SERVICE) NetworkContext public: explicit NetworkContextHttpAuthPreferences(NetworkService* network_service); ~NetworkContextHttpAuthPreferences() override; -#if BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) bool AllowGssapiLibraryLoad() const override; #endif // BUILDFLAG(IS_LINUX) private: diff --git a/www/chromium/files/patch-services_network_network__service.cc b/www/chromium/files/patch-services_network_network__service.cc index d75c43964600..63f2da543a5a 100644 --- a/www/chromium/files/patch-services_network_network__service.cc +++ b/www/chromium/files/patch-services_network_network__service.cc @@ -1,29 +1,29 @@ ---- services/network/network_service.cc.orig 2026-07-01 06:24:19 UTC +--- services/network/network_service.cc.orig 2026-08-12 09:02:10 UTC +++ services/network/network_service.cc -@@ -104,7 +104,7 @@ +@@ -105,7 +105,7 @@ #include "third_party/boringssl/src/include/openssl/cpu.h" #endif -#if BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) #include "services/network/network_change_notifier_passive_factory.h" #endif -@@ -1051,7 +1051,7 @@ void NetworkService::SetExplicitlyAllowedPorts( +@@ -1073,7 +1073,7 @@ void NetworkService::SetExplicitlyAllowedPorts( net::SetExplicitlyAllowedPorts(ports); } -#if BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) void NetworkService::SetGssapiLibraryLoadObserver( mojo::PendingRemote gssapi_library_load_observer) { -@@ -1191,7 +1191,7 @@ NetworkService::CreateHttpAuthHandlerFactory(NetworkCo +@@ -1213,7 +1213,7 @@ NetworkService::CreateHttpAuthHandlerFactory(NetworkCo ); } -#if BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) void NetworkService::OnBeforeGssapiLibraryLoad() { if (gssapi_library_load_observer_.is_bound()) { gssapi_library_load_observer_->OnBeforeGssapiLibraryLoad(); diff --git a/www/chromium/files/patch-services_network_network__service.h b/www/chromium/files/patch-services_network_network__service.h index 9e92b144446a..d450816fdc64 100644 --- a/www/chromium/files/patch-services_network_network__service.h +++ b/www/chromium/files/patch-services_network_network__service.h @@ -1,29 +1,29 @@ ---- services/network/network_service.h.orig 2026-07-01 06:24:19 UTC +--- services/network/network_service.h.orig 2026-08-12 09:02:10 UTC +++ services/network/network_service.h -@@ -235,7 +235,7 @@ class COMPONENT_EXPORT(NETWORK_SERVICE) NetworkService +@@ -241,7 +241,7 @@ class COMPONENT_EXPORT(NETWORK_SERVICE) NetworkService void SetFirstPartySets(net::GlobalFirstPartySets sets) override; void SetExplicitlyAllowedPorts(const std::vector& ports) override; -#if BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) void SetGssapiLibraryLoadObserver( mojo::PendingRemote gssapi_library_load_observer) override; -@@ -302,7 +302,7 @@ class COMPONENT_EXPORT(NETWORK_SERVICE) NetworkService +@@ -308,7 +308,7 @@ class COMPONENT_EXPORT(NETWORK_SERVICE) NetworkService std::unique_ptr CreateHttpAuthHandlerFactory( NetworkContext* network_context); -#if BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) // This is called just before a GSSAPI library may be loaded. void OnBeforeGssapiLibraryLoad(); #endif // BUILDFLAG(IS_LINUX) -@@ -574,7 +574,7 @@ class COMPONENT_EXPORT(NETWORK_SERVICE) NetworkService +@@ -595,7 +595,7 @@ class COMPONENT_EXPORT(NETWORK_SERVICE) NetworkService // leaking stale listeners between tests. std::unique_ptr mock_network_change_notifier_; -#if BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) mojo::Remote gssapi_library_load_observer_; #endif // BUILDFLAG(IS_LINUX) diff --git a/www/chromium/files/patch-services_network_public_cpp_BUILD.gn b/www/chromium/files/patch-services_network_public_cpp_BUILD.gn index c9f911b86d4a..df5efa0333be 100644 --- a/www/chromium/files/patch-services_network_public_cpp_BUILD.gn +++ b/www/chromium/files/patch-services_network_public_cpp_BUILD.gn @@ -1,11 +1,11 @@ ---- services/network/public/cpp/BUILD.gn.orig 2026-07-01 06:24:19 UTC +--- services/network/public/cpp/BUILD.gn.orig 2026-08-12 09:02:10 UTC +++ services/network/public/cpp/BUILD.gn -@@ -753,7 +753,7 @@ component("cpp_base") { +@@ -756,7 +756,7 @@ component("cpp_base") { sources += [ "transferable_directory_fuchsia.cc" ] } - if (is_linux) { + if (is_linux && !is_bsd) { sources += [ "network_interface_change_listener_mojom_traits.cc", "network_interface_change_listener_mojom_traits.h", diff --git a/www/chromium/files/patch-services_network_public_mojom_BUILD.gn b/www/chromium/files/patch-services_network_public_mojom_BUILD.gn index e3e2da343676..4b48e8f06e43 100644 --- a/www/chromium/files/patch-services_network_public_mojom_BUILD.gn +++ b/www/chromium/files/patch-services_network_public_mojom_BUILD.gn @@ -1,34 +1,34 @@ ---- services/network/public/mojom/BUILD.gn.orig 2026-07-01 06:24:19 UTC +--- services/network/public/mojom/BUILD.gn.orig 2026-08-12 09:02:10 UTC +++ services/network/public/mojom/BUILD.gn -@@ -727,11 +727,11 @@ mojom("url_loader_base") { +@@ -739,11 +739,11 @@ mojom("url_loader_base") { ] enabled_features = [] - if (is_android || is_chromeos || is_linux) { + if (!is_bsd && (is_android || is_chromeos || is_linux)) { enabled_features += [ "network_change_notifier_in_browser" ] } - if (is_linux) { + if (is_linux && !is_bsd) { # TODO(crbug.com/40263697): Remove this once is_linux in the mojom IDL does # not include lacros. enabled_features += [ "use_network_interface_change_listener" ] -@@ -1125,7 +1125,7 @@ mojom("url_loader_base") { +@@ -1137,7 +1137,7 @@ mojom("url_loader_base") { }, ] - if (is_linux) { + if (is_linux && !is_bsd) { cpp_typemaps += [ { types = [ -@@ -2084,7 +2084,7 @@ mojom("mojom") { +@@ -2096,7 +2096,7 @@ mojom("mojom") { } } - if (is_linux) { + if (is_linux && !is_bsd) { # TODO(crbug.com/40263697): Remove this once is_linux in the mojom IDL does # not include lacros. enabled_features += [ "use_network_interface_change_listener" ] diff --git a/www/chromium/files/patch-services_on__device__model_ml_gpu__blocklist.cc b/www/chromium/files/patch-services_on__device__model_ml_gpu__blocklist.cc index be2ca05cb16f..3182246bfb53 100644 --- a/www/chromium/files/patch-services_on__device__model_ml_gpu__blocklist.cc +++ b/www/chromium/files/patch-services_on__device__model_ml_gpu__blocklist.cc @@ -1,11 +1,11 @@ ---- services/on_device_model/ml/gpu_blocklist.cc.orig 2025-12-05 10:12:50 UTC +--- services/on_device_model/ml/gpu_blocklist.cc.orig 2026-08-12 09:02:10 UTC +++ services/on_device_model/ml/gpu_blocklist.cc -@@ -24,7 +24,7 @@ const base::FeatureParam kGpuBlockList{ +@@ -23,7 +23,7 @@ namespace { + const base::FeatureParam kGpuBlockList{ &optimization_guide::features::kOnDeviceModelPerformanceParams, "on_device_model_gpu_block_list", - // These devices are nearly always crashing or have very low performance. -#if BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) "8086:64a0|8086:e20b|" // TODO(b/456603738): Remove when fixed. #endif // BUILDFLAG(IS_LINUX) - "8086:412|8086:a16|8086:41e|8086:416|8086:402|8086:166|8086:1616|8086:22b1|" + // These devices are nearly always crashing or have very low performance. diff --git a/www/chromium/files/patch-services_webnn_webnn__graph__impl__fuzzer.cc b/www/chromium/files/patch-services_webnn_webnn__graph__impl__fuzzer.cc index 8eaa1d23dfe1..d1d77b33be13 100644 --- a/www/chromium/files/patch-services_webnn_webnn__graph__impl__fuzzer.cc +++ b/www/chromium/files/patch-services_webnn_webnn__graph__impl__fuzzer.cc @@ -1,20 +1,20 @@ ---- services/webnn/webnn_graph_impl_fuzzer.cc.orig 2026-07-01 06:24:19 UTC +--- services/webnn/webnn_graph_impl_fuzzer.cc.orig 2026-08-12 09:02:10 UTC +++ services/webnn/webnn_graph_impl_fuzzer.cc -@@ -1053,7 +1053,7 @@ std::optional SetUpConv2dDescriptor +@@ -1613,7 +1613,7 @@ std::optional SetUpConv2dDescriptor params.groups = params.input_channels; } -#if BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) if (params.conv2d_kind == mojom::Conv2d::Kind::kTransposed) { // ConvTranspose2d does not support dilation and groups for TFLite backend: // https://source.chromium.org/chromium/chromium/src/+/db6bda50f023057ffa82845f232852dea0f271e1:services/webnn/tflite/graph_builder_tflite.cc;l=4125 -@@ -1349,7 +1349,7 @@ std::optional SetUpPool2dDescriptor +@@ -1950,7 +1950,7 @@ std::optional SetUpPool2dDescriptor Pool2dParams& params) { InputOperandLayout input_layout = context_properties.input_operand_layout; -#if BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) // Pool2d does not support dilation for TFLite backend: // https://source.chromium.org/chromium/chromium/src/+/4c1aaa2f981951e7e6f636df92fb89e48b642aa6:services/webnn/tflite/graph_builder_tflite.cc;l=7203 // TODO(crbug.com/498987226): Remove this restriction to increase test diff --git a/www/chromium/files/patch-skia_ext_SkMemory__new__handler.cpp b/www/chromium/files/patch-skia_ext_SkMemory__new__handler.cpp index 0896f8a57ff6..10769e24b462 100644 --- a/www/chromium/files/patch-skia_ext_SkMemory__new__handler.cpp +++ b/www/chromium/files/patch-skia_ext_SkMemory__new__handler.cpp @@ -1,20 +1,20 @@ ---- skia/ext/SkMemory_new_handler.cpp.orig 2026-04-09 06:05:42 UTC +--- skia/ext/SkMemory_new_handler.cpp.orig 2026-08-12 09:02:10 UTC +++ skia/ext/SkMemory_new_handler.cpp -@@ -22,7 +22,7 @@ +@@ -21,7 +21,7 @@ #include #elif BUILDFLAG(IS_APPLE) #include -#else +#elif !BUILDFLAG(IS_BSD) #include #endif -@@ -108,7 +108,7 @@ static void* malloc_nothrow(size_t size, int debug_sen +@@ -107,7 +107,7 @@ static void* malloc_nothrow(size_t size, int debug_sen // TODO(b.kelemen): we should always use UncheckedMalloc but currently it // doesn't work as intended everywhere. void* result; -#if BUILDFLAG(IS_IOS) +#if BUILDFLAG(IS_IOS) || BUILDFLAG(IS_BSD) result = malloc(size); #else // It's the responsibility of the caller to check the return value. diff --git a/www/chromium/files/patch-sql_database.cc b/www/chromium/files/patch-sql_database.cc deleted file mode 100644 index 581f24002287..000000000000 --- a/www/chromium/files/patch-sql_database.cc +++ /dev/null @@ -1,11 +0,0 @@ ---- sql/database.cc.orig 2026-07-01 06:24:19 UTC -+++ sql/database.cc -@@ -118,7 +118,7 @@ bool FilePathIsFixedSSD(const base::FilePath& path) { - - return !drive_info->has_seek_penalty.value_or(false) - #if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || \ -- BUILDFLAG(IS_CHROMEOS) -+ BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) - && !drive_info->is_removable.value_or(false) - #endif - #if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) diff --git a/www/chromium/files/patch-third__party_angle_BUILD.gn b/www/chromium/files/patch-third__party_angle_BUILD.gn index 84beb67233ea..b6bd8fafb058 100644 --- a/www/chromium/files/patch-third__party_angle_BUILD.gn +++ b/www/chromium/files/patch-third__party_angle_BUILD.gn @@ -1,29 +1,29 @@ ---- third_party/angle/BUILD.gn.orig 2026-07-01 06:24:19 UTC +--- third_party/angle/BUILD.gn.orig 2026-08-12 09:02:10 UTC +++ third_party/angle/BUILD.gn -@@ -391,7 +391,6 @@ config("extra_warnings") { +@@ -392,7 +392,6 @@ config("extra_warnings") { "-Wtautological-type-limit-compare", "-Wundefined-reinterpret-cast", "-Wunneeded-internal-declaration", - "-Wunused-but-set-variable", "-Wsuggest-destructor-override", "-Wsuggest-override", -@@ -578,7 +577,7 @@ template("angle_common_lib") { +@@ -582,7 +581,7 @@ template("angle_common_lib") { all_dependent_configs = [ ":angle_disable_pool_alloc" ] } - if (is_linux || is_chromeos) { + if ((is_linux || is_chromeos) && !is_bsd) { libs = [ "dl" ] } -@@ -741,6 +740,9 @@ angle_static_library("angle_gpu_info_util") { +@@ -745,6 +744,9 @@ angle_static_library("angle_gpu_info_util") { "Xi", "Xext", ] + if (is_bsd) { + libs += [ "GL" ] + } } if (angle_use_wayland && angle_has_build) { 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 d5deb05f6c3a..8e4e3e54fa5a 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,56 +1,56 @@ ---- third_party/angle/src/libANGLE/Display.cpp.orig 2026-07-01 06:24:19 UTC +--- third_party/angle/src/libANGLE/Display.cpp.orig 2026-08-12 09:02:10 UTC +++ third_party/angle/src/libANGLE/Display.cpp @@ -64,7 +64,7 @@ # include "libANGLE/renderer/gl/wgl/DisplayWGL.h" # elif ANGLE_ENABLE_CGL # include "libANGLE/renderer/gl/cgl/DisplayCGL.h" -# elif defined(ANGLE_PLATFORM_LINUX) +# elif defined(ANGLE_PLATFORM_LINUX) || defined(ANGLE_PLATFORM_BSD) # include "libANGLE/renderer/gl/egl/DisplayEGL.h" # if defined(ANGLE_USE_X11) # include "libANGLE/renderer/gl/glx/DisplayGLX_api.h" -@@ -435,7 +435,7 @@ rx::DisplayImpl *CreateDisplayFromAttribs(EGLAttrib di +@@ -447,7 +447,7 @@ rx::DisplayImpl *CreateDisplayFromAttribs(EGLAttrib di impl = new rx::DisplayCGL(state); break; -# elif defined(ANGLE_PLATFORM_LINUX) +# elif defined(ANGLE_PLATFORM_LINUX) || defined(ANGLE_PLATFORM_BSD) # if defined(ANGLE_USE_GBM) || defined(ANGLE_USE_WAYLAND) if (platformType == 0) { -@@ -493,7 +493,7 @@ rx::DisplayImpl *CreateDisplayFromAttribs(EGLAttrib di +@@ -505,7 +505,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_LINUX) || defined(ANGLE_PLATFORM_BSD) # if defined(ANGLE_USE_GBM) || defined(ANGLE_USE_WAYLAND) if (platformType == 0) { -@@ -556,7 +556,7 @@ rx::DisplayImpl *CreateDisplayFromAttribs(EGLAttrib di +@@ -568,7 +568,7 @@ rx::DisplayImpl *CreateDisplayFromAttribs(EGLAttrib di impl = rx::CreateVulkanWin32Display(state); } break; -# elif defined(ANGLE_PLATFORM_LINUX) +# elif defined(ANGLE_PLATFORM_LINUX) || defined(ANGLE_PLATFORM_BSD) # if defined(ANGLE_USE_GBM) if (platformType == EGL_PLATFORM_GBM_KHR && rx::IsVulkanGbmDisplayAvailable()) { -@@ -2207,7 +2207,7 @@ static ClientExtensions GenerateClientExtensions() +@@ -2216,7 +2216,7 @@ static ClientExtensions GenerateClientExtensions() extensions.platformWaylandEXT = true; #endif -#if defined(ANGLE_PLATFORM_LINUX) && (defined(ANGLE_ENABLE_OPENGL) || defined(ANGLE_ENABLE_VULKAN)) +#if (defined(ANGLE_PLATFORM_LINUX) || defined(ANGLE_PLATFORM_BSD)) && (defined(ANGLE_ENABLE_OPENGL) || defined(ANGLE_ENABLE_VULKAN)) extensions.platformSurfacelessMESA = true; #endif -@@ -2254,7 +2254,7 @@ static ClientExtensions GenerateClientExtensions() +@@ -2263,7 +2263,7 @@ static ClientExtensions GenerateClientExtensions() extensions.x11Visual = true; #endif -#if defined(ANGLE_PLATFORM_LINUX) +#if defined(ANGLE_PLATFORM_LINUX) || defined(ANGLE_PLATFORM_BSD) extensions.platformANGLEDeviceTypeEGLANGLE = true; #endif diff --git a/www/chromium/files/patch-third__party_blink_common_features.cc b/www/chromium/files/patch-third__party_blink_common_features.cc index b234fdde31ba..8fcc479698d2 100644 --- a/www/chromium/files/patch-third__party_blink_common_features.cc +++ b/www/chromium/files/patch-third__party_blink_common_features.cc @@ -1,20 +1,20 @@ ---- third_party/blink/common/features.cc.orig 2026-07-29 11:06:49 UTC +--- third_party/blink/common/features.cc.orig 2026-08-12 09:02:10 UTC +++ third_party/blink/common/features.cc -@@ -698,7 +698,7 @@ BASE_FEATURE(kDevToolsAdsPanel, base::FEATURE_DISABLED +@@ -701,7 +701,7 @@ BASE_FEATURE(kDevToolsAdsPanel, base::FEATURE_DISABLED BASE_FEATURE(kDirectCompositorThreadIpc, #if BUILDFLAG(IS_ANDROID) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) || \ - BUILDFLAG(IS_WIN) + BUILDFLAG(IS_WIN) || BUILDFLAG(IS_BSD) base::FEATURE_ENABLED_BY_DEFAULT #else base::FEATURE_DISABLED_BY_DEFAULT -@@ -2077,7 +2077,7 @@ BASE_FEATURE(kPrefetchFontLookupTables, +@@ -2064,7 +2064,7 @@ BASE_FEATURE(kPrefetchFontLookupTables, // currently out of scope. BASE_FEATURE(kPreloadingEagerHoverHeuristics, #if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || \ - BUILDFLAG(IS_CHROMEOS) + BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) base::FEATURE_ENABLED_BY_DEFAULT #else base::FEATURE_DISABLED_BY_DEFAULT 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 b98465fe859b..6fce5a623a86 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,35 +1,35 @@ ---- third_party/blink/renderer/controller/blink_initializer.cc.orig 2026-04-09 06:05:42 UTC +--- third_party/blink/renderer/controller/blink_initializer.cc.orig 2026-08-12 09:02:10 UTC +++ third_party/blink/renderer/controller/blink_initializer.cc -@@ -85,12 +85,12 @@ - #include "third_party/blink/renderer/controller/user_level_memory_pressure_signal_generator.h" +@@ -87,12 +87,12 @@ + #include "third_party/blink/renderer/platform/fonts/font_cache.h" #endif -#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) #include "third_party/blink/renderer/controller/memory_usage_monitor_posix.h" #endif #if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_ANDROID) || \ - BUILDFLAG(IS_APPLE) || BUILDFLAG(IS_WIN) + BUILDFLAG(IS_APPLE) || BUILDFLAG(IS_WIN) || BUILDFLAG(IS_BSD) #include "third_party/blink/renderer/controller/highest_pmf_reporter.h" #endif -@@ -257,7 +257,7 @@ void BlinkInitializer::RegisterInterfaces(mojo::Binder +@@ -266,7 +266,7 @@ void BlinkInitializer::RegisterInterfaces(mojo::Binder main_thread_task_runner); #endif -#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) binders.Add( ConvertToBaseRepeatingCallback( CrossThreadBindRepeating(&MemoryUsageMonitorPosix::Bind)), -@@ -310,7 +310,7 @@ void BlinkInitializer::RegisterMemoryWatchers(Platform +@@ -319,7 +319,7 @@ void BlinkInitializer::RegisterMemoryWatchers(Platform MemorySaverController::Initialize(); #if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_ANDROID) || \ - BUILDFLAG(IS_APPLE) || BUILDFLAG(IS_WIN) + BUILDFLAG(IS_APPLE) || BUILDFLAG(IS_WIN) || BUILDFLAG(IS_BSD) // Start reporting the highest private memory footprint after the first // navigation. HighestPmfReporter::Initialize(main_thread_task_runner); 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 eea7d6ff71e8..e7bd9166e3be 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,29 +1,29 @@ ---- third_party/blink/renderer/core/exported/web_view_impl.cc.orig 2026-07-01 06:24:19 UTC +--- third_party/blink/renderer/core/exported/web_view_impl.cc.orig 2026-08-12 09:02:10 UTC +++ third_party/blink/renderer/core/exported/web_view_impl.cc -@@ -399,7 +399,7 @@ void RecordPrerenderActivationSignalDelay(const String +@@ -402,7 +402,7 @@ void RecordPrerenderActivationSignalDelay(const String #if !BUILDFLAG(IS_MAC) && !BUILDFLAG(IS_WIN) SkFontHinting RendererPreferencesToSkiaHinting( const blink::RendererPreferences& prefs) { -#if BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_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' -@@ -3490,7 +3490,7 @@ void WebViewImpl::UpdateFontRenderingFromRendererPrefs +@@ -3631,7 +3631,7 @@ void WebViewImpl::UpdateFontRenderingFromRendererPrefs gfx::FontRenderParams::SUBPIXEL_RENDERING_NONE); WebFontRenderStyle::SetSubpixelPositioning( renderer_preferences_.use_subpixel_positioning); -#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) if (!renderer_preferences_.system_font_family_name.empty()) { WebFontRenderStyle::SetSystemFontFamily(blink::WebString::FromUtf8( renderer_preferences_.system_font_family_name)); -@@ -3639,7 +3639,7 @@ void WebViewImpl::UpdateRendererPreferences( +@@ -3781,7 +3781,7 @@ void WebViewImpl::UpdateRendererPreferences( renderer_preferences_.selection_clipboard_buffer_available); #endif // BUILDFLAG(IS_OZONE) -#if BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) GetSettings()->SetMiddleClickPasteAllowed( renderer_preferences_.middle_click_paste_allowed); #endif // BUILDFLAG(IS_LINUX) 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 a5a777fbcb53..0c5d645be152 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 2026-06-04 10:12:25 UTC +--- third_party/blink/renderer/core/frame/web_frame_test.cc.orig 2026-08-12 09:02:10 UTC +++ third_party/blink/renderer/core/frame/web_frame_test.cc -@@ -6320,7 +6320,7 @@ TEST_F(WebFrameTest, DISABLED_PositionForPointTest) { +@@ -6333,7 +6333,7 @@ TEST_F(WebFrameTest, DISABLED_PositionForPointTest) { } #if BUILDFLAG(IS_FUCHSIA) || BUILDFLAG(IS_APPLE) || BUILDFLAG(IS_LINUX) || \ - BUILDFLAG(IS_CHROMEOS) + BUILDFLAG(IS_CHROMEOS) && !BUILDFLAG(IS_BSD) // TODO(crbug.com/1090246): Fix these tests on Fuchsia and re-enable. // TODO(crbug.com/1317375): Build these tests on all platforms. #define MAYBE_SelectRangeStaysHorizontallyAlignedWhenMoved \ -@@ -6729,7 +6729,7 @@ TEST_F(CompositedSelectionBoundsTest, LargeSelectionSc +@@ -6743,7 +6743,7 @@ TEST_F(CompositedSelectionBoundsTest, LargeSelectionSc TEST_F(CompositedSelectionBoundsTest, LargeSelectionNoScroll) { RunTest("composited_selection_bounds_large_selection_noscroll.html"); } -#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) +#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) #if !BUILDFLAG(IS_ANDROID) TEST_F(CompositedSelectionBoundsTest, Input) { web_view_helper_.GetWebView()->GetSettings()->SetDefaultFontSize(16); diff --git a/www/chromium/files/patch-third__party_blink_renderer_core_layout_layout__view.cc b/www/chromium/files/patch-third__party_blink_renderer_core_layout_layout__view.cc index e15d4cdf4d36..8fe6892d228b 100644 --- a/www/chromium/files/patch-third__party_blink_renderer_core_layout_layout__view.cc +++ b/www/chromium/files/patch-third__party_blink_renderer_core_layout_layout__view.cc @@ -1,20 +1,20 @@ ---- third_party/blink/renderer/core/layout/layout_view.cc.orig 2026-07-01 06:24:19 UTC +--- third_party/blink/renderer/core/layout/layout_view.cc.orig 2026-08-12 09:02:10 UTC +++ third_party/blink/renderer/core/layout/layout_view.cc @@ -76,7 +76,7 @@ #include "ui/display/screen_info.h" #include "ui/gfx/geometry/quad_f.h" -#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) #include "third_party/blink/renderer/platform/fonts/font_cache.h" #endif -@@ -849,7 +849,7 @@ void LayoutView::LayoutRoot() { +@@ -851,7 +851,7 @@ void LayoutView::LayoutRoot() { intrinsic_logical_widths_ = LogicalWidth(); } -#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) // The font code in FontPlatformData does not have a direct connection to the // document, the frame or anything from which we could retrieve the device // scale factor. After using zoom for DSF, the GraphicsContext does only ever diff --git a/www/chromium/files/patch-third__party_blink_renderer_core_page_context__menu__controller.cc b/www/chromium/files/patch-third__party_blink_renderer_core_page_context__menu__controller.cc index 1dd4f289d7a6..d3d5548bd42d 100644 --- a/www/chromium/files/patch-third__party_blink_renderer_core_page_context__menu__controller.cc +++ b/www/chromium/files/patch-third__party_blink_renderer_core_page_context__menu__controller.cc @@ -1,11 +1,11 @@ ---- third_party/blink/renderer/core/page/context_menu_controller.cc.orig 2026-06-04 10:12:25 UTC +--- third_party/blink/renderer/core/page/context_menu_controller.cc.orig 2026-08-12 09:02:10 UTC +++ third_party/blink/renderer/core/page/context_menu_controller.cc -@@ -660,7 +660,7 @@ bool ContextMenuController::ShowContextMenu( +@@ -692,7 +692,7 @@ bool ContextMenuController::ShowContextMenu( if (potential_image_node != nullptr && IsA(potential_image_node)) { data.media_type = mojom::blink::ContextMenuDataMediaType::kCanvas; -#if BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) // TODO(crbug.com/40902474): Support reading from the WebGPU front buffer // on Linux and remove the below code, which results in "Copy Image" and // "Save Image To" being grayed out in the context menu. diff --git a/www/chromium/files/patch-third__party_blink_renderer_platform_graphics_gpu_image__layer__bridge.cc b/www/chromium/files/patch-third__party_blink_renderer_modules_canvas_imagebitmap_image__bitmap__rendering__context.cc similarity index 52% rename from www/chromium/files/patch-third__party_blink_renderer_platform_graphics_gpu_image__layer__bridge.cc rename to www/chromium/files/patch-third__party_blink_renderer_modules_canvas_imagebitmap_image__bitmap__rendering__context.cc index a98b27b49014..1794d45aec0f 100644 --- a/www/chromium/files/patch-third__party_blink_renderer_platform_graphics_gpu_image__layer__bridge.cc +++ b/www/chromium/files/patch-third__party_blink_renderer_modules_canvas_imagebitmap_image__bitmap__rendering__context.cc @@ -1,11 +1,11 @@ ---- third_party/blink/renderer/platform/graphics/gpu/image_layer_bridge.cc.orig 2026-04-09 06:05:42 UTC -+++ third_party/blink/renderer/platform/graphics/gpu/image_layer_bridge.cc -@@ -45,7 +45,7 @@ scoped_refptr MakeAccelerated( +--- third_party/blink/renderer/modules/canvas/imagebitmap/image_bitmap_rendering_context.cc.orig 2026-08-12 09:02:10 UTC ++++ third_party/blink/renderer/modules/canvas/imagebitmap/image_bitmap_rendering_context.cc +@@ -59,7 +59,7 @@ scoped_refptr ImageBitmapRenderingC return source; } -#if BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) // TODO(b/330865436): On Linux, CanvasResourceProvider doesn't always check // for SCANOUT support correctly on X11 and it's never supported in // practice. Therefore, don't include it until this flow is reworked. 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 2f6e25290286..5bc6da7f8b96 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 2026-06-04 10:12:25 UTC +--- third_party/blink/renderer/modules/peerconnection/webrtc_audio_renderer_test.cc.orig 2026-08-12 09:02:10 UTC +++ third_party/blink/renderer/modules/peerconnection/webrtc_audio_renderer_test.cc -@@ -384,7 +384,7 @@ TEST_F(WebRtcAudioRendererTest, DISABLED_VerifySinkPar +@@ -393,7 +393,7 @@ TEST_F(WebRtcAudioRendererTest, DISABLED_VerifySinkPar SetupRenderer(kDefaultOutputDeviceId); renderer_proxy_->Start(); #if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_APPLE) || \ - BUILDFLAG(IS_FUCHSIA) + BUILDFLAG(IS_FUCHSIA) || BUILDFLAG(IS_BSD) static const int kExpectedBufferSize = kHardwareSampleRate / 100; #elif BUILDFLAG(IS_ANDROID) static const int kExpectedBufferSize = 2 * kHardwareSampleRate / 100; 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 b673a303f0b7..180e2d9287f8 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 2026-07-01 06:24:19 UTC +--- third_party/blink/renderer/modules/webgl/webgl_rendering_context_base.cc.orig 2026-08-12 09:02:10 UTC +++ third_party/blink/renderer/modules/webgl/webgl_rendering_context_base.cc @@ -6684,7 +6684,7 @@ void WebGLRenderingContextBase::TexImageHelperMediaVid - params.function_id == kTexImage2D || - (params.function_id == kTexSubImage2D && - base::FeatureList::IsEnabled(kAllowGpuUploadForTexSubImageOnAndroid)); --#elif BUILDFLAG(IS_LINUX) -+#elif BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) + // unmultiply has been requested or we need to never premultiply for Image + // creation from a VideoFrame. + +-#if BUILDFLAG(IS_LINUX) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) // TODO(crbug.com/1181562): TexSubImage2D via the GPU path performs poorly on // Linux when used with frames backed by SharedImages holding shared memory. // We don't have a way to differentiate this case from that of true texture diff --git a/www/chromium/files/patch-third__party_blink_renderer_modules_webgpu_gpu__queue.cc b/www/chromium/files/patch-third__party_blink_renderer_modules_webgpu_external__image__utils.cc similarity index 60% rename from www/chromium/files/patch-third__party_blink_renderer_modules_webgpu_gpu__queue.cc rename to www/chromium/files/patch-third__party_blink_renderer_modules_webgpu_external__image__utils.cc index a7fdb3d79727..424637d2fa61 100644 --- a/www/chromium/files/patch-third__party_blink_renderer_modules_webgpu_gpu__queue.cc +++ b/www/chromium/files/patch-third__party_blink_renderer_modules_webgpu_external__image__utils.cc @@ -1,11 +1,11 @@ ---- third_party/blink/renderer/modules/webgpu/gpu_queue.cc.orig 2026-07-01 06:24:19 UTC -+++ third_party/blink/renderer/modules/webgpu/gpu_queue.cc -@@ -1026,7 +1026,7 @@ bool GPUQueue::CopyFromCanvasSourceImage( +--- third_party/blink/renderer/modules/webgpu/external_image_utils.cc.orig 2026-08-12 09:02:10 UTC ++++ third_party/blink/renderer/modules/webgpu/external_image_utils.cc +@@ -423,7 +423,7 @@ bool CopyStaticImagBitmapToWGPUTexture( // on linux platform. // TODO(crbug.com/1424119): using a webgpu mailbox texture on the OpenGLES // backend is failing for unknown reasons. -#if BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) bool forceReadback = true; #elif BUILDFLAG(IS_ANDROID) // TODO(crbug.com/dawn/1969): Some Android devices don't fail to copy from diff --git a/www/chromium/files/patch-third__party_blink_renderer_modules_webgpu_gpu__canvas__context.cc b/www/chromium/files/patch-third__party_blink_renderer_modules_webgpu_gpu__canvas__context.cc index 0102d576851a..4cb1f49769d4 100644 --- a/www/chromium/files/patch-third__party_blink_renderer_modules_webgpu_gpu__canvas__context.cc +++ b/www/chromium/files/patch-third__party_blink_renderer_modules_webgpu_gpu__canvas__context.cc @@ -1,20 +1,20 @@ ---- third_party/blink/renderer/modules/webgpu/gpu_canvas_context.cc.orig 2026-07-01 06:24:19 UTC +--- third_party/blink/renderer/modules/webgpu/gpu_canvas_context.cc.orig 2026-08-12 09:02:10 UTC +++ third_party/blink/renderer/modules/webgpu/gpu_canvas_context.cc @@ -274,7 +274,7 @@ GPUCanvasContext::PaintRenderingResultsToSnapshot( scoped_refptr front_buffer_texture; if (source_buffer == kFrontBuffer) { -#if BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) // By returning false here the canvas will show up as black in the scenarios // that copy the front buffer, such as printing. // TODO(crbug.com/40902474): Support concurrent SharedImage reads via Dawn -@@ -491,7 +491,7 @@ void GPUCanvasContext::configure(const GPUCanvasConfig +@@ -494,7 +494,7 @@ void GPUCanvasContext::configure(const GPUCanvasConfig } #endif -#if BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) if (texture_descriptor_.format == wgpu::TextureFormat::BGRA8Unorm) { // WebGPU on vulkan with GL interop cannot support BGRA due to bugs in // mesa. See anglebug.com/40644739 diff --git a/www/chromium/files/patch-third__party_blink_renderer_platform_BUILD.gn b/www/chromium/files/patch-third__party_blink_renderer_platform_BUILD.gn index 20f1ac80b324..8b69b9eecaa9 100644 --- a/www/chromium/files/patch-third__party_blink_renderer_platform_BUILD.gn +++ b/www/chromium/files/patch-third__party_blink_renderer_platform_BUILD.gn @@ -1,11 +1,11 @@ ---- third_party/blink/renderer/platform/BUILD.gn.orig 2026-07-01 06:24:19 UTC +--- third_party/blink/renderer/platform/BUILD.gn.orig 2026-08-12 09:02:10 UTC +++ third_party/blink/renderer/platform/BUILD.gn -@@ -2079,7 +2079,7 @@ static_library("test_support") { +@@ -2089,7 +2089,7 @@ static_library("test_support") { ] # fuzzed_data_provider may not work with a custom toolchain. - if (custom_toolchain == "" && is_clang) { + if ((custom_toolchain == "" && is_clang) && !is_bsd) { sources += [ "testing/fuzzed_data_provider.cc", "testing/fuzzed_data_provider.h", diff --git a/www/chromium/files/patch-third__party_blink_renderer_platform_fonts_font__cache.cc b/www/chromium/files/patch-third__party_blink_renderer_platform_fonts_font__cache.cc index 1c0e7b9de5c6..5be0ea2fe59e 100644 --- a/www/chromium/files/patch-third__party_blink_renderer_platform_fonts_font__cache.cc +++ b/www/chromium/files/patch-third__party_blink_renderer_platform_fonts_font__cache.cc @@ -1,20 +1,20 @@ ---- third_party/blink/renderer/platform/fonts/font_cache.cc.orig 2026-07-01 06:24:19 UTC +--- third_party/blink/renderer/platform/fonts/font_cache.cc.orig 2026-08-12 09:02:10 UTC +++ third_party/blink/renderer/platform/fonts/font_cache.cc -@@ -82,7 +82,7 @@ const char kMonoEmojiLocale[] = "und-Zsym"; +@@ -86,7 +86,7 @@ const char kMonoEmojiLocale[] = "und-Zsym"; extern const char kNotoColorEmojiCompat[] = "Noto Color Emoji Compat"; #endif -#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) float FontCache::device_scale_factor_ = 1.0; #endif -@@ -114,7 +114,7 @@ const FontPlatformData* FontCache::SystemFontPlatformD +@@ -141,7 +141,7 @@ const FontPlatformData* FontCache::SystemFontPlatformD const FontDescription& font_description) { const AtomicString& family = FontCache::SystemFontFamily(); #if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_FUCHSIA) || \ - BUILDFLAG(IS_IOS) + BUILDFLAG(IS_IOS) || BUILDFLAG(IS_BSD) if (family.empty() || family == font_family_names::kSystemUi) return nullptr; #else diff --git a/www/chromium/files/patch-third__party_blink_renderer_platform_fonts_font__cache.h b/www/chromium/files/patch-third__party_blink_renderer_platform_fonts_font__cache.h index 6236efbb2d68..b8d0cba88fb3 100644 --- a/www/chromium/files/patch-third__party_blink_renderer_platform_fonts_font__cache.h +++ b/www/chromium/files/patch-third__party_blink_renderer_platform_fonts_font__cache.h @@ -1,38 +1,38 @@ ---- third_party/blink/renderer/platform/fonts/font_cache.h.orig 2026-07-01 06:24:19 UTC +--- third_party/blink/renderer/platform/fonts/font_cache.h.orig 2026-08-12 09:02:10 UTC +++ third_party/blink/renderer/platform/fonts/font_cache.h @@ -54,7 +54,7 @@ #include "third_party/skia/include/core/SkFontMgr.h" #include "third_party/skia/include/core/SkRefCnt.h" -#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) #include "ui/gfx/font_fallback_linux.h" #endif @@ -148,7 +148,7 @@ class PLATFORM_EXPORT FontCache final { static void MaybePreloadSystemFonts(); -#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) // These are needed for calling QueryRenderStyleForStrike, since // gfx::GetFontRenderParams makes distinctions based on DSF. static float DeviceScaleFactor() { return device_scale_factor_; } @@ -226,7 +226,7 @@ class PLATFORM_EXPORT FontCache final { const char* locale_family_name); #endif // BUILDFLAG(IS_ANDROID) -#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) static bool GetFontForCharacter(UChar32, const char* preferred_locale, gfx::FallbackFontData*); -@@ -311,7 +311,7 @@ class PLATFORM_EXPORT FontCache final { +@@ -323,7 +323,7 @@ class PLATFORM_EXPORT FontCache final { static int32_t status_font_height_; #endif // BUILDFLAG(IS_WIN) -#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) static float device_scale_factor_; #endif diff --git a/www/chromium/files/patch-third__party_blink_renderer_platform_fonts_font__description.cc b/www/chromium/files/patch-third__party_blink_renderer_platform_fonts_font__description.cc index 91b196feb7a5..7b9bdbf3777f 100644 --- a/www/chromium/files/patch-third__party_blink_renderer_platform_fonts_font__description.cc +++ b/www/chromium/files/patch-third__party_blink_renderer_platform_fonts_font__description.cc @@ -1,20 +1,20 @@ ---- third_party/blink/renderer/platform/fonts/font_description.cc.orig 2025-10-30 15:44:36 UTC +--- third_party/blink/renderer/platform/fonts/font_description.cc.orig 2026-08-12 09:02:10 UTC +++ third_party/blink/renderer/platform/fonts/font_description.cc @@ -45,7 +45,7 @@ #include "third_party/blink/renderer/platform/wtf/text/string_hash.h" #include "third_party/blink/renderer/platform/wtf/text/string_hasher.h" -#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_ANDROID) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_ANDROID) || BUILDFLAG(IS_BSD) #include "third_party/blink/renderer/platform/fonts/font_cache.h" #endif -@@ -316,7 +316,7 @@ FontCacheKey FontDescription::CacheKey( +@@ -319,7 +319,7 @@ FontCacheKey FontDescription::CacheKey( static_cast(fields_.orientation_) << 1 | // bit 2-3 static_cast(fields_.subpixel_text_position_); // bit 1 -#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) float device_scale_factor_for_key = FontCache::DeviceScaleFactor(); #else float device_scale_factor_for_key = 1.0f; diff --git a/www/chromium/files/patch-third__party_blink_renderer_platform_fonts_font__metrics.cc b/www/chromium/files/patch-third__party_blink_renderer_platform_fonts_font__metrics.cc index 6d8c3bd5689f..2f801b83d8b5 100644 --- a/www/chromium/files/patch-third__party_blink_renderer_platform_fonts_font__metrics.cc +++ b/www/chromium/files/patch-third__party_blink_renderer_platform_fonts_font__metrics.cc @@ -1,29 +1,29 @@ ---- third_party/blink/renderer/platform/fonts/font_metrics.cc.orig 2025-10-02 04:28:32 UTC +--- third_party/blink/renderer/platform/fonts/font_metrics.cc.orig 2026-08-12 09:02:10 UTC +++ third_party/blink/renderer/platform/fonts/font_metrics.cc -@@ -40,7 +40,7 @@ +@@ -42,7 +42,7 @@ namespace blink { #if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_ANDROID) || \ - BUILDFLAG(IS_FUCHSIA) + BUILDFLAG(IS_FUCHSIA) || BUILDFLAG(IS_BSD) // This is the largest VDMX table which we'll try to load and parse. static const size_t kMaxVDMXTableSize = 1024 * 1024; // 1 MB #endif -@@ -68,7 +68,7 @@ void FontMetrics::AscentDescentWithHacks( +@@ -70,7 +70,7 @@ void FontMetrics::AscentDescentWithHacks( bool is_vdmx_valid = false; #if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_ANDROID) || \ - BUILDFLAG(IS_FUCHSIA) + BUILDFLAG(IS_FUCHSIA) || BUILDFLAG(IS_BSD) // Manually digging up VDMX metrics is only applicable when bytecode hinting // using FreeType. With DirectWrite or CoreText, no bytecode hinting is ever // done. This code should be pushed into FreeType (hinted font metrics). -@@ -112,7 +112,7 @@ void FontMetrics::AscentDescentWithHacks( +@@ -118,7 +118,7 @@ void FontMetrics::AscentDescentWithHacks( descent = SkScalarRoundToScalar(metrics.fDescent); #if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_ANDROID) || \ - BUILDFLAG(IS_FUCHSIA) + BUILDFLAG(IS_FUCHSIA) || BUILDFLAG(IS_BSD) // When subpixel positioning is enabled, if the descent is rounded down, // the descent part of the glyph may be truncated when displayed in a // 'overflow: hidden' container. To avoid that, borrow 1 unit from the diff --git a/www/chromium/files/patch-third__party_blink_renderer_platform_fonts_skia_font__cache__skia.cc b/www/chromium/files/patch-third__party_blink_renderer_platform_fonts_skia_font__cache__skia.cc index 8f1d7c4afe4b..4657273ee603 100644 --- a/www/chromium/files/patch-third__party_blink_renderer_platform_fonts_skia_font__cache__skia.cc +++ b/www/chromium/files/patch-third__party_blink_renderer_platform_fonts_skia_font__cache__skia.cc @@ -1,11 +1,11 @@ ---- third_party/blink/renderer/platform/fonts/skia/font_cache_skia.cc.orig 2026-07-01 06:24:19 UTC +--- third_party/blink/renderer/platform/fonts/skia/font_cache_skia.cc.orig 2026-08-12 09:02:10 UTC +++ third_party/blink/renderer/platform/fonts/skia/font_cache_skia.cc -@@ -301,7 +301,7 @@ const FontPlatformData* FontCache::CreateFontPlatformD +@@ -304,7 +304,7 @@ const FontPlatformData* FontCache::CreateFontPlatformD std::string name; sk_sp typeface; -#if BUILDFLAG(IS_ANDROID) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) +#if BUILDFLAG(IS_ANDROID) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) bool noto_color_emoji_from_gmscore = false; #if BUILDFLAG(IS_ANDROID) // Use the unique local matching pathway for fetching Noto Color Emoji Compat diff --git a/www/chromium/files/patch-third__party_blink_renderer_platform_graphics_canvas__resource__provider.cc b/www/chromium/files/patch-third__party_blink_renderer_platform_graphics_canvas__resource__provider.cc index 96ee1a0a6ae0..de61f1186ba5 100644 --- a/www/chromium/files/patch-third__party_blink_renderer_platform_graphics_canvas__resource__provider.cc +++ b/www/chromium/files/patch-third__party_blink_renderer_platform_graphics_canvas__resource__provider.cc @@ -1,20 +1,20 @@ ---- third_party/blink/renderer/platform/graphics/canvas_resource_provider.cc.orig 2026-07-01 06:24:19 UTC +--- third_party/blink/renderer/platform/graphics/canvas_resource_provider.cc.orig 2026-08-12 09:02:10 UTC +++ third_party/blink/renderer/platform/graphics/canvas_resource_provider.cc -@@ -1285,7 +1285,7 @@ Canvas2DResourceProviderSharedImage::CreateWithClear( +@@ -1713,7 +1713,7 @@ Canvas2DResourceProviderSharedImage::CreateWithClear( gpu::SHARED_IMAGE_USAGE_CONCURRENT_READ_WRITE); #endif -#if BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) // WebGpu preferred canvas on linux is RGBA and interop (vk on gl) is // dependent on canvas copies being RGBA (not BGRA). should_force_bgra8_to_rgba = true; -@@ -1439,7 +1439,7 @@ CanvasNon2DResourceProviderSharedImage::Create( +@@ -1871,7 +1871,7 @@ CanvasNon2DResourceProviderSharedImage::Create( gpu::SHARED_IMAGE_USAGE_CONCURRENT_READ_WRITE); #endif -#if BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) // WebGpu preferred canvas on linux is RGBA and interop (vk on gl) is // dependent on canvas copies being RGBA (not BGRA). should_force_bgra8_to_rgba = true; diff --git a/www/chromium/files/patch-third__party_blink_renderer_platform_runtime__enabled__features.json5 b/www/chromium/files/patch-third__party_blink_renderer_platform_runtime__enabled__features.json5 index fefeec812a05..155c02c47ee6 100644 --- a/www/chromium/files/patch-third__party_blink_renderer_platform_runtime__enabled__features.json5 +++ b/www/chromium/files/patch-third__party_blink_renderer_platform_runtime__enabled__features.json5 @@ -1,128 +1,119 @@ ---- third_party/blink/renderer/platform/runtime_enabled_features.json5.orig 2026-07-29 11:06:49 UTC +--- third_party/blink/renderer/platform/runtime_enabled_features.json5.orig 2026-08-12 09:02:10 UTC +++ third_party/blink/renderer/platform/runtime_enabled_features.json5 -@@ -431,7 +431,7 @@ - name: "AIPromptAPILegacyParams", - public: true, - origin_trial_feature_name: "AIPromptAPIParams", -- origin_trial_os: ["win", "mac", "linux", "chromeos"], -+ origin_trial_os: ["win", "mac", "linux", "chromeos", "openbsd", "freebsd"], - origin_trial_allows_third_party: true, - implied_by: ["AIPromptAPIParams"], - }, -@@ -457,7 +457,7 @@ +@@ -449,7 +449,7 @@ "default": "", }, origin_trial_feature_name: "AIPromptAPIParams", - origin_trial_os: ["win", "mac", "linux", "chromeos"], + origin_trial_os: ["win", "mac", "linux", "chromeos", "openbsd", "freebsd"], origin_trial_allows_third_party: true, }, { -@@ -489,7 +489,7 @@ +@@ -481,7 +481,7 @@ "default": "", }, origin_trial_feature_name: "AIProofreaderAPI", - origin_trial_os: ["win", "mac", "linux", "chromeos"], + origin_trial_os: ["win", "mac", "linux", "chromeos", "openbsd", "freebsd"], origin_trial_allows_third_party: true, base_feature_status: "enabled", copied_from_base_feature_if: "overridden", -@@ -504,7 +504,7 @@ +@@ -496,7 +496,7 @@ "default": "", }, origin_trial_feature_name: "AIRewriterAPI", - origin_trial_os: ["win", "mac", "linux", "chromeos"], + origin_trial_os: ["win", "mac", "linux", "chromeos", "openbsd", "freebsd"], origin_trial_allows_third_party: true, base_feature_status: "enabled", copied_from_base_feature_if: "overridden", -@@ -540,7 +540,7 @@ +@@ -532,7 +532,7 @@ "default": "", }, origin_trial_feature_name: "AIWriterAPI", - origin_trial_os: ["win", "mac", "linux", "chromeos"], + origin_trial_os: ["win", "mac", "linux", "chromeos", "openbsd", "freebsd"], origin_trial_allows_third_party: true, base_feature_status: "enabled", copied_from_base_feature_if: "overridden", -@@ -686,7 +686,7 @@ +@@ -688,7 +688,7 @@ name: "AppTitle", status: "experimental", origin_trial_feature_name: "AppTitle", - origin_trial_os: ["win", "mac", "linux", "chromeos"], + origin_trial_os: ["win", "mac", "linux", "chromeos", "openbsd", "freebsd"], base_feature: "WebAppEnableAppTitle", }, { -@@ -1454,7 +1454,7 @@ +@@ -1489,7 +1489,7 @@ name: "CSPHashesV1", base_feature: "none", origin_trial_feature_name: "CSPExtendedScriptSrcHashes", - origin_trial_os: ["win", "linux", "mac", "android", "chromeos"], + origin_trial_os: ["win", "linux", "mac", "android", "chromeos", "openbsd", "freebsd"], status: "experimental", public: true, }, -@@ -2364,7 +2364,7 @@ +@@ -2437,7 +2437,7 @@ name: "DocumentIsolationPolicy", status: "experimental", origin_trial_feature_name: "DocumentIsolationPolicy", - origin_trial_os: ["win", "mac", "linux", "chromeos"], + origin_trial_os: ["win", "mac", "linux", "chromeos", "openbsd", "freebsd"], base_feature: "none", }, { -@@ -2711,7 +2711,7 @@ +@@ -2625,7 +2625,7 @@ + public: true, + origin_trial_feature_name: "EmailVerificationProtocol", + origin_trial_allows_third_party: true, +- origin_trial_os: ["win", "mac", "linux", "chromeos"], ++ origin_trial_os: ["win", "mac", "linux", "chromeos", "openbsd", "freebsd"], + status: { + "Win": "experimental", + "Mac": "experimental", +@@ -2802,7 +2802,7 @@ base_feature: "none", public: true, origin_trial_feature_name: "FedCmMultipleIdentityProviders", - origin_trial_os: ["win", "mac", "linux", "chromeos"], + origin_trial_os: ["win", "mac", "linux", "chromeos", "openbsd", "freebsd"], origin_trial_allows_third_party: true, }, { -@@ -3545,7 +3545,7 @@ +@@ -3662,7 +3662,7 @@ name: "InstallElement", status: {"Android": "", "default": "test"}, origin_trial_feature_name: "InstallElement", - origin_trial_os: ["win", "mac", "linux", "chromeos"], + origin_trial_os: ["win", "mac", "linux", "chromeos", "openbsd", "freebsd"], public: true, base_feature_status: "enabled", copied_from_base_feature_if: "overridden", -@@ -6291,7 +6291,7 @@ +@@ -6500,7 +6500,7 @@ name: "UnrestrictedSharedArrayBuffer", base_feature: "none", origin_trial_feature_name: "UnrestrictedSharedArrayBuffer", - origin_trial_os: ["win", "mac", "linux", "fuchsia", "chromeos"], + origin_trial_os: ["win", "mac", "linux", "fuchsia", "chromeos", "openbsd", "freebsd"], }, // Enables using policy-controlled feature "usb-unrestricted" to allow // isolated context to access protected USB interface classes and to -@@ -6389,7 +6389,7 @@ - status: "experimental", - origin_trial_feature_name: "UserMediaElement", - public: true, -- origin_trial_os: ["win", "mac", "linux", "fuchsia", "chromeos", "android"], -+ origin_trial_os: ["win", "mac", "linux", "fuchsia", "chromeos", "android", "openbsd", "freebsd"], - base_feature_status: "enabled", - copied_from_base_feature_if: "overridden", - }, -@@ -6504,7 +6504,7 @@ +@@ -6725,7 +6725,7 @@ name: "WebAppInstallation", status: {"Android": "", "default": "test"}, origin_trial_feature_name: "WebAppInstallation", - origin_trial_os: ["win", "mac", "linux", "chromeos"], + origin_trial_os: ["win", "mac", "linux", "chromeos", "openbsd", "freebsd"], public: true, base_feature_status: "enabled", copied_from_base_feature_if: "overridden", -@@ -6518,7 +6518,7 @@ +@@ -6739,7 +6739,7 @@ { name: "WebAppScopeExtensions", origin_trial_feature_name: "WebAppScopeExtensions", - origin_trial_os: ["win", "mac", "linux", "chromeos"], + origin_trial_os: ["win", "mac", "linux", "chromeos", "openbsd", "freebsd"], status: "experimental", base_feature: "none", }, diff --git a/www/chromium/files/patch-third__party_dawn_tools_generate-sources-gn.py b/www/chromium/files/patch-third__party_dawn_tools_generate-sources-gn.py new file mode 100644 index 000000000000..e725059af680 --- /dev/null +++ b/www/chromium/files/patch-third__party_dawn_tools_generate-sources-gn.py @@ -0,0 +1,12 @@ +--- third_party/dawn/tools/generate-sources-gn.py.orig 2026-08-12 09:02:10 UTC ++++ third_party/dawn/tools/generate-sources-gn.py +@@ -40,8 +40,7 @@ from tools.python import cipd_deps + + + def main() -> int: +- go_binary = os.path.join(DAWN_ROOT, 'tools', 'golang', +- cipd_deps.get_cipd_platform(), 'bin', 'go') ++ go_binary = "go" + if sys.platform == 'win32': + go_binary += '.exe' + diff --git a/www/chromium/files/patch-third__party_dawn_tools_python_cipd__deps.py b/www/chromium/files/patch-third__party_dawn_tools_python_cipd__deps.py new file mode 100644 index 000000000000..e238308628e6 --- /dev/null +++ b/www/chromium/files/patch-third__party_dawn_tools_python_cipd__deps.py @@ -0,0 +1,11 @@ +--- third_party/dawn/tools/python/cipd_deps.py.orig 2026-08-12 09:02:10 UTC ++++ third_party/dawn/tools/python/cipd_deps.py +@@ -49,7 +49,7 @@ def get_cipd_compatible_current_os() -> str: + The returned string is compatible with CIPD's package naming scheme. + """ + current_platform = sys.platform +- if current_platform in ('linux', 'cygwin'): ++ if syscurrent_platform.startswith(('linux', 'cygwin', 'openbsd', 'freebsd')): + return 'linux' + if current_platform == 'win32': + return 'windows' diff --git a/www/chromium/files/patch-third__party_federated__compute_src_fcp_client_opstats_pds__backed__opstats__db.cc b/www/chromium/files/patch-third__party_federated__compute_src_fcp_client_opstats_pds__backed__opstats__db.cc new file mode 100644 index 000000000000..be3039e3a1b5 --- /dev/null +++ b/www/chromium/files/patch-third__party_federated__compute_src_fcp_client_opstats_pds__backed__opstats__db.cc @@ -0,0 +1,10 @@ +--- third_party/federated_compute/src/fcp/client/opstats/pds_backed_opstats_db.cc.orig 2026-08-12 09:02:10 UTC ++++ third_party/federated_compute/src/fcp/client/opstats/pds_backed_opstats_db.cc +@@ -17,6 +17,7 @@ + + #include + #include ++#include + + #include + #include diff --git a/www/chromium/files/patch-third__party_federated__compute_third__party_protodatastore-cpp_src_protostore_file-storage.cc b/www/chromium/files/patch-third__party_federated__compute_third__party_protodatastore-cpp_src_protostore_file-storage.cc new file mode 100644 index 000000000000..bf2bad998357 --- /dev/null +++ b/www/chromium/files/patch-third__party_federated__compute_third__party_protodatastore-cpp_src_protostore_file-storage.cc @@ -0,0 +1,11 @@ +--- third_party/federated_compute/third_party/protodatastore-cpp/src/protostore/file-storage.cc.orig 2026-08-12 09:02:10 UTC ++++ third_party/federated_compute/third_party/protodatastore-cpp/src/protostore/file-storage.cc +@@ -130,7 +130,7 @@ absl::Status IOError(absl::string_view context) { + case ENETUNREACH: // Network unreachable + case ENOLCK: // No locks available + case ENOLINK: // Link has been severed +-#if !(defined(__APPLE__) || defined(__FreeBSD__) || defined(_WIN32)) ++#if !(defined(__APPLE__) || defined(__FreeBSD__) || defined(_WIN32) || defined(__OpenBSD__)) + case ENONET: // Machine is not on the network + #endif + return absl::UnavailableError(message); diff --git a/www/chromium/files/patch-third__party_libsync_src_include_ndk_sync.h b/www/chromium/files/patch-third__party_libsync_src_include_ndk_sync.h index ffefaab4294e..158f90efdd88 100644 --- a/www/chromium/files/patch-third__party_libsync_src_include_ndk_sync.h +++ b/www/chromium/files/patch-third__party_libsync_src_include_ndk_sync.h @@ -1,19 +1,19 @@ ---- third_party/libsync/src/include/ndk/sync.h.orig 2026-05-07 17:02:56 UTC +--- third_party/libsync/src/include/ndk/sync.h.orig 2026-08-12 09:02:10 UTC +++ third_party/libsync/src/include/ndk/sync.h -@@ -28,6 +28,7 @@ - +@@ -29,6 +29,7 @@ #include + #include +#if 0 #include __BEGIN_DECLS -@@ -93,7 +94,7 @@ void sync_file_info_free(struct sync_file_info *info); - #endif // __ANDROID_API__ >= __ANDROID_API_O__ +@@ -100,7 +101,7 @@ static inline struct sync_fence_info* sync_get_fence_i + void sync_file_info_free(struct sync_file_info* info) __INTRODUCED_IN(26); __END_DECLS - +#endif #endif /* ANDROID_SYNC_H */ /** @} */ diff --git a/www/chromium/files/patch-third__party_pdfium_core_fxge_cfx__fontmapper.cpp b/www/chromium/files/patch-third__party_pdfium_core_fxge_cfx__fontmapper.cpp index df319f3b0fff..1f6221ba63a9 100644 --- a/www/chromium/files/patch-third__party_pdfium_core_fxge_cfx__fontmapper.cpp +++ b/www/chromium/files/patch-third__party_pdfium_core_fxge_cfx__fontmapper.cpp @@ -1,11 +1,11 @@ ---- third_party/pdfium/core/fxge/cfx_fontmapper.cpp.orig 2026-05-07 17:02:56 UTC +--- third_party/pdfium/core/fxge/cfx_fontmapper.cpp.orig 2026-08-12 09:02:10 UTC +++ third_party/pdfium/core/fxge/cfx_fontmapper.cpp -@@ -159,7 +159,7 @@ constexpr AltFontFamily kAltFontFamilies[] = { +@@ -41,7 +41,7 @@ constexpr AltFontFamily kAltFontFamilies[] = { {"ForteMT", "Forte"}, }; -#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || defined(OS_ASMJS) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || defined(OS_ASMJS) || BUILDFLAG(IS_BSD) const char kNarrowFamily[] = "LiberationSansNarrow"; #elif BUILDFLAG(IS_ANDROID) const char kNarrowFamily[] = "RobotoCondensed"; diff --git a/www/chromium/files/patch-third__party_pdfium_core_fxge_linux_fx__linux__impl.cpp b/www/chromium/files/patch-third__party_pdfium_core_fxge_linux_fx__linux__impl.cpp index d38479c2c5e2..fbb72bbc20a1 100644 --- a/www/chromium/files/patch-third__party_pdfium_core_fxge_linux_fx__linux__impl.cpp +++ b/www/chromium/files/patch-third__party_pdfium_core_fxge_linux_fx__linux__impl.cpp @@ -1,23 +1,23 @@ ---- third_party/pdfium/core/fxge/linux/fx_linux_impl.cpp.orig 2026-04-09 06:05:42 UTC +--- third_party/pdfium/core/fxge/linux/fx_linux_impl.cpp.orig 2026-08-12 09:02:10 UTC +++ third_party/pdfium/core/fxge/linux/fx_linux_impl.cpp @@ -19,7 +19,7 @@ #include "core/fxge/fx_font.h" #include "core/fxge/systemfontinfo_iface.h" -#if !BUILDFLAG(IS_LINUX) && !BUILDFLAG(IS_CHROMEOS) && !defined(OS_ASMJS) +#if !BUILDFLAG(IS_LINUX) && !BUILDFLAG(IS_CHROMEOS) && !defined(OS_ASMJS) && !BUILDFLAG(IS_BSD) #error "Included on the wrong platform" #endif -@@ -180,9 +180,8 @@ class CLinuxPlatform : public CFX_GEModule::PlatformIf +@@ -182,9 +182,8 @@ class CLinuxPlatform : public CFX_GEModule::PlatformIf std::unique_ptr CreateDefaultSystemFontInfo() override { auto pInfo = std::make_unique(); if (!pInfo->ParseFontCfg(CFX_GEModule::Get()->GetUserFontPaths())) { - pInfo->AddPath("/usr/share/fonts"); - pInfo->AddPath("/usr/share/X11/fonts/Type1"); - pInfo->AddPath("/usr/share/X11/fonts/TTF"); + pInfo->AddPath("/usr/X11R6/lib/X11/fonts/Type1"); + pInfo->AddPath("/usr/X11R6/lib/X11/fonts/TTF"); pInfo->AddPath("/usr/local/share/fonts"); } return pInfo; diff --git a/www/chromium/files/patch-third__party_pdfium_pdfium.gni b/www/chromium/files/patch-third__party_pdfium_pdfium.gni index 9892669c88f6..24eb0dacc241 100644 --- a/www/chromium/files/patch-third__party_pdfium_pdfium.gni +++ b/www/chromium/files/patch-third__party_pdfium_pdfium.gni @@ -1,11 +1,11 @@ ---- third_party/pdfium/pdfium.gni.orig 2026-04-09 06:05:42 UTC +--- third_party/pdfium/pdfium.gni.orig 2026-08-12 09:02:10 UTC +++ third_party/pdfium/pdfium.gni -@@ -42,7 +42,7 @@ declare_args() { +@@ -45,7 +45,7 @@ declare_args() { # PDFium will use PartitionAlloc partitions to separate strings, scalars, # etc. from other allocations. However, the use of PartitionAlloc for new or # malloc is controlled by args in build_overrides/partition_alloc.gni. - pdf_use_partition_alloc = pdf_use_partition_alloc_override + pdf_use_partition_alloc = pdf_use_partition_alloc_override && use_partition_alloc_as_malloc # Build PDFium to use AGG (fully supported). pdf_use_agg = true diff --git a/www/chromium/files/patch-third__party_perfetto_src_base_file__utils.cc b/www/chromium/files/patch-third__party_perfetto_src_base_file__utils.cc index 63d15eb36bd2..f85293f908a8 100644 --- a/www/chromium/files/patch-third__party_perfetto_src_base_file__utils.cc +++ b/www/chromium/files/patch-third__party_perfetto_src_base_file__utils.cc @@ -1,28 +1,28 @@ ---- third_party/perfetto/src/base/file_utils.cc.orig 2026-06-04 10:12:25 UTC +--- third_party/perfetto/src/base/file_utils.cc.orig 2026-08-12 09:02:10 UTC +++ third_party/perfetto/src/base/file_utils.cc @@ -60,8 +60,10 @@ #include #endif -#if PERFETTO_BUILDFLAG(PERFETTO_OS_LINUX_BUT_NOT_QNX) || \ - PERFETTO_BUILDFLAG(PERFETTO_OS_ANDROID) +#if (PERFETTO_BUILDFLAG(PERFETTO_OS_LINUX_BUT_NOT_QNX) || \ + PERFETTO_BUILDFLAG(PERFETTO_OS_ANDROID)) && \ + !PERFETTO_BUILDFLAG(PERFETTO_OS_OPENBSD) && \ + !PERFETTO_BUILDFLAG(PERFETTO_OS_FREEBSD) // For inotify. QNX doesn't have full support for inotify_init1(). #include #endif -@@ -640,8 +642,10 @@ std::optional GetFileSize(PlatformHandle fd) +@@ -649,8 +651,10 @@ std::optional GetFileSize(PlatformHandle fd) // LinuxFileWatch -#if PERFETTO_BUILDFLAG(PERFETTO_OS_LINUX_BUT_NOT_QNX) || \ - PERFETTO_BUILDFLAG(PERFETTO_OS_ANDROID) +#if (PERFETTO_BUILDFLAG(PERFETTO_OS_LINUX_BUT_NOT_QNX) || \ + PERFETTO_BUILDFLAG(PERFETTO_OS_ANDROID)) && \ + !PERFETTO_BUILDFLAG(PERFETTO_OS_OPENBSD) && \ + !PERFETTO_BUILDFLAG(PERFETTO_OS_FREEBSD) namespace { diff --git a/www/chromium/files/patch-third__party_perfetto_src_base_utils.cc b/www/chromium/files/patch-third__party_perfetto_src_base_utils.cc index 4839866e6489..a5099b2cf74f 100644 --- a/www/chromium/files/patch-third__party_perfetto_src_base_utils.cc +++ b/www/chromium/files/patch-third__party_perfetto_src_base_utils.cc @@ -1,47 +1,47 @@ ---- third_party/perfetto/src/base/utils.cc.orig 2026-01-14 08:33:23 UTC +--- third_party/perfetto/src/base/utils.cc.orig 2026-08-12 09:02:10 UTC +++ third_party/perfetto/src/base/utils.cc @@ -43,7 +43,8 @@ #include #endif -#if PERFETTO_BUILDFLAG(PERFETTO_OS_LINUX_BUT_NOT_QNX) || \ +#if (PERFETTO_BUILDFLAG(PERFETTO_OS_LINUX_BUT_NOT_QNX) && \ + !PERFETTO_BUILDFLAG(PERFETTO_OS_BSD)) || \ PERFETTO_BUILDFLAG(PERFETTO_OS_ANDROID) #include -@@ -294,14 +295,22 @@ void Daemonize(std::function parent_cb) { +@@ -293,14 +294,22 @@ void Daemonize(std::function parent_cb) { std::string GetCurExecutablePath() { std::string self_path; -#if PERFETTO_BUILDFLAG(PERFETTO_OS_LINUX) || \ +#if (PERFETTO_BUILDFLAG(PERFETTO_OS_LINUX) || \ PERFETTO_BUILDFLAG(PERFETTO_OS_ANDROID) || \ - PERFETTO_BUILDFLAG(PERFETTO_OS_FUCHSIA) + PERFETTO_BUILDFLAG(PERFETTO_OS_FUCHSIA)) && \ + !PERFETTO_BUILDFLAG(PERFETTO_OS_BSD) char buf[PATH_MAX]; ssize_t size = readlink("/proc/self/exe", buf, sizeof(buf)); PERFETTO_CHECK(size != -1); // readlink does not null terminate. self_path = std::string(buf, static_cast(size)); +#elif PERFETTO_BUILDFLAG(PERFETTO_OS_BSD) + char *buf; + const char *cpath = "/usr/local/chrome/chrome"; + if ((buf = getenv("CHROME_EXE_PATH")) != NULL) + self_path = std::string(buf); + else + self_path = std::string(cpath); #elif PERFETTO_BUILDFLAG(PERFETTO_OS_APPLE) uint32_t size = 0; PERFETTO_CHECK(_NSGetExecutablePath(nullptr, &size)); -@@ -365,7 +374,8 @@ void AlignedFree(void* ptr) { +@@ -364,7 +373,8 @@ void AlignedFree(void* ptr) { } bool IsSyncMemoryTaggingEnabled() { -#if PERFETTO_BUILDFLAG(PERFETTO_OS_LINUX_BUT_NOT_QNX) || \ +#if (PERFETTO_BUILDFLAG(PERFETTO_OS_LINUX_BUT_NOT_QNX) && \ + !PERFETTO_BUILDFLAG(PERFETTO_OS_BSD)) || \ PERFETTO_BUILDFLAG(PERFETTO_OS_ANDROID) // Compute only once per lifetime of the process. static bool cached_value = [] { diff --git a/www/chromium/files/patch-third__party_perfetto_src_tracing_track.cc b/www/chromium/files/patch-third__party_perfetto_src_tracing_track.cc index 29f874b1ac97..3d951bec2d24 100644 --- a/www/chromium/files/patch-third__party_perfetto_src_tracing_track.cc +++ b/www/chromium/files/patch-third__party_perfetto_src_tracing_track.cc @@ -1,23 +1,23 @@ ---- third_party/perfetto/src/tracing/track.cc.orig 2025-10-02 04:28:32 UTC +--- third_party/perfetto/src/tracing/track.cc.orig 2026-08-12 09:02:10 UTC +++ third_party/perfetto/src/tracing/track.cc @@ -60,8 +60,9 @@ protos::gen::TrackDescriptor ProcessTrack::Serialize() auto desc = Track::Serialize(); auto pd = desc.mutable_process(); pd->set_pid(static_cast(pid)); -#if PERFETTO_BUILDFLAG(PERFETTO_OS_LINUX) || \ - PERFETTO_BUILDFLAG(PERFETTO_OS_ANDROID) +#if (PERFETTO_BUILDFLAG(PERFETTO_OS_LINUX) || \ + PERFETTO_BUILDFLAG(PERFETTO_OS_ANDROID)) && \ + !PERFETTO_BUILDFLAG(PERFETTO_OS_BSD) std::string cmdline; if (base::ReadFile("/proc/self/cmdline", &cmdline)) { // Since cmdline is a zero-terminated list of arguments, this ends up -@@ -179,7 +180,7 @@ namespace internal { +@@ -176,7 +177,7 @@ namespace internal { namespace { uint64_t GetProcessStartTime() { -#if !PERFETTO_BUILDFLAG(PERFETTO_OS_WIN) +#if !PERFETTO_BUILDFLAG(PERFETTO_OS_WIN) && !PERFETTO_BUILDFLAG(PERFETTO_OS_BSD) std::string stat; if (!base::ReadFile("/proc/self/stat", &stat)) return 0u; diff --git a/www/chromium/files/patch-third__party_skia_rust_png_FFI.rs b/www/chromium/files/patch-third__party_skia_rust_png_FFI.rs index 00ea3cdd7c0f..de4a63fb2455 100644 --- a/www/chromium/files/patch-third__party_skia_rust_png_FFI.rs +++ b/www/chromium/files/patch-third__party_skia_rust_png_FFI.rs @@ -1,23 +1,23 @@ ---- third_party/skia/rust/png/FFI.rs.orig 2026-02-11 09:05:39 UTC +--- third_party/skia/rust/png/FFI.rs.orig 2026-08-12 09:02:10 UTC +++ third_party/skia/rust/png/FFI.rs -@@ -222,6 +222,7 @@ mod ffi { +@@ -230,6 +230,7 @@ mod ffi { type StreamWriter; fn write(self: &mut StreamWriter, data: &[u8]) -> EncodingResult; fn finish_encoding(stream_writer: Box) -> EncodingResult; + fn initialize_cpudetect(); } } -@@ -940,4 +941,12 @@ fn new_writer( +@@ -1151,4 +1152,12 @@ fn new_writer( /// See also https://docs.rs/png/latest/png/struct.StreamWriter.html#method.finish fn finish_encoding(stream_writer: Box) -> ffi::EncodingResult { stream_writer.0.finish().as_ref().err().into() +} + +#[allow(unused_variables)] +fn initialize_cpudetect() { + #[cfg(any(target_arch = "aarch64", target_arch = "arm64ec"))] + let a = std::arch::is_aarch64_feature_detected!("crc"); + #[cfg(any(target_arch = "x86", target_arch = "x86_64"))] + let a = std::arch::is_x86_feature_detected!("sse2"); } diff --git a/www/chromium/files/patch-third__party_tflite_features.gni b/www/chromium/files/patch-third__party_tflite_features.gni index bdfd72126884..c7bb019caeaf 100644 --- a/www/chromium/files/patch-third__party_tflite_features.gni +++ b/www/chromium/files/patch-third__party_tflite_features.gni @@ -1,11 +1,11 @@ ---- third_party/tflite/features.gni.orig 2026-06-04 10:12:25 UTC +--- third_party/tflite/features.gni.orig 2026-08-12 09:02:10 UTC +++ third_party/tflite/features.gni -@@ -14,7 +14,7 @@ declare_args() { +@@ -15,7 +15,7 @@ declare_args() { use_litert_tflite = false # This enables building TFLite with XNNPACK. - build_tflite_with_xnnpack = current_cpu != "arm" && !is_fuchsia + build_tflite_with_xnnpack = current_cpu != "arm" && !is_fuchsia && !is_bsd # Turns on TFLITE_WITH_RUY, using ruy as the gemm backend instead of gemmlowp. build_tflite_with_ruy = true diff --git a/www/chromium/files/patch-third__party_webrtc_BUILD.gn b/www/chromium/files/patch-third__party_webrtc_BUILD.gn index 5fdf00e4f480..39a3a4994524 100644 --- a/www/chromium/files/patch-third__party_webrtc_BUILD.gn +++ b/www/chromium/files/patch-third__party_webrtc_BUILD.gn @@ -1,12 +1,12 @@ ---- third_party/webrtc/BUILD.gn.orig 2026-07-01 06:24:19 UTC +--- third_party/webrtc/BUILD.gn.orig 2026-08-12 09:02:10 UTC +++ third_party/webrtc/BUILD.gn -@@ -251,6 +251,9 @@ config("common_inherited_config") { +@@ -256,6 +256,9 @@ config("common_inherited_config") { if (is_linux || is_chromeos) { defines += [ "WEBRTC_LINUX" ] } + if (is_bsd) { + defines += [ "WEBRTC_BSD" ] + } if (is_mac) { defines += [ "WEBRTC_MAC" ] } diff --git a/www/chromium/files/patch-third__party_webrtc_modules_desktop__capture_BUILD.gn b/www/chromium/files/patch-third__party_webrtc_modules_desktop__capture_BUILD.gn index d98ec96b2687..5b7c87ee0976 100644 --- a/www/chromium/files/patch-third__party_webrtc_modules_desktop__capture_BUILD.gn +++ b/www/chromium/files/patch-third__party_webrtc_modules_desktop__capture_BUILD.gn @@ -1,11 +1,11 @@ ---- third_party/webrtc/modules/desktop_capture/BUILD.gn.orig 2026-06-04 10:12:25 UTC +--- third_party/webrtc/modules/desktop_capture/BUILD.gn.orig 2026-08-12 09:02:10 UTC +++ third_party/webrtc/modules/desktop_capture/BUILD.gn -@@ -429,6 +429,8 @@ rtc_library("desktop_capture") { +@@ -712,6 +712,8 @@ rtc_library("desktop_capture") { "Xrender", "Xtst", + "X11-xcb", + "xcb-shm" ] } diff --git a/www/chromium/files/patch-tools_gn_build_gen.py b/www/chromium/files/patch-tools_gn_build_gen.py index 8d0b2b8fff3e..dba1fa733e51 100644 --- a/www/chromium/files/patch-tools_gn_build_gen.py +++ b/www/chromium/files/patch-tools_gn_build_gen.py @@ -1,34 +1,34 @@ ---- tools/gn/build/gen.py.orig 2026-05-07 17:02:56 UTC +--- tools/gn/build/gen.py.orig 2026-08-12 09:02:10 UTC +++ tools/gn/build/gen.py -@@ -94,6 +94,12 @@ class Platform(object): +@@ -90,6 +90,12 @@ class Platform(object): def is_solaris(self): return self._platform == 'solaris' + def is_openbsd(self): + return self._platform == 'openbsd' + + def is_freebsd(self): + return self._platform == 'freebsd' + def is_posix(self): return self._platform in ['linux', 'freebsd', 'darwin', 'aix', 'openbsd', 'haiku', 'solaris', 'msys', 'netbsd', 'serenity'] -@@ -314,7 +320,7 @@ def WriteGenericNinja(path, static_libraries, executab +@@ -318,7 +324,7 @@ def WriteGenericNinja(path, static_libraries, executab 'linux': 'build_linux.ninja.template', 'freebsd': 'build_linux.ninja.template', 'aix': 'build_aix.ninja.template', - 'openbsd': 'build_openbsd.ninja.template', + 'openbsd': 'build_linux.ninja.template', 'haiku': 'build_haiku.ninja.template', 'solaris': 'build_linux.ninja.template', 'netbsd': 'build_linux.ninja.template', -@@ -560,6 +566,9 @@ def WriteGNNinja(path, platform, host, options, args_l +@@ -582,6 +588,9 @@ def WriteGNNinja(path, platform, host, options, args_l if platform.is_posix() and not platform.is_haiku(): ldflags.append('-pthread') + + if platform.is_openbsd(): + libs.append('-lkvm') if platform.is_mingw() or platform.is_msys(): cflags.extend(['-DUNICODE', diff --git a/www/chromium/files/patch-tools_metrics_BUILD.gn b/www/chromium/files/patch-tools_metrics_BUILD.gn new file mode 100644 index 000000000000..c49847904d80 --- /dev/null +++ b/www/chromium/files/patch-tools_metrics_BUILD.gn @@ -0,0 +1,19 @@ +--- tools/metrics/BUILD.gn.orig 2026-08-12 09:02:10 UTC ++++ tools/metrics/BUILD.gn +@@ -41,11 +41,11 @@ group("metrics_metadata") { + ] + + # Only include histograms_xml if we have access to dirmd data, which +- # is used to populate ownership information. This is only set to false +- # for non-git checkouts. +- # TODO(crbug.com/329080012): Remove this once dirmd works in non-git +- # checkouts. +- if (generate_location_tags) { ++ # is used to populate ownership information. This is disabled ++ # for non-git checkouts, as dirmd doesn't work on non-git checkout. ++ # TODO(crbug.com/329080012): Remove this condition once dirmd works ++ # in non-git checkouts. ++ if (path_exists("//.git")) { + deps += [ ":histograms_xml" ] + } + } diff --git a/www/chromium/files/patch-ui_accessibility_accessibility__features.cc b/www/chromium/files/patch-ui_accessibility_accessibility__features.cc index 55cfcd182bad..de1912c8fee9 100644 --- a/www/chromium/files/patch-ui_accessibility_accessibility__features.cc +++ b/www/chromium/files/patch-ui_accessibility_accessibility__features.cc @@ -1,20 +1,20 @@ ---- ui/accessibility/accessibility_features.cc.orig 2026-07-01 06:24:19 UTC +--- ui/accessibility/accessibility_features.cc.orig 2026-08-12 09:02:10 UTC +++ ui/accessibility/accessibility_features.cc -@@ -467,7 +467,7 @@ bool IsScreenAITestModeEnabled() { +@@ -480,7 +480,7 @@ bool IsScreenAITestModeEnabled() { return base::FeatureList::IsEnabled(::features::kScreenAITestMode); } -#if BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) BASE_FEATURE(kScreenAIPartitionAllocAdvancedChecksEnabled, base::FEATURE_DISABLED_BY_DEFAULT); #endif -@@ -508,7 +508,7 @@ bool IsMacAccessibilityTextOperationEnabled() { +@@ -521,7 +521,7 @@ bool IsMacAccessibilityTextOperationEnabled() { } #endif // BUILDFLAG(IS_MAC) -#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) BASE_FEATURE(kWasmTtsEngineAutoInstallDisabled, base::FEATURE_DISABLED_BY_DEFAULT); bool IsWasmTtsEngineAutoInstallDisabled() { diff --git a/www/chromium/files/patch-ui_accessibility_accessibility__features.h b/www/chromium/files/patch-ui_accessibility_accessibility__features.h index 1c04d4ff1ff2..5b383728d0c8 100644 --- a/www/chromium/files/patch-ui_accessibility_accessibility__features.h +++ b/www/chromium/files/patch-ui_accessibility_accessibility__features.h @@ -1,20 +1,20 @@ ---- ui/accessibility/accessibility_features.h.orig 2026-07-01 06:24:19 UTC +--- ui/accessibility/accessibility_features.h.orig 2026-08-12 09:02:10 UTC +++ ui/accessibility/accessibility_features.h -@@ -364,7 +364,7 @@ AX_BASE_EXPORT bool IsScreenAIOCREnabled(); +@@ -376,7 +376,7 @@ AX_BASE_EXPORT bool IsScreenAIOCREnabled(); AX_BASE_EXPORT BASE_DECLARE_FEATURE(kScreenAITestMode); AX_BASE_EXPORT bool IsScreenAITestModeEnabled(); -#if BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) // Enables advanced partition allocation checks in ScreenAI service. // TODO(crbug.com/418199684): Remove when the bug is fixed. AX_BASE_EXPORT BASE_DECLARE_FEATURE( -@@ -396,7 +396,7 @@ AX_BASE_EXPORT BASE_DECLARE_FEATURE(kMacAccessibilityT +@@ -408,7 +408,7 @@ AX_BASE_EXPORT BASE_DECLARE_FEATURE(kMacAccessibilityT AX_BASE_EXPORT bool IsMacAccessibilityTextOperationEnabled(); #endif // BUILDFLAG(IS_MAC) -#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) // Disable the wasm tts engine component to use dev version local extension // files. AX_BASE_EXPORT BASE_DECLARE_FEATURE(kWasmTtsEngineAutoInstallDisabled); diff --git a/www/chromium/files/patch-ui_accessibility_ax__node.h b/www/chromium/files/patch-ui_accessibility_ax__node.h index 1dff3855305a..6885a9e4af84 100644 --- a/www/chromium/files/patch-ui_accessibility_ax__node.h +++ b/www/chromium/files/patch-ui_accessibility_ax__node.h @@ -1,11 +1,11 @@ ---- ui/accessibility/ax_node.h.orig 2026-05-07 17:02:56 UTC +--- ui/accessibility/ax_node.h.orig 2026-08-12 09:02:10 UTC +++ ui/accessibility/ax_node.h -@@ -580,7 +580,7 @@ class AX_EXPORT AXNode final { +@@ -584,7 +584,7 @@ class AX_EXPORT AXNode final { const std::vector>* GetExtraMacNodes() const; -#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_WIN) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_WIN) || BUILDFLAG(IS_BSD) AXNode* GetExtraAnnouncementNode( ax::mojom::AriaNotificationPriority priority_property) const; #endif // BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_WIN) diff --git a/www/chromium/files/patch-ui_base_cursor_cursor__factory.cc b/www/chromium/files/patch-ui_base_cursor_cursor__factory.cc index 06b86762e644..a28f87544d09 100644 --- a/www/chromium/files/patch-ui_base_cursor_cursor__factory.cc +++ b/www/chromium/files/patch-ui_base_cursor_cursor__factory.cc @@ -1,11 +1,11 @@ ---- ui/base/cursor/cursor_factory.cc.orig 2025-08-07 06:57:29 UTC +--- ui/base/cursor/cursor_factory.cc.orig 2026-08-12 09:02:10 UTC +++ ui/base/cursor/cursor_factory.cc -@@ -97,7 +97,7 @@ void CursorFactory::ObserveThemeChanges() { +@@ -98,7 +98,7 @@ void CursorFactory::ObserveThemeChanges() { NOTIMPLEMENTED(); } -#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) - // Returns a cursor name compatible with either X11 or the FreeDesktop.org - // cursor spec ([1] and [2]), followed by fallbacks that can work as + bool IsValidCursorThemeName(std::string_view name) { + if (name.empty() || name == ".") { diff --git a/www/chromium/files/patch-ui_base_cursor_cursor__factory.h b/www/chromium/files/patch-ui_base_cursor_cursor__factory.h index b0cafbf42454..d37205bde0de 100644 --- a/www/chromium/files/patch-ui_base_cursor_cursor__factory.h +++ b/www/chromium/files/patch-ui_base_cursor_cursor__factory.h @@ -1,11 +1,11 @@ ---- ui/base/cursor/cursor_factory.h.orig 2023-09-13 12:11:42 UTC +--- ui/base/cursor/cursor_factory.h.orig 2026-08-12 09:02:10 UTC +++ ui/base/cursor/cursor_factory.h -@@ -93,7 +93,7 @@ class COMPONENT_EXPORT(UI_BASE_CURSOR) CursorFactory { +@@ -94,7 +94,7 @@ class COMPONENT_EXPORT(UI_BASE_CURSOR) CursorFactory { base::ObserverList::Unchecked observers_; }; -#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) COMPONENT_EXPORT(UI_BASE_CURSOR) std::vector CursorNamesFromType(mojom::CursorType type); - #endif + diff --git a/www/chromium/files/patch-ui_base_resource_resource__bundle.cc b/www/chromium/files/patch-ui_base_resource_resource__bundle.cc index 2d36878adb11..2dcc2e579600 100644 --- a/www/chromium/files/patch-ui_base_resource_resource__bundle.cc +++ b/www/chromium/files/patch-ui_base_resource_resource__bundle.cc @@ -1,11 +1,11 @@ ---- ui/base/resource/resource_bundle.cc.orig 2026-07-01 06:24:19 UTC +--- ui/base/resource/resource_bundle.cc.orig 2026-08-12 09:02:10 UTC +++ ui/base/resource/resource_bundle.cc -@@ -996,7 +996,7 @@ void ResourceBundle::ReloadFonts() { +@@ -999,7 +999,7 @@ void ResourceBundle::ReloadFonts() { } ResourceScaleFactor ResourceBundle::GetMaxResourceScaleFactor() const { -#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) +#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) return max_scale_factor_; #else return GetMaxSupportedResourceScaleFactor(); diff --git a/www/chromium/files/patch-ui_base_test_ui__controls.h b/www/chromium/files/patch-ui_base_test_ui__controls.h index 84bdf75aaecf..50810a729e65 100644 --- a/www/chromium/files/patch-ui_base_test_ui__controls.h +++ b/www/chromium/files/patch-ui_base_test_ui__controls.h @@ -1,11 +1,11 @@ ---- ui/base/test/ui_controls.h.orig 2026-07-01 06:24:19 UTC +--- ui/base/test/ui_controls.h.orig 2026-08-12 09:02:10 UTC +++ ui/base/test/ui_controls.h -@@ -194,7 +194,7 @@ bool SendTouchEventsNotifyWhenDone(int action, +@@ -191,7 +191,7 @@ bool SendTouchEventsNotifyWhenDone(int action, base::OnceClosure task); #endif -#if BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) // Forces the platform implementation to use screen coordinates, even if they're // not really available, the next time that ui_controls::SendMouseMove() or // ui_controls::SendMouseMoveNotifyWhenDone() is called, or some other method diff --git a/www/chromium/files/patch-ui_base_ui__base__features.cc b/www/chromium/files/patch-ui_base_ui__base__features.cc index b67104013ac4..5150be92ac2c 100644 --- a/www/chromium/files/patch-ui_base_ui__base__features.cc +++ b/www/chromium/files/patch-ui_base_ui__base__features.cc @@ -1,29 +1,29 @@ ---- ui/base/ui_base_features.cc.orig 2026-07-01 06:24:19 UTC +--- ui/base/ui_base_features.cc.orig 2026-08-12 09:02:10 UTC +++ ui/base/ui_base_features.cc @@ -142,7 +142,7 @@ BASE_FEATURE(kWaylandExternalBeginFrameSource, base::FEATURE_DISABLED_BY_DEFAULT); #endif // BUILDFLAG(IS_OZONE) -#if BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) BASE_FEATURE(kGlobalShortcutsPortalPreferredTrigger, base::FEATURE_DISABLED_BY_DEFAULT); #endif @@ -198,7 +198,7 @@ BASE_FEATURE(kUiCompositorUsesLayerLists, base::FEATUR // Enables the use of a touch fling curve that is based on the behavior of // native apps on Windows. BASE_FEATURE(kExperimentalFlingAnimation, -#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) base::FEATURE_ENABLED_BY_DEFAULT #else base::FEATURE_DISABLED_BY_DEFAULT -@@ -287,7 +287,7 @@ bool IsForcedColorsEnabled() { +@@ -293,7 +293,7 @@ bool IsForcedColorsEnabled() { // milestones. BASE_FEATURE(kEyeDropper, #if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || \ - BUILDFLAG(IS_CHROMEOS) + BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) base::FEATURE_ENABLED_BY_DEFAULT #else base::FEATURE_DISABLED_BY_DEFAULT diff --git a/www/chromium/files/patch-ui_base_ui__base__features.h b/www/chromium/files/patch-ui_base_ui__base__features.h index 0985bb3149ce..c18848a7adf8 100644 --- a/www/chromium/files/patch-ui_base_ui__base__features.h +++ b/www/chromium/files/patch-ui_base_ui__base__features.h @@ -1,11 +1,11 @@ ---- ui/base/ui_base_features.h.orig 2026-07-01 06:24:19 UTC +--- ui/base/ui_base_features.h.orig 2026-08-12 09:02:10 UTC +++ ui/base/ui_base_features.h -@@ -142,7 +142,7 @@ COMPONENT_EXPORT(UI_BASE_FEATURES) +@@ -147,7 +147,7 @@ COMPONENT_EXPORT(UI_BASE_FEATURES) BASE_DECLARE_FEATURE(kWaylandExternalBeginFrameSource); #endif // BUILDFLAG(IS_OZONE) -#if BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) COMPONENT_EXPORT(UI_BASE_FEATURES) BASE_DECLARE_FEATURE(kGlobalShortcutsPortalPreferredTrigger); #endif diff --git a/www/chromium/files/patch-ui_base_webui_web__ui__util.cc b/www/chromium/files/patch-ui_base_webui_web__ui__util.cc index b2db60b59594..925da0b9b736 100644 --- a/www/chromium/files/patch-ui_base_webui_web__ui__util.cc +++ b/www/chromium/files/patch-ui_base_webui_web__ui__util.cc @@ -1,20 +1,20 @@ ---- ui/base/webui/web_ui_util.cc.orig 2025-07-02 06:08:04 UTC +--- ui/base/webui/web_ui_util.cc.orig 2026-08-12 09:02:10 UTC +++ ui/base/webui/web_ui_util.cc -@@ -42,7 +42,7 @@ namespace { +@@ -43,7 +43,7 @@ namespace { constexpr float kMaxScaleFactor = 1000.0f; std::string GetFontFamilyMd() { -#if BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) return "Roboto, " + GetFontFamily(); #else return GetFontFamily(); -@@ -217,7 +217,7 @@ void AppendWebUiCssTextDefaults(std::string* html) { +@@ -223,7 +223,7 @@ void AppendWebUiCssTextDefaults(std::string* html) { std::string GetFontFamily() { std::string font_family = l10n_util::GetStringUTF8(IDS_WEB_FONT_FAMILY); -#if BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) std::string font_name = ui::ResourceBundle::GetSharedInstance() .GetFont(ui::ResourceBundle::BaseFont) .GetFontName(); diff --git a/www/chromium/files/patch-ui_base_x_selection__owner.cc b/www/chromium/files/patch-ui_base_x_selection__owner.cc index 247f48d0cd24..4c222dbfc35b 100644 --- a/www/chromium/files/patch-ui_base_x_selection__owner.cc +++ b/www/chromium/files/patch-ui_base_x_selection__owner.cc @@ -1,38 +1,38 @@ ---- ui/base/x/selection_owner.cc.orig 2026-05-07 17:02:56 UTC +--- ui/base/x/selection_owner.cc.orig 2026-08-12 09:02:10 UTC +++ ui/base/x/selection_owner.cc -@@ -18,7 +18,7 @@ +@@ -19,7 +19,7 @@ #include "ui/gfx/x/window_event_manager.h" #include "ui/gfx/x/xproto.h" -#if BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) #include "base/strings/string_view_util.h" #include "ui/base/clipboard/clipboard_constants.h" #include "ui/base/clipboard/clipboard_util_linux.h" -@@ -117,7 +117,7 @@ void SelectionOwner::RetrieveTargets(std::vectorSendEvent(reply, requestor, x11::EventMask::NoEvent); } -#if BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) void SelectionOwner::OnPortalPathsRegistered(x11::SelectionRequestEvent request, std::string key) { x11::SelectionNotifyEvent reply{ diff --git a/www/chromium/files/patch-ui_base_x_x11__cursor__loader.cc b/www/chromium/files/patch-ui_base_x_x11__cursor__loader.cc index bbe775ae1ebf..d1d8b6340595 100644 --- a/www/chromium/files/patch-ui_base_x_x11__cursor__loader.cc +++ b/www/chromium/files/patch-ui_base_x_x11__cursor__loader.cc @@ -1,41 +1,41 @@ ---- ui/base/x/x11_cursor_loader.cc.orig 2026-07-01 06:24:19 UTC +--- ui/base/x/x11_cursor_loader.cc.orig 2026-08-12 09:02:10 UTC +++ ui/base/x/x11_cursor_loader.cc -@@ -38,7 +38,7 @@ +@@ -39,7 +39,7 @@ #include "ui/gfx/x/connection.h" #include "ui/gfx/x/xproto.h" -#if BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) #include "ui/linux/linux_ui.h" #endif -@@ -80,7 +80,11 @@ std::string CursorPathFromLibXcursor() { +@@ -81,7 +81,11 @@ std::string CursorPathFromLibXcursor() { void operator()(void* ptr) const { dlclose(ptr); } }; +#if BUILDFLAG(IS_BSD) + std::unique_ptr lib(dlopen("libXcursor.so", RTLD_LAZY)); +#else std::unique_ptr lib(dlopen("libXcursor.so.1", RTLD_LAZY)); +#endif if (!lib) return ""; -@@ -235,7 +239,7 @@ scoped_refptr ReadCursorFile( +@@ -234,7 +238,7 @@ scoped_refptr ReadCursorFile( const std::string& rm_xcursor_theme) { constexpr const char kDefaultTheme[] = "default"; std::string themes[] = { -#if BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) // The toolkit theme has the highest priority. LinuxUi::instance() ? LinuxUi::instance()->GetCursorThemeName() : std::string(), -@@ -429,7 +433,7 @@ uint32_t XCursorLoader::GetPreferredCursorSize() const +@@ -428,7 +432,7 @@ uint32_t XCursorLoader::GetPreferredCursorSize() const return size; } -#if BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) // Let the toolkit have the next say. auto* linux_ui = LinuxUi::instance(); size = linux_ui ? linux_ui->GetCursorThemeSize() : 0; diff --git a/www/chromium/files/patch-ui_base_x_x11__shm__image__pool.cc b/www/chromium/files/patch-ui_base_x_x11__shm__image__pool.cc index 257b1e8c0cd7..7bb0712d4c48 100644 --- a/www/chromium/files/patch-ui_base_x_x11__shm__image__pool.cc +++ b/www/chromium/files/patch-ui_base_x_x11__shm__image__pool.cc @@ -1,71 +1,71 @@ ---- ui/base/x/x11_shm_image_pool.cc.orig 2025-01-15 09:18:26 UTC +--- ui/base/x/x11_shm_image_pool.cc.orig 2026-08-12 09:02:10 UTC +++ ui/base/x/x11_shm_image_pool.cc @@ -16,6 +16,7 @@ #include "base/functional/callback.h" #include "base/location.h" #include "base/strings/string_util.h" +#include "base/system/sys_info.h" #include "build/build_config.h" #include "net/base/url_util.h" #include "ui/events/platform/platform_event_dispatcher.h" @@ -44,10 +45,14 @@ constexpr float kShmResizeShrinkThreshold = 1.0f / (kShmResizeThreshold * kShmResizeThreshold); std::size_t MaxShmSegmentSizeImpl() { +#if BUILDFLAG(IS_BSD) + return base::SysInfo::MaxSharedMemorySize(); +#else struct shminfo info; if (shmctl(0, IPC_INFO, reinterpret_cast(&info)) == -1) return 0; return info.shmmax; +#endif } std::size_t MaxShmSegmentSize() { @@ -56,14 +61,19 @@ std::size_t MaxShmSegmentSize() { } #if !BUILDFLAG(IS_CHROMEOS) +#if !BUILDFLAG(IS_BSD) bool IsRemoteHost(const std::string& name) { if (name.empty()) return false; return !net::HostStringIsLocalhost(name); } +#endif bool ShouldUseMitShm(x11::Connection* connection) { +#if BUILDFLAG(IS_BSD) + return false; +#else // MIT-SHM may be available on remote connetions, but it will be unusable. Do // a best-effort check to see if the host is remote to disable the SHM // codepath. It may be possible in contrived cases for there to be a @@ -92,6 +102,7 @@ bool ShouldUseMitShm(x11::Connection* connection) { return false; return true; +#endif } #endif // !BUILDFLAG(IS_CHROMEOS) -@@ -182,7 +193,7 @@ bool XShmImagePool::Resize(const gfx::Size& pixel_size +@@ -191,7 +202,7 @@ bool XShmImagePool::Resize(const gfx::Size& pixel_size shmctl(state.shmid, IPC_RMID, nullptr); return false; } -#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) // On Linux, a shmid can still be attached after IPC_RMID if otherwise // kept alive. Detach before XShmAttach to prevent a memory leak in case // the process dies. -@@ -201,7 +212,7 @@ bool XShmImagePool::Resize(const gfx::Size& pixel_size +@@ -210,7 +221,7 @@ bool XShmImagePool::Resize(const gfx::Size& pixel_size return false; state.shmseg = shmseg; state.shmem_attached_to_server = true; -#if !BUILDFLAG(IS_LINUX) && !BUILDFLAG(IS_CHROMEOS) +#if !BUILDFLAG(IS_LINUX) && !BUILDFLAG(IS_CHROMEOS) && !BUILDFLAG(IS_BSD) // The Linux-specific shmctl behavior above may not be portable, so we're // forced to do IPC_RMID after the server has attached to the segment. shmctl(state.shmid, IPC_RMID, nullptr); diff --git a/www/chromium/files/patch-ui_color_color__id.h b/www/chromium/files/patch-ui_color_color__id.h index 270459775bb2..e1aab66fc14c 100644 --- a/www/chromium/files/patch-ui_color_color__id.h +++ b/www/chromium/files/patch-ui_color_color__id.h @@ -1,11 +1,11 @@ ---- ui/color/color_id.h.orig 2026-07-01 06:24:19 UTC +--- ui/color/color_id.h.orig 2026-08-12 09:02:10 UTC +++ ui/color/color_id.h -@@ -667,7 +667,7 @@ +@@ -669,7 +669,7 @@ E_CPONLY(kColorCrosSysPositive) \ E_CPONLY(kColorCrosSysComplementVariant) \ E_CPONLY(kColorCrosSysInputFieldOnBase) -#elif BUILDFLAG(IS_LINUX) +#elif BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) #define PLATFORM_SPECIFIC_COLOR_IDS \ E_CPONLY(kColorNativeBoxFrameBorder)\ E_CPONLY(kColorNativeHeaderButtonBorderActive) \ diff --git a/www/chromium/files/patch-ui_compositor_compositor.cc b/www/chromium/files/patch-ui_compositor_compositor.cc index 7dd8bd3eaff4..c91a65d1c9b0 100644 --- a/www/chromium/files/patch-ui_compositor_compositor.cc +++ b/www/chromium/files/patch-ui_compositor_compositor.cc @@ -1,11 +1,11 @@ ---- ui/compositor/compositor.cc.orig 2026-06-04 10:12:25 UTC +--- ui/compositor/compositor.cc.orig 2026-08-12 09:02:10 UTC +++ ui/compositor/compositor.cc -@@ -1000,7 +1000,7 @@ void Compositor::OnResume() { +@@ -994,7 +994,7 @@ void Compositor::OnResume() { obs.ResetIfActive(); } -#if BUILDFLAG(IS_LINUX) && BUILDFLAG(SUPPORTS_OZONE_X11) +#if (BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)) && BUILDFLAG(SUPPORTS_OZONE_X11) void Compositor::OnCompleteSwapWithNewSize(const gfx::Size& size) { observer_list_.Notify( &CompositorObserver::OnCompositingCompleteSwapWithNewSize, this, size); diff --git a/www/chromium/files/patch-ui_gfx_font__render__params.h b/www/chromium/files/patch-ui_gfx_font__render__params.h index 251368a87e95..5bbaa6a79f13 100644 --- a/www/chromium/files/patch-ui_gfx_font__render__params.h +++ b/www/chromium/files/patch-ui_gfx_font__render__params.h @@ -1,20 +1,26 @@ ---- ui/gfx/font_render_params.h.orig 2025-01-15 09:18:26 UTC +--- ui/gfx/font_render_params.h.orig 2026-08-12 09:02:10 UTC +++ ui/gfx/font_render_params.h -@@ -115,7 +115,7 @@ COMPONENT_EXPORT(GFX) +@@ -115,12 +115,12 @@ COMPONENT_EXPORT(GFX) FontRenderParams GetFontRenderParams(const FontRenderParamsQuery& query, std::string* family_out); -#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_WIN) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_WIN) || BUILDFLAG(IS_BSD) - // Clears GetFontRenderParams()'s cache. Intended to be called by tests that are - // changing Fontconfig's configuration. - COMPONENT_EXPORT(GFX) void ClearFontRenderParamsCacheForTest(); -@@ -125,7 +125,7 @@ COMPONENT_EXPORT(GFX) void ClearFontRenderParamsCacheF + // Clears GetFontRenderParams()'s cache. + COMPONENT_EXPORT(GFX) void ClearFontRenderParamsCache(); + #endif + +-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) + // TODO(crbug.com/517630459) Return this to `ForTesting()` after per display + // subpixel rendering is implemented. + COMPONENT_EXPORT(GFX) bool GetFontRenderParamsSubpixelRenderingEnabled(); +@@ -130,7 +130,7 @@ COMPONENT_EXPORT(GFX) bool GetFontRenderParamsSubpixel COMPONENT_EXPORT(GFX) float GetFontRenderParamsDeviceScaleFactor(); #if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || \ - BUILDFLAG(IS_ANDROID) || BUILDFLAG(IS_FUCHSIA) + BUILDFLAG(IS_ANDROID) || BUILDFLAG(IS_FUCHSIA) || BUILDFLAG(IS_BSD) // Sets the device scale factor for FontRenderParams to decide // if it should enable subpixel positioning. COMPONENT_EXPORT(GFX) diff --git a/www/chromium/files/patch-ui_gfx_font__render__params__linux.cc b/www/chromium/files/patch-ui_gfx_font__render__params__linux.cc index 3b83783b4f65..adc31d294a2a 100644 --- a/www/chromium/files/patch-ui_gfx_font__render__params__linux.cc +++ b/www/chromium/files/patch-ui_gfx_font__render__params__linux.cc @@ -1,20 +1,20 @@ ---- ui/gfx/font_render_params_linux.cc.orig 2025-12-05 10:12:50 UTC +--- ui/gfx/font_render_params_linux.cc.orig 2026-08-12 09:02:10 UTC +++ ui/gfx/font_render_params_linux.cc @@ -24,7 +24,7 @@ #include "ui/gfx/linux/fontconfig_util.h" #include "ui/gfx/switches.h" -#if BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) #include "ui/linux/linux_ui.h" #endif -@@ -233,7 +233,7 @@ FontRenderParams GetFontRenderParams(const FontRenderP +@@ -237,7 +237,7 @@ FontRenderParams GetFontRenderParams(const FontRenderP // Start with the delegate's settings, but let Fontconfig have the final say. FontRenderParams params; -#if BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) if (auto* linux_ui = ui::LinuxUi::instance()) { params = linux_ui->GetDefaultFontRenderParams(); } diff --git a/www/chromium/files/patch-ui_gfx_platform__font__skia.cc b/www/chromium/files/patch-ui_gfx_platform__font__skia.cc index e4e38781f2dd..cbff14b64473 100644 --- a/www/chromium/files/patch-ui_gfx_platform__font__skia.cc +++ b/www/chromium/files/patch-ui_gfx_platform__font__skia.cc @@ -1,20 +1,56 @@ ---- ui/gfx/platform_font_skia.cc.orig 2025-09-06 10:01:20 UTC +--- ui/gfx/platform_font_skia.cc.orig 2026-08-12 09:02:10 UTC +++ ui/gfx/platform_font_skia.cc @@ -29,7 +29,7 @@ #include "ui/gfx/system_fonts_win.h" #endif -#if BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) #include "ui/linux/linux_ui.h" #endif @@ -170,7 +170,7 @@ void PlatformFontSkia::EnsuresDefaultFontIsInitialized weight = system_font.GetWeight(); #endif // BUILDFLAG(IS_WIN) -#if BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) // On Linux, LinuxUi is used to query the native toolkit (e.g. // GTK) for the default UI font. if (auto* linux_ui = ui::LinuxUi::instance()) { +@@ -329,7 +329,7 @@ const FontRenderParams& PlatformFontSkia::GetFontRende + TRACE_EVENT0("fonts", "PlatformFontSkia::GetFontRenderParams"); + float current_scale_factor = GetFontRenderParamsDeviceScaleFactor(); + bool force_query = false; +-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) + const bool current_subpixel_rendering_enabled = + gfx::GetFontRenderParamsSubpixelRenderingEnabled(); + if (current_subpixel_rendering_enabled != subpixel_rendering_enabled_) { +@@ -346,7 +346,7 @@ const FontRenderParams& PlatformFontSkia::GetFontRende + query.device_scale_factor = current_scale_factor; + font_render_params_ = gfx::GetFontRenderParams(query, nullptr); + device_scale_factor_ = current_scale_factor; +-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) + subpixel_rendering_enabled_ = current_subpixel_rendering_enabled; + #endif + } +@@ -399,7 +399,7 @@ void PlatformFontSkia::InitFromDetails(sk_spstyle_; + weight_ = other->weight_; + device_scale_factor_ = other->device_scale_factor_; +-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) + subpixel_rendering_enabled_ = other->subpixel_rendering_enabled_; + #endif + font_render_params_ = other->font_render_params_; diff --git a/www/chromium/files/patch-ui_gfx_platform__font__skia.h b/www/chromium/files/patch-ui_gfx_platform__font__skia.h new file mode 100644 index 000000000000..ad3605c33a6e --- /dev/null +++ b/www/chromium/files/patch-ui_gfx_platform__font__skia.h @@ -0,0 +1,11 @@ +--- ui/gfx/platform_font_skia.h.orig 2026-08-12 09:02:10 UTC ++++ ui/gfx/platform_font_skia.h +@@ -101,7 +101,7 @@ class COMPONENT_EXPORT(GFX) PlatformFontSkia : public + int font_size_pixels_; + int style_; + float device_scale_factor_; +-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) + bool subpixel_rendering_enabled_ = true; + #endif + diff --git a/www/chromium/files/patch-ui_gfx_render__text__harfbuzz.cc b/www/chromium/files/patch-ui_gfx_render__text__harfbuzz.cc index a90e12fe69a3..78c8bb8a49ca 100644 --- a/www/chromium/files/patch-ui_gfx_render__text__harfbuzz.cc +++ b/www/chromium/files/patch-ui_gfx_render__text__harfbuzz.cc @@ -1,11 +1,11 @@ ---- ui/gfx/render_text_harfbuzz.cc.orig 2026-07-01 06:24:19 UTC +--- ui/gfx/render_text_harfbuzz.cc.orig 2026-08-12 09:02:10 UTC +++ ui/gfx/render_text_harfbuzz.cc -@@ -184,7 +184,7 @@ const char* GetPlatformColorEmojiFontName() { +@@ -203,7 +203,7 @@ const char* GetPlatformColorEmojiFontName() { return "Segoe UI Emoji"; #elif BUILDFLAG(IS_APPLE) return "Apple Color Emoji"; -#elif BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) +#elif BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) return "Noto Color Emoji"; #else return nullptr; diff --git a/www/chromium/files/patch-ui_gl_BUILD.gn b/www/chromium/files/patch-ui_gl_BUILD.gn index aa30c35ba876..1a9be06491d2 100644 --- a/www/chromium/files/patch-ui_gl_BUILD.gn +++ b/www/chromium/files/patch-ui_gl_BUILD.gn @@ -1,11 +1,11 @@ ---- ui/gl/BUILD.gn.orig 2026-01-14 08:33:23 UTC +--- ui/gl/BUILD.gn.orig 2026-08-12 09:02:10 UTC +++ ui/gl/BUILD.gn -@@ -389,7 +389,7 @@ component("gl") { +@@ -429,7 +429,7 @@ component("gl") { ] } - if (is_android || is_chromeos || is_linux) { + if ((is_android || is_chromeos || is_linux) && !is_bsd) { # Windows doesn't support base::FileDescriptor. # libsync isn't supported or needed on MacOSX. # Fuchsia is excluded due to a libsync dependency and because it's diff --git a/www/chromium/files/patch-ui_gl_gl__implementation.cc b/www/chromium/files/patch-ui_gl_gl__implementation.cc index ddb51ed2f34c..a86f596d1c43 100644 --- a/www/chromium/files/patch-ui_gl_gl__implementation.cc +++ b/www/chromium/files/patch-ui_gl_gl__implementation.cc @@ -1,11 +1,11 @@ ---- ui/gl/gl_implementation.cc.orig 2026-01-14 08:33:23 UTC +--- ui/gl/gl_implementation.cc.orig 2026-08-12 09:02:10 UTC +++ ui/gl/gl_implementation.cc -@@ -335,7 +335,7 @@ GetRequestedGLImplementationFromCommandLine( +@@ -331,7 +331,7 @@ GetRequestedGLImplementationFromCommandLine( const base::CommandLine* command_line) { bool overrideUseSoftwareGL = command_line->HasSwitch(switches::kOverrideUseSoftwareGLForTests); -#if BUILDFLAG(IS_LINUX) || \ +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) || \ (BUILDFLAG(IS_CHROMEOS) && !BUILDFLAG(IS_CHROMEOS_DEVICE)) if (std::getenv("RUNNING_UNDER_RR")) { // https://rr-project.org/ is a Linux-only record-and-replay debugger that diff --git a/www/chromium/files/patch-ui_gl_gl__switches.cc b/www/chromium/files/patch-ui_gl_gl__switches.cc index ccba9b48745a..bec240c2e4f9 100644 --- a/www/chromium/files/patch-ui_gl_gl__switches.cc +++ b/www/chromium/files/patch-ui_gl_gl__switches.cc @@ -1,29 +1,29 @@ ---- ui/gl/gl_switches.cc.orig 2026-07-01 06:24:19 UTC +--- ui/gl/gl_switches.cc.orig 2026-08-12 09:02:10 UTC +++ ui/gl/gl_switches.cc @@ -16,7 +16,7 @@ #endif #if BUILDFLAG(ENABLE_VULKAN) && \ - (BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_ANDROID)) + (BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_ANDROID) || BUILDFLAG(IS_BSD)) #include #include "third_party/angle/src/gpu_info_util/SystemInfo.h" // nogncheck #endif // BUILDFLAG(ENABLE_VULKAN) && (BUILDFLAG(IS_LINUX) || -@@ -316,7 +316,7 @@ bool IsDefaultANGLEVulkan() { +@@ -315,7 +315,7 @@ bool IsDefaultANGLEVulkan() { } #endif // BUILDFLAG(IS_ANDROID) #if BUILDFLAG(ENABLE_VULKAN) && \ - (BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_ANDROID)) + (BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_ANDROID) || BUILDFLAG(IS_BSD)) angle::SystemInfo system_info; { TRACE_EVENT("gpu,startup", "angle::GetSystemInfoVulkan"); -@@ -398,7 +398,7 @@ bool IsDefaultANGLEVulkan() { +@@ -397,7 +397,7 @@ bool IsDefaultANGLEVulkan() { } #endif // BUILDFLAG(IS_ANDROID) -#if BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) // AMDVLK driver is buggy, so disable Vulkan with AMDVLK for now. // crbug.com/1340081 if (active_gpu.driverId == VK_DRIVER_ID_AMD_OPEN_SOURCE) diff --git a/www/chromium/files/patch-ui_gtk_select__file__dialog__linux__gtk.cc b/www/chromium/files/patch-ui_gtk_select__file__dialog__linux__gtk.cc index 96b582cc8626..ca2968539f06 100644 --- a/www/chromium/files/patch-ui_gtk_select__file__dialog__linux__gtk.cc +++ b/www/chromium/files/patch-ui_gtk_select__file__dialog__linux__gtk.cc @@ -1,12 +1,12 @@ ---- ui/gtk/select_file_dialog_linux_gtk.cc.orig 2026-05-07 17:02:56 UTC +--- ui/gtk/select_file_dialog_linux_gtk.cc.orig 2026-08-12 09:02:10 UTC +++ ui/gtk/select_file_dialog_linux_gtk.cc -@@ -50,7 +50,8 @@ namespace { +@@ -57,7 +57,8 @@ namespace { // GTK_RESPONSE_ACCEPT as the default button, which should be avoided to prevent // an exploit where the user is instructed to hold Enter before the dialog // appears. -constexpr GtkResponseType kResponseTypeAccept = static_cast(0); +// My god ^^^^^ WTF +constexpr GtkResponseType kResponseTypeAccept = static_cast(GTK_RESPONSE_ACCEPT); // TODO(crbug.com/41469294): These getters will be unnecessary after // migrating to GtkFileChooserNative. diff --git a/www/chromium/files/patch-ui_native__theme_native__theme__base.cc b/www/chromium/files/patch-ui_native__theme_native__theme__base.cc index f0b98075bf50..32082a447a7d 100644 --- a/www/chromium/files/patch-ui_native__theme_native__theme__base.cc +++ b/www/chromium/files/patch-ui_native__theme_native__theme__base.cc @@ -1,11 +1,11 @@ ---- ui/native_theme/native_theme_base.cc.orig 2026-01-14 08:33:23 UTC +--- ui/native_theme/native_theme_base.cc.orig 2026-08-12 09:02:10 UTC +++ ui/native_theme/native_theme_base.cc -@@ -169,7 +169,7 @@ void NativeThemeBase::PaintImpl(cc::PaintCanvas* canva +@@ -167,7 +167,7 @@ void NativeThemeBase::PaintImpl(cc::PaintCanvas* canva std::get(extra_params), dark_mode, contrast, accent_color); break; -#if BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) case kFrameTopArea: PaintFrameTopArea(canvas, state, rect, std::get(extra_params)); diff --git a/www/chromium/files/patch-ui_ozone_platform_x11_x11__window.cc b/www/chromium/files/patch-ui_ozone_platform_x11_x11__window.cc index 836c7962e7c1..d351c026e335 100644 --- a/www/chromium/files/patch-ui_ozone_platform_x11_x11__window.cc +++ b/www/chromium/files/patch-ui_ozone_platform_x11_x11__window.cc @@ -1,11 +1,11 @@ ---- ui/ozone/platform/x11/x11_window.cc.orig 2026-07-01 06:24:19 UTC +--- ui/ozone/platform/x11/x11_window.cc.orig 2026-08-12 09:02:10 UTC +++ ui/ozone/platform/x11/x11_window.cc -@@ -1588,7 +1588,7 @@ void X11Window::OnXWindowStateChanged() { +@@ -1592,7 +1592,7 @@ void X11Window::OnXWindowStateChanged() { WindowTiledEdges tiled_state = GetTiledState(); if (tiled_state != tiled_state_) { tiled_state_ = tiled_state; -#if BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) platform_window_delegate_->OnWindowTiledStateChanged(tiled_state); UpdateDecorationInsets(); #endif diff --git a/www/chromium/files/patch-ui_views_BUILD.gn b/www/chromium/files/patch-ui_views_BUILD.gn index 3de700249c5b..08824e3c5a18 100644 --- a/www/chromium/files/patch-ui_views_BUILD.gn +++ b/www/chromium/files/patch-ui_views_BUILD.gn @@ -1,10 +1,10 @@ ---- ui/views/BUILD.gn.orig 2026-07-01 06:24:19 UTC +--- ui/views/BUILD.gn.orig 2026-08-12 09:02:10 UTC +++ ui/views/BUILD.gn -@@ -891,7 +891,6 @@ component("views") { +@@ -897,7 +897,6 @@ component("views") { "windows_stationarity_monitor_aura.cc", ] deps += [ - "//components/crash/core/common:crash_key", "//ui/aura", "//ui/base/cursor/mojom:cursor_type_shared", "//ui/events", diff --git a/www/chromium/files/patch-ui_views_controls_textfield_textfield.cc b/www/chromium/files/patch-ui_views_controls_textfield_textfield.cc index f3f9d7621723..4ba42c995c01 100644 --- a/www/chromium/files/patch-ui_views_controls_textfield_textfield.cc +++ b/www/chromium/files/patch-ui_views_controls_textfield_textfield.cc @@ -1,65 +1,65 @@ ---- ui/views/controls/textfield/textfield.cc.orig 2026-07-01 06:24:19 UTC +--- ui/views/controls/textfield/textfield.cc.orig 2026-08-12 09:02:10 UTC +++ ui/views/controls/textfield/textfield.cc -@@ -89,7 +89,7 @@ +@@ -90,7 +90,7 @@ #include "base/win/win_util.h" #endif -#if BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) #include "ui/base/ime/linux/text_edit_command_auralinux.h" - #include "ui/base/ime/text_input_flags.h" #include "ui/linux/linux_ui.h" + #endif @@ -186,7 +186,7 @@ bool IsControlKeyModifier(int flags) { // Control-modified key combination, but we cannot extend it to other platforms // as Control has different meanings and behaviors. // https://crrev.com/2580483002/#msg46 -#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) return flags & ui::EF_CONTROL_DOWN; #else return false; @@ -826,7 +826,7 @@ bool Textfield::OnKeyPressed(const ui::KeyEvent& event return handled; } -#if BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) if (!handled) { if (auto* linux_ui = ui::LinuxUi::instance()) { const auto command = @@ -1011,7 +1011,7 @@ void Textfield::AboutToRequestFocusFromTabTraversal(bo } bool Textfield::SkipDefaultKeyEventProcessing(const ui::KeyEvent& event) { -#if BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) // Skip any accelerator handling that conflicts with custom keybindings. if (auto* linux_ui = ui::LinuxUi::instance()) { if (IsTextEditCommandEnabled(linux_ui->GetTextEditCommandForEvent( -@@ -2130,7 +2130,7 @@ bool Textfield::ShouldDoLearning() { +@@ -2132,7 +2132,7 @@ bool Textfield::ShouldDoLearning() { return false; } -#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) +#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) // TODO(crbug.com/41452689): Implement this method to support Korean IME // reconversion feature on native text fields (e.g. find bar). bool Textfield::SetCompositionFromExistingText( -@@ -2657,7 +2657,7 @@ ui::TextEditCommand Textfield::GetCommandForKeyEvent( +@@ -2659,7 +2659,7 @@ ui::TextEditCommand Textfield::GetCommandForKeyEvent( #endif return ui::TextEditCommand::DELETE_BACKWARD; } -#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) // Only erase by line break on Linux and ChromeOS. if (shift) { return ui::TextEditCommand::DELETE_TO_BEGINNING_OF_LINE; -@@ -2665,7 +2665,7 @@ ui::TextEditCommand Textfield::GetCommandForKeyEvent( +@@ -2667,7 +2667,7 @@ ui::TextEditCommand Textfield::GetCommandForKeyEvent( #endif return ui::TextEditCommand::DELETE_WORD_BACKWARD; case ui::VKEY_DELETE: -#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) // Only erase by line break on Linux and ChromeOS. if (shift && control) { return ui::TextEditCommand::DELETE_TO_END_OF_LINE; diff --git a/www/chromium/files/patch-ui_views_focus_focus__manager.cc b/www/chromium/files/patch-ui_views_focus_focus__manager.cc index beb7751d3acc..d96be148b5db 100644 --- a/www/chromium/files/patch-ui_views_focus_focus__manager.cc +++ b/www/chromium/files/patch-ui_views_focus_focus__manager.cc @@ -1,20 +1,20 @@ ---- ui/views/focus/focus_manager.cc.orig 2026-07-29 11:06:49 UTC +--- ui/views/focus/focus_manager.cc.orig 2026-08-12 09:02:10 UTC +++ ui/views/focus/focus_manager.cc -@@ -623,7 +623,7 @@ bool FocusManager::RedirectAcceleratorToParentWidget( +@@ -627,7 +627,7 @@ bool FocusManager::RedirectAcceleratorToParentWidget( return false; } -#if BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) // Processing an accelerator can delete things. Because we // need these objects afterwards on Linux, save widget_ as weak pointer and // save the close_on_deactivate property value of widget_delegate in a -@@ -641,7 +641,7 @@ bool FocusManager::RedirectAcceleratorToParentWidget( +@@ -645,7 +645,7 @@ bool FocusManager::RedirectAcceleratorToParentWidget( const bool accelerator_processed = focus_manager->ProcessAccelerator(accelerator); -#if BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) // Need to manually close the bubble widget on Linux. On Linux when the // bubble is shown, the main widget remains active. Because of that when // focus is set to the main widget to process accelerator, the main widget diff --git a/www/chromium/files/patch-ui_views_views__features.cc b/www/chromium/files/patch-ui_views_views__features.cc new file mode 100644 index 000000000000..3084f21db066 --- /dev/null +++ b/www/chromium/files/patch-ui_views_views__features.cc @@ -0,0 +1,11 @@ +--- ui/views/views_features.cc.orig 2026-08-12 09:02:10 UTC ++++ ui/views/views_features.cc +@@ -50,7 +50,7 @@ BASE_FEATURE(kKeyboardAccessibleTooltipInViews, + base::FEATURE_ENABLED_BY_DEFAULT); + + // Uses NativeViewHostAuraWithClipWindow instead of NativeViewHostAura. +-#if BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_LINUX) ++#if BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) + BASE_FEATURE(kUseNativeViewHostAuraWithClipWindow, + base::FEATURE_DISABLED_BY_DEFAULT); + #else diff --git a/www/chromium/files/patch-ui_views_widget_desktop__aura_desktop__window__tree__host__platform.cc b/www/chromium/files/patch-ui_views_widget_desktop__aura_desktop__window__tree__host__platform.cc index b1e556aea568..bab3aed95c09 100644 --- a/www/chromium/files/patch-ui_views_widget_desktop__aura_desktop__window__tree__host__platform.cc +++ b/www/chromium/files/patch-ui_views_widget_desktop__aura_desktop__window__tree__host__platform.cc @@ -1,29 +1,29 @@ ---- ui/views/widget/desktop_aura/desktop_window_tree_host_platform.cc.orig 2026-07-01 06:24:19 UTC +--- ui/views/widget/desktop_aura/desktop_window_tree_host_platform.cc.orig 2026-08-12 09:02:10 UTC +++ ui/views/widget/desktop_aura/desktop_window_tree_host_platform.cc @@ -53,7 +53,7 @@ #include "ui/wm/core/window_util.h" #include "ui/wm/public/window_move_client.h" -#if BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) #include "ui/views/widget/desktop_aura/desktop_drag_drop_client_ozone_linux.h" #endif @@ -371,7 +371,7 @@ std::unique_ptr DesktopWindowTreeHostPlatform::CreateDragDropClient() { ui::WmDragHandler* drag_handler = ui::GetWmDragHandler(*(platform_window())); std::unique_ptr drag_drop_client = -#if BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) std::make_unique(window(), drag_handler); #else std::make_unique(window(), drag_handler); -@@ -1307,7 +1307,7 @@ bool DesktopWindowTreeHostPlatform::RotateFocusForWidg +@@ -1317,7 +1317,7 @@ bool DesktopWindowTreeHostPlatform::RotateFocusForWidg // DesktopWindowTreeHost: // Linux subclasses this host and adds some Linux specific bits. -#if !BUILDFLAG(IS_LINUX) && !BUILDFLAG(IS_CHROMEOS) +#if !BUILDFLAG(IS_LINUX) && !BUILDFLAG(IS_CHROMEOS) && !BUILDFLAG(IS_BSD) // static DesktopWindowTreeHost* DesktopWindowTreeHost::Create( internal::NativeWidgetDelegate* native_widget_delegate, diff --git a/www/chromium/files/patch-ui_views_widget_widget.cc b/www/chromium/files/patch-ui_views_widget_widget.cc index ba3bd6024af0..21c610fa6d78 100644 --- a/www/chromium/files/patch-ui_views_widget_widget.cc +++ b/www/chromium/files/patch-ui_views_widget_widget.cc @@ -1,20 +1,20 @@ ---- ui/views/widget/widget.cc.orig 2026-07-29 11:06:49 UTC +--- ui/views/widget/widget.cc.orig 2026-08-12 09:02:10 UTC +++ ui/views/widget/widget.cc @@ -67,7 +67,7 @@ #include "ui/views/window/dialog_delegate.h" #include "ui/wm/core/window_properties.h" -#if BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) #include "ui/linux/linux_ui.h" #endif -@@ -2643,7 +2643,7 @@ const ui::NativeTheme* Widget::GetNativeTheme() const +@@ -2650,7 +2650,7 @@ const ui::NativeTheme* Widget::GetNativeTheme() const return parent_->GetNativeTheme(); } -#if BUILDFLAG(IS_LINUX) +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) if (auto* linux_ui_theme = ui::LinuxUiTheme::GetForWindow(GetNativeWindow())) { return linux_ui_theme->GetNativeTheme(); diff --git a/www/chromium/files/patch-v8_BUILD.gn b/www/chromium/files/patch-v8_BUILD.gn index b6602eb66e8d..defbbc69ccdf 100644 --- a/www/chromium/files/patch-v8_BUILD.gn +++ b/www/chromium/files/patch-v8_BUILD.gn @@ -1,84 +1,84 @@ ---- v8/BUILD.gn.orig 2026-07-01 06:24:19 UTC +--- v8/BUILD.gn.orig 2026-08-12 09:02:10 UTC +++ v8/BUILD.gn -@@ -1047,6 +1047,8 @@ external_v8_defines = [ +@@ -1052,6 +1052,8 @@ external_v8_defines = [ "V8_TARGET_OS_MACOS", "V8_TARGET_OS_WIN", "V8_TARGET_OS_CHROMEOS", + "V8_TARGET_OS_OPENBSD", + "V8_TARGET_OS_FREEBSD", "V8_TARGET_ARCH_ARM64", "V8_TARGET_ARCH_PPC64", "V8_TARGET_ARCH_MIPS64", -@@ -1131,6 +1133,12 @@ if (target_os == "android") { +@@ -1139,6 +1141,12 @@ if (target_os == "android") { } else if (target_os == "chromeos") { enabled_external_v8_defines += [ "V8_HAVE_TARGET_OS" ] enabled_external_v8_defines += [ "V8_TARGET_OS_CHROMEOS" ] +} else if (target_os == "openbsd") { + enabled_external_v8_defines += [ "V8_HAVE_TARGET_OS" ] + enabled_external_v8_defines += [ "V8_TARGET_OS_OPENBSD" ] +} else if (target_os == "freebsd") { + enabled_external_v8_defines += [ "V8_HAVE_TARGET_OS" ] + enabled_external_v8_defines += [ "V8_TARGET_OS_FREEBSD" ] } # Some V8_TARGET_ARCH_ defines that affect Api constants (see usages of -@@ -1806,7 +1814,7 @@ config("toolchain") { +@@ -1824,7 +1832,7 @@ config("toolchain") { # don't block compiler updates in Chromium. We'll resolve these when # rolling the compiler update into V8 instead. if (!build_with_chromium && v8_current_cpu != "ppc64" && - v8_current_cpu != "s390x") { + v8_current_cpu != "s390x" && !is_bsd) { cflags += [ "-Wlifetime-safety-permissive" ] } -@@ -1909,9 +1917,6 @@ config("strict_warnings") { +@@ -1927,9 +1935,6 @@ config("strict_warnings") { cflags += [ "-Wshorten-64-to-32" ] } cflags += [ "-Wmissing-field-initializers" ] - if (v8_current_cpu != "ppc64" && v8_current_cpu != "s390x") { - cflags += [ "-Wunnecessary-virtual-specifier" ] - } } } -@@ -2837,6 +2842,12 @@ template("run_mksnapshot") { +@@ -2856,6 +2861,12 @@ template("run_mksnapshot") { if (!v8_enable_builtins_profiling && v8_enable_builtins_reordering) { args += [ "--reorder-builtins" ] } + + if (v8_current_cpu == "x86") { + args -= [ + "--abort-on-bad-builtin-profile-data", + ] + } } # This is needed to distinguish between generating code for the simulator -@@ -7286,7 +7297,7 @@ v8_component("v8_libbase") { +@@ -7321,7 +7332,7 @@ v8_component("v8_libbase") { } } - if (is_linux || is_chromeos) { + if ((is_linux || is_chromeos) && !is_bsd) { sources += [ "src/base/debug/stack_trace_posix.cc", "src/base/platform/platform-linux.cc", -@@ -7297,6 +7308,18 @@ v8_component("v8_libbase") { +@@ -7332,6 +7343,18 @@ v8_component("v8_libbase") { "dl", "rt", ] + } else if (is_openbsd) { + sources += [ + "src/base/debug/stack_trace_posix.cc", + "src/base/platform/platform-openbsd.cc", + ] + libs = [ "execinfo" ] + } else if (is_freebsd) { + sources += [ + "src/base/debug/stack_trace_posix.cc", + "src/base/platform/platform-freebsd.cc", + ] + libs = [ "execinfo" ] } else if (current_os == "aix") { sources += [ "src/base/debug/stack_trace_posix.cc", diff --git a/www/chromium/files/patch-v8_gni_v8.gni b/www/chromium/files/patch-v8_gni_v8.gni index 40b2230b8b84..598da915a125 100644 --- a/www/chromium/files/patch-v8_gni_v8.gni +++ b/www/chromium/files/patch-v8_gni_v8.gni @@ -1,11 +1,11 @@ ---- v8/gni/v8.gni.orig 2026-07-01 06:24:19 UTC +--- v8/gni/v8.gni.orig 2026-08-12 09:02:10 UTC +++ v8/gni/v8.gni -@@ -351,7 +351,7 @@ is_drumbrake_supported = +@@ -361,7 +361,7 @@ is_drumbrake_supported = (v8_current_cpu == "x64" || v8_current_cpu == "arm64" || v8_current_cpu == "riscv64") && (target_os == "win" || target_os == "linux" || target_os == "mac" || - target_os == "ios") + target_os == "ios" || target_os == "openbds" || target_os == "freebsd") # Turbofan is enabled by default, except in lite mode. if (v8_enable_turbofan == "") { diff --git a/www/chromium/files/patch-v8_src_api_api.cc b/www/chromium/files/patch-v8_src_api_api.cc index 30e17f5d9713..30dd08aee24c 100644 --- a/www/chromium/files/patch-v8_src_api_api.cc +++ b/www/chromium/files/patch-v8_src_api_api.cc @@ -1,20 +1,20 @@ ---- v8/src/api/api.cc.orig 2026-07-01 06:24:19 UTC +--- v8/src/api/api.cc.orig 2026-08-12 09:02:10 UTC +++ v8/src/api/api.cc -@@ -167,7 +167,7 @@ +@@ -172,7 +172,7 @@ #include "src/strings/string-hasher-inl.h" -#if V8_OS_LINUX || V8_OS_DARWIN || V8_OS_FREEBSD +#if V8_OS_LINUX || V8_OS_DARWIN || V8_OS_FREEBSD || V8_OS_OPENBSD #include #include -@@ -6383,7 +6383,7 @@ bool v8::V8::Initialize(const int build_config) { +@@ -6444,7 +6444,7 @@ bool v8::V8::Initialize(const int build_config) { return true; } -#if V8_OS_LINUX || V8_OS_DARWIN +#if V8_OS_LINUX || V8_OS_DARWIN || V8_OS_FREEBSD || V8_OS_OPENBSD bool TryHandleWebAssemblyTrapPosix(int sig_code, siginfo_t* info, void* context) { #if V8_ENABLE_WEBASSEMBLY && V8_TRAP_HANDLER_SUPPORTED diff --git a/www/chromium/files/patch-v8_src_execution_isolate.cc b/www/chromium/files/patch-v8_src_execution_isolate.cc index f77a8afd6186..ab4cb83dc98f 100644 --- a/www/chromium/files/patch-v8_src_execution_isolate.cc +++ b/www/chromium/files/patch-v8_src_execution_isolate.cc @@ -1,27 +1,27 @@ ---- v8/src/execution/isolate.cc.orig 2026-07-01 06:24:19 UTC +--- v8/src/execution/isolate.cc.orig 2026-08-12 09:02:10 UTC +++ v8/src/execution/isolate.cc -@@ -184,6 +184,10 @@ +@@ -178,6 +178,10 @@ #include "src/execution/simulator-base.h" #endif +#if defined(V8_OS_OPENBSD) +#include +#endif + extern "C" const uint8_t v8_Default_embedded_blob_code_[]; extern "C" uint32_t v8_Default_embedded_blob_code_size_; extern "C" const uint8_t v8_Default_embedded_blob_data_[]; -@@ -5714,6 +5718,13 @@ void Isolate::InitializeDefaultEmbeddedBlob() { +@@ -5738,6 +5742,13 @@ void Isolate::InitializeDefaultEmbeddedBlob() { uint32_t code_size = DefaultEmbeddedBlobCodeSize(); const uint8_t* data = DefaultEmbeddedBlobData(); uint32_t data_size = DefaultEmbeddedBlobDataSize(); + +#if defined(V8_OS_OPENBSD) && !defined(V8_TARGET_ARCH_IA32) + if (code_size > 0) { + mprotect(reinterpret_cast(const_cast(code)), + code_size, PROT_READ | PROT_EXEC); + } +#endif if (StickyEmbeddedBlobCode() != nullptr) { base::MutexGuard guard(current_embedded_blob_refcount_mutex_.Pointer()); diff --git a/www/chromium/files/patch-v8_src_flags_flags.cc b/www/chromium/files/patch-v8_src_flags_flags.cc index ecfba39fbc1c..d8499f92936c 100644 --- a/www/chromium/files/patch-v8_src_flags_flags.cc +++ b/www/chromium/files/patch-v8_src_flags_flags.cc @@ -1,24 +1,24 @@ ---- v8/src/flags/flags.cc.orig 2026-07-01 06:24:19 UTC +--- v8/src/flags/flags.cc.orig 2026-08-12 09:02:10 UTC +++ v8/src/flags/flags.cc @@ -17,6 +17,10 @@ #include #include +#if V8_OS_OPENBSD +#include +#endif + #include "src/base/fpu.h" #include "src/base/hashing.h" #include "src/base/lazy-instance.h" -@@ -887,6 +891,10 @@ void FlagList::FreezeFlags() { +@@ -890,6 +894,10 @@ void FlagList::FreezeFlags() { // Note that for string flags we only protect the pointer itself, but not the // string storage. TODO(12887): Fix this. base::OS::SetDataReadOnly(&v8_flags, sizeof(v8_flags)); +#if V8_OS_OPENBSD + if (mimmutable(&v8_flags, sizeof(v8_flags)) == -1) + FATAL("unable to set immutability of v8_flags"); +#endif } // static diff --git a/www/chromium/files/patch-v8_src_objects_simd.cc b/www/chromium/files/patch-v8_src_objects_simd.cc index 9b72f85ec7c4..4b583d004635 100644 --- a/www/chromium/files/patch-v8_src_objects_simd.cc +++ b/www/chromium/files/patch-v8_src_objects_simd.cc @@ -1,23 +1,23 @@ ---- v8/src/objects/simd.cc.orig 2026-07-02 06:01:51 UTC +--- v8/src/objects/simd.cc.orig 2026-08-12 09:02:10 UTC +++ v8/src/objects/simd.cc -@@ -347,7 +347,7 @@ uintptr_t fast_search_avx(T* array, uintptr_t array_le +@@ -348,7 +348,7 @@ uintptr_t fast_search_avx(T* array, uintptr_t array_le } #endif // ifdef __SSE3__ -#ifdef NEON64 +#if defined(NEON64) && !defined(V8_TARGET_OS_OPENBSD) template struct SVEOperations { -@@ -637,9 +637,11 @@ template +@@ -638,9 +638,11 @@ template inline uintptr_t search(T* array, uintptr_t array_len, uintptr_t index, T search_element) { #ifdef NEON64 +#ifndef V8_TARGET_OS_OPENBSD if (get_vectorization_kind() == SimdKinds::kSVE) { return fast_search_sve(array, array_len, index, search_element); } +#endif #else if (get_vectorization_kind() == SimdKinds::kAVX2) { return fast_search_avx(array, array_len, index, search_element);