diff --git a/www/chromium/Makefile b/www/chromium/Makefile index d5f6820aa002..1f9921d2e06b 100644 --- a/www/chromium/Makefile +++ b/www/chromium/Makefile @@ -1,357 +1,358 @@ # Created by: Florent Thoumie PORTNAME= chromium -PORTVERSION= 92.0.4515.159 -PORTREVISION= 2 +PORTVERSION= 94.0.4606.81 CATEGORIES= www MASTER_SITES= https://commondatastorage.googleapis.com/chromium-browser-official/ \ LOCAL/rene/chromium/:fonts DISTFILES= ${DISTNAME}${EXTRACT_SUFX} MAINTAINER= chromium@FreeBSD.org COMMENT= Google web browser based on WebKit LICENSE= BSD3CLAUSE LGPL21 MPL11 LICENSE_COMB= multi -BROKEN_i386= ../../base/files/file_util_posix.cc:1258:29: error: no matching function for call to 'sendfile' (ssize_t vs off_t) ONLY_FOR_ARCHS= aarch64 amd64 i386 BUILD_DEPENDS= bash:shells/bash \ ${PYTHON_PKGNAMEPREFIX}Jinja2>0:devel/py-Jinja2@${PY_FLAVOR} \ ${PYTHON_PKGNAMEPREFIX}ply>0:devel/py-ply@${PY_FLAVOR} \ gperf:devel/gperf \ ffmpeg>=3.2.2,1:multimedia/ffmpeg \ flock:sysutils/flock \ node:www/node \ xcb-proto>0:x11/xcb-proto \ ${LOCALBASE}/bin/ar:devel/binutils \ ${LOCALBASE}/include/linux/videodev2.h:multimedia/v4l_compat \ ${LOCALBASE}/share/usbids/usb.ids:misc/usbids \ ${PYTHON_PKGNAMEPREFIX}html5lib>0:www/py-html5lib@${PY_FLAVOR} \ ${LOCALBASE}/include/va/va.h:multimedia/libva \ ${LOCALBASE}/bin/python2.7:lang/python27 LIB_DEPENDS= libatk-bridge-2.0.so:accessibility/at-spi2-atk \ libatspi.so:accessibility/at-spi2-core \ libspeechd.so:accessibility/speech-dispatcher \ libsnappy.so:archivers/snappy \ libFLAC.so:audio/flac \ libopus.so:audio/opus \ libspeex.so:audio/speex \ libdbus-1.so:devel/dbus \ libdbus-glib-1.so:devel/dbus-glib \ libicuuc.so:devel/icu \ libjsoncpp.so:devel/jsoncpp \ libpci.so:devel/libpci \ libnspr4.so:devel/nspr \ libre2.so:devel/re2 \ libcairo.so:graphics/cairo \ libdrm.so:graphics/libdrm \ libexif.so:graphics/libexif \ libpng.so:graphics/png \ libwebp.so:graphics/webp \ libavcodec.so:multimedia/ffmpeg \ libopenh264.so:multimedia/openh264 \ libfreetype.so:print/freetype2 \ libharfbuzz.so:print/harfbuzz \ libharfbuzz-icu.so:print/harfbuzz-icu \ libgcrypt.so:security/libgcrypt \ libsecret-1.so:security/libsecret \ libnss3.so:security/nss \ libexpat.so:textproc/expat2 \ libfontconfig.so:x11-fonts/fontconfig \ libxkbcommon.so:x11/libxkbcommon \ libxshmfence.so:x11/libxshmfence RUN_DEPENDS= xdg-open:devel/xdg-utils \ noto-basic>0:x11-fonts/noto-basic USES= bison compiler:c++17-lang cpe desktop-file-utils dos2unix gl gnome jpeg localbase:ldflags \ ninja perl5 pkgconfig python:3.6-3.9,build shebangfix tar:xz xorg CPE_VENDOR= google CPE_PRODUCT= chrome -DOS2UNIX_FILES= third_party/skia/third_party/vulkanmemoryallocator/include/vk_mem_alloc.h \ - third_party/vulkan_memory_allocator/src/vk_mem_alloc.h +DOS2UNIX_FILES= third_party/skia/third_party/vulkanmemoryallocator/include/vk_mem_alloc.h USE_GL= gbm gl -USE_GNOME= atk dconf glib20 gtk30 libxml2 libxslt +USE_GNOME= atk dconf gdkpixbuf2 glib20 gtk30 libxml2 libxslt +INSTALLS_ICONS= yes USE_LDCONFIG= ${DATADIR} USE_PERL5= build USE_XORG= x11 xcb xcomposite xcursor xext xdamage xfixes xi \ xorgproto xrandr xrender xscrnsaver xtst SHEBANG_FILES= chrome/tools/build/linux/chrome-wrapper buildtools/linux64/clang-format MAKE_ARGS= -C out/${BUILDTYPE} ALL_TARGET= chrome BINARY_ALIAS= python=${LOCALBASE}/bin/python2.7 \ python3=${PYTHON_CMD} EXTRA_PATCHES+= ${FILESDIR}/extra-patch-clang # TODO bz@ : install libwidevinecdm.so (see third_party/widevine/cdm/BUILD.gn) # # Run "./out/${BUILDTYPE}/gn args out/${BUILDTYPE} --list" for all variables. # Some parts don't have use_system_* flag, and can be turned on/off by using # replace_gn_files.py script, some parts just turned on/off for target host # OS "target_os == is_bsd", like libusb, libpci. GN_ARGS+= clang_use_chrome_plugins=false \ enable_hangout_services_extension=true \ enable_js_type_check=false \ enable_nacl=false \ enable_one_click_signin=true \ enable_remoting=false \ - fieldtrial_testing_like_official_build=true \ is_clang=true \ optimize_webui=false \ toolkit_views=true \ treat_warnings_as_errors=false \ use_allocator="none" \ use_allocator_shim=false \ use_aura=true \ use_custom_libcxx=false \ use_gnome_keyring=false \ use_lld=true \ use_sysroot=false \ - use_system_freetype=true \ + use_system_freetype=false \ use_system_harfbuzz=true \ use_system_libjpeg=true \ extra_cxxflags="${CXXFLAGS}" \ extra_ldflags="${LDFLAGS}" # TODO: investigate building with these options: # use_system_minigbm GN_BOOTSTRAP_FLAGS= --no-clean --no-rebuild --skip-generate-buildfiles # FreeBSD Chromium Api Key # Set up Google API keys, see http://www.chromium.org/developers/how-tos/api-keys . # Note: these are for FreeBSD use ONLY. For your own distribution, # please get your own set of keys. GN_ARGS+= google_api_key="AIzaSyBsp9n41JLW8jCokwn7vhoaMejDFRd1mp8" SUB_FILES= chromium-browser.desktop chrome SUB_LIST+= COMMENT="${COMMENT}" OPTIONS_DEFINE= CODECS CUPS DEBUG DRIVER KERBEROS LTO TEST OPTIONS_DEFAULT= CODECS CUPS DRIVER KERBEROS SNDIO OPTIONS_EXCLUDE_aarch64=LTO OPTIONS_GROUP= AUDIO OPTIONS_GROUP_AUDIO= ALSA PULSEAUDIO SNDIO OPTIONS_RADIO= KERBEROS OPTIONS_RADIO_KERBEROS= HEIMDAL HEIMDAL_BASE MIT OPTIONS_SUB= yes CODECS_DESC= Compile and enable patented codecs like H.264 DRIVER_DESC= Install chromedriver HEIMDAL_BASE_DESC= Heimdal Kerberos (base) HEIMDAL_DESC= Heimdal Kerberos (security/heimdal) MIT_DESC= MIT Kerberos (security/krb5) ALSA_LIB_DEPENDS= libasound.so:audio/alsa-lib ALSA_RUN_DEPENDS= ${LOCALBASE}/lib/alsa-lib/libasound_module_pcm_oss.so:audio/alsa-plugins \ alsa-lib>=1.1.1_1:audio/alsa-lib ALSA_VARS= GN_ARGS+=use_alsa=true ALSA_VARS_OFF= GN_ARGS+=use_alsa=false CODECS_VARS= GN_ARGS+=ffmpeg_branding="Chrome" \ GN_ARGS+=proprietary_codecs=true CODECS_VARS_OFF= GN_ARGS+=ffmpeg_branding="Chromium" \ GN_ARGS+=proprietary_codecs=false CUPS_LIB_DEPENDS= libcups.so:print/cups CUPS_VARS= GN_ARGS+=use_cups=true CUPS_VARS_OFF= GN_ARGS+=use_cups=false DEBUG_VARS= BUILDTYPE=Debug \ GN_ARGS+=is_debug=true \ GN_ARGS+=is_component_build=false \ GN_ARGS+=symbol_level=1 \ GN_BOOTSTRAP_FLAGS+=--debug \ WANTSPACE="13 GB" DEBUG_VARS_OFF= BUILDTYPE=Release \ GN_ARGS+=blink_symbol_level=0 \ GN_ARGS+=is_debug=false \ GN_ARGS+=is_official_build=true \ GN_ARGS+=symbol_level=0 \ WANTSPACE="6.5 GB" DRIVER_MAKE_ARGS= chromedriver HEIMDAL_LIB_DEPENDS= libkrb.so.26:security/heimdal KERBEROS_VARS= GN_ARGS+=use_kerberos=true KERBEROS_VARS_OFF= GN_ARGS+=use_kerberos=false LTO_VARS= GN_ARGS+=use_thin_lto=true \ GN_ARGS+=thin_lto_enable_optimizations=true \ WANTSPACE="14 GB" LTO_VARS_OFF= GN_ARGS+=use_thin_lto=false MIT_LIB_DEPENDS= libkrb.so.3:security/krb5 PULSEAUDIO_LIB_DEPENDS= libpulse.so:audio/pulseaudio PULSEAUDIO_VARS= GN_ARGS+=use_pulseaudio=true PULSEAUDIO_VARS_OFF= GN_ARGS+=use_pulseaudio=false # With SNDIO=on we exclude audio_manager_linux from the build (see # media/audio/BUILD.gn) and use audio_manager_openbsd which does not # support falling back to ALSA or PulseAudio. SNDIO_PREVENTS= ALSA PULSEAUDIO SNDIO_LIB_DEPENDS= libsndio.so:audio/sndio SNDIO_VARS= GN_ARGS+=use_sndio=true SNDIO_VARS_OFF= GN_ARGS+=use_sndio=false .include "Makefile.tests" TEST_DISTFILES= ${PORTNAME}-${DISTVERSION}-testdata${EXTRACT_SUFX} \ test_fonts-85${EXTRACT_SUFX}:fonts TEST_ALL_TARGET= ${TEST_TARGETS} .include .include # Add extra-patch-no-mempcpy-nasm only when there's no mempcpy() in base. # Nested variable expansion avoids executing the test when not needed for # expanding EXTRA_PATCHES. EXTRA_PATCHES+= ${"${:!${GREP} mempcpy ${CROSS_SYSROOT}/usr/include/string.h \ || ${TRUE}!}" == "":?${PATCHDIR}/extra-patch-no-mempcpy-nasm:} .if ${PORT_OPTIONS:MHEIMDAL_BASE} && !exists(/usr/lib/libkrb5.so) IGNORE= you have selected HEIMDAL_BASE but do not have Heimdal installed in base .endif .if ${COMPILER_VERSION} < 120 EXTRA_PATCHES+= ${PATCHDIR}/extra-patch-build_config_compiler_pgo_pgo.gni .if ${PORT_OPTIONS:MLTO} BROKEN+= does not build with LTO needs LLVM 12+ .endif .endif # swiftshader/lib/{libEGL.so,libGLESv2.so} is x86 only .if ${ARCH} == aarch64 PLIST_SUB+= NOT_AARCH64="@comment " .else PLIST_SUB+= NOT_AARCH64="" .endif # Allow relocations against read-only segments (override lld default) LDFLAGS_i386= -Wl,-znotext # TODO: -isystem, would be just as ugly as this approach, but more reliably # build would fail without C_INCLUDE_PATH/CPLUS_INCLUDE_PATH env var set. MAKE_ENV+= C_INCLUDE_PATH=${LOCALBASE}/include \ CPLUS_INCLUDE_PATH=${LOCALBASE}/include pre-everything:: @${ECHO_MSG} @${ECHO_MSG} "To build Chromium, you should have around 2GB of memory" @${ECHO_MSG} "and around ${WANTSPACE} of free disk space." @${ECHO_MSG} post-extract-TEST-on: @${MKDIR} ${WRKSRC}/third_party/test_fonts/test_fonts @${MV} ${WRKDIR}/test_fonts ${WRKSRC}/third_party/test_fonts/ post-patch: @${MKDIR} ${WRKSRC}/sandbox/policy/freebsd @${CP} ${FILESDIR}/dir_reader_freebsd.h ${WRKSRC}/base/files @${CP} ${FILESDIR}/device_info_fetcher_freebsd.h ${WRKSRC}/chrome/browser/enterprise/signals @${CP} ${FILESDIR}/device_info_fetcher_freebsd.cc ${WRKSRC}/chrome/browser/enterprise/signals @${CP} ${FILESDIR}/sandbox_freebsd.h ${WRKSRC}/sandbox/policy/freebsd @${CP} ${FILESDIR}/sandbox_freebsd.cc ${WRKSRC}/sandbox/policy/freebsd post-patch-SNDIO-on: @${MKDIR} ${WRKSRC}/media/audio/sndio ${WRKSRC}/media/audio/openbsd @${CP} ${FILESDIR}/sndio_output.* ${WRKSRC}/media/audio/sndio @${CP} ${FILESDIR}/sndio_input.* ${WRKSRC}/media/audio/sndio @${CP} ${FILESDIR}/audio_manager_openbsd.* ${WRKSRC}/media/audio/openbsd pre-configure: # We used to remove bundled libraries to be sure that chromium uses # system libraries and not shipped ones. # cd ${WRKSRC} && ${PYTHON_CMD} \ #./build/linux/unbundle/remove_bundled_libraries.py [list of preserved] cd ${WRKSRC} && ${SETENV} ${CONFIGURE_ENV} ${PYTHON_CMD} \ ./build/linux/unbundle/replace_gn_files.py --system-libraries \ - ffmpeg flac fontconfig freetype harfbuzz-ng libdrm libpng libwebp libxml libxslt openh264 opus snappy || ${FALSE} + flac fontconfig freetype harfbuzz-ng libdrm libpng libwebp libxml libxslt openh264 opus snappy || ${FALSE} + # Chromium uses an unreleased version of FFmpeg, so configure it + ${CP} -R \ + ${WRKSRC}/third_party/ffmpeg/chromium/config/Chrome/linux/ \ + ${WRKSRC}/third_party/ffmpeg/chromium/config/Chrome/freebsd do-configure: # GN generator bootstrapping and generating ninja files cd ${WRKSRC} && ${SETENV} ${CONFIGURE_ENV} CC=${CC} CXX=${CXX} LD=${CXX} \ READELF=${READELF} AR=${AR} NM=${NM} ${PYTHON_CMD} \ ./tools/gn/bootstrap/bootstrap.py ${GN_BOOTSTRAP_FLAGS} cd ${WRKSRC} && ${SETENV} ${CONFIGURE_ENV} ./out/${BUILDTYPE}/gn \ gen --args='${GN_ARGS}' out/${BUILDTYPE} # Setup nodejs dependency @${MKDIR} ${WRKSRC}/third_party/node/freebsd/node-freebsd-x64/bin ${LN} -sf ${LOCALBASE}/bin/node ${WRKSRC}/third_party/node/freebsd/node-freebsd-x64/bin/node # Setup buildtools/freebsd @${MKDIR} ${WRKSRC}/buildtools/freebsd ${LN} -sf ${WRKSRC}/buildtools/linux64/clang-format ${WRKSRC}/buildtools/freebsd ${LN} -sf ${WRKSRC}/out/${BUILDTYPE}/gn ${WRKSRC}/buildtools/freebsd ${LN} -sf /usr/bin/strip ${WRKSRC}/buildtools/freebsd/strip do-install: @${MKDIR} ${STAGEDIR}${DATADIR} ${INSTALL_MAN} ${WRKSRC}/chrome/app/resources/manpage.1.in \ ${STAGEDIR}${MANPREFIX}/man/man1/chrome.1 ${CP} ${WRKSRC}/chrome/app/theme/chromium/product_logo_22_mono.png ${WRKSRC}/chrome/app/theme/chromium/product_logo_22.png .for s in 22 24 48 64 128 256 @${MKDIR} ${STAGEDIR}${PREFIX}/share/icons/hicolor/${s}x${s}/apps ${INSTALL_DATA} ${WRKSRC}/chrome/app/theme/chromium/product_logo_${s}.png \ ${STAGEDIR}${PREFIX}/share/icons/hicolor/${s}x${s}/apps/chrome.png .endfor ${INSTALL_DATA} ${WRKSRC}/out/${BUILDTYPE}/*.png ${STAGEDIR}${DATADIR} ${INSTALL_DATA} ${WRKSRC}/out/${BUILDTYPE}/*.pak ${STAGEDIR}${DATADIR} .for d in protoc mksnapshot ${INSTALL_PROGRAM} ${WRKSRC}/out/${BUILDTYPE}/${d} ${STAGEDIR}${DATADIR} .endfor .for d in icudtl.dat snapshot_blob.bin v8_context_snapshot.bin ${INSTALL_DATA} ${WRKSRC}/out/${BUILDTYPE}/${d} ${STAGEDIR}${DATADIR} .endfor ${INSTALL_PROGRAM} ${WRKSRC}/out/${BUILDTYPE}/chrome \ ${STAGEDIR}${DATADIR} cd ${WRKSRC}/out/${BUILDTYPE} && \ ${COPYTREE_SHARE} "locales resources" ${STAGEDIR}${DATADIR} @${MKDIR} ${STAGEDIR}${DESKTOPDIR} ${INSTALL_DATA} ${WRKDIR}/chromium-browser.desktop \ ${STAGEDIR}${DESKTOPDIR} ${INSTALL_SCRIPT} ${WRKDIR}/chrome ${STAGEDIR}${PREFIX}/bin ${INSTALL_SCRIPT} ${WRKSRC}/chrome/tools/build/linux/chrome-wrapper \ ${STAGEDIR}${DATADIR} # ANGLE, EGL, Vk .for f in libEGL.so libGLESv2.so libVkICD_mock_icd.so ${INSTALL_LIB} ${WRKSRC}/out/${BUILDTYPE}/${f} ${STAGEDIR}${DATADIR} .endfor .if ${BUILDTYPE} == Debug ${INSTALL_LIB} ${WRKSRC}/out/${BUILDTYPE}/libVkLayer_khronos_validation.so ${STAGEDIR}${DATADIR} .endif # SwiftShader .if ${ARCH} != aarch64 @${MKDIR} ${STAGEDIR}${DATADIR}/swiftshader ${INSTALL_LIB} ${WRKSRC}/out/${BUILDTYPE}/libvk_swiftshader.so ${STAGEDIR}${DATADIR} .for g in libEGL.so libGLESv2.so ${INSTALL_LIB} ${WRKSRC}/out/${BUILDTYPE}/swiftshader/${g} \ ${STAGEDIR}${DATADIR}/swiftshader .endfor .endif post-install-DEBUG-on: ${INSTALL_LIB} ${WRKSRC}/out/${BUILDTYPE}/*.so \ ${STAGEDIR}${DATADIR} ${INSTALL_LIB} ${WRKSRC}/out/${BUILDTYPE}/libvulkan.so.1 \ ${STAGEDIR}${DATADIR} ${INSTALL_PROGRAM} ${WRKSRC}/out/${BUILDTYPE}/character_data_generator \ ${STAGEDIR}${DATADIR} post-install-DRIVER-on: ${INSTALL_PROGRAM} ${WRKSRC}/out/${BUILDTYPE}/chromedriver \ ${STAGEDIR}${PREFIX}/bin do-test-TEST-on: .for t in ${TEST_TARGETS} cd ${WRKSRC}/out/${BUILDTYPE} && ${SETENV} LC_ALL=en_US.UTF-8 \ ./${t} --gtest_filter=-${EXCLUDE_${t}:ts:} || ${TRUE} .endfor .include diff --git a/www/chromium/distinfo b/www/chromium/distinfo index 2138bdc60c5c..1dd9e9755ba1 100644 --- a/www/chromium/distinfo +++ b/www/chromium/distinfo @@ -1,7 +1,7 @@ -TIMESTAMP = 1629197071 -SHA256 (chromium-92.0.4515.159.tar.xz) = d97d337d0d70e959a75f1f510f5d78d2b57b5bf24573b7ade9fff9f26a7cfd11 -SIZE (chromium-92.0.4515.159.tar.xz) = 958060524 -SHA256 (chromium-92.0.4515.159-testdata.tar.xz) = 5787a7e7a6567dcf04bc3d2c3b5ed01a8d215b6d47ef37bd1844444938f41ffa -SIZE (chromium-92.0.4515.159-testdata.tar.xz) = 256835676 +TIMESTAMP = 1633682206 +SHA256 (chromium-94.0.4606.81.tar.xz) = 7071aa2b2caf48094c2ae816395948b4daec940606f4982ad5bbf68e5d2de598 +SIZE (chromium-94.0.4606.81.tar.xz) = 1039841108 +SHA256 (chromium-94.0.4606.81-testdata.tar.xz) = 6cddfe2fe7a36c79770c165d08f3ef9d778f78ed5e0c0e98b3eaa2e54884df03 +SIZE (chromium-94.0.4606.81-testdata.tar.xz) = 257006276 SHA256 (test_fonts-85.tar.xz) = f22b61b3639acb147c98ec2e2305d8b96f0b55c8c74c40e2ea696402fae8cef9 SIZE (test_fonts-85.tar.xz) = 9511984 diff --git a/www/chromium/files/device_info_fetcher_freebsd.cc b/www/chromium/files/device_info_fetcher_freebsd.cc index 021bc035966b..dcd5af716e46 100644 --- a/www/chromium/files/device_info_fetcher_freebsd.cc +++ b/www/chromium/files/device_info_fetcher_freebsd.cc @@ -1,143 +1,141 @@ // Copyright 2020 The Chromium Authors. All rights reserved. // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. #include "chrome/browser/enterprise/signals/device_info_fetcher_freebsd.h" #if defined(USE_GIO) #include #endif // defined(USE_GIO) #include #include #include #include #include #include #include "base/environment.h" #include "base/files/dir_reader_posix.h" #include "base/files/file.h" #include "base/files/file_util.h" #include "base/nix/xdg_util.h" #include "base/strings/string_split.h" #include "base/strings/string_util.h" #include "base/strings/stringprintf.h" #include "base/system/sys_info.h" #include "net/base/network_interfaces.h" -using SettingValue = enterprise_signals::DeviceInfo::SettingValue; - namespace enterprise_signals { namespace { std::string GetDeviceModel() { return base::SysInfo::HardwareModelName(); } std::string GetOsVersion() { return base::SysInfo::OperatingSystemVersion(); } std::string GetDeviceHostName() { return net::GetHostName(); } std::string GetSerialNumber() { return std::string(); } // Implements the logic from the native client setup script. It reads the // setting value straight from gsettings but picks the schema relevant to the // currently active desktop environment. // The current implementation support Gnone and Cinnamon only. SettingValue GetScreenlockSecured() { #if defined(USE_GIO) static constexpr char kLockScreenKey[] = "lock-enabled"; std::unique_ptr env(base::Environment::Create()); const base::nix::DesktopEnvironment desktop_env = base::nix::GetDesktopEnvironment(env.get()); if (desktop_env != base::nix::DESKTOP_ENVIRONMENT_CINNAMON && desktop_env != base::nix::DESKTOP_ENVIRONMENT_GNOME) { return SettingValue::UNKNOWN; } const std::string settings_schema = base::StringPrintf( "org.%s.desktop.screensaver", desktop_env == base::nix::DESKTOP_ENVIRONMENT_CINNAMON ? "cinnamon" : "gnome"); GSettingsSchema* screensaver_schema = g_settings_schema_source_lookup( g_settings_schema_source_get_default(), settings_schema.c_str(), FALSE); GSettings* screensaver_settings = nullptr; if (!screensaver_schema || !g_settings_schema_has_key(screensaver_schema, kLockScreenKey)) { return SettingValue::UNKNOWN; } screensaver_settings = g_settings_new(settings_schema.c_str()); if (!screensaver_settings) return SettingValue::UNKNOWN; gboolean lock_screen_enabled = g_settings_get_boolean(screensaver_settings, kLockScreenKey); g_object_unref(screensaver_settings); return lock_screen_enabled ? SettingValue::ENABLED : SettingValue::DISABLED; #else return SettingValue::UNKNOWN; #endif // defined(USE_GIO) } // Implements the logic from the native host installation script. First find the // root device identifier, then locate its parent and get its type. SettingValue GetDiskEncrypted() { return SettingValue::UNKNOWN; } std::vector GetMacAddresses() { std::vector result; struct ifaddrs* ifa = nullptr; if (getifaddrs(&ifa) != 0) return result; struct ifaddrs* interface = ifa; for (; interface != nullptr; interface = interface->ifa_next) { if (interface->ifa_addr == nullptr || interface->ifa_addr->sa_family != AF_LINK) { continue; } struct sockaddr_dl* sdl = reinterpret_cast(interface->ifa_addr); if (!sdl || sdl->sdl_alen != 6) continue; char* link_address = static_cast(LLADDR(sdl)); result.push_back(base::StringPrintf( "%02x:%02x:%02x:%02x:%02x:%02x", link_address[0] & 0xff, link_address[1] & 0xff, link_address[2] & 0xff, link_address[3] & 0xff, link_address[4] & 0xff, link_address[5] & 0xff)); } return result; } } // namespace DeviceInfoFetcherFreeBSD::DeviceInfoFetcherFreeBSD() = default; DeviceInfoFetcherFreeBSD::~DeviceInfoFetcherFreeBSD() = default; DeviceInfo DeviceInfoFetcherFreeBSD::Fetch() { DeviceInfo device_info; device_info.os_name = "freebsd"; device_info.os_version = GetOsVersion(); device_info.device_host_name = GetDeviceHostName(); device_info.device_model = GetDeviceModel(); device_info.serial_number = GetSerialNumber(); device_info.screen_lock_secured = GetScreenlockSecured(); device_info.disk_encrypted = GetDiskEncrypted(); device_info.mac_addresses = GetMacAddresses(); return device_info; } } // namespace enterprise_signals diff --git a/www/chromium/files/extra-patch-build_config_compiler_pgo_pgo.gni b/www/chromium/files/extra-patch-build_config_compiler_pgo_pgo.gni index ede4422aa141..c149f4f7bb49 100644 --- a/www/chromium/files/extra-patch-build_config_compiler_pgo_pgo.gni +++ b/www/chromium/files/extra-patch-build_config_compiler_pgo_pgo.gni @@ -1,11 +1,11 @@ ---- build/config/compiler/pgo/pgo.gni.orig 2021-08-17 00:15:54 UTC +--- build/config/compiler/pgo/pgo.gni.orig 2021-10-08 06:25:34 UTC +++ build/config/compiler/pgo/pgo.gni @@ -16,7 +16,7 @@ declare_args() { # TODO(crbug.com/1052397): Remove chromeos_is_browser_only once # target_os switch for lacros-chrome is completed. (is_win || is_mac || - (is_linux && !chromeos_is_browser_only && !is_chromecast))) { + (is_linux && !chromeos_is_browser_only && !is_chromecast && !is_bsd))) { chrome_pgo_phase = 2 } diff --git a/www/chromium/files/patch-3p-pdfium_3p_base_allocator_partition__allocator_page__allocator__internals__posix.h b/www/chromium/files/patch-3p-pdfium_3p_base_allocator_partition__allocator_page__allocator__internals__posix.h index b9cbe4cc1c83..a416c5026ea5 100644 --- a/www/chromium/files/patch-3p-pdfium_3p_base_allocator_partition__allocator_page__allocator__internals__posix.h +++ b/www/chromium/files/patch-3p-pdfium_3p_base_allocator_partition__allocator_page__allocator__internals__posix.h @@ -1,11 +1,11 @@ ---- third_party/pdfium/third_party/base/allocator/partition_allocator/page_allocator_internals_posix.h.orig 2021-08-17 00:18:54 UTC +--- third_party/pdfium/third_party/base/allocator/partition_allocator/page_allocator_internals_posix.h.orig 2021-10-08 06:29:18 UTC +++ third_party/pdfium/third_party/base/allocator/partition_allocator/page_allocator_internals_posix.h @@ -16,7 +16,7 @@ #if defined(OS_ANDROID) #include #endif -#if defined(OS_LINUX) || defined(OS_CHROMEOS) +#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD) #include #include diff --git a/www/chromium/files/patch-BUILD.gn b/www/chromium/files/patch-BUILD.gn index 8528f242ee69..d283d4564188 100644 --- a/www/chromium/files/patch-BUILD.gn +++ b/www/chromium/files/patch-BUILD.gn @@ -1,96 +1,114 @@ ---- BUILD.gn.orig 2021-07-19 18:45:04 UTC +--- BUILD.gn.orig 2021-09-24 04:25:55 UTC +++ BUILD.gn -@@ -443,7 +443,7 @@ group("gn_all") { +@@ -449,7 +449,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", -@@ -488,8 +488,6 @@ group("gn_all") { +@@ -494,8 +494,6 @@ group("gn_all") { "//net:disk_cache_memory_test", "//net:quic_client", "//net:quic_server", - "//sandbox/linux:chrome_sandbox", - "//sandbox/linux:sandbox_linux_unittests", "//testing:empty_main", ] -@@ -544,10 +542,6 @@ group("gn_all") { +@@ -506,7 +504,7 @@ group("gn_all") { + ] + } + +- if (is_chrome_branded && is_official_build) { ++ if (is_chrome_branded && is_official_build && !is_bsd) { + # TODO(dpranke): add the linux_dump_symbols flag? + deps += [ "//chrome:linux_symbols" ] + } +@@ -550,10 +548,6 @@ group("gn_all") { "//chrome/test:load_library_perf_tests", "//chrome/test:sync_performance_tests", "//chrome/test/chromedriver:chromedriver", - "//courgette:courgette", - "//courgette:courgette_fuzz", - "//courgette:courgette_minimal_tool", - "//courgette:courgette_unittests", "//media/cast:generate_barcode_video", "//media/cast:generate_timecode_audio", "//net:crash_cache", -@@ -606,10 +600,6 @@ group("gn_all") { +@@ -612,10 +606,6 @@ group("gn_all") { "//mojo:mojo_perftests", "//services/service_manager/public/cpp", "//testing/gmock:gmock_main", - "//third_party/breakpad:dump_syms($host_toolchain)", - "//third_party/breakpad:microdump_stackwalk($host_toolchain)", - "//third_party/breakpad:minidump_dump($host_toolchain)", - "//third_party/breakpad:minidump_stackwalk($host_toolchain)", ] if (!is_android) { -@@ -687,7 +677,7 @@ group("gn_all") { +@@ -693,7 +683,7 @@ group("gn_all") { host_os == "win") { deps += [ "//chrome/test/mini_installer:mini_installer_tests" ] } - } else if (!is_android && !is_ios && !is_fuchsia) { + } else if (!is_android && !is_ios && !is_fuchsia && !is_bsd) { deps += [ "//third_party/breakpad:symupload($host_toolchain)" ] } -@@ -702,7 +692,7 @@ group("gn_all") { +@@ -708,7 +698,7 @@ group("gn_all") { } } - if (is_mac || is_win || is_android || is_linux || is_chromeos) { + if (is_mac || is_win || is_android || (is_linux && !is_bsd) || is_chromeos) { deps += [ "//third_party/crashpad/crashpad:crashpad_tests", "//third_party/crashpad/crashpad/handler:crashpad_handler", -@@ -819,7 +809,6 @@ group("gn_all") { +@@ -825,7 +815,6 @@ group("gn_all") { "//chrome/browser/vr:vr_common_perftests", "//chrome/browser/vr:vr_common_unittests", "//chrome/browser/vr:vr_pixeltests", - "//tools/perf/contrib/vr_benchmarks:vr_perf_tests", ] if (is_android) { deps += [ "//chrome/browser/android/vr:vr_android_unittests" ] -@@ -1118,7 +1107,7 @@ if (!is_ios) { +@@ -1131,7 +1120,7 @@ if (!is_ios) { data_deps += [ "//content/web_test:web_test_common_mojom_js_data_deps" ] } - if (!is_win && !is_android) { + if (!is_win && !is_android && !is_bsd) { data_deps += [ "//third_party/breakpad:minidump_stackwalk($host_toolchain)" ] } -@@ -1127,7 +1116,7 @@ if (!is_ios) { +@@ -1140,7 +1129,7 @@ if (!is_ios) { data_deps += [ "//third_party/breakpad:dump_syms($host_toolchain)" ] } - if (is_linux || is_chromeos) { + if ((is_linux && !is_bsd) || is_chromeos) { data_deps += [ "//third_party/breakpad:dump_syms($host_toolchain)" ] } -@@ -1371,9 +1360,6 @@ group("chromium_builder_perf") { +@@ -1374,7 +1363,7 @@ group("chromium_builder_perf") { + data_deps += [ "//chrome/test:performance_browser_tests" ] + } + if (is_linux || is_chromeos_lacros) { +- if (is_official_build) { ++ if (is_official_build && !is_bsd) { + # In GN builds, this is controlled by the 'linux_dump_symbols' + # flag, which defaults to 1 for official builds. For now, + # we skip the separate flag and just key off of is_official_build. +@@ -1386,9 +1375,6 @@ group("chromium_builder_perf") { if (is_win) { data_deps += [ "//chrome/installer/mini_installer:mini_installer" ] - } else { - data_deps += - [ "//third_party/breakpad:minidump_stackwalk($host_toolchain)" ] } if (is_win || is_android) { data_deps += [ diff --git a/www/chromium/files/patch-base_BUILD.gn b/www/chromium/files/patch-base_BUILD.gn index 071f2b46a17e..97725237b20e 100644 --- a/www/chromium/files/patch-base_BUILD.gn +++ b/www/chromium/files/patch-base_BUILD.gn @@ -1,94 +1,94 @@ ---- base/BUILD.gn.orig 2021-07-19 18:45:05 UTC +--- base/BUILD.gn.orig 2021-09-24 04:25:55 UTC +++ base/BUILD.gn -@@ -972,7 +972,7 @@ component("base") { +@@ -935,7 +935,7 @@ component("base") { "timer/hi_res_timer_manager_posix.cc", ] - if (!is_nacl && !is_apple) { + if (!is_nacl && !is_apple && !is_bsd) { sources += [ "cpu_affinity_posix.cc", "cpu_affinity_posix.h", -@@ -983,6 +983,11 @@ component("base") { +@@ -946,6 +946,11 @@ component("base") { "profiler/thread_delegate_posix.h", ] } + if (is_bsd) { + sources += [ + "profiler/stack_sampler_posix.cc", + ] + } } if (is_win) { -@@ -1394,7 +1399,7 @@ component("base") { +@@ -1367,7 +1372,7 @@ component("base") { # building inside the cros_sdk environment - use host_toolchain as a # more robust check for this. if (!use_sysroot && - (is_android || ((is_linux || is_chromeos) && !is_chromecast)) && + (is_android || ((is_linux || is_chromeos) && !is_chromecast) && !is_clang) && host_toolchain != "//build/toolchain/cros:host") { libs += [ "atomic" ] } -@@ -1447,7 +1452,7 @@ component("base") { +@@ -1420,7 +1425,7 @@ component("base") { "allocator/allocator_shim_default_dispatch_to_mac_zoned_malloc.cc", ] } - if (is_chromeos || is_linux) { + if ((is_chromeos || is_linux) && !is_bsd) { sources += [ "allocator/allocator_shim_default_dispatch_to_glibc.cc" ] } if (is_win) { -@@ -2119,6 +2124,34 @@ component("base") { +@@ -2099,6 +2104,34 @@ component("base") { } } + if (is_bsd) { + sources -= [ + "files/file_path_watcher_linux.cc", + "files/file_util_linux.cc", + "process/memory_linux.cc", + "process/process_handle_linux.cc", + "process/process_iterator_linux.cc", + "process/process_metrics_linux.cc", + "system/sys_info_linux.cc" + ] + sources += [ + "files/file_path_watcher_freebsd.cc", + "files/file_path_watcher_kqueue.cc", + "files/file_path_watcher_kqueue.h", + "process/memory_stubs.cc", + "process/process_handle_freebsd.cc", + "process/process_iterator_freebsd.cc", + "process/process_metrics_freebsd.cc", + "system/sys_info_freebsd.cc", + ] + libs = [ + "execinfo", # logging.cc + "kvm", # process_metrics_freebsd + "util" # process_metrics_freebsd + ] + } + + # iOS if (is_ios) { sources -= [ -@@ -3339,7 +3372,7 @@ test("base_unittests") { +@@ -3292,7 +3325,7 @@ test("base_unittests") { } } - if (is_linux || is_chromeos) { + if ((is_linux || is_chromeos) && !is_bsd) { sources += [ "debug/proc_maps_linux_unittest.cc", "files/scoped_file_linux_unittest.cc", -@@ -3382,7 +3415,7 @@ test("base_unittests") { +@@ -3339,7 +3372,7 @@ test("base_unittests") { "posix/unix_domain_socket_unittest.cc", "task/thread_pool/task_tracker_posix_unittest.cc", ] - if (!is_nacl && !is_apple) { + if (!is_nacl && !is_apple && !is_bsd) { sources += [ "cpu_affinity_posix_unittest.cc", "profiler/stack_copier_signal_unittest.cc", diff --git a/www/chromium/files/patch-base_allocator_allocator.gni b/www/chromium/files/patch-base_allocator_allocator.gni deleted file mode 100644 index a8a21f360289..000000000000 --- a/www/chromium/files/patch-base_allocator_allocator.gni +++ /dev/null @@ -1,11 +0,0 @@ ---- base/allocator/allocator.gni.orig 2021-07-19 18:45:05 UTC -+++ base/allocator/allocator.gni -@@ -60,7 +60,7 @@ declare_args() { - # not, and redesign or remove the flag accordingly. We may want to assert a - # possible conflict between |use_allocator = "partition"| and - # |use_partition_alloc = true| rather than prioritizing use_partition_alloc. -- use_partition_alloc = !is_ios # Never use PartitionAlloc on iOS. -+ use_partition_alloc = !is_ios # Never use PartitionAlloc on iOS. - } - - if (!use_partition_alloc && use_allocator == "partition") { diff --git a/www/chromium/files/patch-base_allocator_allocator__shim__unittest.cc b/www/chromium/files/patch-base_allocator_allocator__shim__unittest.cc index f859681f9b6b..b7a8e8f3c8a8 100644 --- a/www/chromium/files/patch-base_allocator_allocator__shim__unittest.cc +++ b/www/chromium/files/patch-base_allocator_allocator__shim__unittest.cc @@ -1,47 +1,47 @@ ---- base/allocator/allocator_shim_unittest.cc.orig 2021-04-14 18:40:48 UTC +--- base/allocator/allocator_shim_unittest.cc.orig 2021-09-14 01:51:47 UTC +++ base/allocator/allocator_shim_unittest.cc @@ -369,7 +369,7 @@ TEST_F(AllocatorShimTest, InterceptLibcSymbols) { #endif // !OS_WIN -#if !defined(OS_WIN) && !defined(OS_APPLE) +#if !defined(OS_WIN) && !defined(OS_APPLE) && !defined(OS_BSD) void* memalign_ptr = memalign(128, 53); ASSERT_NE(nullptr, memalign_ptr); ASSERT_EQ(0u, reinterpret_cast(memalign_ptr) % 128); @@ -385,7 +385,7 @@ TEST_F(AllocatorShimTest, InterceptLibcSymbols) { ASSERT_GE(aligned_allocs_intercepted_by_size[kPageSize], 1u); #endif // !defined(OS_ANDROID) -#endif // !OS_WIN && !OS_APPLE +#endif // !OS_WIN && !OS_APPLE && !OS_BSD // See allocator_shim_override_glibc_weak_symbols.h for why we intercept // internal libc symbols. @@ -412,7 +412,7 @@ TEST_F(AllocatorShimTest, InterceptLibcSymbols) { free(zero_alloc_ptr); ASSERT_GE(frees_intercepted_by_addr[Hash(zero_alloc_ptr)], 1u); -#if !defined(OS_WIN) && !defined(OS_APPLE) +#if !defined(OS_WIN) && !defined(OS_APPLE) && !defined(OS_BSD) free(memalign_ptr); ASSERT_GE(frees_intercepted_by_addr[Hash(memalign_ptr)], 1u); @@ -421,7 +421,7 @@ TEST_F(AllocatorShimTest, InterceptLibcSymbols) { ASSERT_GE(frees_intercepted_by_addr[Hash(pvalloc_ptr)], 1u); #endif // !defined(OS_ANDROID) -#endif // !OS_WIN && !OS_APPLE +#endif // !OS_WIN && !OS_APPLE && !OS_BSD #if !defined(OS_WIN) free(posix_memalign_ptr); -@@ -614,7 +614,7 @@ static size_t GetUsableSize(void* ptr) { +@@ -615,7 +615,7 @@ static size_t GetUsableSize(void* ptr) { static size_t GetUsableSize(void* ptr) { return malloc_size(ptr); } -#elif defined(OS_LINUX) || defined(OS_CHROMEOS) +#elif defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD) static size_t GetUsableSize(void* ptr) { return malloc_usable_size(ptr); } diff --git a/www/chromium/files/patch-base_allocator_partition__allocator_address__space__randomization.h b/www/chromium/files/patch-base_allocator_partition__allocator_address__space__randomization.h new file mode 100644 index 000000000000..c15f7b02a90a --- /dev/null +++ b/www/chromium/files/patch-base_allocator_partition__allocator_address__space__randomization.h @@ -0,0 +1,11 @@ +--- base/allocator/partition_allocator/address_space_randomization.h.orig 2021-10-07 16:50:24 UTC ++++ base/allocator/partition_allocator/address_space_randomization.h +@@ -36,7 +36,7 @@ AslrMask(uintptr_t bits) { + + #if defined(ARCH_CPU_64_BITS) + +- #if defined(MEMORY_TOOL_REPLACES_ALLOCATOR) ++ #if defined(MEMORY_TOOL_REPLACES_ALLOCATOR) && !defined(OS_BSD) + + // We shouldn't allocate system pages at all for sanitizer builds. However, + // we do, and if random hint addresses interfere with address ranges diff --git a/www/chromium/files/patch-base_allocator_partition__allocator_partition__alloc.cc b/www/chromium/files/patch-base_allocator_partition__allocator_partition__alloc.cc index 8776e5e8e230..cd2ad5a2b820 100644 --- a/www/chromium/files/patch-base_allocator_partition__allocator_partition__alloc.cc +++ b/www/chromium/files/patch-base_allocator_partition__allocator_partition__alloc.cc @@ -1,15 +1,15 @@ ---- base/allocator/partition_allocator/partition_alloc.cc.orig 2021-04-14 18:40:48 UTC +--- base/allocator/partition_allocator/partition_alloc.cc.orig 2021-09-24 04:25:55 UTC +++ base/allocator/partition_allocator/partition_alloc.cc -@@ -56,7 +56,12 @@ void PartitionAllocGlobalInit(OomFunction on_out_of_me +@@ -57,7 +57,12 @@ void PartitionAllocGlobalInit(OomFunction on_out_of_me "maximum direct mapped allocation"); // Check that some of our zanier calculations worked out as expected. +#if defined(__i386__) && defined(OS_FREEBSD) + // alignof(std::max_align_t) is only 4 on FreeBSD/i386 + static_assert(kSmallestBucket >= kAlignment, "generic smallest bucket"); +#else static_assert(kSmallestBucket == kAlignment, "generic smallest bucket"); +#endif - static_assert(kMaxBucketed == 983040, "generic max bucketed"); + static_assert(kMaxBucketed == 917504, "generic max bucketed"); STATIC_ASSERT_OR_PA_CHECK( - MaxSystemPagesPerSlotSpan() < (1 << 8), + MaxSystemPagesPerRegularSlotSpan() <= 16, diff --git a/www/chromium/files/patch-base_allocator_partition__allocator_partition__alloc__config.h b/www/chromium/files/patch-base_allocator_partition__allocator_partition__alloc__config.h index 76d20b689187..b65ad60524a2 100644 --- a/www/chromium/files/patch-base_allocator_partition__allocator_partition__alloc__config.h +++ b/www/chromium/files/patch-base_allocator_partition__allocator_partition__alloc__config.h @@ -1,17 +1,17 @@ ---- base/allocator/partition_allocator/partition_alloc_config.h.orig 2021-07-19 18:45:05 UTC +--- base/allocator/partition_allocator/partition_alloc_config.h.orig 2021-09-24 04:25:55 UTC +++ base/allocator/partition_allocator/partition_alloc_config.h -@@ -46,9 +46,13 @@ static_assert(sizeof(void*) != 8, ""); +@@ -61,9 +61,13 @@ static_assert(sizeof(void*) != 8, ""); #define PA_HAS_LINUX_KERNEL #endif +#if defined(OS_FREEBSD) +#define PA_HAS_FREEBSD_KERNEL +#endif + // SpinningMutex uses either futex(2) on Linux, or a fast userspace "try" // operation, which is available on Windows. -#if defined(PA_HAS_LINUX_KERNEL) || defined(OS_WIN) +#if defined(PA_HAS_LINUX_KERNEL) || defined(PA_HAS_FREEBSD_KERNEL) || defined(OS_WIN) #define PA_HAS_SPINNING_MUTEX #endif diff --git a/www/chromium/files/patch-base_allocator_partition__allocator_partition__alloc__unittest.cc b/www/chromium/files/patch-base_allocator_partition__allocator_partition__alloc__unittest.cc index f9667782d087..f3baa9a491d9 100644 --- a/www/chromium/files/patch-base_allocator_partition__allocator_partition__alloc__unittest.cc +++ b/www/chromium/files/patch-base_allocator_partition__allocator_partition__alloc__unittest.cc @@ -1,20 +1,20 @@ ---- base/allocator/partition_allocator/partition_alloc_unittest.cc.orig 2021-07-19 18:45:05 UTC +--- base/allocator/partition_allocator/partition_alloc_unittest.cc.orig 2021-09-24 04:25:55 UTC +++ base/allocator/partition_allocator/partition_alloc_unittest.cc -@@ -1651,7 +1651,7 @@ TEST_F(PartitionAllocTest, LostFreeSlotSpansBug) { +@@ -1755,7 +1755,7 @@ TEST_F(PartitionAllocTest, LostFreeSlotSpansBug) { // cause flake. #if !defined(OS_WIN) && \ (!defined(ARCH_CPU_64_BITS) || \ - (defined(OS_POSIX) && !(defined(OS_APPLE) || defined(OS_ANDROID)))) + (defined(OS_POSIX) && !(defined(OS_APPLE) || defined(OS_ANDROID) || defined(OS_BSD)))) // The following four tests wrap a called function in an expect death statement // to perform their test, because they are non-hermetic. Specifically they are -@@ -1702,7 +1702,7 @@ TEST_F(PartitionAllocDeathTest, DISABLED_RepeatedTryRe +@@ -1806,7 +1806,7 @@ TEST_F(PartitionAllocDeathTest, DISABLED_RepeatedTryRe } #endif // !defined(ARCH_CPU_64_BITS) || (defined(OS_POSIX) && - // !(defined(OS_APPLE) || defined(OS_ANDROID))) + // !(defined(OS_APPLE) || defined(OS_ANDROID) || defined(OS_BSD))) // Make sure that malloc(-1) dies. // In the past, we had an integer overflow that would alias malloc(-1) to diff --git a/www/chromium/files/patch-base_allocator_partition__allocator_partition__root.cc b/www/chromium/files/patch-base_allocator_partition__allocator_partition__root.cc index f0e47dbc54d7..edb63a43d3f1 100644 --- a/www/chromium/files/patch-base_allocator_partition__allocator_partition__root.cc +++ b/www/chromium/files/patch-base_allocator_partition__allocator_partition__root.cc @@ -1,47 +1,47 @@ ---- base/allocator/partition_allocator/partition_root.cc.orig 2021-07-19 18:45:05 UTC +--- base/allocator/partition_allocator/partition_root.cc.orig 2021-09-14 01:51:47 UTC +++ base/allocator/partition_allocator/partition_root.cc -@@ -25,7 +25,7 @@ +@@ -27,7 +27,7 @@ #include "wow64apiset.h" #endif --#if defined(OS_LINUX) -+#if defined(OS_LINUX) || defined(OS_BSD) +-#if defined(OS_LINUX) || defined(OS_CHROMEOS) ++#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD) #include #endif -@@ -39,7 +39,7 @@ namespace { +@@ -41,7 +41,7 @@ namespace base { - #if BUILDFLAG(USE_PARTITION_ALLOC_AS_MALLOC) + namespace { --#if defined(OS_LINUX) -+#if defined(OS_LINUX) || defined(OS_BSD) +-#if defined(OS_APPLE) || defined(OS_LINUX) || defined(OS_CHROMEOS) ++#if defined(OS_APPLE) || defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD) // NO_THREAD_SAFETY_ANALYSIS: acquires the lock and doesn't release it, by // design. -@@ -92,7 +92,7 @@ void AfterForkInChild() { +@@ -94,7 +94,7 @@ void AfterForkInChild() { internal::ThreadCacheRegistry::Instance() .ForcePurgeAllThreadAfterForkUnsafe(); } --#endif // defined(OS_LINUX) -+#endif // defined(OS_LINUX) || defined(OS_BSD) +-#endif // defined(OS_APPLE) || defined(OS_LINUX) || defined(OS_CHROMEOS) ++#endif // defined(OS_APPLE) || defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD) std::atomic g_global_init_called; void PartitionAllocMallocInitOnce() { -@@ -102,7 +102,7 @@ void PartitionAllocMallocInitOnce() { +@@ -104,7 +104,7 @@ void PartitionAllocMallocInitOnce() { if (!g_global_init_called.compare_exchange_strong(expected, true)) return; --#if defined(OS_LINUX) -+#if defined(OS_LINUX) || defined(OS_BSD) +-#if defined(OS_LINUX) || defined(OS_CHROMEOS) ++#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD) // When fork() is called, only the current thread continues to execute in the // child process. If the lock is held, but *not* by this thread when fork() is // called, we have a deadlock. -@@ -127,7 +127,7 @@ void PartitionAllocMallocInitOnce() { +@@ -129,7 +129,7 @@ void PartitionAllocMallocInitOnce() { int err = pthread_atfork(BeforeForkInParent, AfterForkInParent, AfterForkInChild); PA_CHECK(err == 0); --#endif // defined(OS_LINUX) -+#endif // defined(OS_LINUX) || defined(OS_BSD) +-#endif // defined(OS_LINUX) || defined(OS_CHROMEOS) ++#endif // defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD) } - #endif // BUILDFLAG(USE_PARTITION_ALLOC_AS_MALLOC) + } // namespace diff --git a/www/chromium/files/patch-base_allocator_partition__allocator_spinning__mutex.cc b/www/chromium/files/patch-base_allocator_partition__allocator_spinning__mutex.cc index 7fcb4113bbdc..1afd2fd91a8d 100644 --- a/www/chromium/files/patch-base_allocator_partition__allocator_spinning__mutex.cc +++ b/www/chromium/files/patch-base_allocator_partition__allocator_spinning__mutex.cc @@ -1,49 +1,49 @@ ---- base/allocator/partition_allocator/spinning_mutex.cc.orig 2021-04-14 18:40:48 UTC +--- base/allocator/partition_allocator/spinning_mutex.cc.orig 2021-09-14 01:51:47 UTC +++ base/allocator/partition_allocator/spinning_mutex.cc -@@ -16,9 +16,16 @@ +@@ -20,9 +20,16 @@ #include #endif // defined(PA_HAS_LINUX_KERNEL) +#if defined(PA_HAS_FREEBSD_KERNEL) +#include +#include +#include +#include +#endif // defined(PA_HAS_FREEBSD_KERNEL) + namespace base { namespace internal { -#if defined(PA_HAS_LINUX_KERNEL) +#if defined(PA_HAS_LINUX_KERNEL) || defined(PA_HAS_FREEBSD_KERNEL) void SpinningMutex::FutexWait() { // Save and restore errno. -@@ -42,8 +49,13 @@ void SpinningMutex::FutexWait() { +@@ -46,8 +53,13 @@ void SpinningMutex::FutexWait() { // |kLockedContended| anymore. Note that even without spurious wakeups, the // value of |state_| is not guaranteed when this returns, as another thread // may get the lock before we get to run. +#if defined(PA_HAS_LINUX_KERNEL) int err = syscall(SYS_futex, &state_, FUTEX_WAIT | FUTEX_PRIVATE_FLAG, kLockedContended, nullptr, nullptr, 0); +#elif defined(PA_HAS_FREEBSD_KERNEL) + int err = _umtx_op(&state_, UMTX_OP_WAIT_UINT_PRIVATE, + kLockedContended, nullptr, nullptr); +#endif if (err) { // These are programming error, check them. -@@ -55,8 +67,14 @@ void SpinningMutex::FutexWait() { +@@ -59,8 +71,14 @@ void SpinningMutex::FutexWait() { void SpinningMutex::FutexWake() { int saved_errno = errno; +#if defined(PA_HAS_LINUX_KERNEL) long retval = syscall(SYS_futex, &state_, FUTEX_WAKE | FUTEX_PRIVATE_FLAG, 1 /* wake up a single waiter */, nullptr, nullptr, 0); +#elif defined(PA_HAS_FREEBSD_KERNEL) + long retval = _umtx_op(&state_, UMTX_OP_WAKE_PRIVATE, + 1 /* wake up a single waiter */, nullptr, nullptr); +#endif + PA_CHECK(retval != -1); errno = saved_errno; } diff --git a/www/chromium/files/patch-base_allocator_partition__allocator_starscan_pcscan__internal.cc b/www/chromium/files/patch-base_allocator_partition__allocator_starscan_pcscan__internal.cc index 4e62c2a629f9..4b62e7b8dad3 100644 --- a/www/chromium/files/patch-base_allocator_partition__allocator_starscan_pcscan__internal.cc +++ b/www/chromium/files/patch-base_allocator_partition__allocator_starscan_pcscan__internal.cc @@ -1,11 +1,11 @@ ---- base/allocator/partition_allocator/starscan/pcscan_internal.cc.orig 2021-07-28 07:02:32 UTC +--- base/allocator/partition_allocator/starscan/pcscan_internal.cc.orig 2021-09-24 04:25:55 UTC +++ base/allocator/partition_allocator/starscan/pcscan_internal.cc -@@ -72,7 +72,7 @@ namespace internal { +@@ -59,7 +59,7 @@ namespace internal { namespace { -#if DCHECK_IS_ON() && defined(OS_LINUX) +#if DCHECK_IS_ON() && (defined(OS_LINUX) || defined(OS_BSD)) // Currently, check reentracy only on Linux. On Android TLS is emulated by the // runtime lib, which can allocate and therefore cause reentrancy. struct ReentrantScannerGuard final { diff --git a/www/chromium/files/patch-base_allocator_partition__allocator_starscan_stack_stack.cc b/www/chromium/files/patch-base_allocator_partition__allocator_starscan_stack_stack.cc index 44ee20228aa7..97c6764116f7 100644 --- a/www/chromium/files/patch-base_allocator_partition__allocator_starscan_stack_stack.cc +++ b/www/chromium/files/patch-base_allocator_partition__allocator_starscan_stack_stack.cc @@ -1,39 +1,39 @@ ---- base/allocator/partition_allocator/starscan/stack/stack.cc.orig 2021-07-28 10:41:10 UTC +--- base/allocator/partition_allocator/starscan/stack/stack.cc.orig 2021-09-24 04:25:55 UTC +++ base/allocator/partition_allocator/starscan/stack/stack.cc @@ -17,6 +17,10 @@ #include #endif +#if defined(OS_FREEBSD) +#include +#endif + #if defined(LIBC_GLIBC) extern "C" void* __libc_stack_end; #endif @@ -54,7 +58,15 @@ void* GetStackTop() { void* GetStackTop() { pthread_attr_t attr; +#if defined(OS_FREEBSD) + int error = pthread_attr_init(&attr); + if (error) { + return nullptr; + } + error = pthread_attr_get_np(pthread_self(), &attr); +#else int error = pthread_getattr_np(pthread_self(), &attr); +#endif if (!error) { void* base; size_t size; @@ -71,6 +83,9 @@ void* GetStackTop() { // See https://code.google.com/p/nativeclient/issues/detail?id=3431. return __libc_stack_end; - #endif // defined(LIBC_GLIBC) + #else +#if defined(OS_FREEBSD) + pthread_attr_destroy(&attr); +#endif return nullptr; + #endif // defined(LIBC_GLIBC) } - diff --git a/www/chromium/files/patch-base_containers_checked__iterators__unittest.cc b/www/chromium/files/patch-base_containers_checked__iterators__unittest.cc new file mode 100644 index 000000000000..95160ac0985a --- /dev/null +++ b/www/chromium/files/patch-base_containers_checked__iterators__unittest.cc @@ -0,0 +1,11 @@ +--- base/containers/checked_iterators_unittest.cc.orig 2021-10-05 14:50:27 UTC ++++ base/containers/checked_iterators_unittest.cc +@@ -88,7 +88,7 @@ TEST(CheckedContiguousIterator, ConvertingComparisonOp + // lags a bit behind. + // TODO(crbug.com/1166360): Enable this test on ChromeOS once the shared libc++ + // is sufficiently modern. +-#if defined(_LIBCPP_VERSION) && !defined(OS_NACL) && !defined(OS_CHROMEOS) ++#if defined(_LIBCPP_VERSION) && !defined(OS_NACL) && !defined(OS_CHROMEOS) && !defined(OS_BSD) + namespace { + + // Helper template that wraps an iterator and disables its dereference and diff --git a/www/chromium/files/patch-base_cpu.cc b/www/chromium/files/patch-base_cpu.cc index 7f8adecb5ac5..cbc9bb558f06 100644 --- a/www/chromium/files/patch-base_cpu.cc +++ b/www/chromium/files/patch-base_cpu.cc @@ -1,35 +1,35 @@ ---- base/cpu.cc.orig 2021-07-19 18:45:05 UTC +--- base/cpu.cc.orig 2021-09-14 01:51:47 UTC +++ base/cpu.cc @@ -16,7 +16,7 @@ - #include "base/stl_util.h" + #include "base/cxx17_backports.h" -#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_ANDROID) || \ +#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_ANDROID) || defined(OS_BSD) || \ defined(OS_AIX) #include "base/containers/flat_set.h" #include "base/files/file_util.h" @@ -215,6 +215,14 @@ const ProcCpuInfo& ParseProcCpu() { return *info; } +#elif defined(OS_BSD) +std::string* CpuInfoBrand() { + static std::string* brand = []() { + return new std::string(SysInfo::CPUModelName()); + }(); + + return brand; +} #endif // defined(ARCH_CPU_ARM_FAMILY) && (defined(OS_ANDROID) || // defined(OS_LINUX) || defined(OS_CHROMEOS)) @@ -357,6 +365,8 @@ void CPU::Initialize(bool require_branding) { has_bti_ = hwcap2 & HWCAP2_BTI; #endif +#elif defined(OS_BSD) + cpu_brand_ = *CpuInfoBrand(); #elif defined(OS_WIN) // Windows makes high-resolution thread timing information available in // user-space. diff --git a/www/chromium/files/patch-base_debug_debugger__posix.cc b/www/chromium/files/patch-base_debug_debugger__posix.cc index 0d6e7bbd22d2..5ac1022dbb46 100644 --- a/www/chromium/files/patch-base_debug_debugger__posix.cc +++ b/www/chromium/files/patch-base_debug_debugger__posix.cc @@ -1,56 +1,56 @@ ---- base/debug/debugger_posix.cc.orig 2021-07-19 18:45:05 UTC +--- base/debug/debugger_posix.cc.orig 2021-09-24 04:25:55 UTC +++ base/debug/debugger_posix.cc -@@ -93,7 +93,7 @@ bool BeingDebugged() { +@@ -92,7 +92,7 @@ bool BeingDebugged() { KERN_PROC, KERN_PROC_PID, getpid() -#if defined(OS_OPENBSD) +#if defined(OS_BSD) , sizeof(struct kinfo_proc), 0 #endif -@@ -101,33 +101,35 @@ bool BeingDebugged() { +@@ -100,33 +100,35 @@ bool BeingDebugged() { // Caution: struct kinfo_proc is marked __APPLE_API_UNSTABLE. The source and // binary interfaces may change. - struct kinfo_proc info; - size_t info_size = sizeof(info); + struct kinfo_proc *info; + size_t info_size; -#if defined(OS_OPENBSD) if (sysctl(mib, base::size(mib), NULL, &info_size, NULL, 0) < 0) return -1; + info = (struct kinfo_proc *)malloc(info_size); mib[5] = (info_size / sizeof(struct kinfo_proc)); -#endif - int sysctl_result = sysctl(mib, base::size(mib), &info, &info_size, NULL, 0); + int sysctl_result = sysctl(mib, base::size(mib), info, &info_size, NULL, 0); DCHECK_EQ(sysctl_result, 0); if (sysctl_result != 0) { is_set = true; being_debugged = false; - return being_debugged; + goto out; } // This process is being debugged if the P_TRACED flag is set. is_set = true; #if defined(OS_FREEBSD) - being_debugged = (info.ki_flag & P_TRACED) != 0; + being_debugged = (info->ki_flag & P_TRACED) != 0; #elif defined(OS_BSD) - being_debugged = (info.p_flag & P_TRACED) != 0; + being_debugged = (info->p_flag & P_TRACED) != 0; #else - being_debugged = (info.kp_proc.p_flag & P_TRACED) != 0; + being_debugged = (info->kp_proc.p_flag & P_TRACED) != 0; #endif + +out: + free(info); return being_debugged; } diff --git a/www/chromium/files/patch-base_debug_stack__trace.cc b/www/chromium/files/patch-base_debug_stack__trace.cc index 9d606cdbdc91..2733c1b031d9 100644 --- a/www/chromium/files/patch-base_debug_stack__trace.cc +++ b/www/chromium/files/patch-base_debug_stack__trace.cc @@ -1,11 +1,11 @@ ---- base/debug/stack_trace.cc.orig 2021-04-14 18:40:48 UTC +--- base/debug/stack_trace.cc.orig 2021-09-14 01:51:47 UTC +++ base/debug/stack_trace.cc -@@ -15,7 +15,7 @@ - +@@ -16,7 +16,7 @@ #if BUILDFLAG(CAN_UNWIND_WITH_FRAME_POINTERS) + #include "third_party/abseil-cpp/absl/types/optional.h" -#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_ANDROID) +#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_ANDROID) || defined(OS_BSD) #include + #include "base/process/process_handle.h" - #include "base/threading/platform_thread.h" diff --git a/www/chromium/files/patch-base_debug_stack__trace.h b/www/chromium/files/patch-base_debug_stack__trace.h index 4c3df9dae05c..6e702f67799e 100644 --- a/www/chromium/files/patch-base_debug_stack__trace.h +++ b/www/chromium/files/patch-base_debug_stack__trace.h @@ -1,10 +1,19 @@ ---- base/debug/stack_trace.h.orig 2021-04-14 18:40:48 UTC +--- base/debug/stack_trace.h.orig 2021-09-24 04:25:55 UTC +++ base/debug/stack_trace.h @@ -19,6 +19,7 @@ #if !defined(OS_NACL) #include #endif +#include #include #endif +@@ -156,7 +157,7 @@ BASE_EXPORT size_t CollectStackTrace(void** trace, siz + // scanning area at the origin of the stack, wasting time and not finding any + // frames (since Android libraries don't have frame pointers). Scanning is not + // enabled on other posix platforms due to legacy reasons. +-#if defined(OS_LINUX) || defined(OS_CHROMEOS) ++#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD) + constexpr bool kEnableScanningByDefault = true; + #else + constexpr bool kEnableScanningByDefault = false; diff --git a/www/chromium/files/patch-base_debug_stack__trace__posix.cc b/www/chromium/files/patch-base_debug_stack__trace__posix.cc index 66045b0c285c..e54d8595294a 100644 --- a/www/chromium/files/patch-base_debug_stack__trace__posix.cc +++ b/www/chromium/files/patch-base_debug_stack__trace__posix.cc @@ -1,45 +1,75 @@ ---- base/debug/stack_trace_posix.cc.orig 2021-07-19 18:45:05 UTC +--- base/debug/stack_trace_posix.cc.orig 2021-09-24 04:25:55 UTC +++ base/debug/stack_trace_posix.cc @@ -35,7 +35,7 @@ #include #endif -#if defined(OS_LINUX) || defined(OS_CHROMEOS) +#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD) #include "base/debug/proc_maps_linux.h" #endif +@@ -424,7 +424,7 @@ void StackDumpSignalHandler(int signal, siginfo_t* inf + if (::signal(signal, SIG_DFL) == SIG_ERR) { + _exit(EXIT_FAILURE); + } +-#elif !defined(OS_LINUX) ++#elif !defined(OS_LINUX) && !defined(OS_BSD) + // For all operating systems but Linux we do not reraise the signal that + // brought us here but terminate the process immediately. + // Otherwise various tests break on different operating systems, see +@@ -432,7 +432,7 @@ void StackDumpSignalHandler(int signal, siginfo_t* inf + PrintToStderr( + "Calling _exit(EXIT_FAILURE). Core file will not be generated.\n"); + _exit(EXIT_FAILURE); +-#endif // !defined(OS_LINUX) ++#endif // !defined(OS_LINUX) && !defined(OS_BSD) + + // After leaving this handler control flow returns to the point where the + // signal was raised, raising the current signal once again but executing the @@ -667,13 +667,21 @@ class SandboxSymbolizeHelper { // Reads /proc/self/maps. std::string contents; if (!ReadProcMaps(&contents)) { +#if defined(OS_BSD) + LOG(ERROR) << "Failed to read /proc/curproc/map"; +#else LOG(ERROR) << "Failed to read /proc/self/maps"; +#endif return false; } // Parses /proc/self/maps. if (!ParseProcMaps(contents, ®ions_)) { +#if defined(OS_BSD) + LOG(ERROR) << "Failed to parse the contents of /proc/curproc/map"; +#else LOG(ERROR) << "Failed to parse the contents of /proc/self/maps"; +#endif return false; } @@ -704,7 +712,11 @@ class SandboxSymbolizeHelper { // Skip regions with empty file names. continue; } +#if defined(OS_BSD) + if (region.path[0] == '-') { +#else if (region.path[0] == '[') { +#endif // Skip pseudo-paths, like [stack], [vdso], [heap], etc ... continue; } +@@ -801,9 +813,9 @@ bool EnableInProcessStackDumping() { + success &= (sigaction(SIGBUS, &action, nullptr) == 0); + success &= (sigaction(SIGSEGV, &action, nullptr) == 0); + // On Linux, SIGSYS is reserved by the kernel for seccomp-bpf sandboxing. +-#if !defined(OS_LINUX) && !defined(OS_CHROMEOS) ++#if !defined(OS_LINUX) && !defined(OS_CHROMEOS) && !defined(OS_BSD) + success &= (sigaction(SIGSYS, &action, nullptr) == 0); +-#endif // !defined(OS_LINUX) && !defined(OS_CHROMEOS) ++#endif // !defined(OS_LINUX) && !defined(OS_CHROMEOS) && !defined(OS_BSD) + + return success; + } diff --git a/www/chromium/files/patch-base_files_file__path__unittest.cc b/www/chromium/files/patch-base_files_file__path__unittest.cc index c885c484f31d..1e0c52e1e74c 100644 --- a/www/chromium/files/patch-base_files_file__path__unittest.cc +++ b/www/chromium/files/patch-base_files_file__path__unittest.cc @@ -1,11 +1,11 @@ ---- base/files/file_path_unittest.cc.orig 2021-05-12 22:05:40 UTC +--- base/files/file_path_unittest.cc.orig 2021-09-24 04:25:55 UTC +++ base/files/file_path_unittest.cc -@@ -1179,7 +1179,7 @@ TEST_F(FilePathTest, FromUTF8Unsafe_And_AsUTF8Unsafe) +@@ -1188,7 +1188,7 @@ TEST_F(FilePathTest, FromUTF8Unsafe_And_AsUTF8Unsafe) "\xEF\xBC\xA1\xEF\xBC\xA2\xEF\xBC\xA3.txt" }, }; -#if !defined(SYSTEM_NATIVE_UTF8) && (defined(OS_LINUX) || defined(OS_CHROMEOS)) +#if !defined(SYSTEM_NATIVE_UTF8) && (defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD)) ScopedLocale locale("en_US.UTF-8"); #endif diff --git a/www/chromium/files/patch-base_files_file__path__watcher__unittest.cc b/www/chromium/files/patch-base_files_file__path__watcher__unittest.cc index 71d6ea460ea5..c046f76ff4cc 100644 --- a/www/chromium/files/patch-base_files_file__path__watcher__unittest.cc +++ b/www/chromium/files/patch-base_files_file__path__watcher__unittest.cc @@ -1,56 +1,56 @@ ---- base/files/file_path_watcher_unittest.cc.orig 2021-05-12 22:05:40 UTC +--- base/files/file_path_watcher_unittest.cc.orig 2021-09-24 04:25:55 UTC +++ base/files/file_path_watcher_unittest.cc -@@ -452,12 +452,12 @@ TEST_F(FilePathWatcherTest, WatchDirectory) { +@@ -451,12 +451,12 @@ TEST_F(FilePathWatcherTest, WatchDirectory) { VLOG(1) << "Waiting for file1 creation"; ASSERT_TRUE(WaitForEvents()); -#if !defined(OS_APPLE) +#if !defined(OS_APPLE) && !defined(OS_BSD) // Mac implementation does not detect files modified in a directory. ASSERT_TRUE(WriteFile(file1, "content v2")); VLOG(1) << "Waiting for file1 modification"; ASSERT_TRUE(WaitForEvents()); -#endif // !OS_APPLE +#endif // !OS_APPLE && !OS_BSD ASSERT_TRUE(base::DeleteFile(file1)); VLOG(1) << "Waiting for file1 deletion"; -@@ -1034,7 +1034,7 @@ TEST_F(FilePathWatcherTest, InotifyLimitInUpdateRecurs +@@ -1031,7 +1031,7 @@ TEST_F(FilePathWatcherTest, InotifyLimitInUpdateRecurs } } -#endif // defined(OS_LINUX) || defined(OS_CHROMEOS) +#endif // defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD) enum Permission { Read, -@@ -1042,7 +1042,7 @@ enum Permission { +@@ -1039,7 +1039,7 @@ enum Permission { Execute }; -#if defined(OS_APPLE) +#if defined(OS_APPLE) || defined(OS_BSD) bool ChangeFilePermissions(const FilePath& path, Permission perm, bool allow) { struct stat stat_buf; -@@ -1071,9 +1071,9 @@ bool ChangeFilePermissions(const FilePath& path, Permi +@@ -1068,9 +1068,9 @@ bool ChangeFilePermissions(const FilePath& path, Permi } return chmod(path.value().c_str(), stat_buf.st_mode) == 0; } -#endif // defined(OS_APPLE) +#endif // defined(OS_APPLE) || defined(OS_BSD) -#if defined(OS_APPLE) +#if defined(OS_APPLE) || defined(OS_BSD) // Linux implementation of FilePathWatcher doesn't catch attribute changes. // http://crbug.com/78043 // Windows implementation of FilePathWatcher catches attribute changes that -@@ -1109,7 +1109,7 @@ TEST_F(FilePathWatcherTest, DirAttributesChanged) { +@@ -1106,7 +1106,7 @@ TEST_F(FilePathWatcherTest, DirAttributesChanged) { ASSERT_TRUE(ChangeFilePermissions(test_dir1, Execute, true)); } -#endif // OS_APPLE +#endif // OS_APPLE || OS_BSD #if defined(OS_MAC) diff --git a/www/chromium/files/patch-base_files_file__util.cc b/www/chromium/files/patch-base_files_file__util.cc index 44ec0709b9b8..8cb98c28bfe2 100644 --- a/www/chromium/files/patch-base_files_file__util.cc +++ b/www/chromium/files/patch-base_files_file__util.cc @@ -1,11 +1,11 @@ ---- base/files/file_util.cc.orig 2021-07-28 07:18:23 UTC +--- base/files/file_util.cc.orig 2021-09-24 04:25:55 UTC +++ base/files/file_util.cc -@@ -52,7 +52,7 @@ bool Move(const FilePath& from_path, const FilePath& t +@@ -57,7 +57,7 @@ bool Move(const FilePath& from_path, const FilePath& t } bool CopyFileContents(File& infile, File& outfile) { -#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_ANDROID) +#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_ANDROID) || defined(OS_BSD) bool retry_slow = false; bool res = internal::CopyFileContentsWithSendfile(infile, outfile, retry_slow); diff --git a/www/chromium/files/patch-base_files_file__util.h b/www/chromium/files/patch-base_files_file__util.h index 2fe14cf11e09..de3e4fa1d2fb 100644 --- a/www/chromium/files/patch-base_files_file__util.h +++ b/www/chromium/files/patch-base_files_file__util.h @@ -1,46 +1,46 @@ ---- base/files/file_util.h.orig 2021-07-19 18:45:05 UTC +--- base/files/file_util.h.orig 2021-09-24 04:25:55 UTC +++ base/files/file_util.h -@@ -284,14 +284,14 @@ BASE_EXPORT bool SetPosixFilePermissions(const FilePat +@@ -280,14 +280,14 @@ BASE_EXPORT bool SetPosixFilePermissions(const FilePat BASE_EXPORT bool ExecutableExistsInPath(Environment* env, const FilePath::StringType& executable); -#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_AIX) +#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_AIX) || defined(OS_BSD) // Determine if files under a given |path| can be mapped and then mprotect'd // PROT_EXEC. This depends on the mount options used for |path|, which vary // among different Linux distributions and possibly local configuration. It also // depends on details of kernel--ChromeOS uses the noexec option for /dev/shm // but its kernel allows mprotect with PROT_EXEC anyway. BASE_EXPORT bool IsPathExecutable(const FilePath& path); -#endif // defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_AIX) +#endif // defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_AIX) || defined(OS_BSD) #endif // OS_POSIX -@@ -614,7 +614,7 @@ BASE_EXPORT bool VerifyPathControlledByAdmin(const bas +@@ -610,7 +610,7 @@ BASE_EXPORT bool VerifyPathControlledByAdmin(const bas // the directory |path|, in the number of FilePath::CharType, or -1 on failure. BASE_EXPORT int GetMaximumPathComponentLength(const base::FilePath& path); -#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_AIX) +#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_AIX) || defined(OS_BSD) // Broad categories of file systems as returned by statfs() on Linux. enum FileSystemType { FILE_SYSTEM_UNKNOWN, // statfs failed. -@@ -661,7 +661,7 @@ BASE_EXPORT bool CopyAndDeleteDirectory(const FilePath +@@ -657,7 +657,7 @@ BASE_EXPORT bool CopyAndDeleteDirectory(const FilePath const FilePath& to_path); #endif // defined(OS_WIN) -#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_ANDROID) +#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_ANDROID) || defined(OS_BSD) // CopyFileContentsWithSendfile will use the sendfile(2) syscall to perform a // file copy without moving the data between kernel and userspace. This is much // more efficient than sequences of read(2)/write(2) calls. The |retry_slow| -@@ -673,7 +673,7 @@ BASE_EXPORT bool CopyAndDeleteDirectory(const FilePath +@@ -669,7 +669,7 @@ BASE_EXPORT bool CopyAndDeleteDirectory(const FilePath BASE_EXPORT bool CopyFileContentsWithSendfile(File& infile, File& outfile, bool& retry_slow); -#endif // defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_ANDROID) +#endif // defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_ANDROID) || defined(OS_BSD) // Used by PreReadFile() when no kernel support for prefetching is available. bool PreReadFileSlow(const FilePath& file_path, int64_t max_bytes); diff --git a/www/chromium/files/patch-base_files_file__util__posix.cc b/www/chromium/files/patch-base_files_file__util__posix.cc index c92ce21bda62..4f1bee8b12a5 100644 --- a/www/chromium/files/patch-base_files_file__util__posix.cc +++ b/www/chromium/files/patch-base_files_file__util__posix.cc @@ -1,132 +1,142 @@ ---- base/files/file_util_posix.cc.orig 2021-07-19 18:45:05 UTC +--- base/files/file_util_posix.cc.orig 2021-09-24 04:25:55 UTC +++ base/files/file_util_posix.cc @@ -23,6 +23,10 @@ #if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_ANDROID) #include #endif +#if defined(OS_BSD) +#include +#include +#endif #include "base/base_switches.h" #include "base/bits.h" -@@ -383,7 +387,7 @@ bool CreatePipe(ScopedFD* read_fd, ScopedFD* write_fd, +@@ -384,7 +388,7 @@ bool CreatePipe(ScopedFD* read_fd, ScopedFD* write_fd, } bool CreateLocalNonBlockingPipe(int fds[2]) { -#if defined(OS_LINUX) || defined(OS_CHROMEOS) +#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD) return pipe2(fds, O_CLOEXEC | O_NONBLOCK) == 0; #else int raw_fds[2]; -@@ -936,8 +940,12 @@ bool AllocateFileRegion(File* file, int64_t offset, si +@@ -937,8 +941,12 @@ bool AllocateFileRegion(File* file, int64_t offset, si // space. It can fail because the filesystem doesn't support it. In that case, // use the manual method below. -#if defined(OS_LINUX) || defined(OS_CHROMEOS) +#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD) +#if defined(OS_BSD) + if (HANDLE_EINTR(posix_fallocate(file->GetPlatformFile(), offset, size)) != -1) +#else if (HANDLE_EINTR(fallocate(file->GetPlatformFile(), 0, offset, size)) != -1) +#endif return true; DPLOG(ERROR) << "fallocate"; #elif defined(OS_APPLE) -@@ -1111,7 +1119,7 @@ int GetMaximumPathComponentLength(const FilePath& path +@@ -1113,7 +1121,7 @@ int GetMaximumPathComponentLength(const FilePath& path #if !defined(OS_ANDROID) // This is implemented in file_util_android.cc for that platform. bool GetShmemTempDir(bool executable, FilePath* path) { -#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_AIX) +#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_AIX) || defined(OS_BSD) bool disable_dev_shm = false; #if !BUILDFLAG(IS_CHROMEOS_ASH) && !BUILDFLAG(IS_CHROMEOS_LACROS) disable_dev_shm = CommandLine::ForCurrentProcess()->HasSwitch( -@@ -1127,7 +1135,7 @@ bool GetShmemTempDir(bool executable, FilePath* path) +@@ -1129,7 +1137,7 @@ bool GetShmemTempDir(bool executable, FilePath* path) *path = FilePath("/dev/shm"); return true; } -#endif // defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_AIX) +#endif // defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_AIX) || defined(OS_BSD) return GetTempDir(path); } #endif // !defined(OS_ANDROID) -@@ -1165,7 +1173,7 @@ PrefetchResult PreReadFile(const FilePath& file_path, +@@ -1167,7 +1175,7 @@ PrefetchResult PreReadFile(const FilePath& file_path, // posix_fadvise() is only available in the Android NDK in API 21+. Older // versions may have the required kernel support, but don't have enough usage // to justify backporting. -#if defined(OS_LINUX) || defined(OS_CHROMEOS) || \ +#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD) || \ (defined(OS_ANDROID) && __ANDROID_API__ >= 21) File file(file_path, File::FLAG_OPEN | File::FLAG_READ); if (!file.IsValid()) -@@ -1201,7 +1209,7 @@ PrefetchResult PreReadFile(const FilePath& file_path, +@@ -1203,7 +1211,7 @@ PrefetchResult PreReadFile(const FilePath& file_path, return internal::PreReadFileSlow(file_path, max_bytes) ? PrefetchResult{PrefetchResultCode::kSlowSuccess} : PrefetchResult{PrefetchResultCode::kSlowFailed}; -#endif // defined(OS_LINUX) || defined(OS_CHROMEOS) || (defined(OS_ANDROID) && +#endif // defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD) || (defined(OS_ANDROID) && // __ANDROID_API__ >= 21) } -@@ -1232,7 +1240,7 @@ bool MoveUnsafe(const FilePath& from_path, const FileP +@@ -1234,7 +1242,7 @@ bool MoveUnsafe(const FilePath& from_path, const FileP return true; } -#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_ANDROID) +#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_ANDROID) || defined(OS_BSD) bool CopyFileContentsWithSendfile(File& infile, File& outfile, bool& retry_slow) { -@@ -1246,12 +1254,26 @@ bool CopyFileContentsWithSendfile(File& infile, +@@ -1243,17 +1251,36 @@ bool CopyFileContentsWithSendfile(File& infile, + return false; + } + ++#if defined(OS_BSD) ++ off_t copied = 0; ++ off_t res = 0; ++#else + size_t copied = 0; + ssize_t res = 0; ++#endif while (file_size - copied > 0) { // Don't specify an offset and the kernel will begin reading/writing to the // current file offsets. +#if defined(OS_BSD) + int retv = HANDLE_EINTR(sendfile(infile.GetPlatformFile(), + outfile.GetPlatformFile(), + copied, + file_size - copied, + /*hdtr=*/nullptr, + &res, + 0)); + if (retv != 0) { + res = -1; + break; + } +#else res = HANDLE_EINTR(sendfile(outfile.GetPlatformFile(), infile.GetPlatformFile(), /*offset=*/nullptr, /*length=*/file_size - copied)); if (res <= 0) { break; } +#endif copied += res; } -@@ -1265,13 +1287,13 @@ bool CopyFileContentsWithSendfile(File& infile, +@@ -1267,13 +1294,13 @@ bool CopyFileContentsWithSendfile(File& infile, return res >= 0; } -#endif // defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_ANDROID) +#endif // defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_ANDROID) || defined(OS_BSD) } // namespace internal #endif // !defined(OS_NACL_NONSFI) -#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_AIX) +#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_AIX) || defined(OS_BSD) BASE_EXPORT bool IsPathExecutable(const FilePath& path) { bool result = false; FilePath tmp_file_path; -@@ -1292,6 +1314,6 @@ BASE_EXPORT bool IsPathExecutable(const FilePath& path +@@ -1294,6 +1321,6 @@ BASE_EXPORT bool IsPathExecutable(const FilePath& path } return result; } -#endif // defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_AIX) +#endif // defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_AIX) || defined(OS_BSD) } // namespace base 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 59ef4f71c48b..35ba78243376 100644 --- a/www/chromium/files/patch-base_files_file__util__unittest.cc +++ b/www/chromium/files/patch-base_files_file__util__unittest.cc @@ -1,38 +1,38 @@ ---- base/files/file_util_unittest.cc.orig 2021-04-14 18:40:48 UTC +--- base/files/file_util_unittest.cc.orig 2021-09-14 01:51:47 UTC +++ base/files/file_util_unittest.cc -@@ -1638,7 +1638,7 @@ TEST_F(FileUtilTest, DeleteDirRecursiveWithOpenFile) { +@@ -1640,7 +1640,7 @@ TEST_F(FileUtilTest, DeleteDirRecursiveWithOpenFile) { #endif } -#if defined(OS_LINUX) || defined(OS_CHROMEOS) +#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD) // This test will validate that files which would block when read result in a // failure on a call to ReadFileToStringNonBlocking. To accomplish this we will // use a named pipe because it appears as a file on disk and we can control how -@@ -1671,7 +1671,7 @@ TEST_F(FileUtilTest, TestNonBlockingFileReadLinux) { +@@ -1673,7 +1673,7 @@ TEST_F(FileUtilTest, TestNonBlockingFileReadLinux) { ASSERT_EQ(result.size(), 1u); EXPECT_EQ(result[0], 'a'); } -#endif // defined(OS_LINUX) || defined(OS_CHROMEOS) +#endif // defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD) TEST_F(FileUtilTest, MoveFileNew) { // Create a file -@@ -3506,7 +3506,7 @@ TEST_F(FileUtilTest, ReadFileToStringWithNamedPipe) { +@@ -3508,7 +3508,7 @@ TEST_F(FileUtilTest, ReadFileToStringWithNamedPipe) { } #endif // defined(OS_WIN) -#if defined(OS_POSIX) && !defined(OS_APPLE) +#if defined(OS_POSIX) && !defined(OS_APPLE) && !defined(OS_BSD) TEST_F(FileUtilTest, ReadFileToStringWithProcFileSystem) { FilePath file_path("/proc/cpuinfo"); std::string data = "temp"; -@@ -3524,7 +3524,7 @@ TEST_F(FileUtilTest, ReadFileToStringWithProcFileSyste +@@ -3526,7 +3526,7 @@ TEST_F(FileUtilTest, ReadFileToStringWithProcFileSyste EXPECT_FALSE(ReadFileToStringWithMaxSize(file_path, nullptr, 4)); } -#endif // defined(OS_POSIX) && !defined(OS_APPLE) +#endif // defined(OS_POSIX) && !defined(OS_APPLE) && !defined(OS_BSD) TEST_F(FileUtilTest, ReadFileToStringWithLargeFile) { std::string data(kLargeFileSize, 'c'); diff --git a/www/chromium/files/patch-base_linux__util.cc b/www/chromium/files/patch-base_linux__util.cc index 619faa4a1798..5455bc589b4d 100644 --- a/www/chromium/files/patch-base_linux__util.cc +++ b/www/chromium/files/patch-base_linux__util.cc @@ -1,38 +1,38 @@ ---- base/linux_util.cc.orig 2021-04-14 18:40:48 UTC +--- base/linux_util.cc.orig 2021-09-14 01:51:47 UTC +++ base/linux_util.cc @@ -15,6 +15,7 @@ #include #include +#include #include "base/files/dir_reader_posix.h" #include "base/files/file_util.h" -@@ -79,6 +80,9 @@ class DistroNameGetter { +@@ -78,6 +79,9 @@ class DistroNameGetter { public: DistroNameGetter() { static const char* const kFilesToCheck[] = {"/etc/os-release", +#if defined(OS_BSD) + "/usr/local/etc/os-release", +#endif "/usr/lib/os-release"}; for (const char* file : kFilesToCheck) { if (ReadDistroFromOSReleaseFile(file)) -@@ -135,6 +139,9 @@ void SetLinuxDistro(const std::string& distro) { +@@ -134,6 +138,9 @@ void SetLinuxDistro(const std::string& distro) { } bool GetThreadsForProcess(pid_t pid, std::vector* tids) { +#if defined(OS_BSD) + return false; +#else // 25 > strlen("/proc//task") + strlen(std::to_string(INT_MAX)) + 1 = 22 char buf[25]; strings::SafeSPrintf(buf, "/proc/%d/task", pid); -@@ -154,6 +161,7 @@ bool GetThreadsForProcess(pid_t pid, std::vector #include +#if defined(OS_BSD) +#include +#include +#endif + #include "base/logging.h" + #include "base/notreached.h" #include "base/numerics/safe_conversions.h" - #include "base/posix/eintr_wrapper.h" -@@ -48,9 +53,13 @@ int GetTimeIntervalMilliseconds(TimeTicks next_task_ti +@@ -49,9 +54,13 @@ int GetTimeIntervalMilliseconds(TimeTicks next_task_ti } bool RunningOnMainThread() { +#if defined(OS_BSD) + return pthread_main_np(); +#else auto pid = getpid(); auto tid = PlatformThread::CurrentId(); return pid > 0 && tid > 0 && pid == tid; +#endif } // A brief refresher on GLib: diff --git a/www/chromium/files/patch-base_posix_unix__domain__socket.cc b/www/chromium/files/patch-base_posix_unix__domain__socket.cc index a70ddacfd021..7064cdc080f5 100644 --- a/www/chromium/files/patch-base_posix_unix__domain__socket.cc +++ b/www/chromium/files/patch-base_posix_unix__domain__socket.cc @@ -1,49 +1,49 @@ ---- base/posix/unix_domain_socket.cc.orig 2021-06-09 22:13:52 UTC +--- base/posix/unix_domain_socket.cc.orig 2021-09-14 01:51:47 UTC +++ base/posix/unix_domain_socket.cc @@ -5,7 +5,10 @@ #include "base/posix/unix_domain_socket.h" #include +#include #include +#include +#include #if !defined(OS_NACL_NONSFI) #include #endif -@@ -29,6 +32,14 @@ namespace base { +@@ -28,6 +31,14 @@ namespace base { const size_t UnixDomainSocket::kMaxFileDescriptors = 16; +#ifndef SCM_CREDENTIALS +# define SCM_CREDENTIALS 0x9001 +#endif + +#ifndef SO_PASSCRED +# define SO_PASSCRED 0x9002 +#endif + #if !defined(OS_NACL_NONSFI) bool CreateSocketPair(ScopedFD* one, ScopedFD* two) { int raw_socks[2]; -@@ -151,7 +162,7 @@ ssize_t UnixDomainSocket::RecvMsgWithFlags(int fd, +@@ -150,7 +161,7 @@ ssize_t UnixDomainSocket::RecvMsgWithFlags(int fd, #if !defined(OS_NACL_NONSFI) && !defined(OS_APPLE) // The PNaCl toolchain for Non-SFI binary build and macOS do not support // ucred. macOS supports xucred, but this structure is insufficient. - + CMSG_SPACE(sizeof(struct ucred)) + + CMSG_SPACE(sizeof(struct cmsgcred)) #endif // !defined(OS_NACL_NONSFI) && !defined(OS_APPLE) ; char control_buffer[kControlBufferSize]; -@@ -181,9 +192,9 @@ ssize_t UnixDomainSocket::RecvMsgWithFlags(int fd, +@@ -180,9 +191,9 @@ ssize_t UnixDomainSocket::RecvMsgWithFlags(int fd, // SCM_CREDENTIALS. if (cmsg->cmsg_level == SOL_SOCKET && cmsg->cmsg_type == SCM_CREDENTIALS) { - DCHECK_EQ(payload_len, sizeof(struct ucred)); + DCHECK_EQ(payload_len, sizeof(struct cmsgcred)); DCHECK_EQ(pid, -1); - pid = reinterpret_cast(CMSG_DATA(cmsg))->pid; + pid = getpid(); } #endif // !defined(OS_NACL_NONSFI) && !defined(OS_APPLE) } diff --git a/www/chromium/files/patch-base_process_launch__posix.cc b/www/chromium/files/patch-base_process_launch__posix.cc index 48f4348273c3..4c7abac588b3 100644 --- a/www/chromium/files/patch-base_process_launch__posix.cc +++ b/www/chromium/files/patch-base_process_launch__posix.cc @@ -1,89 +1,115 @@ ---- base/process/launch_posix.cc.orig 2021-07-19 18:45:05 UTC +--- base/process/launch_posix.cc.orig 2021-09-24 04:25:55 UTC +++ base/process/launch_posix.cc @@ -58,12 +58,14 @@ #if defined(OS_FREEBSD) #include #include +#include #endif #if defined(OS_APPLE) #error "macOS should use launch_mac.cc" #endif +#pragma weak environ extern char** environ; namespace base { +@@ -183,7 +185,7 @@ void ResetChildSignalHandlersToDefaults(void) { + #endif // !defined(NDEBUG) + } + } +-#endif // !defined(OS_LINUX) || ++#endif // (!defined(OS_LINUX) && !defined(OS_BSD)) || + // (!defined(__i386__) && !defined(__x86_64__) && !defined(__arm__)) + } // anonymous namespace + @@ -220,6 +222,28 @@ void CloseSuperfluousFds(const base::InjectiveMultimap DirReaderPosix fd_dir(kFDDir); if (!fd_dir.IsValid()) { // Fallback case: Try every possible fd. + +#if defined(OS_FREEBSD) + // CEM: blast away most of the range with closefrom(). A common use case + // of this function only maps STDIN/STDOUT/STDERR and closefrom(3) is much + // cheaper than x00,000 close(2) invocations with a high RLIMIT_NOFILE. + // + // In the other caller, it is still very likely that the fds we care about + // are in relatively low number space and we can save hundreds of thousands + // of syscalls. + int max_valid_fd = -1; + for (size_t j = 0; j < saved_mapping.size(); j++) { + int fd = saved_mapping[j].dest; + if (fd > max_valid_fd) + max_valid_fd = fd; + } + if (max_valid_fd < STDERR_FILENO) + max_valid_fd = STDERR_FILENO; + + closefrom(max_valid_fd + 1); + max_fds = static_cast(max_valid_fd) + 1; +#endif + for (size_t i = 0; i < max_fds; ++i) { const int fd = static_cast(i); if (fd == STDIN_FILENO || fd == STDOUT_FILENO || fd == STDERR_FILENO) @@ -358,7 +382,7 @@ Process LaunchProcess(const std::vector& // might do things like block waiting for threads that don't even exist // in the child. -#if defined(OS_LINUX) || defined(OS_CHROMEOS) +#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD) // See comments on the ResetFDOwnership() declaration in // base/files/scoped_file.h regarding why this is called early here. subtle::ResetFDOwnership(); @@ -451,22 +475,32 @@ Process LaunchProcess(const std::vector& // Set NO_NEW_PRIVS by default. Since NO_NEW_PRIVS only exists in kernel // 3.5+, do not check the return value of prctl here. -#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_AIX) +#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_AIX) || defined(OS_FREEBSD) #ifndef PR_SET_NO_NEW_PRIVS #define PR_SET_NO_NEW_PRIVS 38 #endif +#if !defined(OS_FREEBSD) if (!options.allow_new_privs) { if (prctl(PR_SET_NO_NEW_PRIVS, 1, 0, 0, 0) && errno != EINVAL) { // Only log if the error is not EINVAL (i.e. not supported). RAW_LOG(FATAL, "prctl(PR_SET_NO_NEW_PRIVS) failed"); } } +#endif if (options.kill_on_parent_death) { +#if defined(OS_FREEBSD) + int procctl_value = SIGKILL; + if (procctl(P_PID, 0, PROC_PDEATHSIG_CTL, &procctl_value)) { + RAW_LOG(ERROR, "procctl(PROC_PDEATHSIG_CTL) failed"); + _exit(127); + } +#else if (prctl(PR_SET_PDEATHSIG, SIGKILL) != 0) { RAW_LOG(ERROR, "prctl(PR_SET_PDEATHSIG) failed"); _exit(127); } +#endif } #endif +@@ -558,7 +592,7 @@ static bool GetAppOutputInternal( + // DANGER: no calls to malloc or locks are allowed from now on: + // http://crbug.com/36678 + +-#if defined(OS_LINUX) || defined(OS_CHROMEOS) ++#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD) + // See comments on the ResetFDOwnership() declaration in + // base/files/scoped_file.h regarding why this is called early here. + subtle::ResetFDOwnership(); +@@ -750,6 +784,6 @@ pid_t ForkWithFlags(unsigned long flags, pid_t* ptid, + + return 0; + } +-#endif // defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_NACL_NONSFI) ++#endif // defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_NACL_NONSFI) || defined(OS_BSD) + + } // namespace base diff --git a/www/chromium/files/patch-base_process_memory.cc b/www/chromium/files/patch-base_process_memory.cc index a5b9652c888b..591fc6ec350c 100644 --- a/www/chromium/files/patch-base_process_memory.cc +++ b/www/chromium/files/patch-base_process_memory.cc @@ -1,11 +1,11 @@ ---- base/process/memory.cc.orig 2021-05-12 22:05:40 UTC +--- base/process/memory.cc.orig 2021-09-14 01:51:47 UTC +++ base/process/memory.cc -@@ -69,7 +69,7 @@ void TerminateBecauseOutOfMemory(size_t size) { - } - - // Defined in memory_mac.mm for Mac. --#if !defined(OS_APPLE) -+#if !defined(OS_APPLE) && !defined(OS_BSD) +@@ -70,7 +70,7 @@ void TerminateBecauseOutOfMemory(size_t size) { + // Defined in memory_mac.mm for macOS + use_allocator="none". In case of + // USE_PARTITION_ALLOC_AS_MALLOC, no need to route the call to the system + // default calloc of macOS. +-#if !defined(OS_APPLE) || BUILDFLAG(USE_PARTITION_ALLOC_AS_MALLOC) ++#if (!defined(OS_APPLE) && !defined(OS_BSD)) || BUILDFLAG(USE_PARTITION_ALLOC_AS_MALLOC) bool UncheckedCalloc(size_t num_items, size_t size, void** result) { const size_t alloc_size = num_items * size; diff --git a/www/chromium/files/patch-base_process_process__handle__freebsd.cc b/www/chromium/files/patch-base_process_process__handle__freebsd.cc index e938b55bfa05..446674518dba 100644 --- a/www/chromium/files/patch-base_process_process__handle__freebsd.cc +++ b/www/chromium/files/patch-base_process_process__handle__freebsd.cc @@ -1,32 +1,23 @@ ---- base/process/process_handle_freebsd.cc.orig 2021-07-19 18:45:05 UTC +--- base/process/process_handle_freebsd.cc.orig 2021-09-24 04:25:55 UTC +++ base/process/process_handle_freebsd.cc -@@ -3,7 +3,6 @@ - // found in the LICENSE file. - - #include "base/process/process_handle.h" --#include "base/stl_util.h" - - #include - #include -@@ -12,14 +11,20 @@ - #include +@@ -12,15 +12,19 @@ #include + #include "base/cxx17_backports.h" +#include "base/files/file_path.h" -+#include "base/stl_util.h" -+ + namespace base { ProcessId GetParentProcessId(ProcessHandle process) { struct kinfo_proc info; - size_t length; + size_t length = sizeof(struct kinfo_proc); int mib[] = { CTL_KERN, KERN_PROC, KERN_PROC_PID, process }; if (sysctl(mib, base::size(mib), &info, &length, NULL, 0) < 0) + return -1; + + if (length < sizeof(struct kinfo_proc)) return -1; return info.ki_ppid; diff --git a/www/chromium/files/patch-base_process_process__iterator__freebsd.cc b/www/chromium/files/patch-base_process_process__iterator__freebsd.cc index c83ab74f2678..94c3bb5ddfdd 100644 --- a/www/chromium/files/patch-base_process_process__iterator__freebsd.cc +++ b/www/chromium/files/patch-base_process_process__iterator__freebsd.cc @@ -1,53 +1,51 @@ ---- base/process/process_iterator_freebsd.cc.orig 2021-04-14 18:40:48 UTC +--- base/process/process_iterator_freebsd.cc.orig 2021-09-24 04:25:55 UTC +++ base/process/process_iterator_freebsd.cc -@@ -10,6 +10,10 @@ - #include - #include +@@ -21,7 +21,7 @@ ProcessIterator::ProcessIterator(const ProcessFilter* + : index_of_kinfo_proc_(), + filter_(filter) { -+/* getuid() */ -+#include -+#include -+ - #include "base/logging.h" - #include "base/stl_util.h" - #include "base/strings/string_split.h" -@@ -40,7 +44,7 @@ ProcessIterator::ProcessIterator(const ProcessFilter* +- int mib[] = { CTL_KERN, KERN_PROC, KERN_PROC_UID, getuid() }; ++ int mib[] = { CTL_KERN, KERN_PROC, KERN_PROC_UID, (int) getuid() }; + + bool done = false; + int try_num = 1; +@@ -40,7 +40,7 @@ ProcessIterator::ProcessIterator(const ProcessFilter* num_of_kinfo_proc += 16; kinfo_procs_.resize(num_of_kinfo_proc); len = num_of_kinfo_proc * sizeof(struct kinfo_proc); - if (sysctl(mib, base::size(mib), &kinfo_procs_[0], &len, NULL, 0) < 0) { + if (sysctl(mib, base::size(mib), kinfo_procs_.data(), &len, NULL, 0) < 0) { // If we get a mem error, it just means we need a bigger buffer, so // loop around again. Anything else is a real error and give up. if (errno != ENOMEM) { -@@ -50,7 +54,7 @@ ProcessIterator::ProcessIterator(const ProcessFilter* +@@ -50,7 +50,7 @@ ProcessIterator::ProcessIterator(const ProcessFilter* } } else { // Got the list, just make sure we're sized exactly right - size_t num_of_kinfo_proc = len / sizeof(struct kinfo_proc); + num_of_kinfo_proc = len / sizeof(struct kinfo_proc); kinfo_procs_.resize(num_of_kinfo_proc); done = true; } -@@ -72,18 +76,13 @@ bool ProcessIterator::CheckForNextProcess() { +@@ -72,18 +72,13 @@ bool ProcessIterator::CheckForNextProcess() { for (; index_of_kinfo_proc_ < kinfo_procs_.size(); ++index_of_kinfo_proc_) { size_t length; struct kinfo_proc kinfo = kinfo_procs_[index_of_kinfo_proc_]; - int mib[] = { CTL_KERN, KERN_PROC_ARGS, kinfo.ki_pid }; + int mib[] = { CTL_KERN, KERN_PROC, KERN_PROC_ARGS, kinfo.ki_pid }; if ((kinfo.ki_pid > 0) && (kinfo.ki_stat == SZOMB)) continue; - length = 0; - if (sysctl(mib, base::size(mib), NULL, &length, NULL, 0) < 0) { - LOG(ERROR) << "failed to figure out the buffer size for a command line"; - continue; - } - - data.resize(length); + data.resize(ARG_MAX); + length = ARG_MAX; if (sysctl(mib, base::size(mib), &data[0], &length, NULL, 0) < 0) { LOG(ERROR) << "failed to fetch a commandline"; diff --git a/www/chromium/files/patch-base_process_process__metrics.cc b/www/chromium/files/patch-base_process_process__metrics.cc index 54e191de70b0..20a9ba831c6f 100644 --- a/www/chromium/files/patch-base_process_process__metrics.cc +++ b/www/chromium/files/patch-base_process_process__metrics.cc @@ -1,47 +1,47 @@ ---- base/process/process_metrics.cc.orig 2021-06-09 22:13:52 UTC +--- base/process/process_metrics.cc.orig 2021-09-14 01:51:47 UTC +++ base/process/process_metrics.cc @@ -17,7 +17,7 @@ namespace base { namespace { -#if defined(OS_APPLE) || defined(OS_LINUX) || defined(OS_CHROMEOS) || \ +#if defined(OS_APPLE) || defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD) || \ defined(OS_AIX) int CalculateEventsPerSecond(uint64_t event_count, uint64_t* last_event_count, -@@ -53,7 +53,7 @@ SystemMetrics SystemMetrics::Sample() { +@@ -55,7 +55,7 @@ SystemMetrics SystemMetrics::Sample() { SystemMetrics system_metrics; system_metrics.committed_memory_ = GetSystemCommitCharge(); -#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_ANDROID) +#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_ANDROID) || defined(OS_BSD) GetSystemMemoryInfo(&system_metrics.memory_info_); GetVmStatInfo(&system_metrics.vmstat_info_); GetSystemDiskInfo(&system_metrics.disk_info_); -@@ -72,7 +72,7 @@ std::unique_ptr SystemMetrics::ToValue() const - std::unique_ptr res(new DictionaryValue()); +@@ -74,7 +74,7 @@ Value SystemMetrics::ToValue() const { + Value res(Value::Type::DICTIONARY); - res->SetIntKey("committed_memory", static_cast(committed_memory_)); + res.SetIntKey("committed_memory", static_cast(committed_memory_)); -#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_ANDROID) +#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_ANDROID) || defined(OS_BSD) - std::unique_ptr meminfo = memory_info_.ToValue(); - std::unique_ptr vmstat = vmstat_info_.ToValue(); - meminfo->MergeDictionary(vmstat.get()); -@@ -123,7 +123,7 @@ double ProcessMetrics::GetPlatformIndependentCPUUsage( + Value meminfo = memory_info_.ToValue(); + Value vmstat = vmstat_info_.ToValue(); + meminfo.MergeDictionary(&vmstat); +@@ -125,7 +125,7 @@ double ProcessMetrics::GetPlatformIndependentCPUUsage( } #endif -#if defined(OS_APPLE) || defined(OS_LINUX) || defined(OS_CHROMEOS) || \ +#if defined(OS_APPLE) || defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD) || \ defined(OS_AIX) int ProcessMetrics::CalculateIdleWakeupsPerSecond( uint64_t absolute_idle_wakeups) { -@@ -136,7 +136,7 @@ int ProcessMetrics::GetIdleWakeupsPerSecond() { +@@ -138,7 +138,7 @@ int ProcessMetrics::GetIdleWakeupsPerSecond() { NOTIMPLEMENTED(); // http://crbug.com/120488 return 0; } -#endif // defined(OS_APPLE) || defined(OS_LINUX) || defined(OS_CHROMEOS) || +#endif // defined(OS_APPLE) || defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD) || // defined(OS_AIX) #if defined(OS_APPLE) diff --git a/www/chromium/files/patch-base_process_process__metrics.h b/www/chromium/files/patch-base_process_process__metrics.h index 1280ac12748e..f37e2d06ff3f 100644 --- a/www/chromium/files/patch-base_process_process__metrics.h +++ b/www/chromium/files/patch-base_process_process__metrics.h @@ -1,172 +1,172 @@ ---- base/process/process_metrics.h.orig 2021-07-19 18:45:05 UTC +--- base/process/process_metrics.h.orig 2021-09-14 01:51:47 UTC +++ base/process/process_metrics.h @@ -37,7 +37,7 @@ #include "base/win/windows_types.h" #endif -#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_ANDROID) || \ +#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_ANDROID) || defined(OS_BSD) || \ defined(OS_AIX) #include #include -@@ -55,7 +55,7 @@ class Value; +@@ -54,7 +54,7 @@ class Value; // Full declaration is in process_metrics_iocounters.h. struct IoCounters; -#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_ANDROID) +#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_ANDROID) || defined(OS_BSD) // Minor and major page fault counts since the process creation. // Both counts are process-wide, and exclude child processes. // -@@ -65,7 +65,7 @@ struct PageFaultCounts { +@@ -64,7 +64,7 @@ struct PageFaultCounts { int64_t minor; int64_t major; }; -#endif // defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_ANDROID) +#endif // defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_ANDROID) || defined(OS_BSD) // Convert a POSIX timeval to microseconds. BASE_EXPORT int64_t TimeValToMicroseconds(const struct timeval& tv); -@@ -106,7 +106,7 @@ class BASE_EXPORT ProcessMetrics { +@@ -105,7 +105,7 @@ class BASE_EXPORT ProcessMetrics { // convenience wrapper for CreateProcessMetrics(). static std::unique_ptr CreateCurrentProcessMetrics(); -#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_ANDROID) +#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_ANDROID) || defined(OS_BSD) // Resident Set Size is a Linux/Android specific memory concept. Do not // attempt to extend this to other platforms. BASE_EXPORT size_t GetResidentSetSize() const; -@@ -132,7 +132,7 @@ class BASE_EXPORT ProcessMetrics { +@@ -131,7 +131,7 @@ class BASE_EXPORT ProcessMetrics { // will result in a time delta of 2 seconds/per 1 wall-clock second. TimeDelta GetCumulativeCPUUsage() WARN_UNUSED_RESULT; -#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_ANDROID) || \ +#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_ANDROID) || defined(OS_BSD) || \ defined(OS_AIX) // Emits the cumulative CPU usage for all currently active threads since they // were started into the output parameter (replacing its current contents). -@@ -167,7 +167,7 @@ class BASE_EXPORT ProcessMetrics { +@@ -166,7 +166,7 @@ class BASE_EXPORT ProcessMetrics { bool ParseProcTimeInState(const std::string& content, PlatformThreadId tid, TimeInStatePerThread& time_in_state_per_thread); -#endif // defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_ANDROID) || +#endif // defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_ANDROID) || defined(OS_BSD) || // defined(OS_AIX) // Returns the number of average idle cpu wakeups per second since the last -@@ -216,14 +216,14 @@ class BASE_EXPORT ProcessMetrics { +@@ -215,14 +215,14 @@ class BASE_EXPORT ProcessMetrics { int GetOpenFdSoftLimit() const; #endif // defined(OS_POSIX) -#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_ANDROID) +#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_ANDROID) || defined(OS_BSD) // Bytes of swap as reported by /proc/[pid]/status. uint64_t GetVmSwapBytes() const; // Minor and major page fault count as reported by /proc/[pid]/stat. // Returns true for success. bool GetPageFaultCounts(PageFaultCounts* counts) const; -#endif // defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_ANDROID) +#endif // defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_ANDROID) || defined(OS_BSD) // Returns total memory usage of malloc. size_t GetMallocUsage(); -@@ -235,7 +235,7 @@ class BASE_EXPORT ProcessMetrics { +@@ -234,7 +234,7 @@ class BASE_EXPORT ProcessMetrics { ProcessMetrics(ProcessHandle process, PortProvider* port_provider); #endif // !defined(OS_MAC) -#if defined(OS_APPLE) || defined(OS_LINUX) || defined(OS_CHROMEOS) || \ +#if defined(OS_APPLE) || defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD) || \ defined(OS_AIX) int CalculateIdleWakeupsPerSecond(uint64_t absolute_idle_wakeups); #endif -@@ -246,10 +246,10 @@ class BASE_EXPORT ProcessMetrics { +@@ -245,10 +245,10 @@ class BASE_EXPORT ProcessMetrics { uint64_t absolute_package_idle_wakeups); #endif -#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_ANDROID) || \ +#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_ANDROID) || defined(OS_BSD) || \ defined(OS_AIX) CPU::CoreType GetCoreType(int core_index); -#endif // defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_ANDROID) || +#endif // defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_ANDROID) || defined(OS_BSD) || // defined(OS_AIX) #if defined(OS_WIN) -@@ -271,7 +271,7 @@ class BASE_EXPORT ProcessMetrics { +@@ -270,7 +270,7 @@ class BASE_EXPORT ProcessMetrics { // Number of bytes transferred to/from disk in bytes. uint64_t last_cumulative_disk_usage_ = 0; -#if defined(OS_APPLE) || defined(OS_LINUX) || defined(OS_CHROMEOS) || \ +#if defined(OS_APPLE) || defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD) || \ defined(OS_AIX) // Same thing for idle wakeups. TimeTicks last_idle_wakeups_time_; -@@ -315,7 +315,7 @@ BASE_EXPORT size_t GetHandleLimit(); +@@ -314,7 +314,7 @@ BASE_EXPORT size_t GetHandleLimit(); BASE_EXPORT void IncreaseFdLimitTo(unsigned int max_descriptors); #endif // defined(OS_POSIX) -#if defined(OS_WIN) || defined(OS_APPLE) || defined(OS_LINUX) || \ +#if defined(OS_WIN) || defined(OS_APPLE) || defined(OS_LINUX) || defined(OS_BSD) || \ defined(OS_CHROMEOS) || defined(OS_ANDROID) || defined(OS_AIX) || \ defined(OS_FUCHSIA) // Data about system-wide memory consumption. Values are in KB. Available on @@ -350,7 +350,7 @@ struct BASE_EXPORT SystemMemoryInfoKB { int avail_phys = 0; #endif -#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_ANDROID) || \ +#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_ANDROID) || defined(OS_BSD) || \ defined(OS_AIX) // This provides an estimate of available memory as described here: // https://git.kernel.org/cgit/linux/kernel/git/torvalds/linux.git/commit/?id=34e431b0ae398fc54ea69ff85ec700722c9da773 @@ -365,7 +365,7 @@ struct BASE_EXPORT SystemMemoryInfoKB { int swap_free = 0; #endif -#if defined(OS_ANDROID) || defined(OS_LINUX) || defined(OS_CHROMEOS) || \ +#if defined(OS_ANDROID) || defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD) || \ defined(OS_AIX) || defined(OS_FUCHSIA) int buffers = 0; int cached = 0; @@ -375,7 +375,7 @@ struct BASE_EXPORT SystemMemoryInfoKB { int inactive_file = 0; int dirty = 0; int reclaimable = 0; -#endif // defined(OS_ANDROID) || defined(OS_LINUX) || defined(OS_CHROMEOS) || +#endif // defined(OS_ANDROID) || defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD) || // defined(OS_AIX) defined(OS_FUCHSIA) #if BUILDFLAG(IS_CHROMEOS_ASH) || BUILDFLAG(IS_CHROMEOS_LACROS) @@ -398,11 +398,11 @@ struct BASE_EXPORT SystemMemoryInfoKB { // Exposed for memory debugging widget. BASE_EXPORT bool GetSystemMemoryInfo(SystemMemoryInfoKB* meminfo); -#endif // defined(OS_WIN) || defined(OS_APPLE) || defined(OS_LINUX) || +#endif // defined(OS_WIN) || defined(OS_APPLE) || defined(OS_LINUX) || defined(OS_BSD) || // defined(OS_CHROMEOS) defined(OS_ANDROID) || defined(OS_AIX) || // defined(OS_FUCHSIA) -#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_ANDROID) || \ +#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_ANDROID) || defined(OS_BSD) || \ defined(OS_AIX) // Parse the data found in /proc//stat and return the sum of the // CPU-related ticks. Returns -1 on parse error. -@@ -477,7 +477,7 @@ BASE_EXPORT bool GetSystemDiskInfo(SystemDiskInfo* dis +@@ -478,7 +478,7 @@ BASE_EXPORT bool GetSystemDiskInfo(SystemDiskInfo* dis // Returns the amount of time spent in user space since boot across all CPUs. BASE_EXPORT TimeDelta GetUserCpuTimeSinceBoot(); -#endif // defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_ANDROID) || +#endif // defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_ANDROID) || defined(OS_BSD) || // defined(OS_AIX) #if BUILDFLAG(IS_CHROMEOS_ASH) || BUILDFLAG(IS_CHROMEOS_LACROS) -@@ -589,7 +589,7 @@ class BASE_EXPORT SystemMetrics { +@@ -590,7 +590,7 @@ class BASE_EXPORT SystemMetrics { FRIEND_TEST_ALL_PREFIXES(SystemMetricsTest, SystemMetrics); size_t committed_memory_; -#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_ANDROID) +#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_ANDROID) || defined(OS_BSD) SystemMemoryInfoKB memory_info_; VmStatInfo vmstat_info_; SystemDiskInfo disk_info_; diff --git a/www/chromium/files/patch-base_process_process__metrics__freebsd.cc b/www/chromium/files/patch-base_process_process__metrics__freebsd.cc index c750a9881deb..3e8eb45662f0 100644 --- a/www/chromium/files/patch-base_process_process__metrics__freebsd.cc +++ b/www/chromium/files/patch-base_process_process__metrics__freebsd.cc @@ -1,264 +1,277 @@ ---- base/process/process_metrics_freebsd.cc.orig 2021-07-19 18:45:05 UTC +--- base/process/process_metrics_freebsd.cc.orig 2021-10-01 01:36:37 UTC +++ base/process/process_metrics_freebsd.cc -@@ -3,8 +3,10 @@ +@@ -3,21 +3,41 @@ // found in the LICENSE file. #include "base/process/process_metrics.h" +#include "base/notreached.h" #include +#include #include #include #include -@@ -13,12 +15,31 @@ - #include "base/memory/ptr_util.h" - #include "base/process/process_metrics_iocounters.h" - #include "base/stl_util.h" -+#include "base/values.h" -+#include /* getpagesize() */ -+#include /* O_RDONLY */ ++#include /* O_RDONLY */ +#include +#include + + #include "base/cxx17_backports.h" + #include "base/memory/ptr_util.h" + #include "base/process/process_metrics_iocounters.h" ++#include "base/values.h" + namespace base { +namespace { +int GetPageShift() { + int pagesize = getpagesize(); + int pageshift = 0; + + while (pagesize > 1) { + pageshift++; + pagesize >>= 1; + } + + return pageshift; +} +} + ProcessMetrics::ProcessMetrics(ProcessHandle process) - : process_(process), - last_cpu_(0) {} + : process_(process) {} // static std::unique_ptr ProcessMetrics::CreateProcessMetrics( -@@ -69,4 +90,216 @@ size_t GetSystemCommitCharge() { +@@ -37,7 +57,7 @@ double ProcessMetrics::GetPlatformIndependentCPUUsage( + } + + TimeDelta ProcessMetrics::GetCumulativeCPUUsage() { +- NOTREACHED(); ++ NOTIMPLEMENTED(); + return TimeDelta(); + } + +@@ -68,4 +88,221 @@ size_t GetSystemCommitCharge() { return mem_total - (mem_free*pagesize) - (mem_inactive*pagesize); } +int GetNumberOfThreads(ProcessHandle process) { + // Taken from FreeBSD top (usr.bin/top/machine.c) + + kvm_t* kd = kvm_open(NULL, "/dev/null", NULL, O_RDONLY, "kvm_open"); + if (kd == NULL) + return 0; + + struct kinfo_proc* pbase; + int nproc; + pbase = kvm_getprocs(kd, KERN_PROC_PID, process, &nproc); + if (pbase == NULL) + return 0; + + if (kvm_close(kd) == -1) + return 0; + + return nproc; +} + +bool GetSystemMemoryInfo(SystemMemoryInfoKB *meminfo) { + unsigned int mem_total, mem_free, swap_total, swap_used; + size_t length; + int pagesizeKB; + + pagesizeKB = getpagesize() / 1024; + + length = sizeof(mem_total); + if (sysctlbyname("vm.stats.vm.v_page_count", &mem_total, + &length, NULL, 0) != 0 || length != sizeof(mem_total)) + return false; + + length = sizeof(mem_free); + if (sysctlbyname("vm.stats.vm.v_free_count", &mem_free, &length, NULL, 0) + != 0 || length != sizeof(mem_free)) + return false; + + length = sizeof(swap_total); + if (sysctlbyname("vm.swap_size", &swap_total, &length, NULL, 0) + != 0 || length != sizeof(swap_total)) + return false; + + length = sizeof(swap_used); + if (sysctlbyname("vm.swap_anon_use", &swap_used, &length, NULL, 0) + != 0 || length != sizeof(swap_used)) + return false; + + meminfo->total = mem_total * pagesizeKB; + meminfo->free = mem_free * pagesizeKB; + meminfo->swap_total = swap_total * pagesizeKB; + meminfo->swap_free = (swap_total - swap_used) * pagesizeKB; + + return true; +} + +int ProcessMetrics::GetOpenFdCount() const { + struct kinfo_file * kif; + int cnt; + + if ((kif = kinfo_getfile(process_, &cnt)) == NULL) + return -1; + + free(kif); + + return cnt; +} + +int ProcessMetrics::GetOpenFdSoftLimit() const { + size_t length; + int total_count = 0; + int mib[] = { CTL_KERN, KERN_MAXFILESPERPROC }; + + length = sizeof(total_count); + + if (sysctl(mib, base::size(mib), &total_count, &length, NULL, 0) < 0) { + total_count = -1; + } + + return total_count; +} + +size_t ProcessMetrics::GetResidentSetSize() const { + kvm_t *kd = kvm_open(nullptr, "/dev/null", nullptr, O_RDONLY, "kvm_open"); + + if (kd == nullptr) + return 0; + + struct kinfo_proc *pp; + int nproc; + + if ((pp = kvm_getprocs(kd, KERN_PROC_PID, process_, &nproc)) == nullptr) { + kvm_close(kd); + return 0; + } + + size_t rss; + + if (nproc > 0) { + rss = pp->ki_rssize << GetPageShift(); + } else { + rss = 0; + } + + kvm_close(kd); + return rss; +} + +uint64_t ProcessMetrics::GetVmSwapBytes() const { + kvm_t *kd = kvm_open(nullptr, "/dev/null", nullptr, O_RDONLY, "kvm_open"); + + if (kd == nullptr) + return 0; + + struct kinfo_proc *pp; + int nproc; + + if ((pp = kvm_getprocs(kd, KERN_PROC_PID, process_, &nproc)) == nullptr) { + kvm_close(kd); + return 0; + } + + size_t swrss; + + if (nproc > 0) { + swrss = pp->ki_swrss > pp->ki_rssize + ? (pp->ki_swrss - pp->ki_rssize) << GetPageShift() + : 0; + } else { + swrss = 0; + } + + kvm_close(kd); + return swrss; +} + +int ProcessMetrics::GetIdleWakeupsPerSecond() { + NOTIMPLEMENTED(); + return 0; +} + +bool GetSystemDiskInfo(SystemDiskInfo* diskinfo) { + NOTIMPLEMENTED(); + return false; +} + +bool GetVmStatInfo(VmStatInfo* vmstat) { + NOTIMPLEMENTED(); + return false; +} + +SystemDiskInfo::SystemDiskInfo() { + reads = 0; + reads_merged = 0; + sectors_read = 0; + read_time = 0; + writes = 0; + writes_merged = 0; + sectors_written = 0; + write_time = 0; + io = 0; + io_time = 0; + weighted_io_time = 0; +} + +SystemDiskInfo::SystemDiskInfo(const SystemDiskInfo& other) = default; + -+std::unique_ptr SystemDiskInfo::ToValue() const { -+ auto res = std::make_unique(); ++SystemDiskInfo& SystemDiskInfo::operator=(const SystemDiskInfo&) = default; ++ ++Value SystemDiskInfo::ToValue() const { ++ Value res(Value::Type::DICTIONARY); + + // Write out uint64_t variables as doubles. + // Note: this may discard some precision, but for JS there's no other option. -+ res->SetDouble("reads", static_cast(reads)); -+ res->SetDouble("reads_merged", static_cast(reads_merged)); -+ res->SetDouble("sectors_read", static_cast(sectors_read)); -+ res->SetDouble("read_time", static_cast(read_time)); -+ res->SetDouble("writes", static_cast(writes)); -+ res->SetDouble("writes_merged", static_cast(writes_merged)); -+ res->SetDouble("sectors_written", static_cast(sectors_written)); -+ res->SetDouble("write_time", static_cast(write_time)); -+ res->SetDouble("io", static_cast(io)); -+ res->SetDouble("io_time", static_cast(io_time)); -+ res->SetDouble("weighted_io_time", static_cast(weighted_io_time)); -+ -+ return std::move(res); ++ res.SetDoubleKey("reads", static_cast(reads)); ++ res.SetDoubleKey("reads_merged", static_cast(reads_merged)); ++ res.SetDoubleKey("sectors_read", static_cast(sectors_read)); ++ res.SetDoubleKey("read_time", static_cast(read_time)); ++ res.SetDoubleKey("writes", static_cast(writes)); ++ res.SetDoubleKey("writes_merged", static_cast(writes_merged)); ++ res.SetDoubleKey("sectors_written", static_cast(sectors_written)); ++ res.SetDoubleKey("write_time", static_cast(write_time)); ++ res.SetDoubleKey("io", static_cast(io)); ++ res.SetDoubleKey("io_time", static_cast(io_time)); ++ res.SetDoubleKey("weighted_io_time", static_cast(weighted_io_time)); ++ ++ return res; +} + -+std::unique_ptr SystemMemoryInfoKB::ToValue() const { -+ auto res = std::make_unique(); -+ res->SetIntKey("total", total); -+ res->SetIntKey("free", free); -+ res->SetIntKey("available", available); -+ res->SetIntKey("buffers", buffers); -+ res->SetIntKey("cached", cached); -+ res->SetIntKey("active_anon", active_anon); -+ res->SetIntKey("inactive_anon", inactive_anon); -+ res->SetIntKey("active_file", active_file); -+ res->SetIntKey("inactive_file", inactive_file); -+ res->SetIntKey("swap_total", swap_total); -+ res->SetIntKey("swap_free", swap_free); -+ res->SetIntKey("swap_used", swap_total - swap_free); -+ res->SetIntKey("dirty", dirty); -+ res->SetIntKey("reclaimable", reclaimable); ++Value SystemMemoryInfoKB::ToValue() const { ++ Value res(Value::Type::DICTIONARY); ++ ++ res.SetIntKey("total", total); ++ res.SetIntKey("free", free); ++ res.SetIntKey("available", available); ++ res.SetIntKey("buffers", buffers); ++ res.SetIntKey("cached", cached); ++ res.SetIntKey("active_anon", active_anon); ++ res.SetIntKey("inactive_anon", inactive_anon); ++ res.SetIntKey("active_file", active_file); ++ res.SetIntKey("inactive_file", inactive_file); ++ res.SetIntKey("swap_total", swap_total); ++ res.SetIntKey("swap_free", swap_free); ++ res.SetIntKey("swap_used", swap_total - swap_free); ++ res.SetIntKey("dirty", dirty); ++ res.SetIntKey("reclaimable", reclaimable); + + return res; +} + -+std::unique_ptr VmStatInfo::ToValue() const { -+ auto res = std::make_unique(); -+ res->SetIntKey("pswpin", pswpin); -+ res->SetIntKey("pswpout", pswpout); -+ res->SetIntKey("pgmajfault", pgmajfault); ++Value VmStatInfo::ToValue() const { ++ Value res(Value::Type::DICTIONARY); ++ ++ res.SetIntKey("pswpin", pswpin); ++ res.SetIntKey("pswpout", pswpout); ++ res.SetIntKey("pgmajfault", pgmajfault); ++ + return res; +} } // namespace base diff --git a/www/chromium/files/patch-base_process_process__unittest.cc b/www/chromium/files/patch-base_process_process__unittest.cc index 302b9073639f..4f9397702033 100644 --- a/www/chromium/files/patch-base_process_process__unittest.cc +++ b/www/chromium/files/patch-base_process_process__unittest.cc @@ -1,27 +1,27 @@ ---- base/process/process_unittest.cc.orig 2021-07-19 18:45:05 UTC +--- base/process/process_unittest.cc.orig 2021-09-14 01:51:47 UTC +++ base/process/process_unittest.cc -@@ -138,7 +138,7 @@ TEST_F(ProcessTest, CreationTimeOtherProcess) { +@@ -140,7 +140,7 @@ TEST_F(ProcessTest, CreationTimeOtherProcess) { // was spawned and a time recorded after it was spawned. However, since the // base::Time and process creation clocks don't match, tolerate some error. constexpr base::TimeDelta kTolerance = -#if defined(OS_LINUX) || defined(OS_CHROMEOS) +#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD) // On Linux, process creation time is relative to boot time which has a // 1-second resolution. Tolerate 1 second for the imprecise boot time and // 100 ms for the imprecise clock. -@@ -285,6 +285,7 @@ TEST_F(ProcessTest, WaitForExitOrEventWithEventSet) { +@@ -287,6 +287,7 @@ TEST_F(ProcessTest, WaitForExitOrEventWithEventSet) { } #endif // OS_WIN +#if !defined(OS_BSD) // Ensure that the priority of a process is restored correctly after // backgrounding and restoring. // Note: a platform may not be willing or able to lower the priority of -@@ -342,6 +343,7 @@ TEST_F(ProcessTest, SetProcessBackgroundedSelf) { +@@ -344,6 +345,7 @@ TEST_F(ProcessTest, SetProcessBackgroundedSelf) { int new_priority = process.GetPriority(); EXPECT_EQ(old_priority, new_priority); } +#endif // Consumers can use WaitForExitWithTimeout(base::TimeDelta(), nullptr) to check // whether the process is still running. This may not be safe because of the diff --git a/www/chromium/files/patch-base_process_process__util__unittest.cc b/www/chromium/files/patch-base_process_process__util__unittest.cc index cd120fcde687..9aa79d70ac60 100644 --- a/www/chromium/files/patch-base_process_process__util__unittest.cc +++ b/www/chromium/files/patch-base_process_process__util__unittest.cc @@ -1,16 +1,16 @@ ---- base/process/process_util_unittest.cc.orig 2021-04-14 18:40:48 UTC +--- base/process/process_util_unittest.cc.orig 2021-09-14 01:51:47 UTC +++ base/process/process_util_unittest.cc -@@ -1337,11 +1337,11 @@ std::string TestLaunchProcess(const CommandLine& cmdli +@@ -1336,11 +1336,11 @@ std::string TestLaunchProcess(const CommandLine& cmdli options.fds_to_remap.emplace_back(fds[1], STDOUT_FILENO); #endif // defined(OS_WIN) -#if defined(OS_LINUX) || defined(OS_CHROMEOS) +#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD) options.clone_flags = clone_flags; #else CHECK_EQ(0, clone_flags); -#endif // defined(OS_LINUX) || defined(OS_CHROMEOS) +#endif // defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD) EXPECT_TRUE(LaunchProcess(cmdline, options).IsValid()); write_pipe.Close(); diff --git a/www/chromium/files/patch-base_profiler_register__context.h b/www/chromium/files/patch-base_profiler_register__context.h index 1b5f72e3189a..136080cf3b91 100644 --- a/www/chromium/files/patch-base_profiler_register__context.h +++ b/www/chromium/files/patch-base_profiler_register__context.h @@ -1,60 +1,60 @@ ---- base/profiler/register_context.h.orig 2021-04-14 18:40:48 UTC +--- base/profiler/register_context.h.orig 2021-09-14 01:51:47 UTC +++ base/profiler/register_context.h @@ -17,7 +17,7 @@ #include #elif defined(OS_APPLE) #include -#elif defined(OS_ANDROID) || defined(OS_LINUX) || defined(OS_CHROMEOS) +#elif defined(OS_ANDROID) || defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD) #include #endif -@@ -190,6 +190,48 @@ inline uintptr_t& RegisterContextInstructionPointer(mc +@@ -209,6 +209,48 @@ inline uintptr_t& RegisterContextInstructionPointer(mc } #endif // #if defined(ARCH_CPU_ARM_FAMILY) && defined(ARCH_CPU_32_BITS) + +#elif defined(OS_FREEBSD) + +using RegisterContext = mcontext_t; + +#if defined(ARCH_CPU_X86_64) +inline uintptr_t& RegisterContextStackPointer(mcontext_t* context) { + return AsUintPtr(&context->mc_rsp); +} + +inline uintptr_t& RegisterContextFramePointer(mcontext_t* context) { + return AsUintPtr(&context->mc_rbp); +} + +inline uintptr_t& RegisterContextInstructionPointer(mcontext_t* context) { + return AsUintPtr(&context->mc_rip); +} +#elif defined(ARCH_CPU_X86) +inline uintptr_t& RegisterContextStackPointer(mcontext_t* context) { + return AsUintPtr(&context->mc_esp); +} + +inline uintptr_t& RegisterContextFramePointer(mcontext_t* context) { + return AsUintPtr(&context->mc_ebp); +} + +inline uintptr_t& RegisterContextInstructionPointer(mcontext_t* context) { + return AsUintPtr(&context->mc_eip); +} +#elif defined(ARCH_CPU_ARM64) +inline uintptr_t& RegisterContextStackPointer(mcontext_t* context) { + return AsUintPtr(&context->mc_gpregs.gp_sp); +} + +inline uintptr_t& RegisterContextFramePointer(mcontext_t* context) { + return AsUintPtr(&context->mc_gpregs.gp_x[29]); +} + +inline uintptr_t& RegisterContextInstructionPointer(mcontext_t* context) { + return AsUintPtr(&context->mc_gpregs.gp_elr); +} +#endif #else // #if defined(OS_WIN) diff --git a/www/chromium/files/patch-base_profiler_stack__sampling__profiler__unittest.cc b/www/chromium/files/patch-base_profiler_stack__sampling__profiler__unittest.cc index a0fe47642167..6de970a38eeb 100644 --- a/www/chromium/files/patch-base_profiler_stack__sampling__profiler__unittest.cc +++ b/www/chromium/files/patch-base_profiler_stack__sampling__profiler__unittest.cc @@ -1,11 +1,11 @@ ---- base/profiler/stack_sampling_profiler_unittest.cc.orig 2021-04-14 18:40:48 UTC +--- base/profiler/stack_sampling_profiler_unittest.cc.orig 2021-09-14 01:51:47 UTC +++ base/profiler/stack_sampling_profiler_unittest.cc -@@ -42,7 +42,7 @@ +@@ -41,7 +41,7 @@ #include #include #include -#else +#elif !defined(OS_BSD) #include #endif diff --git a/www/chromium/files/patch-base_profiler_thread__delegate__posix.cc b/www/chromium/files/patch-base_profiler_thread__delegate__posix.cc index 35b42ee88f59..2cfaf0bebbc0 100644 --- a/www/chromium/files/patch-base_profiler_thread__delegate__posix.cc +++ b/www/chromium/files/patch-base_profiler_thread__delegate__posix.cc @@ -1,68 +1,68 @@ ---- base/profiler/thread_delegate_posix.cc.orig 2021-07-19 18:45:05 UTC +--- base/profiler/thread_delegate_posix.cc.orig 2021-09-14 01:51:47 UTC +++ base/profiler/thread_delegate_posix.cc -@@ -13,6 +13,10 @@ +@@ -12,6 +12,10 @@ #include "build/build_config.h" #include "third_party/abseil-cpp/absl/types/optional.h" +#if defined(OS_BSD) +#include +#endif + #if defined(OS_ANDROID) #include "base/files/file_util.h" #include "base/files/scoped_file.h" -@@ -43,7 +47,12 @@ absl::optional GetAndroidMainThreadStackBas +@@ -42,7 +46,12 @@ absl::optional GetAndroidMainThreadStackBas uintptr_t GetThreadStackBaseAddressImpl( SamplingProfilerThreadToken thread_token) { pthread_attr_t attr; +#if defined(OS_FREEBSD) + pthread_attr_init(&attr); + pthread_attr_get_np(thread_token.pthread_id, &attr); +#elif defined(OS_LINUX) pthread_getattr_np(thread_token.pthread_id, &attr); +#endif // See crbug.com/617730 for limitations of this approach on Linux. void* address; size_t size; -@@ -130,16 +139,33 @@ std::vector ThreadDelegatePosix::GetRegist +@@ -129,16 +138,33 @@ std::vector ThreadDelegatePosix::GetRegist return { // Return the set of callee-save registers per the i386 System V ABI // section 2.2.3, plus the stack pointer. +#if defined(OS_FREEBSD) + reinterpret_cast(&thread_context->mc_ebx), + reinterpret_cast(&thread_context->mc_ebp), + reinterpret_cast(&thread_context->mc_esi), + reinterpret_cast(&thread_context->mc_edi), + reinterpret_cast(&thread_context->mc_esp), +#else reinterpret_cast(&thread_context->gregs[REG_EBX]), reinterpret_cast(&thread_context->gregs[REG_EBP]), reinterpret_cast(&thread_context->gregs[REG_ESI]), reinterpret_cast(&thread_context->gregs[REG_EDI]), reinterpret_cast(&thread_context->gregs[REG_ESP]), +#endif }; #elif defined(ARCH_CPU_X86_FAMILY) && defined(ARCH_CPU_64_BITS) return { // Return the set of callee-save registers per the x86-64 System V ABI // section 3.2.1, plus the stack pointer. +#if defined(OS_FREEBSD) + reinterpret_cast(&thread_context->mc_rbp), + reinterpret_cast(&thread_context->mc_rbx), + reinterpret_cast(&thread_context->mc_r12), + reinterpret_cast(&thread_context->mc_r13), + reinterpret_cast(&thread_context->mc_r14), + reinterpret_cast(&thread_context->mc_r15), + reinterpret_cast(&thread_context->mc_rsp), +#else reinterpret_cast(&thread_context->gregs[REG_RBP]), reinterpret_cast(&thread_context->gregs[REG_RBX]), reinterpret_cast(&thread_context->gregs[REG_R12]), -@@ -147,6 +173,7 @@ std::vector ThreadDelegatePosix::GetRegist +@@ -146,6 +172,7 @@ std::vector ThreadDelegatePosix::GetRegist reinterpret_cast(&thread_context->gregs[REG_R14]), reinterpret_cast(&thread_context->gregs[REG_R15]), reinterpret_cast(&thread_context->gregs[REG_RSP]), +#endif }; #else // #if defined(ARCH_CPU_ARM_FAMILY) && defined(ARCH_CPU_32_BITS) // Unimplemented for other architectures. diff --git a/www/chromium/files/patch-base_sampling__heap__profiler_sampling__heap__profiler.cc b/www/chromium/files/patch-base_sampling__heap__profiler_sampling__heap__profiler.cc index 147615bfbf75..78f5a70b338c 100644 --- a/www/chromium/files/patch-base_sampling__heap__profiler_sampling__heap__profiler.cc +++ b/www/chromium/files/patch-base_sampling__heap__profiler_sampling__heap__profiler.cc @@ -1,24 +1,24 @@ ---- base/sampling_heap_profiler/sampling_heap_profiler.cc.orig 2021-04-14 18:40:48 UTC +--- base/sampling_heap_profiler/sampling_heap_profiler.cc.orig 2021-09-14 01:51:47 UTC +++ base/sampling_heap_profiler/sampling_heap_profiler.cc -@@ -30,6 +30,10 @@ +@@ -27,6 +27,10 @@ #include #endif +#if defined(OS_BSD) +#include +#endif + #if defined(OS_ANDROID) && BUILDFLAG(CAN_UNWIND_WITH_CFI_TABLE) && \ defined(OFFICIAL_BUILD) #include "base/trace_event/cfi_backtrace_android.h" // no-presubmit-check -@@ -65,6 +69,10 @@ const char* GetAndLeakThreadName() { +@@ -62,6 +66,10 @@ const char* GetAndLeakThreadName() { #elif defined(OS_APPLE) int err = pthread_getname_np(pthread_self(), name, kBufferLen); if (err == 0 && *name != '\0') + return strdup(name); +#elif defined(OS_BSD) && __FreeBSD__ >= 12 + pthread_get_name_np(pthread_self(), name, kBufferLen); + if (*name != '\0') return strdup(name); #endif // defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_ANDROID) diff --git a/www/chromium/files/patch-base_strings_sys__string__conversions__unittest.cc b/www/chromium/files/patch-base_strings_sys__string__conversions__unittest.cc index 61769926edcc..bc016b95adbe 100644 --- a/www/chromium/files/patch-base_strings_sys__string__conversions__unittest.cc +++ b/www/chromium/files/patch-base_strings_sys__string__conversions__unittest.cc @@ -1,19 +1,19 @@ ---- base/strings/sys_string_conversions_unittest.cc.orig 2021-04-14 18:40:48 UTC +--- base/strings/sys_string_conversions_unittest.cc.orig 2021-09-14 01:51:47 UTC +++ base/strings/sys_string_conversions_unittest.cc -@@ -76,7 +76,7 @@ TEST(SysStrings, SysUTF8ToWide) { +@@ -75,7 +75,7 @@ TEST(SysStrings, SysUTF8ToWide) { } // Tests depend on setting a specific Linux locale. -#if defined(OS_LINUX) || defined(OS_CHROMEOS) +#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD) TEST(SysStrings, SysWideToNativeMB) { #if !defined(SYSTEM_NATIVE_UTF8) ScopedLocale locale("en_US.UTF-8"); -@@ -191,6 +191,6 @@ TEST(SysStrings, SysNativeMBAndWide) { +@@ -190,6 +190,6 @@ TEST(SysStrings, SysNativeMBAndWide) { EXPECT_EQ(wide, trip); } } -#endif // defined(OS_LINUX) || defined(OS_CHROMEOS) +#endif // defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD) } // namespace base diff --git a/www/chromium/files/patch-base_system_sys__info.cc b/www/chromium/files/patch-base_system_sys__info.cc index d2be91728b01..42f73e193cd3 100644 --- a/www/chromium/files/patch-base_system_sys__info.cc +++ b/www/chromium/files/patch-base_system_sys__info.cc @@ -1,11 +1,11 @@ ---- base/system/sys_info.cc.orig 2021-04-14 18:40:48 UTC +--- base/system/sys_info.cc.orig 2021-09-14 01:51:47 UTC +++ base/system/sys_info.cc -@@ -94,7 +94,7 @@ void SysInfo::GetHardwareInfo(base::OnceCallback #include #include "base/files/file_descriptor_watcher_posix.h" -@@ -601,7 +602,7 @@ ChildProcessResults DoLaunchChildTestProcess( +@@ -607,7 +608,7 @@ ChildProcessResults DoLaunchChildTestProcess( #if !defined(OS_FUCHSIA) options.new_process_group = true; #endif -#if defined(OS_LINUX) || defined(OS_CHROMEOS) +#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD) options.kill_on_parent_death = true; #endif -@@ -1523,7 +1524,7 @@ bool TestLauncher::Init(CommandLine* command_line) { +@@ -1529,7 +1530,7 @@ bool TestLauncher::Init(CommandLine* command_line) { results_tracker_.AddGlobalTag("OS_IOS"); #endif -#if defined(OS_LINUX) || defined(OS_CHROMEOS) +#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD) results_tracker_.AddGlobalTag("OS_LINUX"); #endif diff --git a/www/chromium/files/patch-base_test_test__suite.cc b/www/chromium/files/patch-base_test_test__suite.cc index 1f2d086d17c7..40cf54e73b22 100644 --- a/www/chromium/files/patch-base_test_test__suite.cc +++ b/www/chromium/files/patch-base_test_test__suite.cc @@ -1,55 +1,55 @@ ---- base/test/test_suite.cc.orig 2021-07-19 18:45:05 UTC +--- base/test/test_suite.cc.orig 2021-09-14 01:51:47 UTC +++ base/test/test_suite.cc @@ -68,7 +68,7 @@ #include "base/test/test_support_android.h" #endif -#if defined(OS_LINUX) || defined(OS_CHROMEOS) +#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD) #include "base/test/fontconfig_util_linux.h" #endif -@@ -214,7 +214,7 @@ class CheckForLeakedGlobals : public testing::EmptyTes +@@ -217,7 +217,7 @@ class CheckForLeakedGlobals : public testing::EmptyTes }; // base::Process is not available on iOS -#if !defined(OS_IOS) +#if !defined(OS_IOS) && !defined(OS_BSD) class CheckProcessPriority : public testing::EmptyTestEventListener { public: CheckProcessPriority() { CHECK(!IsProcessBackgrounded()); } -@@ -351,14 +351,14 @@ void TestSuite::PreInitialize() { +@@ -354,14 +354,14 @@ void TestSuite::PreInitialize() { testing::GTEST_FLAG(catch_exceptions) = false; #endif EnableTerminationOnHeapCorruption(); -#if (defined(OS_LINUX) || defined(OS_CHROMEOS)) && defined(USE_AURA) +#if (defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD)) && defined(USE_AURA) // When calling native char conversion functions (e.g wrctomb) we need to // have the locale set. In the absence of such a call the "C" locale is the // default. In the gtk code (below) gtk_init() implicitly sets a locale. setlocale(LC_ALL, ""); // We still need number to string conversions to be locale insensitive. setlocale(LC_NUMERIC, "C"); -#endif // (defined(OS_LINUX) || defined(OS_CHROMEOS)) && defined(USE_AURA) +#endif // (defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD)) && defined(USE_AURA) // On Android, AtExitManager is created in // testing/android/native_test_wrapper.cc before main() is called. -@@ -632,7 +632,7 @@ void TestSuite::Initialize() { +@@ -635,7 +635,7 @@ void TestSuite::Initialize() { // TODO(jshin): Should we set the locale via an OS X locale API here? i18n::SetICUDefaultLocale("en_US"); -#if defined(OS_LINUX) || defined(OS_CHROMEOS) +#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD) SetUpFontconfig(); #endif -@@ -645,7 +645,7 @@ void TestSuite::Initialize() { +@@ -648,7 +648,7 @@ void TestSuite::Initialize() { if (check_for_leaked_globals_) listeners.Append(new CheckForLeakedGlobals); if (check_for_thread_and_process_priority_) { -#if !defined(OS_IOS) +#if !defined(OS_IOS) && !defined(OS_BSD) listeners.Append(new CheckProcessPriority); #endif } diff --git a/www/chromium/files/patch-base_threading_platform__thread.h b/www/chromium/files/patch-base_threading_platform__thread.h index 1b335ea99b35..bd9ca23b258a 100644 --- a/www/chromium/files/patch-base_threading_platform__thread.h +++ b/www/chromium/files/patch-base_threading_platform__thread.h @@ -1,11 +1,11 @@ ---- base/threading/platform_thread.h.orig 2021-04-14 18:40:48 UTC +--- base/threading/platform_thread.h.orig 2021-09-24 04:25:56 UTC +++ base/threading/platform_thread.h -@@ -231,7 +231,7 @@ class BASE_EXPORT PlatformThread { +@@ -240,7 +240,7 @@ class BASE_EXPORT PlatformThread { // Returns a realtime period provided by |delegate|. static TimeDelta GetRealtimePeriod(Delegate* delegate); -#if defined(OS_LINUX) || defined(OS_CHROMEOS) +#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD) // Toggles a specific thread's priority at runtime. This can be used to // change the priority of a thread in a different process and will fail // if the calling process does not have proper permissions. The diff --git a/www/chromium/files/patch-base_threading_platform__thread__linux.cc b/www/chromium/files/patch-base_threading_platform__thread__linux.cc index f257725cea33..823686b3b1ce 100644 --- a/www/chromium/files/patch-base_threading_platform__thread__linux.cc +++ b/www/chromium/files/patch-base_threading_platform__thread__linux.cc @@ -1,30 +1,70 @@ ---- base/threading/platform_thread_linux.cc.orig 2021-07-19 18:45:05 UTC +--- base/threading/platform_thread_linux.cc.orig 2021-10-01 01:36:37 UTC +++ base/threading/platform_thread_linux.cc @@ -29,7 +29,9 @@ #if !defined(OS_NACL) && !defined(OS_AIX) #include +#if !defined(OS_BSD) #include +#endif #include #include #include +@@ -132,7 +134,7 @@ int sched_setattr(pid_t pid, + #endif // !defined(OS_NACL) && !defined(OS_AIX) + #endif // BUILDFLAG(IS_CHROMEOS_ASH) || BUILDFLAG(IS_CHROMEOS_LACROS) + +-#if !defined(OS_NACL) ++#if !defined(OS_NACL) && !defined(OS_BSD) + const FilePath::CharType kCgroupDirectory[] = + FILE_PATH_LITERAL("/sys/fs/cgroup"); + @@ -300,7 +302,7 @@ const ThreadPriorityToNiceValuePair kThreadPriorityToN absl::optional CanIncreaseCurrentThreadPriorityForPlatform( ThreadPriority priority) { -#if !defined(OS_NACL) +#if !defined(OS_NACL) && !defined(OS_BSD) // A non-zero soft-limit on RLIMIT_RTPRIO is required to be allowed to invoke // pthread_setschedparam in SetCurrentThreadPriorityForPlatform(). struct rlimit rlim; +@@ -313,7 +315,7 @@ absl::optional CanIncreaseCurrentThreadPriorityF + } + + bool SetCurrentThreadPriorityForPlatform(ThreadPriority priority) { +-#if !defined(OS_NACL) ++#if !defined(OS_NACL) && !defined(OS_BSD) + // For legacy schedtune interface + SetThreadCgroupsForThreadPriority(PlatformThread::CurrentId(), priority); + @@ -350,7 +352,7 @@ absl::optional GetCurrentThreadPriorit void PlatformThread::SetName(const std::string& name) { ThreadIdNameManager::GetInstance()->SetName(name); -#if !defined(OS_NACL) && !defined(OS_AIX) +#if !defined(OS_NACL) && !defined(OS_AIX) && !defined(OS_BSD) // On linux we can get the thread names to show up in the debugger by setting // the process name for the LWP. We don't want to do this for the main // thread because that would rename the process, causing tools like killall +@@ -380,8 +382,10 @@ void PlatformThread::SetThreadPriority(ProcessId proce + // priority. + CHECK_NE(thread_id, process_id); + ++#if !defined(OS_BSD) + // For legacy schedtune interface + SetThreadCgroupsForThreadPriority(thread_id, priority); ++#endif + + #if BUILDFLAG(IS_CHROMEOS_ASH) || BUILDFLAG(IS_CHROMEOS_LACROS) + // For upstream uclamp interface. We try both legacy (schedtune, as done +@@ -438,7 +442,9 @@ void InitThreading() {} + void TerminateOnThread() {} + + size_t GetDefaultThreadStackSize(const pthread_attr_t& attributes) { +-#if !defined(THREAD_SANITIZER) ++#if defined(OS_BSD) ++ return (1 << 23); ++#elif !defined(THREAD_SANITIZER) + return 0; + #else + // ThreadSanitizer bloats the stack heavily. Evidence has been that the diff --git a/www/chromium/files/patch-base_threading_platform__thread__posix.cc b/www/chromium/files/patch-base_threading_platform__thread__posix.cc index d469007593db..e75f4b2de1b5 100644 --- a/www/chromium/files/patch-base_threading_platform__thread__posix.cc +++ b/www/chromium/files/patch-base_threading_platform__thread__posix.cc @@ -1,22 +1,22 @@ ---- base/threading/platform_thread_posix.cc.orig 2021-07-19 18:45:05 UTC +--- base/threading/platform_thread_posix.cc.orig 2021-09-14 01:51:47 UTC +++ base/threading/platform_thread_posix.cc -@@ -33,6 +33,10 @@ +@@ -32,6 +32,10 @@ #include #endif +#if defined(OS_BSD) +#include +#endif + #if defined(OS_FUCHSIA) #include #else -@@ -194,6 +198,8 @@ PlatformThreadId PlatformThread::CurrentId() { +@@ -193,6 +197,8 @@ PlatformThreadId PlatformThread::CurrentId() { // into the kernel. #if defined(OS_APPLE) return pthread_mach_thread_np(pthread_self()); +#elif defined(OS_BSD) + return pthread_getthreadid_np(); #elif defined(OS_LINUX) || defined(OS_CHROMEOS) - static NoDestructor init_at_fork; + static InitAtFork init_at_fork; if (g_thread_id == -1) { diff --git a/www/chromium/files/patch-base_threading_platform__thread__unittest.cc b/www/chromium/files/patch-base_threading_platform__thread__unittest.cc index f69b6c17844a..a784071e91e7 100644 --- a/www/chromium/files/patch-base_threading_platform__thread__unittest.cc +++ b/www/chromium/files/patch-base_threading_platform__thread__unittest.cc @@ -1,24 +1,24 @@ ---- base/threading/platform_thread_unittest.cc.orig 2021-04-14 18:40:48 UTC +--- base/threading/platform_thread_unittest.cc.orig 2021-09-14 01:51:47 UTC +++ base/threading/platform_thread_unittest.cc @@ -313,7 +313,7 @@ TEST(PlatformThreadTest, // and hardcodes what we know. Please inform scheduler-dev@chromium.org if this // proprerty changes for a given platform. TEST(PlatformThreadTest, CanIncreaseThreadPriority) { -#if defined(OS_LINUX) || defined(OS_CHROMEOS) +#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD) // On Ubuntu, RLIMIT_NICE and RLIMIT_RTPRIO are 0 by default, so we won't be // able to increase priority to any level. constexpr bool kCanIncreasePriority = false; -@@ -407,9 +407,9 @@ TEST(PlatformThreadTest, SetHugeThreadName) { +@@ -404,9 +404,9 @@ TEST(PlatformThreadTest, SetHugeThreadName) { TEST(PlatformThreadTest, GetDefaultThreadStackSize) { size_t stack_size = PlatformThread::GetDefaultThreadStackSize(); -#if defined(OS_WIN) || defined(OS_IOS) || defined(OS_FUCHSIA) || \ - ((defined(OS_LINUX) || defined(OS_CHROMEOS)) && \ - !defined(THREAD_SANITIZER)) || \ +#if defined(OS_WIN) || defined(OS_IOS) || defined(OS_FUCHSIA) || \ + ((defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD)) && \ + !defined(THREAD_SANITIZER)) || \ (defined(OS_ANDROID) && !defined(ADDRESS_SANITIZER)) EXPECT_EQ(0u, stack_size); #else diff --git a/www/chromium/files/patch-base_threading_scoped__blocking__call__unittest.cc b/www/chromium/files/patch-base_threading_scoped__blocking__call__unittest.cc index b23c3958b13c..e90dcf410c0d 100644 --- a/www/chromium/files/patch-base_threading_scoped__blocking__call__unittest.cc +++ b/www/chromium/files/patch-base_threading_scoped__blocking__call__unittest.cc @@ -1,20 +1,20 @@ ---- base/threading/scoped_blocking_call_unittest.cc.orig 2021-05-12 22:05:40 UTC +--- base/threading/scoped_blocking_call_unittest.cc.orig 2021-09-14 01:51:47 UTC +++ base/threading/scoped_blocking_call_unittest.cc -@@ -274,7 +274,7 @@ TEST_F(ScopedBlockingCallIOJankMonitoringTest, ManyInA +@@ -302,7 +302,7 @@ TEST_F(ScopedBlockingCallIOJankMonitoringTest, ManyInA } TEST_F(ScopedBlockingCallIOJankMonitoringTest, OverlappingMultipleWindows) { - constexpr auto kJankTiming = + auto kJankTiming = internal::IOJankMonitoringWindow::kMonitoringWindow * 3 + internal::IOJankMonitoringWindow::kIOJankInterval * 5; -@@ -531,7 +531,7 @@ TEST_F(ScopedBlockingCallIOJankMonitoringTest, MultiTh +@@ -559,7 +559,7 @@ TEST_F(ScopedBlockingCallIOJankMonitoringTest, MultiTh // First one starting at 10 seconds (can't start later than that or we'll trip // the kTimeDiscrepancyTimeout per TaskEnvironment's inability to RunUntilIdle() // with pending blocked tasks). -#if defined(OS_LINUX) || defined(OS_CHROMEOS) +#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD) // https://crbug.com/1071166 #define MAYBE_MultiThreadedOverlappedWindows \ DISABLED_MultiThreadedOverlappedWindows diff --git a/www/chromium/files/patch-base_time_time.cc b/www/chromium/files/patch-base_time_time.cc index 071c04757fff..8809f2523e7c 100644 --- a/www/chromium/files/patch-base_time_time.cc +++ b/www/chromium/files/patch-base_time_time.cc @@ -1,17 +1,17 @@ ---- base/time/time.cc.orig 2021-07-28 07:27:11 UTC +--- base/time/time.cc.orig 2021-09-24 04:25:56 UTC +++ base/time/time.cc @@ -4,12 +4,12 @@ #include "base/time/time.h" -#if defined(OS_LINUX) +#if defined(OS_LINUX) || defined(OS_BSD) // time.h is a widely included header and its size impacts build time. // Try not to raise this limit unless necessary. See // https://chromium.googlesource.com/chromium/src/+/HEAD/docs/wmax_tokens.md #pragma clang max_tokens_here 390000 -#endif // defined(OS_LINUX) +#endif // defined(OS_LINUX) || defined(OS_BSD) + #include #include - #include diff --git a/www/chromium/files/patch-base_time_time__unittest.cc b/www/chromium/files/patch-base_time_time__unittest.cc deleted file mode 100644 index 02772da581c3..000000000000 --- a/www/chromium/files/patch-base_time_time__unittest.cc +++ /dev/null @@ -1,18 +0,0 @@ ---- base/time/time_unittest.cc.orig 2021-07-19 18:45:05 UTC -+++ base/time/time_unittest.cc -@@ -2007,6 +2007,7 @@ TEST(TimeDelta, Overflows) { - static_assert((kLargeDelta / 0.5).is_max(), ""); - static_assert((kLargeDelta / -0.5).is_min(), ""); - -+#if !defined(OS_BSD) - static_assert( - TimeDelta::Max() / kOneSecond == std::numeric_limits::infinity(), - ""); -@@ -2035,6 +2036,7 @@ TEST(TimeDelta, Overflows) { - static_assert(TimeDelta::Max() % -kOneSecond == TimeDelta::Max(), ""); - static_assert(TimeDelta::Min() % kOneSecond == TimeDelta::Min(), ""); - static_assert(TimeDelta::Min() % -kOneSecond == TimeDelta::Min(), ""); -+#endif - - // Division by zero. - static_assert((kOneSecond / 0).is_max(), ""); diff --git a/www/chromium/files/patch-base_trace__event_malloc__dump__provider.cc b/www/chromium/files/patch-base_trace__event_malloc__dump__provider.cc index f4491ec684a2..fb2f57729c8b 100644 --- a/www/chromium/files/patch-base_trace__event_malloc__dump__provider.cc +++ b/www/chromium/files/patch-base_trace__event_malloc__dump__provider.cc @@ -1,21 +1,21 @@ ---- base/trace_event/malloc_dump_provider.cc.orig 2021-07-19 18:45:05 UTC +--- base/trace_event/malloc_dump_provider.cc.orig 2021-09-24 04:25:56 UTC +++ base/trace_event/malloc_dump_provider.cc -@@ -21,6 +21,8 @@ +@@ -23,6 +23,8 @@ #if defined(OS_APPLE) #include +#elif defined(OS_BSD) +#include #else #include #endif -@@ -203,6 +205,9 @@ bool MallocDumpProvider::OnMemoryDump(const MemoryDump +@@ -213,6 +215,9 @@ bool MallocDumpProvider::OnMemoryDump(const MemoryDump &allocated_objects_count); #elif defined(OS_FUCHSIA) // TODO(fuchsia): Port, see https://crbug.com/706592. +#elif defined(OS_BSD) + total_virtual_size = 0; + allocated_objects_size = 0; #else - struct mallinfo info = mallinfo(); - // In case of Android's jemalloc |arena| is 0 and the outer pages size is + #if defined(__GLIBC__) && defined(__GLIBC_PREREQ) + #if __GLIBC_PREREQ(2, 33) diff --git a/www/chromium/files/patch-base_trace__event_process__memory__dump.cc b/www/chromium/files/patch-base_trace__event_process__memory__dump.cc index 346392d8ec65..fa2b435c8b7a 100644 --- a/www/chromium/files/patch-base_trace__event_process__memory__dump.cc +++ b/www/chromium/files/patch-base_trace__event_process__memory__dump.cc @@ -1,11 +1,11 @@ ---- base/trace_event/process_memory_dump.cc.orig 2021-07-19 18:45:05 UTC +--- base/trace_event/process_memory_dump.cc.orig 2021-09-14 01:51:47 UTC +++ base/trace_event/process_memory_dump.cc -@@ -104,7 +104,7 @@ absl::optional ProcessMemoryDump::CountResiden +@@ -105,7 +105,7 @@ absl::optional ProcessMemoryDump::CountResiden #if defined(OS_WIN) std::unique_ptr vec( new PSAPI_WORKING_SET_EX_INFORMATION[max_vec_size]); -#elif defined(OS_APPLE) +#elif defined(OS_APPLE) || defined(OS_BSD) std::unique_ptr vec(new char[max_vec_size]); #elif defined(OS_POSIX) || defined(OS_FUCHSIA) std::unique_ptr vec(new unsigned char[max_vec_size]); diff --git a/www/chromium/files/patch-build_config_c++_c++.gni b/www/chromium/files/patch-build_config_c++_c++.gni new file mode 100644 index 000000000000..ec43c6b5fc4c --- /dev/null +++ b/www/chromium/files/patch-build_config_c++_c++.gni @@ -0,0 +1,11 @@ +--- build/config/c++/c++.gni.orig 2021-10-06 09:43:59 UTC ++++ build/config/c++/c++.gni +@@ -43,7 +43,7 @@ declare_args() { + + use_custom_libcxx = + use_custom_libcxx || (use_custom_libcxx_for_host && !is_a_target_toolchain) +-use_custom_libcxx = use_custom_libcxx && !is_nacl ++use_custom_libcxx = use_custom_libcxx && !is_nacl && !is_bsd + + declare_args() { + # WARNING: Setting this to a non-default value is highly discouraged. diff --git a/www/chromium/files/patch-build_config_compiler_BUILD.gn b/www/chromium/files/patch-build_config_compiler_BUILD.gn index 9bc74ac51a27..b2581f2d38cb 100644 --- a/www/chromium/files/patch-build_config_compiler_BUILD.gn +++ b/www/chromium/files/patch-build_config_compiler_BUILD.gn @@ -1,134 +1,135 @@ ---- build/config/compiler/BUILD.gn.orig 2021-07-19 18:45:05 UTC +--- build/config/compiler/BUILD.gn.orig 2021-09-24 04:25:56 UTC +++ build/config/compiler/BUILD.gn -@@ -144,7 +144,7 @@ declare_args() { +@@ -139,7 +139,7 @@ declare_args() { # - # TODO(crbug.com/977230): Enabling this when 'use_xcode_clang' is true may - # call an old clang that doesn't support auto-init. -- init_stack_vars = !is_android && !use_xcode_clang -+ init_stack_vars = !is_android && !use_xcode_clang && !is_bsd + # TODO(crbug.com/1131993): Enabling this when 'is_android' is true breaks + # content_shell_test_apk on both ARM and x86. +- init_stack_vars = !is_android ++ init_stack_vars = !is_android && !is_bsd # This argument is to control whether enabling text section splitting in the # final binary. When enabled, the separated text sections with prefix -@@ -347,7 +347,7 @@ config("compiler") { +@@ -238,7 +238,7 @@ 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", +@@ -354,7 +354,7 @@ config("compiler") { } # Linker warnings. - if (fatal_linker_warnings && !is_apple && current_os != "aix") { + if (fatal_linker_warnings && !is_apple && !is_bsd && current_os != "aix") { ldflags += [ "-Wl,--fatal-warnings" ] } if (fatal_linker_warnings && is_apple) { -@@ -442,7 +442,7 @@ config("compiler") { - - # Compiler instrumentation can introduce dependencies in DSOs to symbols in - # the executable they are loaded into, so they are unresolved at link-time. -- if (!using_sanitizer) { -+ if (!using_sanitizer && !is_bsd) { - ldflags += [ - "-Wl,-z,defs", - "-Wl,--as-needed", -@@ -532,7 +532,7 @@ config("compiler") { +@@ -530,7 +530,7 @@ config("compiler") { ldflags += [ "-Wl,-z,keep-text-section-prefix" ] } - if (is_clang && !is_nacl && !use_xcode_clang) { + if (is_clang && !is_nacl && !use_xcode_clang && !is_bsd) { cflags += [ "-fcrash-diagnostics-dir=" + clang_diagnostic_dir ] # TODO(hans): Remove this once Clang generates better optimized debug info -@@ -675,7 +675,12 @@ config("compiler") { +@@ -680,7 +680,12 @@ config("compiler") { # and let it use all cores. # TODO(thakis): Check if '=0' (that is, number of cores, instead # of "all" which means number of hardware threads) is faster. - ldflags += [ "-Wl,--thinlto-jobs=all" ] + if (is_bsd) { + # FreeBSD < 13 uses LLVM 10, which doesn't support --thinlto-jobs=all + ldflags += [ "-Wl,--thinlto-jobs=2" ] + } else { + ldflags += [ "-Wl,--thinlto-jobs=all" ] + } - - ldflags += [ - "-Wl,--thinlto-cache-dir=" + -@@ -861,7 +866,7 @@ config("compiler_cpu_abi") { + if (is_mac) { + ldflags += + [ "-Wl,-cache_path_lto," + +@@ -879,7 +884,7 @@ config("compiler_cpu_abi") { cflags += [ "-mtune=$arm_tune" ] } } else if (current_cpu == "arm64") { - if (is_clang && !is_android && !is_nacl && !is_fuchsia) { + if (is_clang && !is_android && !is_nacl && !is_fuchsia && !is_bsd) { cflags += [ "--target=aarch64-linux-gnu" ] ldflags += [ "--target=aarch64-linux-gnu" ] } -@@ -1211,7 +1216,7 @@ config("compiler_deterministic") { - "-Xclang", - ".", - ] -- if (!is_win) { -+ if (!is_win && !is_bsd) { - # We don't use clang -cc1as on Windows (yet? https://crbug.com/762167) - asmflags = [ "-Wa,-fdebug-compilation-dir,." ] - } -@@ -1594,7 +1599,7 @@ config("default_warnings") { - cflags += [ "-Wno-nonportable-include-path" ] +@@ -1231,6 +1236,9 @@ config("compiler_deterministic") { + "-Xclang", + ".", + ] ++ } else if (is_bsd) { ++ # -ffile-compilation-dir is not supported in the LLVM version FreeBSD ships ++ cflags += [ "-fdebug-compilation-dir=." ] + } else { + # -ffile-compilation-dir is an alias for both -fdebug-compilation-dir= + # and -fcoverage-compilation-dir=. +@@ -1610,7 +1618,7 @@ config("default_warnings") { + cflags += [ "-Wno-null-pointer-subtraction" ] } - if (current_toolchain == host_toolchain || !use_xcode_clang) { + if ((current_toolchain == host_toolchain || !use_xcode_clang) && !is_bsd) { # Flags NaCl (Clang 3.7) and Xcode 9.2 (Clang clang-900.0.39.2) do not # recognize. cflags += [ -@@ -1635,6 +1640,18 @@ config("default_warnings") { - cflags += [ "-Wno-max-tokens" ] +@@ -1643,6 +1651,18 @@ config("default_warnings") { + cflags += [ "-Wmax-tokens" ] } } + + if (is_clang && is_bsd) { + cflags += [ + "-Wno-ignored-pragma-optimize", + "-Wno-implicit-int-float-conversion", + "-Wno-final-dtor-non-final-class", + "-Wno-builtin-assume-aligned-alignment", + "-Wno-deprecated-copy", + "-Wno-thread-safety-analysis", + "-Wno-thread-safety-attributes", + ] + } } } } -@@ -1769,7 +1786,7 @@ config("no_chromium_code") { - # suppressing them individually, we just blanket suppress them here. - "-Wno-unused-variable", +@@ -1781,7 +1801,7 @@ config("no_chromium_code") { + # third-party libraries. + "-Wno-c++11-narrowing", ] - if (!is_nacl && (current_toolchain == host_toolchain || !use_xcode_clang)) { + if (!is_nacl && (current_toolchain == host_toolchain || !use_xcode_clang) && !is_bsd) { cflags += [ # TODO(https://crbug.com/1202159): Clean up and enable. "-Wno-misleading-indentation", -@@ -1847,7 +1864,7 @@ config("export_dynamic") { - config("thin_archive") { - # The macOS and iOS default linker ld64 does not support reading thin +@@ -1861,7 +1881,7 @@ config("thin_archive") { # archives. -- if ((is_posix && !is_nacl && (!is_apple || use_lld)) || is_fuchsia) { -+ if ((is_posix && !is_nacl && (!is_apple || use_lld) && !is_bsd) || is_fuchsia) { + # TODO(crbug.com/1221615): Enable on is_apple if use_lld once that no longer + # confuses lldb. +- if ((is_posix && !is_nacl && !is_apple) || is_fuchsia) { ++ if ((is_posix && !is_nacl && !is_apple && !is_bsd) || is_fuchsia) { arflags = [ "-T" ] } else if (is_win && use_lld) { arflags = [ "/llvmlibthin" ] -@@ -2381,7 +2398,7 @@ config("symbols") { +@@ -2353,7 +2373,7 @@ config("symbols") { # flag, so we can use use -g1 for pnacl and nacl-clang compiles. # gcc nacl is is_nacl && !is_clang, pnacl and nacl-clang are && is_clang. if (!is_nacl || is_clang) { - cflags += [ "-g2" ] + cflags += [ "-g0" ] } - # TODO(https://crbug.com/1050118): Investigate missing debug info on mac. -@@ -2414,7 +2431,7 @@ config("symbols") { + if (is_apple) { +@@ -2378,7 +2398,7 @@ config("symbols") { # DWARF info may be corrupt; offsets in a range list entry are in different # sections" there. Maybe just a bug in nacl_switch_32.S. if (!is_apple && !is_nacl && current_cpu != "x86" && - (use_gold || use_lld)) { + (use_gold || use_lld) && !is_bsd) { if (is_clang) { # This flag enables the GNU-format pubnames and pubtypes sections, # which lld needs in order to generate a correct GDB index. diff --git a/www/chromium/files/patch-build_config_compiler_compiler.gni b/www/chromium/files/patch-build_config_compiler_compiler.gni index 66d5dcf2d2d4..821a613e30c3 100644 --- a/www/chromium/files/patch-build_config_compiler_compiler.gni +++ b/www/chromium/files/patch-build_config_compiler_compiler.gni @@ -1,11 +1,11 @@ ---- build/config/compiler/compiler.gni.orig 2021-05-12 22:05:40 UTC +--- build/config/compiler/compiler.gni.orig 2021-09-14 01:51:47 UTC +++ build/config/compiler/compiler.gni -@@ -202,7 +202,7 @@ declare_args() { +@@ -205,7 +205,7 @@ declare_args() { declare_args() { # Whether to use the gold linker from binutils instead of lld or bfd. - use_gold = !use_lld && !(is_chromecast && is_linux && + use_gold = !is_bsd && !use_lld && !(is_chromecast && is_linux && (current_cpu == "arm" || current_cpu == "mipsel")) && (((is_linux || is_chromeos_lacros) && (current_cpu == "x64" || current_cpu == "x86" || diff --git a/www/chromium/files/patch-build_config_linux_BUILD.gn b/www/chromium/files/patch-build_config_linux_BUILD.gn index 573507ef09e7..1576d19ca1eb 100644 --- a/www/chromium/files/patch-build_config_linux_BUILD.gn +++ b/www/chromium/files/patch-build_config_linux_BUILD.gn @@ -1,11 +1,11 @@ ---- build/config/linux/BUILD.gn.orig 2021-04-14 18:40:48 UTC +--- build/config/linux/BUILD.gn.orig 2021-09-24 04:25:56 UTC +++ build/config/linux/BUILD.gn -@@ -30,7 +30,7 @@ config("runtime_library") { +@@ -39,7 +39,7 @@ config("runtime_library") { if ((!(is_chromeos_ash || is_chromeos_lacros) || default_toolchain != "//build/toolchain/cros:target") && - (!use_custom_libcxx || current_cpu == "mipsel")) { + (!use_custom_libcxx || current_cpu == "mipsel") && !is_bsd) { libs = [ "atomic" ] } } diff --git a/www/chromium/files/patch-build_config_ozone.gni b/www/chromium/files/patch-build_config_ozone.gni index 28f294c8de21..46330d6927de 100644 --- a/www/chromium/files/patch-build_config_ozone.gni +++ b/www/chromium/files/patch-build_config_ozone.gni @@ -1,12 +1,12 @@ ---- build/config/ozone.gni.orig 2021-04-14 18:40:48 UTC +--- build/config/ozone.gni.orig 2021-09-24 04:25:56 UTC +++ build/config/ozone.gni -@@ -79,6 +79,9 @@ declare_args() { - ozone_platform = "x11" - ozone_platform_drm = true - ozone_platform_x11 = true +@@ -85,6 +85,9 @@ declare_args() { + } else if (is_chromeos_lacros) { + ozone_platform = "wayland" + ozone_platform_wayland = true + } else if (is_bsd) { + ozone_platform = "x11" + ozone_platform_x11 = true - } else if (is_linux || is_chromeos_lacros) { + } else if (is_linux) { ozone_platform = "x11" ozone_platform_wayland = true diff --git a/www/chromium/files/patch-build_toolchain_gcc__toolchain.gni b/www/chromium/files/patch-build_toolchain_gcc__toolchain.gni index 1613bd73a406..f27a62b5d4f3 100644 --- a/www/chromium/files/patch-build_toolchain_gcc__toolchain.gni +++ b/www/chromium/files/patch-build_toolchain_gcc__toolchain.gni @@ -1,58 +1,58 @@ ---- build/toolchain/gcc_toolchain.gni.orig 2021-06-09 22:13:52 UTC +--- build/toolchain/gcc_toolchain.gni.orig 2021-09-14 01:51:47 UTC +++ build/toolchain/gcc_toolchain.gni -@@ -51,6 +51,11 @@ if (enable_resource_allowlist_generation) { +@@ -48,6 +48,11 @@ if (enable_resource_allowlist_generation) { "enable_resource_allowlist_generation=true does not work for target_os=$target_os") } +declare_args() { + extra_cxxflags = "" + extra_ldflags = "" +} + # This template defines a toolchain for something that works like gcc # (including clang). # -@@ -647,20 +652,32 @@ template("gcc_toolchain") { +@@ -666,20 +671,32 @@ template("gcc_toolchain") { # actually just be doing a native compile. The invoker can optionally override # use_gold too. template("clang_toolchain") { - if (defined(invoker.toolprefix)) { - toolprefix = invoker.toolprefix - } else { - toolprefix = "" + if (!is_bsd) { + if (defined(invoker.toolprefix)) { + toolprefix = invoker.toolprefix + } else { + toolprefix = "" + } } gcc_toolchain(target_name) { - prefix = rebase_path("$clang_base_path/bin", root_build_dir) - cc = "$prefix/clang" - cxx = "$prefix/clang++" - ld = cxx - readelf = "${toolprefix}readelf" - ar = "${prefix}/llvm-ar" - nm = "${prefix}/llvm-nm" + if (is_bsd) { + prefix = "/usr/local/bin" + cc = "cc" + cxx = "c++" + ld = cxx + readelf = "readelf" + ar = "${prefix}/ar" + nm = "${prefix}/nm" + } else { + prefix = rebase_path("$clang_base_path/bin", root_build_dir) + cc = "$prefix/clang" + cxx = "$prefix/clang++" + ld = cxx + readelf = "${toolprefix}readelf" + ar = "${prefix}/llvm-ar" + nm = "${prefix}/llvm-nm" + } forward_variables_from(invoker, [ diff --git a/www/chromium/files/patch-cc_BUILD.gn b/www/chromium/files/patch-cc_BUILD.gn index 67f4df2ae89e..6016ad192eeb 100644 --- a/www/chromium/files/patch-cc_BUILD.gn +++ b/www/chromium/files/patch-cc_BUILD.gn @@ -1,19 +1,19 @@ ---- cc/BUILD.gn.orig 2021-07-19 18:45:05 UTC +--- cc/BUILD.gn.orig 2021-09-24 04:25:56 UTC +++ cc/BUILD.gn -@@ -642,7 +642,7 @@ cc_test_static_library("test_support") { +@@ -646,7 +646,7 @@ cc_test_static_library("test_support") { if (enable_vulkan) { deps += [ "//gpu/vulkan/init" ] } - if (!is_android) { + if (!is_android && !is_bsd) { data_deps = [ "//third_party/mesa_headers" ] } } -@@ -860,7 +860,6 @@ cc_test("cc_unittests") { +@@ -864,7 +864,6 @@ cc_test("cc_unittests") { ] data_deps = [ "//testing/buildbot/filters:cc_unittests_filters", - "//third_party/mesa_headers", ] if (is_fuchsia) { diff --git a/www/chromium/files/patch-cc_layers_scrollbar__layer__impl__base.cc b/www/chromium/files/patch-cc_layers_scrollbar__layer__impl__base.cc index 1fb0ba72b6da..9b6e8ccff5a8 100644 --- a/www/chromium/files/patch-cc_layers_scrollbar__layer__impl__base.cc +++ b/www/chromium/files/patch-cc_layers_scrollbar__layer__impl__base.cc @@ -1,13 +1,13 @@ ---- cc/layers/scrollbar_layer_impl_base.cc.orig 2021-04-14 18:40:48 UTC +--- cc/layers/scrollbar_layer_impl_base.cc.orig 2021-09-24 04:25:56 UTC +++ cc/layers/scrollbar_layer_impl_base.cc -@@ -219,8 +219,8 @@ gfx::Rect ScrollbarLayerImplBase::ComputeThumbQuadRect +@@ -221,8 +221,8 @@ gfx::Rect ScrollbarLayerImplBase::ComputeThumbQuadRect int thumb_offset = TrackStart(); if (maximum > 0) { float ratio = clamped_current_pos / maximum; - float max_offset = track_length - thumb_length; - thumb_offset += static_cast(ratio * max_offset); + float _max_offset = track_length - thumb_length; + thumb_offset += static_cast(ratio * _max_offset); } float thumb_thickness_adjustment = diff --git a/www/chromium/files/patch-cc_test_layer__tree__test.cc b/www/chromium/files/patch-cc_test_layer__tree__test.cc index 457e67f323fb..89c9b58cb212 100644 --- a/www/chromium/files/patch-cc_test_layer__tree__test.cc +++ b/www/chromium/files/patch-cc_test_layer__tree__test.cc @@ -1,11 +1,11 @@ ---- cc/test/layer_tree_test.cc.orig 2021-07-19 18:45:05 UTC +--- cc/test/layer_tree_test.cc.orig 2021-09-14 01:51:47 UTC +++ cc/test/layer_tree_test.cc -@@ -673,7 +673,7 @@ LayerTreeTest::LayerTreeTest(viz::RendererType rendere +@@ -674,7 +674,7 @@ LayerTreeTest::LayerTreeTest(viz::RendererType rendere init_vulkan = true; } else if (renderer_type_ == viz::RendererType::kSkiaDawn) { scoped_feature_list_.InitAndEnableFeature(features::kSkiaDawn); -#if defined(OS_LINUX) || defined(OS_CHROMEOS) +#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD) init_vulkan = true; #elif defined(OS_WIN) // TODO(rivr): Initialize D3D12 for Windows. diff --git a/www/chromium/files/patch-chrome_BUILD.gn b/www/chromium/files/patch-chrome_BUILD.gn index 22afdb41b250..783da8838ac7 100644 --- a/www/chromium/files/patch-chrome_BUILD.gn +++ b/www/chromium/files/patch-chrome_BUILD.gn @@ -1,13 +1,31 @@ ---- chrome/BUILD.gn.orig 2021-07-19 18:45:05 UTC +--- chrome/BUILD.gn.orig 2021-09-24 04:25:56 UTC +++ chrome/BUILD.gn -@@ -1368,6 +1368,10 @@ group("browser_dependencies") { - public_deps += [ "//chromeos/lacros" ] +@@ -276,7 +276,9 @@ if (!is_android && !is_mac) { + ":xdg_mime", # Needs to be public for installer to consume files. + ] + +- data_deps += [ "//components/crash/core/app:chrome_crashpad_handler" ] ++ if (!is_bsd) { ++ data_deps += [ "//components/crash/core/app:chrome_crashpad_handler" ] ++ } + } + + ldflags = [] +@@ -1366,7 +1368,7 @@ group("browser_dependencies") { + ] } -+ if (is_bsd) { -+ public_deps -= [ "//components/crash/core/app" ] -+ } -+ - if (is_chromeos_ash) { - public_deps += [ - "//ash/constants", +- if (!is_fuchsia) { ++ if (!is_fuchsia && !is_bsd) { + public_deps += [ "//components/crash/core/app" ] + } + +@@ -1686,7 +1688,7 @@ if (enable_resource_allowlist_generation) { + } + + if (is_linux || is_chromeos) { +- if (is_official_build) { ++ if (is_official_build && !is_bsd) { + group("linux_symbols") { + deps = [ + ":angle_egl_symbols", diff --git a/www/chromium/files/patch-chrome_app_BUILD.gn b/www/chromium/files/patch-chrome_app_BUILD.gn index 3b4817c30b95..978ee92ead87 100644 --- a/www/chromium/files/patch-chrome_app_BUILD.gn +++ b/www/chromium/files/patch-chrome_app_BUILD.gn @@ -1,11 +1,11 @@ ---- chrome/app/BUILD.gn.orig 2021-07-19 18:45:06 UTC +--- chrome/app/BUILD.gn.orig 2021-09-24 04:25:56 UTC +++ chrome/app/BUILD.gn -@@ -144,7 +144,7 @@ static_library("test_support") { +@@ -154,7 +154,7 @@ static_library("test_support") { "//v8:v8_headers", ] - if (!is_fuchsia) { + if (!is_fuchsia && !is_bsd) { - # TODO(crbug.com/753619): Enable crash reporting on Fuchsia. + # TODO(crbug.com/1226159): Complete crash reporting integration on Fuchsia. deps += [ "//components/crash/core/app", diff --git a/www/chromium/files/patch-chrome_app_chrome__main.cc b/www/chromium/files/patch-chrome_app_chrome__main.cc index 4889852b2be1..ecce2391064c 100644 --- a/www/chromium/files/patch-chrome_app_chrome__main.cc +++ b/www/chromium/files/patch-chrome_app_chrome__main.cc @@ -1,26 +1,25 @@ ---- chrome/app/chrome_main.cc.orig 2021-07-19 18:45:06 UTC +--- chrome/app/chrome_main.cc.orig 2021-09-24 04:25:56 UTC +++ chrome/app/chrome_main.cc -@@ -22,7 +22,7 @@ - #include "chrome/app/chrome_main_mac.h" +@@ -25,7 +25,7 @@ + #include "chrome/app/notification_metrics.h" #endif -#if defined(OS_WIN) || defined(OS_LINUX) +#if defined(OS_WIN) || defined(OS_LINUX) || defined(OS_BSD) #include "base/base_switches.h" #endif -@@ -133,12 +133,12 @@ int ChromeMain(int argc, const char** argv) { - MainThreadStackSamplingProfiler scoped_sampling_profiler; - - // Chrome-specific process modes. +@@ -145,11 +145,11 @@ int ChromeMain(int argc, const char** argv) { + if (headless::IsChromeNativeHeadless()) { + headless::SetUpCommandLine(command_line); + } else { -#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_MAC) || \ +#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_MAC) || defined(OS_BSD) || \ defined(OS_WIN) - if (command_line->HasSwitch(switches::kHeadless)) { - return headless::HeadlessShellMain(params); - } + if (command_line->HasSwitch(switches::kHeadless)) + return headless::HeadlessShellMain(params); -#endif // defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_MAC) || +#endif // defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_MAC) || defined(OS_BSD) || // defined(OS_WIN) + } - #if defined(OS_LINUX) diff --git a/www/chromium/files/patch-chrome_app_chrome__main__delegate.cc b/www/chromium/files/patch-chrome_app_chrome__main__delegate.cc index fb37b2702fef..ff6ba275fcfe 100644 --- a/www/chromium/files/patch-chrome_app_chrome__main__delegate.cc +++ b/www/chromium/files/patch-chrome_app_chrome__main__delegate.cc @@ -1,170 +1,184 @@ ---- chrome/app/chrome_main_delegate.cc.orig 2021-07-19 18:45:06 UTC +--- chrome/app/chrome_main_delegate.cc.orig 2021-10-01 01:36:38 UTC +++ chrome/app/chrome_main_delegate.cc -@@ -150,12 +150,12 @@ +@@ -153,15 +153,17 @@ #include "v8/include/v8.h" #endif -#if defined(OS_LINUX) || defined(OS_CHROMEOS) +#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD) #include "base/environment.h" #endif #if defined(OS_MAC) || defined(OS_WIN) || defined(OS_ANDROID) || \ - defined(OS_LINUX) || defined(OS_CHROMEOS) + defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD) #include "chrome/browser/policy/policy_path_parser.h" ++#if !defined(OS_BSD) #include "components/crash/core/app/crashpad.h" #endif -@@ -259,7 +259,7 @@ void SetUpExtendedCrashReporting(bool is_browser_proce ++#endif + + #if BUILDFLAG(ENABLE_NACL) + #include "components/nacl/common/nacl_switches.h" +@@ -265,7 +267,7 @@ void SetUpExtendedCrashReporting(bool is_browser_proce #endif // defined(OS_WIN) -#if defined(OS_LINUX) || defined(OS_CHROMEOS) +#if (defined(OS_LINUX) || defined(OS_CHROMEOS)) void AdjustLinuxOOMScore(const std::string& process_type) { int score = -1; -@@ -294,7 +294,7 @@ void AdjustLinuxOOMScore(const std::string& process_ty +@@ -300,7 +302,7 @@ void AdjustLinuxOOMScore(const std::string& process_ty if (score > -1) base::AdjustOOMScore(base::GetCurrentProcId(), score); } -#endif // defined(OS_LINUX) || defined(OS_CHROMEOS) +#endif // (defined(OS_LINUX) || defined(OS_CHROMEOS)) // Returns true if this subprocess type needs the ResourceBundle initialized // and resources loaded. -@@ -340,7 +340,7 @@ bool HandleVersionSwitches(const base::CommandLine& co +@@ -346,7 +348,7 @@ bool HandleVersionSwitches(const base::CommandLine& co // TODO(crbug.com/1052397): Revisit the macro expression once build flag switch // of lacros-chrome is complete. -#if defined(OS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS) +#if defined(OS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS) || defined(OS_BSD) // Show the man page if --help or -h is on the command line. void HandleHelpSwitches(const base::CommandLine& command_line) { if (command_line.HasSwitch(switches::kHelp) || -@@ -350,7 +350,7 @@ void HandleHelpSwitches(const base::CommandLine& comma +@@ -356,7 +358,7 @@ void HandleHelpSwitches(const base::CommandLine& comma PLOG(FATAL) << "execlp failed"; } } -#endif // defined(OS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS) +#endif // defined(OS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS) || defined(OS_BSD) #if !defined(OS_MAC) && !defined(OS_ANDROID) void SIGTERMProfilingShutdown(int signal) { -@@ -404,7 +404,7 @@ void InitializeUserDataDir(base::CommandLine* command_ +@@ -410,7 +412,7 @@ void InitializeUserDataDir(base::CommandLine* command_ std::string process_type = command_line->GetSwitchValueASCII(switches::kProcessType); -#if defined(OS_LINUX) || defined(OS_CHROMEOS) +#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD) // On Linux, Chrome does not support running multiple copies under different // DISPLAYs, so the profile directory can be specified in the environment to // support the virtual desktop use-case. -@@ -416,7 +416,7 @@ void InitializeUserDataDir(base::CommandLine* command_ +@@ -422,7 +424,7 @@ void InitializeUserDataDir(base::CommandLine* command_ user_data_dir = base::FilePath::FromUTF8Unsafe(user_data_dir_string); } } -#endif // defined(OS_LINUX) || defined(OS_CHROMEOS) +#endif // defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD) #if defined(OS_MAC) policy::path_parser::CheckUserDataDirPolicy(&user_data_dir); #endif // OS_MAC -@@ -487,7 +487,7 @@ void RecordMainStartupMetrics(base::TimeTicks applicat +@@ -493,7 +495,7 @@ void RecordMainStartupMetrics(base::TimeTicks applicat startup_metric_utils::RecordApplicationStartTime(now); #endif -#if defined(OS_MAC) || defined(OS_WIN) || defined(OS_LINUX) || \ +#if defined(OS_MAC) || defined(OS_WIN) || defined(OS_LINUX) || defined(OS_BSD) || \ defined(OS_CHROMEOS) // Record the startup process creation time on supported platforms. On Android // this is recorded in ChromeMainDelegateAndroid. -@@ -739,7 +739,7 @@ bool ChromeMainDelegate::BasicStartupComplete(int* exi +@@ -673,6 +675,8 @@ void ChromeMainDelegate::PostFieldTrialInitialization( + // not always enabled on Linux/ChromeOS. + #if defined(OS_LINUX) || defined(OS_CHROMEOS) + bool enable_gwp_asan = crash_reporter::IsCrashpadEnabled(); ++#elif defined(OS_BSD) ++ bool enable_gwp_asan = false; + #else + bool enable_gwp_asan = true; + #endif +@@ -781,7 +785,7 @@ bool ChromeMainDelegate::BasicStartupComplete(int* exi v8_crashpad_support::SetUp(); #endif -#if defined(OS_LINUX) || defined(OS_CHROMEOS) +#if (defined(OS_LINUX) || defined(OS_CHROMEOS)) if (!crash_reporter::IsCrashpadEnabled()) { breakpad::SetFirstChanceExceptionHandler(v8::TryHandleWebAssemblyTrapPosix); } -@@ -752,7 +752,7 @@ bool ChromeMainDelegate::BasicStartupComplete(int* exi +@@ -794,7 +798,7 @@ bool ChromeMainDelegate::BasicStartupComplete(int* exi } // TODO(crbug.com/1052397): Revisit the macro expression once build flag switch // of lacros-chrome is complete. -#if defined(OS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS) +#if defined(OS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS) || defined(OS_BSD) // This will directly exit if the user asked for help. HandleHelpSwitches(command_line); #endif -@@ -961,7 +961,7 @@ void ChromeMainDelegate::PreSandboxStartup() { +@@ -1005,7 +1009,7 @@ void ChromeMainDelegate::PreSandboxStartup() { crash_reporter::InitializeCrashKeys(); -#if defined(OS_POSIX) +#if defined(OS_POSIX) && !defined(OS_BSD) ChromeCrashReporterClient::Create(); #endif -@@ -974,7 +974,7 @@ void ChromeMainDelegate::PreSandboxStartup() { +@@ -1018,7 +1022,7 @@ void ChromeMainDelegate::PreSandboxStartup() { child_process_logging::Init(); #endif #if defined(ARCH_CPU_ARM_FAMILY) && \ - (defined(OS_ANDROID) || defined(OS_LINUX) || defined(OS_CHROMEOS)) + (defined(OS_ANDROID) || defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD)) // Create an instance of the CPU class to parse /proc/cpuinfo and cache // cpu_brand info. base::CPU cpu_info; -@@ -1092,7 +1092,7 @@ void ChromeMainDelegate::PreSandboxStartup() { +@@ -1136,7 +1140,7 @@ void ChromeMainDelegate::PreSandboxStartup() { locale; } -#if defined(OS_POSIX) && !defined(OS_MAC) +#if defined(OS_POSIX) && !defined(OS_MAC) && !defined(OS_BSD) // Zygote needs to call InitCrashReporter() in RunZygote(). if (process_type != switches::kZygoteProcess) { #if defined(OS_ANDROID) -@@ -1113,7 +1113,7 @@ void ChromeMainDelegate::PreSandboxStartup() { +@@ -1157,7 +1161,7 @@ void ChromeMainDelegate::PreSandboxStartup() { } #endif // defined(OS_ANDROID) } -#endif // defined(OS_POSIX) && !defined(OS_MAC) +#endif // defined(OS_POSIX) && !defined(OS_MAC) && !defined(OS_BSD) #if defined(OS_ANDROID) CHECK_EQ(base::android::GetLibraryProcessType(), -@@ -1133,7 +1133,7 @@ void ChromeMainDelegate::PreSandboxStartup() { +@@ -1177,7 +1181,7 @@ void ChromeMainDelegate::PreSandboxStartup() { void ChromeMainDelegate::SandboxInitialized(const std::string& process_type) { // Note: If you are adding a new process type below, be sure to adjust the // AdjustLinuxOOMScore function too. -#if defined(OS_LINUX) || defined(OS_CHROMEOS) +#if (defined(OS_LINUX) || defined(OS_CHROMEOS)) AdjustLinuxOOMScore(process_type); #endif #if defined(OS_WIN) -@@ -1175,7 +1175,7 @@ int ChromeMainDelegate::RunProcess( +@@ -1219,7 +1223,7 @@ int ChromeMainDelegate::RunProcess( // This entry is not needed on Linux, where the NaCl loader // process is launched via nacl_helper instead. -#if BUILDFLAG(ENABLE_NACL) && !defined(OS_LINUX) && !defined(OS_CHROMEOS) +#if BUILDFLAG(ENABLE_NACL) && !defined(OS_LINUX) && !defined(OS_CHROMEOS) && !defined(OS_BSD) {switches::kNaClLoaderProcess, NaClMain}, #else {"", nullptr}, // To avoid constant array of size 0 -@@ -1203,7 +1203,7 @@ void ChromeMainDelegate::ProcessExiting(const std::str +@@ -1247,7 +1251,7 @@ void ChromeMainDelegate::ProcessExiting(const std::str #endif // !defined(OS_ANDROID) } -#if defined(OS_LINUX) || defined(OS_CHROMEOS) +#if (defined(OS_LINUX) || defined(OS_CHROMEOS)) void ChromeMainDelegate::ZygoteStarting( std::vector>* delegates) { #if BUILDFLAG(IS_CHROMEOS_ASH) -@@ -1240,7 +1240,7 @@ void ChromeMainDelegate::ZygoteForked() { +@@ -1284,7 +1288,7 @@ void ChromeMainDelegate::ZygoteForked() { crash_keys::SetCrashKeysFromCommandLine(*command_line); } -#endif // defined(OS_LINUX) || defined(OS_CHROMEOS) +#endif // (defined(OS_LINUX) || defined(OS_CHROMEOS)) content::ContentClient* ChromeMainDelegate::CreateContentClient() { return &chrome_content_client_; diff --git a/www/chromium/files/patch-chrome_app_chromium__strings.grd b/www/chromium/files/patch-chrome_app_chromium__strings.grd index 31731424cfaa..04962e0934d7 100644 --- a/www/chromium/files/patch-chrome_app_chromium__strings.grd +++ b/www/chromium/files/patch-chrome_app_chromium__strings.grd @@ -1,20 +1,20 @@ ---- chrome/app/chromium_strings.grd.orig 2021-07-19 18:45:06 UTC +--- chrome/app/chromium_strings.grd.orig 2021-09-14 01:51:48 UTC +++ chrome/app/chromium_strings.grd @@ -722,7 +722,7 @@ Chromium is unable to recover your settings. - + Your system administrator has configured Chromium to open an alternative browser to access $1example.com. -@@ -852,7 +852,7 @@ Chromium is unable to recover your settings. +@@ -846,7 +846,7 @@ Chromium is unable to recover your settings. - + The profile appears to be in use by another Chromium process ($112345) on another computer ($2example.com). Chromium has locked the profile so that it doesn't get corrupted. If you are sure no other processes are using this profile, you can unlock the profile and relaunch Chromium. diff --git a/www/chromium/files/patch-chrome_app_generated__resources.grd b/www/chromium/files/patch-chrome_app_generated__resources.grd index 1f8f577b74a5..8ad7bfd4f70f 100644 --- a/www/chromium/files/patch-chrome_app_generated__resources.grd +++ b/www/chromium/files/patch-chrome_app_generated__resources.grd @@ -1,38 +1,38 @@ ---- chrome/app/generated_resources.grd.orig 2021-07-19 18:45:06 UTC +--- chrome/app/generated_resources.grd.orig 2021-09-24 04:25:56 UTC +++ chrome/app/generated_resources.grd -@@ -293,7 +293,7 @@ are declared in tools/grit/grit_rule.gni. - - - +@@ -296,7 +296,7 @@ are declared in tools/grit/grit_rule.gni. + + + - + - + -@@ -5298,7 +5298,7 @@ Keep your key file in a safe place. You will need it t +@@ -5453,7 +5453,7 @@ Keep your key file in a safe place. You will need it t - + Legacy Browser Support -@@ -7480,7 +7480,7 @@ Keep your key file in a safe place. You will need it t +@@ -7731,7 +7731,7 @@ Keep your key file in a safe place. You will need it t Google Pay - + Use system title bar and borders -@@ -8502,7 +8502,7 @@ Please help our engineers fix this problem. Tell us wh +@@ -8795,7 +8795,7 @@ Please help our engineers fix this problem. Tell us wh Set as default - + Minimize diff --git a/www/chromium/files/patch-chrome_app_google__chrome__strings.grd b/www/chromium/files/patch-chrome_app_google__chrome__strings.grd index 2e3f2994043e..1ffb5c52bc32 100644 --- a/www/chromium/files/patch-chrome_app_google__chrome__strings.grd +++ b/www/chromium/files/patch-chrome_app_google__chrome__strings.grd @@ -1,20 +1,20 @@ ---- chrome/app/google_chrome_strings.grd.orig 2021-07-19 18:45:06 UTC +--- chrome/app/google_chrome_strings.grd.orig 2021-09-14 01:51:48 UTC +++ chrome/app/google_chrome_strings.grd @@ -730,7 +730,7 @@ Google Chrome is unable to recover your settings. - + Your system administrator has configured Google Chrome to open an alternative browser to access $1example.com. -@@ -860,7 +860,7 @@ Google Chrome is unable to recover your settings. +@@ -854,7 +854,7 @@ Google Chrome is unable to recover your settings. - + The profile appears to be in use by another Google Chrome process ($112345) on another computer ($2example.com). Chrome has locked the profile so that it doesn't get corrupted. If you are sure no other processes are using this profile, you can unlock the profile and relaunch Chrome. diff --git a/www/chromium/files/patch-chrome_app_profiles__strings.grdp b/www/chromium/files/patch-chrome_app_profiles__strings.grdp index a184ddf245a6..55fff4ccbc26 100644 --- a/www/chromium/files/patch-chrome_app_profiles__strings.grdp +++ b/www/chromium/files/patch-chrome_app_profiles__strings.grdp @@ -1,11 +1,11 @@ ---- chrome/app/profiles_strings.grdp.orig 2021-07-19 18:45:06 UTC +--- chrome/app/profiles_strings.grdp.orig 2021-09-14 01:51:48 UTC +++ chrome/app/profiles_strings.grdp -@@ -78,7 +78,7 @@ +@@ -69,7 +69,7 @@ Add Profile... - + Add profile... diff --git a/www/chromium/files/patch-chrome_app_settings__strings.grdp b/www/chromium/files/patch-chrome_app_settings__strings.grdp index fe05c6f9aa33..e0be89211d5f 100644 --- a/www/chromium/files/patch-chrome_app_settings__strings.grdp +++ b/www/chromium/files/patch-chrome_app_settings__strings.grdp @@ -1,20 +1,20 @@ ---- chrome/app/settings_strings.grdp.orig 2021-05-12 22:05:42 UTC +--- chrome/app/settings_strings.grdp.orig 2021-10-08 06:25:37 UTC +++ chrome/app/settings_strings.grdp @@ -123,7 +123,7 @@ Theme - + GTK+ @@ -137,7 +137,7 @@ Use Classic -- -+ +- ++ Reset to default diff --git a/www/chromium/files/patch-chrome_app_shutdown__signal__handlers__posix.cc b/www/chromium/files/patch-chrome_app_shutdown__signal__handlers__posix.cc deleted file mode 100644 index 8ca6abaeb397..000000000000 --- a/www/chromium/files/patch-chrome_app_shutdown__signal__handlers__posix.cc +++ /dev/null @@ -1,21 +0,0 @@ ---- chrome/app/shutdown_signal_handlers_posix.cc.orig 2021-04-14 18:40:52 UTC -+++ chrome/app/shutdown_signal_handlers_posix.cc -@@ -186,12 +186,18 @@ void InstallShutdownSignalHandlers( - g_pipe_pid = getpid(); - g_shutdown_pipe_read_fd = pipefd[0]; - g_shutdown_pipe_write_fd = pipefd[1]; -+#if defined(OS_BSD) -+ // PTHREAD_STACK_MIN causes chromium to crash under FreeBSD, -+ // we request the default pthread stack size by specifying 0 here. -+ const size_t kShutdownDetectorThreadStackSize = 0; -+#else - #if !defined(ADDRESS_SANITIZER) - const size_t kShutdownDetectorThreadStackSize = PTHREAD_STACK_MIN * 2; - #else - // ASan instrumentation bloats the stack frames, so we need to increase the - // stack size to avoid hitting the guard page. - const size_t kShutdownDetectorThreadStackSize = PTHREAD_STACK_MIN * 4; -+#endif - #endif - ShutdownDetector* detector = new ShutdownDetector( - g_shutdown_pipe_read_fd, std::move(shutdown_callback), task_runner); diff --git a/www/chromium/files/patch-chrome_browser_BUILD.gn b/www/chromium/files/patch-chrome_browser_BUILD.gn index 281afe26f2d2..8f33e4de17c7 100644 --- a/www/chromium/files/patch-chrome_browser_BUILD.gn +++ b/www/chromium/files/patch-chrome_browser_BUILD.gn @@ -1,50 +1,49 @@ ---- chrome/browser/BUILD.gn.orig 2021-07-19 18:45:07 UTC +--- chrome/browser/BUILD.gn.orig 2021-09-24 04:25:57 UTC +++ chrome/browser/BUILD.gn -@@ -2456,9 +2456,18 @@ static_library("browser") { +@@ -2458,9 +2458,18 @@ static_library("browser") { deps += [ "//chromeos/services/libassistant/public/mojom" ] } } - if (is_linux || is_chromeos) { + if ((is_linux || is_chromeos) && !is_bsd) { deps += [ "//chrome/browser/error_reporting" ] } + if (is_bsd) { + sources -= [ + "crash_upload_list/crash_upload_list.cc", + "crash_upload_list/crash_upload_list.h", + ] + deps -= [ + "//components/crash/core/browser", + ] + } if (use_ozone) { deps += [ "//ui/events/ozone", -@@ -5310,6 +5319,18 @@ static_library("browser") { - } +@@ -5515,6 +5524,17 @@ static_library("browser") { + ] } + if (is_bsd) { + sources -= [ + "enterprise/signals/device_info_fetcher_linux.cc", + "enterprise/signals/device_info_fetcher_linux.h", + ] + sources += [ + "enterprise/signals/device_info_fetcher_freebsd.cc", + "enterprise/signals/device_info_fetcher_freebsd.h", + ] + } + -+ - if (is_posix || is_fuchsia) { - deps += [ "//chrome/app:shutdown_signal_handlers" ] - } -@@ -5468,7 +5489,7 @@ static_library("browser") { + if (is_posix) { + sources += [ + "shutdown_signal_handlers_posix.cc", +@@ -5675,7 +5695,7 @@ static_library("browser") { ] } - if (is_posix && !is_mac) { + if (is_posix && !is_mac && !is_bsd) { - # TODO(crbug.com / 753619): Enable crash reporting on Fuchsia. + # TODO(crbug.com/1226159): Complete crash reporting integration on Fuchsia. sources += [ "//chrome/app/chrome_crash_reporter_client.cc", diff --git a/www/chromium/files/patch-chrome_browser_about__flags.cc b/www/chromium/files/patch-chrome_browser_about__flags.cc index 0486e7a5451e..d077386236b6 100644 --- a/www/chromium/files/patch-chrome_browser_about__flags.cc +++ b/www/chromium/files/patch-chrome_browser_about__flags.cc @@ -1,219 +1,208 @@ ---- chrome/browser/about_flags.cc.orig 2021-07-21 14:11:02 UTC +--- chrome/browser/about_flags.cc.orig 2021-09-24 04:25:57 UTC +++ chrome/browser/about_flags.cc -@@ -192,7 +192,7 @@ +@@ -195,7 +195,7 @@ #include "ui/gl/gl_switches.h" #include "ui/native_theme/native_theme_features.h" -#if defined(OS_LINUX) || defined(OS_CHROMEOS) +#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD) #include "base/allocator/buildflags.h" #endif -@@ -992,7 +992,7 @@ const FeatureEntry::FeatureVariation kMemoriesVariatio - nullptr, - }}; +@@ -966,7 +966,7 @@ const FeatureEntry::FeatureVariation kMemoriesVariatio + base::size(kMemoryVariationRemote), nullptr}, + }; -#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_MAC) || \ +#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_MAC) || defined(OS_BSD) || \ defined(OS_WIN) const FeatureEntry::FeatureParam kOmniboxDocumentProviderServerScoring[] = { {"DocumentUseServerScore", "true"}, -@@ -1263,7 +1263,7 @@ const FeatureEntry::FeatureVariation kOmniboxBookmarkP - nullptr, - }, - }; +@@ -1164,7 +1164,7 @@ const FeatureEntry::FeatureVariation kOmniboxBookmarkP + {"Dynamic Replace URL (Title - Path|URL)", + kOmniboxBookmarkPathsDynamicReplaceUrl, + base::size(kOmniboxBookmarkPathsDynamicReplaceUrl), nullptr}}; -#endif // defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_MAC) || +#endif // defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_MAC) || defined(OS_BSD) || // defined(OS_WIN) const FeatureEntry::FeatureVariation -@@ -3151,7 +3151,7 @@ const FeatureEntry kFeatureEntries[] = { +@@ -3131,7 +3131,7 @@ const FeatureEntry kFeatureEntries[] = { FEATURE_VALUE_TYPE(media::kDeprecateLowUsageCodecs)}, #endif // defined(OS_CHROMEOS) -#if defined(OS_LINUX) +#if defined(OS_LINUX) || defined(OS_BSD) { "enable-accelerated-video-decode", flag_descriptions::kAcceleratedVideoDecodeName, -@@ -3169,7 +3169,7 @@ const FeatureEntry kFeatureEntries[] = { +@@ -3149,7 +3149,7 @@ const FeatureEntry kFeatureEntries[] = { kOsMac | kOsWin | kOsCrOS | kOsAndroid | kOsLinux, SINGLE_DISABLE_VALUE_TYPE(switches::kDisableAcceleratedVideoDecode), }, -#endif // defined(OS_LINUX) +#endif // defined(OS_LINUX) || defined(OS_BSD) { "disable-accelerated-video-encode", flag_descriptions::kAcceleratedVideoEncodeName, -@@ -3510,7 +3510,7 @@ const FeatureEntry kFeatureEntries[] = { +@@ -3511,7 +3511,7 @@ const FeatureEntry kFeatureEntries[] = { {"enable-login-detection", flag_descriptions::kEnableLoginDetectionName, flag_descriptions::kEnableLoginDetectionDescription, kOsAll, FEATURE_VALUE_TYPE(login_detection::kLoginDetection)}, -#if defined(OS_CHROMEOS) || defined(OS_LINUX) +#if defined(OS_CHROMEOS) || defined(OS_LINUX) || defined(OS_BSD) {"enable-save-data", flag_descriptions::kEnableSaveDataName, flag_descriptions::kEnableSaveDataDescription, kOsCrOS | kOsLinux, SINGLE_VALUE_TYPE( -@@ -3520,7 +3520,7 @@ const FeatureEntry kFeatureEntries[] = { +@@ -3521,7 +3521,7 @@ const FeatureEntry kFeatureEntries[] = { flag_descriptions::kEnableNavigationPredictorDescription, kOsCrOS | kOsLinux, FEATURE_VALUE_TYPE(blink::features::kNavigationPredictor)}, -#endif // BUILDFLAG(IS_CHROMEOS_ASH) || OS_LINUX +#endif // BUILDFLAG(IS_CHROMEOS_ASH) || OS_LINUX || OS_BSD {"enable-preconnect-to-search", flag_descriptions::kEnablePreconnectToSearchName, flag_descriptions::kEnablePreconnectToSearchDescription, kOsAll, -@@ -4346,7 +4346,7 @@ const FeatureEntry kFeatureEntries[] = { +@@ -4326,7 +4326,7 @@ const FeatureEntry kFeatureEntries[] = { kOsAll, FEATURE_VALUE_TYPE(omnibox::kOmniboxTrendingZeroPrefixSuggestionsOnNTP)}, -#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_MAC) || \ +#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_MAC) || defined(OS_BSD) || \ defined(OS_WIN) {"omnibox-experimental-keyword-mode", flag_descriptions::kOmniboxExperimentalKeywordModeName, -@@ -4443,7 +4443,7 @@ const FeatureEntry kFeatureEntries[] = { - flag_descriptions::kOmniboxKeywordSpaceTriggeringSettingName, - flag_descriptions::kOmniboxKeywordSpaceTriggeringSettingDescription, - kOsDesktop, FEATURE_VALUE_TYPE(omnibox::kKeywordSpaceTriggeringSetting)}, +@@ -4438,7 +4438,7 @@ const FeatureEntry kFeatureEntries[] = { + flag_descriptions::kOmniboxPreserveLongerShortcutsTextName, + flag_descriptions::kOmniboxPreserveLongerShortcutsTextDescription, + kOsDesktop, FEATURE_VALUE_TYPE(omnibox::kPreserveLongerShortcutsText)}, -#endif // defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_MAC) || +#endif // defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_MAC) || defined(OS_BSD) || // defined(OS_WIN) #if BUILDFLAG(IS_CHROMEOS_ASH) -@@ -4721,7 +4721,7 @@ const FeatureEntry kFeatureEntries[] = { +@@ -4707,12 +4707,12 @@ const FeatureEntry kFeatureEntries[] = { FEATURE_VALUE_TYPE(chrome::android::kReaderModeInCCT)}, #endif // !defined(OS_ANDROID) -#if defined(OS_WIN) || defined(OS_MAC) || defined(OS_LINUX) || \ +#if defined(OS_WIN) || defined(OS_MAC) || defined(OS_LINUX) || defined(OS_BSD) || \ defined(OS_CHROMEOS) - {"direct-manipulation-stylus", - flag_descriptions::kDirectManipulationStylusName, -@@ -4732,7 +4732,7 @@ const FeatureEntry kFeatureEntries[] = { {"webui-feedback", flag_descriptions::kWebuiFeedbackName, flag_descriptions::kWebuiFeedbackDescription, kOsDesktop, FEATURE_VALUE_TYPE(features::kWebUIFeedback)}, -#endif // defined(OS_WIN) || defined(OS_MAC) || defined(OS_LINUX) || +#endif // defined(OS_WIN) || defined(OS_MAC) || defined(OS_LINUX) || defined(OS_BSD) || // defined(OS_CHROMEOS) #if !defined(OS_ANDROID) -@@ -5373,7 +5373,7 @@ const FeatureEntry kFeatureEntries[] = { - kSharingDeviceExpirationVariations, - "SharingDeviceExpiration")}, +@@ -5322,7 +5322,7 @@ const FeatureEntry kFeatureEntries[] = { + flag_descriptions::kSharingSendViaSyncDescription, kOsAll, + FEATURE_VALUE_TYPE(kSharingSendViaSync)}, -#if defined(OS_WIN) || defined(OS_MAC) || defined(OS_LINUX) +#if defined(OS_WIN) || defined(OS_MAC) || defined(OS_LINUX) || defined(OS_BSD) {"sharing-hub-desktop-app-menu", flag_descriptions::kSharingHubDesktopAppMenuName, flag_descriptions::kSharingHubDesktopAppMenuDescription, kOsDesktop, -@@ -5382,7 +5382,7 @@ const FeatureEntry kFeatureEntries[] = { +@@ -5331,7 +5331,7 @@ const FeatureEntry kFeatureEntries[] = { flag_descriptions::kSharingHubDesktopOmniboxName, flag_descriptions::kSharingHubDesktopOmniboxDescription, kOsDesktop, FEATURE_VALUE_TYPE(sharing_hub::kSharingHubDesktopOmnibox)}, -#endif // defined(OS_WIN) || defined(OS_MAC) || defined(OS_LINUX) +#endif // defined(OS_WIN) || defined(OS_MAC) || defined(OS_LINUX) || defined(OS_BSD) #if BUILDFLAG(IS_CHROMEOS_ASH) {"ash-enable-pip-rounded-corners", -@@ -5856,7 +5856,7 @@ const FeatureEntry kFeatureEntries[] = { +@@ -5805,7 +5805,7 @@ const FeatureEntry kFeatureEntries[] = { flag_descriptions::kMouseSubframeNoImplicitCaptureDescription, kOsAll, FEATURE_VALUE_TYPE(features::kMouseSubframeNoImplicitCapture)}, -#if defined(OS_WIN) || defined(OS_MAC) || defined(OS_LINUX) || \ +#if defined(OS_WIN) || defined(OS_MAC) || defined(OS_LINUX) || defined(OS_BSD) || \ defined(OS_CHROMEOS) {"global-media-controls", flag_descriptions::kGlobalMediaControlsName, flag_descriptions::kGlobalMediaControlsDescription, -@@ -5897,7 +5897,7 @@ const FeatureEntry kFeatureEntries[] = { +@@ -5846,7 +5846,7 @@ const FeatureEntry kFeatureEntries[] = { flag_descriptions::kGlobalMediaControlsOverlayControlsDescription, kOsWin | kOsMac | kOsLinux, FEATURE_VALUE_TYPE(media::kGlobalMediaControlsOverlayControls)}, -#endif // defined(OS_WIN) || defined(OS_MAC) || defined(OS_LINUX) || +#endif // defined(OS_WIN) || defined(OS_MAC) || defined(OS_LINUX) || defined(OS_BSD) || // defined(OS_CHROMEOS) - #if BUILDFLAG(ENABLE_SPELLCHECK) && defined(OS_WIN) -@@ -6089,7 +6089,7 @@ const FeatureEntry kFeatureEntries[] = { - kPasswordsAccountStorageVariations, - "ButterForPasswords")}, - --#if defined(OS_WIN) || defined(OS_MAC) || defined(OS_LINUX) || \ -+#if defined(OS_WIN) || defined(OS_MAC) || defined(OS_LINUX) || defined(OS_BSD) || \ - defined(OS_CHROMEOS) - {"passwords-account-storage-iph", - flag_descriptions::kEnablePasswordsAccountStorageIPHName, -@@ -6097,7 +6097,7 @@ const FeatureEntry kFeatureEntries[] = { - kOsWin | kOsMac | kOsLinux, - FEATURE_VALUE_TYPE( - feature_engagement::kIPHPasswordsAccountStorageFeature)}, --#endif // defined(OS_WIN) || defined(OS_MAC) || defined(OS_LINUX) || -+#endif // defined(OS_WIN) || defined(OS_MAC) || defined(OS_LINUX) || defined(OS_BSD) || - // defined(OS_CHROMEOS) - - {"autofill-always-return-cloud-tokenized-card", -@@ -6701,7 +6701,7 @@ const FeatureEntry kFeatureEntries[] = { - FEATURE_VALUE_TYPE(features::kIncognitoBrandConsistencyForAndroid)}, + {"safety-tips", flag_descriptions::kSafetyTipName, +@@ -6648,7 +6648,7 @@ const FeatureEntry kFeatureEntries[] = { + FEATURE_VALUE_TYPE(features::kIncognitoReauthenticationForAndroid)}, #endif -#if defined(OS_MAC) || defined(OS_WIN) || defined(OS_LINUX) || \ +#if defined(OS_MAC) || defined(OS_WIN) || defined(OS_LINUX) || defined(OS_BSD) || \ - defined(OS_CHROMEOS) + defined(OS_CHROMEOS) || defined(OS_FUCHSIA) {"incognito-brand-consistency-for-desktop", flag_descriptions::kIncognitoBrandConsistencyForDesktopName, -@@ -6806,7 +6806,7 @@ const FeatureEntry kFeatureEntries[] = { - FEATURE_VALUE_TYPE(language::kDetailedLanguageSettings)}, +@@ -6667,7 +6667,7 @@ const FeatureEntry kFeatureEntries[] = { + flag_descriptions::kInheritNativeThemeFromParentWidgetDescription, + kOsDesktop, + FEATURE_VALUE_TYPE(views::features::kInheritNativeThemeFromParentWidget)}, +-#endif // defined(OS_MAC) || defined(OS_WIN) || defined(OS_LINUX) || ++#endif // defined(OS_MAC) || defined(OS_WIN) || defined(OS_LINUX) || defined(OS_BSD) || + // defined(OS_CHROMEOS) || defined(OS_FUCHSIA) + + {"content-settings-redesign", +@@ -6778,7 +6778,7 @@ const FeatureEntry kFeatureEntries[] = { + FEATURE_VALUE_TYPE(language::kForceAppLanguagePrompt)}, #endif -#if defined(OS_WIN) || defined(OS_MAC) || defined(OS_LINUX) +#if defined(OS_WIN) || defined(OS_MAC) || defined(OS_LINUX) || defined(OS_BSD) {"commander", flag_descriptions::kCommanderName, flag_descriptions::kCommanderDescription, kOsDesktop, FEATURE_VALUE_TYPE(features::kCommander)}, -@@ -6835,8 +6835,8 @@ const FeatureEntry kFeatureEntries[] = { +@@ -6805,8 +6805,8 @@ const FeatureEntry kFeatureEntries[] = { flag_descriptions::kSyncAutofillWalletOfferDataDescription, kOsAll, FEATURE_VALUE_TYPE(switches::kSyncAutofillWalletOfferData)}, -#if (defined(OS_WIN) || defined(OS_MAC) || defined(OS_LINUX) || \ - defined(OS_CHROMEOS)) && \ +#if (defined(OS_WIN) || defined(OS_MAC) || defined(OS_LINUX) || defined(OS_BSD) || \ + defined(OS_CHROMEOS)) && \ BUILDFLAG(ENABLE_PRINTING) {"enable-oop-print-drivers", flag_descriptions::kEnableOopPrintDriversName, flag_descriptions::kEnableOopPrintDriversDescription, kOsDesktop, -@@ -6855,14 +6855,14 @@ const FeatureEntry kFeatureEntries[] = { - - // TODO(crbug.com/1052397): Revisit the macro expression once build flag switch - // of lacros-chrome is complete. --#if defined(OS_WIN) || (defined(OS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS)) || \ -+#if defined(OS_WIN) || (defined(OS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS)) || defined(OS_BSD) || \ - defined(OS_MAC) - {"enable-ephemeral-guest-profiles-on-desktop", - flag_descriptions::kEnableEphemeralGuestProfilesOnDesktopName, - flag_descriptions::kEnableEphemeralGuestProfilesOnDesktopDescription, - kOsWin | kOsLinux | kOsMac, - FEATURE_VALUE_TYPE(features::kEnableEphemeralGuestProfilesOnDesktop)}, --#endif // defined(OS_WIN) || (defined(OS_LINUX) || -+#endif // defined(OS_WIN) || (defined(OS_LINUX) || defined(OS_BSD) || - // BUILDFLAG(IS_CHROMEOS_LACROS)) || defined(OS_MAC) - - #if defined(OS_ANDROID) -@@ -7148,7 +7148,7 @@ const FeatureEntry kFeatureEntries[] = { - FEATURE_VALUE_TYPE(media::kVaapiAV1Decoder)}, - #endif // defined(OS_CHROMEOS) +@@ -7091,7 +7091,7 @@ const FeatureEntry kFeatureEntries[] = { + FEATURE_VALUE_TYPE(media::kVaapiVp9kSVCHWEncoding)}, + #endif // defined(ARCH_CPU_X86_FAMILY) && BUILDFLAG(IS_CHROMEOS_ASH) -#if defined(OS_WIN) || (defined(OS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS)) || \ +#if defined(OS_WIN) || (defined(OS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS)) || defined(OS_BSD) || \ defined(OS_MAC) { "ui-debug-tools", -@@ -7225,7 +7225,7 @@ const FeatureEntry kFeatureEntries[] = { +@@ -7181,7 +7181,7 @@ const FeatureEntry kFeatureEntries[] = { FEATURE_VALUE_TYPE(metrics::structured::kBluetoothSessionizedMetrics)}, #endif -#if defined(OS_LINUX) && defined(USE_OZONE) +#if (defined(OS_LINUX) || defined(OS_BSD)) && defined(USE_OZONE) {"use-ozone-platform", flag_descriptions::kUseOzonePlatformName, flag_descriptions::kUseOzonePlatformDescription, kOsLinux, FEATURE_VALUE_TYPE(features::kUseOzonePlatform)}, +@@ -7224,7 +7224,7 @@ const FeatureEntry kFeatureEntries[] = { + FEATURE_VALUE_TYPE(chromeos::features::kLauncherAppSort)}, + #endif + +-#if BUILDFLAG(IS_CHROMEOS_ASH) || defined(OS_MAC) || defined(OS_LINUX) ++#if BUILDFLAG(IS_CHROMEOS_ASH) || defined(OS_MAC) || defined(OS_LINUX) || defined(OS_BSD) + {"enable-desktop-pwas-app-icon-shortcuts-menu-ui", + flag_descriptions::kDesktopPWAsAppIconShortcutsMenuUIName, + flag_descriptions::kDesktopPWAsAppIconShortcutsMenuUIDescription, +@@ -7487,7 +7487,7 @@ const FeatureEntry kFeatureEntries[] = { + ash::features::kHoldingSpaceInProgressDownloadsIntegration)}, + #endif + +-#if defined(OS_WIN) || (defined(OS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS)) || \ ++#if defined(OS_WIN) || (defined(OS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS)) || defined(OS_BSD) || \ + defined(OS_MAC) || (defined(OS_ANDROID)) + {"omnibox-updated-connection-security-indicators", + flag_descriptions::kOmniboxUpdatedConnectionSecurityIndicatorsName, diff --git a/www/chromium/files/patch-chrome_browser_apps_platform__apps_api_media__galleries_media__galleries__watch__apitest.cc b/www/chromium/files/patch-chrome_browser_apps_platform__apps_api_media__galleries_media__galleries__watch__apitest.cc index ab2df2289660..75677148cd36 100644 --- a/www/chromium/files/patch-chrome_browser_apps_platform__apps_api_media__galleries_media__galleries__watch__apitest.cc +++ b/www/chromium/files/patch-chrome_browser_apps_platform__apps_api_media__galleries_media__galleries__watch__apitest.cc @@ -1,11 +1,11 @@ ---- chrome/browser/apps/platform_apps/api/media_galleries/media_galleries_watch_apitest.cc.orig 2021-05-12 22:05:43 UTC +--- chrome/browser/apps/platform_apps/api/media_galleries/media_galleries_watch_apitest.cc.orig 2021-09-14 01:51:49 UTC +++ chrome/browser/apps/platform_apps/api/media_galleries/media_galleries_watch_apitest.cc -@@ -234,7 +234,7 @@ IN_PROC_BROWSER_TEST_F(MediaGalleriesGalleryWatchApiTe +@@ -242,7 +242,7 @@ IN_PROC_BROWSER_TEST_F(MediaGalleriesGalleryWatchApiTe // Test is flaky on windows and linux: crbug.com/1150017. // TODO(crbug.com/1052397): Revisit once build flag switch of lacros-chrome is // complete. -#if defined(OS_WIN) || (defined(OS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS)) +#if defined(OS_WIN) || (defined(OS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS)) || defined(OS_BSD) #define MAYBE_RemoveListenerAndModifyGallery \ DISABLED_RemoveListenerAndModifyGallery #else diff --git a/www/chromium/files/patch-chrome_browser_apps_platform__apps_platform__app__launch.cc b/www/chromium/files/patch-chrome_browser_apps_platform__apps_platform__app__launch.cc new file mode 100644 index 000000000000..3c22db0ec515 --- /dev/null +++ b/www/chromium/files/patch-chrome_browser_apps_platform__apps_platform__app__launch.cc @@ -0,0 +1,36 @@ +--- chrome/browser/apps/platform_apps/platform_app_launch.cc.orig 2021-09-24 18:17:35 UTC ++++ chrome/browser/apps/platform_apps/platform_app_launch.cc +@@ -17,13 +17,13 @@ + #include "extensions/common/constants.h" + #include "extensions/common/extension.h" + +-#if defined(OS_WIN) || defined(OS_MAC) || defined(OS_LINUX) ++#if defined(OS_WIN) || defined(OS_MAC) || defined(OS_LINUX) || defined(OS_BSD) + #include "chrome/browser/ui/browser.h" + #include "chrome/browser/ui/browser_navigator.h" + #include "chrome/browser/ui/browser_window.h" + #include "chrome/browser/web_applications/extension_status_utils.h" + #include "chrome/common/webui_url_constants.h" +-#endif // defined(OS_WIN) || defined(OS_MAC) || defined(OS_LINUX) ++#endif // defined(OS_WIN) || defined(OS_MAC) || defined(OS_LINUX) || defined(OS_BSD) + + namespace apps { + +@@ -122,7 +122,7 @@ bool OpenExtensionApplicationTab(Profile* profile, con + return app_tab != nullptr; + } + +-#if defined(OS_WIN) || defined(OS_MAC) || defined(OS_LINUX) ++#if defined(OS_WIN) || defined(OS_MAC) || defined(OS_LINUX) || defined(OS_BSD) + bool OpenDeprecatedApplicationPrompt(Profile* profile, + const std::string& app_id) { + if (!extensions::IsExtensionUnsupportedDeprecatedApp(profile, app_id)) +@@ -142,7 +142,7 @@ bool OpenDeprecatedApplicationPrompt(Profile* profile, + // TODO(crbug.com/1225779): Show the deprecated apps dialog. + return true; + } +-#endif // defined(OS_WIN) || defined(OS_MAC) || defined(OS_LINUX) ++#endif // defined(OS_WIN) || defined(OS_MAC) || defined(OS_LINUX) || defined(OS_BSD) + + bool OpenExtensionApplicationWithReenablePrompt( + Profile* profile, diff --git a/www/chromium/files/patch-chrome_browser_apps_platform__apps_platform__app__launch.h b/www/chromium/files/patch-chrome_browser_apps_platform__apps_platform__app__launch.h new file mode 100644 index 000000000000..a133bcabdb34 --- /dev/null +++ b/www/chromium/files/patch-chrome_browser_apps_platform__apps_platform__app__launch.h @@ -0,0 +1,11 @@ +--- chrome/browser/apps/platform_apps/platform_app_launch.h.orig 2021-09-24 18:17:59 UTC ++++ chrome/browser/apps/platform_apps/platform_app_launch.h +@@ -36,7 +36,7 @@ bool OpenExtensionApplicationWindow(Profile* profile, + // and false otherwise. + bool OpenExtensionApplicationTab(Profile* profile, const std::string& app_id); + +-#if defined(OS_WIN) || defined(OS_MAC) || defined(OS_LINUX) ++#if defined(OS_WIN) || defined(OS_MAC) || defined(OS_LINUX) || defined(OS_BSD) + // Opens the deprecated Chrome Apps flow if |app_id| refers to a Chrome App and + // Chrome Apps are deprecated on the |profile|. Returns true if that was the + // case, or false otherwise. diff --git a/www/chromium/files/patch-chrome_browser_background_background__mode__manager.cc b/www/chromium/files/patch-chrome_browser_background_background__mode__manager.cc index 1161c330736d..8d3f48160b1a 100644 --- a/www/chromium/files/patch-chrome_browser_background_background__mode__manager.cc +++ b/www/chromium/files/patch-chrome_browser_background_background__mode__manager.cc @@ -1,11 +1,11 @@ ---- chrome/browser/background/background_mode_manager.cc.orig 2021-05-12 22:05:43 UTC +--- chrome/browser/background/background_mode_manager.cc.orig 2021-09-24 04:25:58 UTC +++ chrome/browser/background/background_mode_manager.cc -@@ -882,7 +882,7 @@ gfx::ImageSkia GetStatusTrayIcon() { +@@ -892,7 +892,7 @@ gfx::ImageSkia GetStatusTrayIcon() { return gfx::ImageSkia(); return family->CreateExact(size).AsImageSkia(); -#elif defined(OS_LINUX) || defined(OS_CHROMEOS) +#elif defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD) return *ui::ResourceBundle::GetSharedInstance().GetImageSkiaNamed( IDR_PRODUCT_LOGO_128); #elif defined(OS_MAC) diff --git a/www/chromium/files/patch-chrome_browser_browser__resources.grd b/www/chromium/files/patch-chrome_browser_browser__resources.grd deleted file mode 100644 index e0b0b128c4c6..000000000000 --- a/www/chromium/files/patch-chrome_browser_browser__resources.grd +++ /dev/null @@ -1,11 +0,0 @@ ---- chrome/browser/browser_resources.grd.orig 2021-05-12 22:05:43 UTC -+++ chrome/browser/browser_resources.grd -@@ -41,7 +41,7 @@ - - - -- -+ - - - diff --git a/www/chromium/files/patch-chrome_browser_browsing__data_chrome__browsing__data__remover__delegate.cc b/www/chromium/files/patch-chrome_browser_browsing__data_chrome__browsing__data__remover__delegate.cc index df9ef0a2d6dd..770f3922ba00 100644 --- a/www/chromium/files/patch-chrome_browser_browsing__data_chrome__browsing__data__remover__delegate.cc +++ b/www/chromium/files/patch-chrome_browser_browsing__data_chrome__browsing__data__remover__delegate.cc @@ -1,12 +1,12 @@ ---- chrome/browser/browsing_data/chrome_browsing_data_remover_delegate.cc.orig 2021-07-19 18:45:08 UTC +--- chrome/browser/browsing_data/chrome_browsing_data_remover_delegate.cc.orig 2021-09-24 04:25:58 UTC +++ chrome/browser/browsing_data/chrome_browsing_data_remover_delegate.cc -@@ -637,7 +637,9 @@ void ChromeBrowsingDataRemoverDelegate::RemoveEmbedder +@@ -639,7 +639,9 @@ void ChromeBrowsingDataRemoverDelegate::RemoveEmbedder } #endif +#if !defined(OS_BSD) CreateCrashUploadList()->Clear(delete_begin_, delete_end_); +#endif FindBarStateFactory::GetForBrowserContext(profile_)->SetLastSearchText( std::u16string()); diff --git a/www/chromium/files/patch-chrome_browser_chrome__browser__interface__binders.cc b/www/chromium/files/patch-chrome_browser_chrome__browser__interface__binders.cc index e435dd6da16e..50d4d685654f 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,37 @@ ---- chrome/browser/chrome_browser_interface_binders.cc.orig 2021-07-19 18:45:08 UTC +--- chrome/browser/chrome_browser_interface_binders.cc.orig 2021-09-24 04:25:58 UTC +++ chrome/browser/chrome_browser_interface_binders.cc -@@ -146,7 +146,7 @@ - #include "mojo/public/cpp/bindings/self_owned_receiver.h" +@@ -155,7 +155,7 @@ + #include "ui/webui/resources/cr_components/most_visited/most_visited.mojom.h" #endif // defined(OS_ANDROID) -#if defined(OS_WIN) || defined(OS_MAC) || defined(OS_LINUX) || \ +#if defined(OS_WIN) || defined(OS_MAC) || defined(OS_LINUX) || defined(OS_BSD) || \ defined(OS_CHROMEOS) #include "chrome/browser/ui/webui/discards/discards.mojom.h" #include "chrome/browser/ui/webui/discards/discards_ui.h" -@@ -612,7 +612,7 @@ void PopulateChromeFrameBinders( +@@ -637,14 +637,14 @@ void PopulateChromeFrameBinders( base::BindRepeating(&BindSpeechRecognitionRecognizerClientHandler)); #endif -#if defined(OS_WIN) || defined(OS_MAC) || defined(OS_LINUX) +#if defined(OS_WIN) || defined(OS_MAC) || defined(OS_LINUX) || defined(OS_BSD) - if (base::FeatureList::IsEnabled(features::kWebAppWindowControlsOverlay) && - !render_frame_host->GetParent()) { + if (!render_frame_host->GetParent()) { map->Add( -@@ -854,7 +854,7 @@ void PopulateChromeWebUIFrameBinders( + base::BindRepeating(&DraggableRegionsHostImpl::CreateIfAllowed)); + } + #endif + +-#if defined(OS_CHROMEOS) || defined(OS_LINUX) || defined(OS_MAC) || \ ++#if defined(OS_CHROMEOS) || defined(OS_LINUX) || defined(OS_MAC) || defined(OS_BSD) || \ + defined(OS_WIN) + if (base::FeatureList::IsEnabled(blink::features::kDesktopPWAsSubApps) && + !render_frame_host->GetParent()) { +@@ -952,7 +952,7 @@ void PopulateChromeWebUIFrameBinders( } #endif -#if defined(OS_WIN) || defined(OS_MAC) || defined(OS_LINUX) || \ +#if defined(OS_WIN) || defined(OS_MAC) || defined(OS_LINUX) || defined(OS_BSD) || \ defined(OS_CHROMEOS) RegisterWebUIControllerInterfaceBinder(map); diff --git a/www/chromium/files/patch-chrome_browser_chrome__browser__main.cc b/www/chromium/files/patch-chrome_browser_chrome__browser__main.cc index bfcee4e9c114..ff6af844c16f 100644 --- a/www/chromium/files/patch-chrome_browser_chrome__browser__main.cc +++ b/www/chromium/files/patch-chrome_browser_chrome__browser__main.cc @@ -1,54 +1,54 @@ ---- chrome/browser/chrome_browser_main.cc.orig 2021-07-19 18:45:08 UTC +--- chrome/browser/chrome_browser_main.cc.orig 2021-09-24 04:25:58 UTC +++ chrome/browser/chrome_browser_main.cc -@@ -257,7 +257,7 @@ +@@ -260,7 +260,7 @@ // TODO(crbug.com/1052397): Revisit the macro expression once build flag switch // of lacros-chrome is complete. #if defined(OS_WIN) || defined(OS_MAC) || \ - (defined(OS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS)) + (defined(OS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS)) || defined(OS_BSD) #include "chrome/browser/metrics/desktop_session_duration/desktop_session_duration_tracker.h" #include "chrome/browser/metrics/desktop_session_duration/touch_mode_stats_tracker.h" #include "chrome/browser/profiles/profile_activity_metrics_recorder.h" -@@ -956,7 +956,7 @@ int ChromeBrowserMainParts::PreCreateThreadsImpl() { +@@ -942,7 +942,7 @@ int ChromeBrowserMainParts::PreCreateThreadsImpl() { AddFirstRunNewTabs(browser_creator_.get(), master_prefs_->new_tabs); } -#if defined(OS_MAC) || defined(OS_LINUX) || defined(OS_CHROMEOS) +#if defined(OS_MAC) || defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD) // Create directory for user-level Native Messaging manifest files. This // makes it less likely that the directory will be created by third-party // software with incorrect owner or permission. See crbug.com/725513 . -@@ -965,7 +965,7 @@ int ChromeBrowserMainParts::PreCreateThreadsImpl() { +@@ -951,7 +951,7 @@ int ChromeBrowserMainParts::PreCreateThreadsImpl() { &user_native_messaging_dir)); if (!base::PathExists(user_native_messaging_dir)) base::CreateDirectory(user_native_messaging_dir); -#endif // defined(OS_MAC) || defined(OS_LINUX) || defined(OS_CHROMEOS) +#endif // defined(OS_MAC) || defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD) } #endif // !defined(OS_ANDROID) && !BUILDFLAG(IS_CHROMEOS_ASH) -@@ -990,7 +990,7 @@ int ChromeBrowserMainParts::PreCreateThreadsImpl() { +@@ -976,7 +976,7 @@ int ChromeBrowserMainParts::PreCreateThreadsImpl() { // TODO(crbug.com/1052397): Revisit the macro expression once build flag switch // of lacros-chrome is complete. #if defined(OS_WIN) || defined(OS_MAC) || \ - (defined(OS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS)) + (defined(OS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS)) || defined(OS_BSD) metrics::DesktopSessionDurationTracker::Initialize(); ProfileActivityMetricsRecorder::Initialize(); TouchModeStatsTracker::Initialize( -@@ -1156,6 +1156,7 @@ void ChromeBrowserMainParts::PostBrowserStart() { +@@ -1146,6 +1146,7 @@ void ChromeBrowserMainParts::PostBrowserStart() { base::TimeDelta::FromMinutes(1)); #if !defined(OS_ANDROID) +#if !defined(OS_BSD) if (base::FeatureList::IsEnabled(features::kWebUsb)) { web_usb_detector_ = std::make_unique(); content::GetUIThreadTaskRunner({base::TaskPriority::BEST_EFFORT}) -@@ -1163,6 +1164,7 @@ void ChromeBrowserMainParts::PostBrowserStart() { +@@ -1153,6 +1154,7 @@ void ChromeBrowserMainParts::PostBrowserStart() { base::BindOnce(&WebUsbDetector::Initialize, base::Unretained(web_usb_detector_.get()))); } +#endif if (base::FeatureList::IsEnabled(features::kTabMetricsLogging)) { // Initialize the TabActivityWatcher to begin logging tab activity events. resource_coordinator::TabActivityWatcher::GetInstance(); diff --git a/www/chromium/files/patch-chrome_browser_chrome__content__browser__client.cc b/www/chromium/files/patch-chrome_browser_chrome__content__browser__client.cc index 32b0e4269229..56adce70da10 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,123 +1,125 @@ ---- chrome/browser/chrome_content_browser_client.cc.orig 2021-07-19 18:45:08 UTC +--- chrome/browser/chrome_content_browser_client.cc.orig 2021-09-24 04:25:58 UTC +++ chrome/browser/chrome_content_browser_client.cc -@@ -450,7 +450,7 @@ - #include "components/user_manager/user.h" +@@ -361,7 +361,7 @@ #include "components/user_manager/user_manager.h" #include "services/service_manager/public/mojom/interface_provider_spec.mojom.h" + #include "storage/browser/file_system/external_mount_points.h" -#elif defined(OS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS) +#elif defined(OS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS) || defined(OS_BSD) #include "chrome/browser/chrome_browser_main_linux.h" #elif defined(OS_ANDROID) #include "base/android/application_status_listener.h" -@@ -511,7 +511,7 @@ +@@ -425,7 +425,7 @@ // TODO(crbug.com/1052397): Revisit the macro expression once build flag switch // of lacros-chrome is complete. #if defined(OS_WIN) || defined(OS_MAC) || \ - (defined(OS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS)) + (defined(OS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS)) || defined(OS_BSD) #include "chrome/browser/browser_switcher/browser_switcher_navigation_throttle.h" #endif -@@ -530,9 +530,9 @@ +@@ -442,10 +442,10 @@ + #include "components/crash/content/browser/crash_handler_host_linux.h" + #endif - // TODO(crbug/1169547) Remove `BUILDFLAG(IS_CHROMEOS_LACROS)` once the - // migration is complete. --#if defined(OS_LINUX) || defined(OS_MAC) || defined(OS_WIN) -+#if defined(OS_LINUX) || defined(OS_MAC) || defined(OS_WIN) || defined(OS_BSD) +-#if defined(OS_LINUX) || defined(OS_MAC) || defined(OS_WIN) || \ ++#if defined(OS_LINUX) || defined(OS_MAC) || defined(OS_WIN) || defined(OS_BSD) || \ + BUILDFLAG(IS_CHROMEOS_ASH) #include "chrome/browser/enterprise/connectors/device_trust/navigation_throttle.h" --#endif // defined(OS_LINUX) || defined(OS_MAC) || defined(OS_WIN) -+#endif // defined(OS_LINUX) || defined(OS_MAC) || defined(OS_WIN) || defined(OS_BSD) +-#endif // defined(OS_LINUX) || defined(OS_MAC) || defined(OS_WIN) || ++#endif // defined(OS_LINUX) || defined(OS_MAC) || defined(OS_WIN) || defined(OS_BSD) || + // BUILDFLAG(IS_CHROMEOS_ASH) // TODO(crbug.com/939205): Once the upcoming App Service is available, use a - // single navigation throttle to display the intent picker on all platforms. -@@ -550,7 +550,7 @@ +@@ -464,7 +464,7 @@ // TODO(crbug.com/1052397): Revisit the macro expression once build flag switch // of lacros-chrome is complete. -#if defined(OS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS) +#if defined(OS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS) || defined(OS_BSD) #include "chrome/browser/ui/views/chrome_browser_main_extra_parts_views_linux.h" #endif -@@ -951,11 +951,13 @@ breakpad::CrashHandlerHostLinux* CreateCrashHandlerHos +@@ -860,11 +860,13 @@ breakpad::CrashHandlerHostLinux* CreateCrashHandlerHos } int GetCrashSignalFD(const base::CommandLine& command_line) { +#if !defined(OS_BSD) if (crash_reporter::IsCrashpadEnabled()) { int fd; pid_t pid; return crash_reporter::GetHandlerSocket(&fd, &pid) ? fd : -1; } +#endif // Extensions have the same process type as renderers. if (command_line.HasSwitch(extensions::switches::kExtensionProcess)) { -@@ -1377,7 +1379,7 @@ ChromeContentBrowserClient::CreateBrowserMainParts( +@@ -1255,7 +1257,7 @@ ChromeContentBrowserClient::CreateBrowserMainParts( #elif BUILDFLAG(IS_CHROMEOS_LACROS) main_parts = std::make_unique(parameters, &startup_data_); -#elif defined(OS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS) +#elif defined(OS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS) || defined(OS_BSD) main_parts = std::make_unique(parameters, &startup_data_); #elif defined(OS_ANDROID) -@@ -1408,7 +1410,7 @@ ChromeContentBrowserClient::CreateBrowserMainParts( +@@ -1289,7 +1291,7 @@ ChromeContentBrowserClient::CreateBrowserMainParts( std::make_unique()); // TODO(crbug.com/1052397): Revisit the macro expression once build flag switch // of lacros-chrome is complete. -#elif defined(OS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS) +#elif defined(OS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS) || defined(OS_BSD) main_parts->AddParts( std::make_unique()); #else -@@ -2192,7 +2194,7 @@ void ChromeContentBrowserClient::AppendExtraCommandLin +@@ -2058,7 +2060,7 @@ void ChromeContentBrowserClient::AppendExtraCommandLin command_line->AppendSwitchASCII(switches::kMetricsClientID, client_info->client_id); } -#elif defined(OS_POSIX) +#elif defined(OS_POSIX) && !defined(OS_BSD) #if defined(OS_ANDROID) bool enable_crash_reporter = true; #else -@@ -3753,7 +3755,7 @@ void ChromeContentBrowserClient::GetAdditionalFileSyst +@@ -3649,7 +3651,7 @@ void ChromeContentBrowserClient::GetAdditionalFileSyst } } -#if defined(OS_POSIX) && !defined(OS_MAC) +#if defined(OS_POSIX) && !defined(OS_MAC) && !defined(OS_BSD) void ChromeContentBrowserClient::GetAdditionalMappedFilesForChildProcess( const base::CommandLine& command_line, int child_process_id, -@@ -3788,7 +3790,7 @@ void ChromeContentBrowserClient::GetAdditionalMappedFi +@@ -3684,7 +3686,7 @@ void ChromeContentBrowserClient::GetAdditionalMappedFi mappings->Share(kCrashDumpSignal, crash_signal_fd); } } -#endif // defined(OS_POSIX) && !defined(OS_MAC) +#endif // defined(OS_POSIX) && !defined(OS_MAC) && !defined(OS_BSD) #if defined(OS_WIN) std::wstring ChromeContentBrowserClient::GetAppContainerSidForSandboxType( -@@ -4146,11 +4148,11 @@ ChromeContentBrowserClient::CreateThrottlesForNavigati +@@ -4067,12 +4069,12 @@ ChromeContentBrowserClient::CreateThrottlesForNavigati &throttles); } --#if defined(OS_LINUX) || defined(OS_MAC) || defined(OS_WIN) -+#if defined(OS_LINUX) || defined(OS_MAC) || defined(OS_WIN) || defined(OS_BSD) +-#if defined(OS_LINUX) || defined(OS_MAC) || defined(OS_WIN) || \ ++#if defined(OS_LINUX) || defined(OS_MAC) || defined(OS_WIN) || defined(OS_BSD) || \ + BUILDFLAG(IS_CHROMEOS_ASH) MaybeAddThrottle(enterprise_connectors::DeviceTrustNavigationThrottle:: MaybeCreateThrottleFor(handle), &throttles); --#endif // defined(OS_LINUX) || defined(OS_MAC) || defined(OS_WIN) -+#endif // defined(OS_LINUX) || defined(OS_MAC) || defined(OS_WIN) || defined(OS_BSD) +-#endif // defined(OS_LINUX) || defined(OS_MAC) || defined(OS_WIN) || ++#endif // defined(OS_LINUX) || defined(OS_MAC) || defined(OS_WIN) || defined(OS_BSD) || + // BUILDFLAG(IS_CHROMEOS_ASH) #if !defined(OS_ANDROID) - MaybeAddThrottle(DevToolsWindow::MaybeCreateNavigationThrottle(handle), -@@ -4172,7 +4174,7 @@ ChromeContentBrowserClient::CreateThrottlesForNavigati +@@ -4101,7 +4103,7 @@ ChromeContentBrowserClient::CreateThrottlesForNavigati // TODO(crbug.com/1052397): Revisit the macro expression once build flag switch // of lacros-chrome is complete. #if defined(OS_WIN) || defined(OS_MAC) || \ - (defined(OS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS)) + (defined(OS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS)) || defined(OS_BSD) MaybeAddThrottle(browser_switcher::BrowserSwitcherNavigationThrottle:: MaybeCreateThrottleFor(handle), &throttles); diff --git a/www/chromium/files/patch-chrome_browser_chrome__content__browser__client.h b/www/chromium/files/patch-chrome_browser_chrome__content__browser__client.h index bfcfc6b9c69b..4ca2096c798c 100644 --- a/www/chromium/files/patch-chrome_browser_chrome__content__browser__client.h +++ b/www/chromium/files/patch-chrome_browser_chrome__content__browser__client.h @@ -1,17 +1,17 @@ ---- chrome/browser/chrome_content_browser_client.h.orig 2021-07-19 18:45:08 UTC +--- chrome/browser/chrome_content_browser_client.h.orig 2021-09-24 04:25:58 UTC +++ chrome/browser/chrome_content_browser_client.h -@@ -405,12 +405,12 @@ class ChromeContentBrowserClient : public content::Con +@@ -402,12 +402,12 @@ class ChromeContentBrowserClient : public content::Con void OverridePageVisibilityState( content::RenderFrameHost* render_frame_host, content::PageVisibilityState* visibility_state) override; -#if defined(OS_POSIX) && !defined(OS_MAC) +#if defined(OS_POSIX) && !defined(OS_MAC) && !defined(OS_BSD) void GetAdditionalMappedFilesForChildProcess( const base::CommandLine& command_line, int child_process_id, content::PosixFileDescriptorInfo* mappings) override; -#endif // defined(OS_POSIX) && !defined(OS_MAC) +#endif // defined(OS_POSIX) && !defined(OS_MAC) && !defined(OS_BSD) #if defined(OS_WIN) bool PreSpawnChild(sandbox::TargetPolicy* policy, sandbox::policy::SandboxType sandbox_type, diff --git a/www/chromium/files/patch-chrome_browser_crash__upload__list_crash__upload__list.cc b/www/chromium/files/patch-chrome_browser_crash__upload__list_crash__upload__list.cc index a54db09784be..63fec6929287 100644 --- a/www/chromium/files/patch-chrome_browser_crash__upload__list_crash__upload__list.cc +++ b/www/chromium/files/patch-chrome_browser_crash__upload__list_crash__upload__list.cc @@ -1,11 +1,11 @@ ---- chrome/browser/crash_upload_list/crash_upload_list.cc.orig 2021-05-12 22:05:43 UTC +--- chrome/browser/crash_upload_list/crash_upload_list.cc.orig 2021-09-24 04:25:58 UTC +++ chrome/browser/crash_upload_list/crash_upload_list.cc -@@ -48,7 +48,7 @@ scoped_refptr CreateCrashUploadList() { +@@ -52,7 +52,7 @@ scoped_refptr CreateCrashUploadList() { // to log uploads in CrashUploadList::kReporterLogFilename. // Linux is handled below. #if !(BUILDFLAG(IS_CHROMEOS_ASH) || BUILDFLAG(IS_CHROMEOS_LACROS) || \ - defined(OS_LINUX)) + defined(OS_LINUX) || defined(OS_BSD)) if (crash_reporter::IsCrashpadEnabled()) { return new CrashUploadListCrashpad(); } diff --git a/www/chromium/files/patch-chrome_browser_device__identity_device__oauth2__token__service__factory.cc b/www/chromium/files/patch-chrome_browser_device__identity_device__oauth2__token__service__factory.cc index a6fa5e8db1ce..ca0cd92dda81 100644 --- a/www/chromium/files/patch-chrome_browser_device__identity_device__oauth2__token__service__factory.cc +++ b/www/chromium/files/patch-chrome_browser_device__identity_device__oauth2__token__service__factory.cc @@ -1,11 +1,11 @@ ---- chrome/browser/device_identity/device_oauth2_token_service_factory.cc.orig 2021-05-12 22:05:43 UTC +--- chrome/browser/device_identity/device_oauth2_token_service_factory.cc.orig 2021-09-14 01:51:50 UTC +++ chrome/browser/device_identity/device_oauth2_token_service_factory.cc -@@ -28,7 +28,7 @@ std::unique_ptr CreatePlatform +@@ -29,7 +29,7 @@ std::unique_ptr CreatePlatform return std::make_unique( local_state); #elif defined(OS_WIN) || defined(OS_MAC) || \ - (defined(OS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS)) + (defined(OS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS)) || defined(OS_BSD) DCHECK( base::FeatureList::IsEnabled(policy::features::kCBCMPolicyInvalidations)); return std::make_unique(local_state); diff --git a/www/chromium/files/patch-chrome_browser_devtools_devtools__eye__dropper.cc b/www/chromium/files/patch-chrome_browser_devtools_devtools__eye__dropper.cc index 41cb3b945507..d7dafc8bb5ce 100644 --- a/www/chromium/files/patch-chrome_browser_devtools_devtools__eye__dropper.cc +++ b/www/chromium/files/patch-chrome_browser_devtools_devtools__eye__dropper.cc @@ -1,11 +1,11 @@ ---- chrome/browser/devtools/devtools_eye_dropper.cc.orig 2021-04-14 18:40:53 UTC +--- chrome/browser/devtools/devtools_eye_dropper.cc.orig 2021-09-14 01:51:50 UTC +++ chrome/browser/devtools/devtools_eye_dropper.cc -@@ -187,7 +187,7 @@ void DevToolsEyeDropper::UpdateCursor() { +@@ -188,7 +188,7 @@ void DevToolsEyeDropper::UpdateCursor() { // magnified projection only with centered hotspot. // Mac Retina requires cursor to be > 120px in order to render smoothly. -#if defined(OS_LINUX) || defined(OS_CHROMEOS) +#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD) const float kCursorSize = 63; const float kDiameter = 63; const float kHotspotOffset = 32; diff --git a/www/chromium/files/patch-chrome_browser_download_chrome__download__manager__delegate.cc b/www/chromium/files/patch-chrome_browser_download_chrome__download__manager__delegate.cc index 300cf93bc885..b7baf030713a 100644 --- a/www/chromium/files/patch-chrome_browser_download_chrome__download__manager__delegate.cc +++ b/www/chromium/files/patch-chrome_browser_download_chrome__download__manager__delegate.cc @@ -1,38 +1,38 @@ ---- chrome/browser/download/chrome_download_manager_delegate.cc.orig 2021-07-19 18:45:08 UTC +--- chrome/browser/download/chrome_download_manager_delegate.cc.orig 2021-09-24 04:25:58 UTC +++ chrome/browser/download/chrome_download_manager_delegate.cc -@@ -1439,7 +1439,7 @@ void ChromeDownloadManagerDelegate::OnDownloadTargetDe +@@ -1395,7 +1395,7 @@ void ChromeDownloadManagerDelegate::OnDownloadTargetDe target_info->is_filetype_handled_safely) DownloadItemModel(item).SetShouldPreferOpeningInBrowser(true); -#if defined(OS_LINUX) || defined(OS_CHROMEOS) +#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD) if (item->GetOriginalMimeType() == "application/x-x509-user-cert") DownloadItemModel(item).SetShouldPreferOpeningInBrowser(true); #endif -@@ -1494,7 +1494,7 @@ void ChromeDownloadManagerDelegate::OnDownloadTargetDe +@@ -1450,7 +1450,7 @@ void ChromeDownloadManagerDelegate::OnDownloadTargetDe bool ChromeDownloadManagerDelegate::IsOpenInBrowserPreferreredForFile( const base::FilePath& path) { -#if defined(OS_WIN) || defined(OS_LINUX) || defined(OS_CHROMEOS) || \ +#if defined(OS_WIN) || defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD) || \ defined(OS_MAC) if (path.MatchesExtension(FILE_PATH_LITERAL(".pdf"))) { return !download_prefs_->ShouldOpenPdfInSystemReader(); -@@ -1598,7 +1598,7 @@ void ChromeDownloadManagerDelegate::CheckDownloadAllow +@@ -1554,7 +1554,7 @@ void ChromeDownloadManagerDelegate::CheckDownloadAllow bool content_initiated, content::CheckDownloadAllowedCallback check_download_allowed_cb) { DCHECK_CURRENTLY_ON(BrowserThread::UI); -#if defined(OS_WIN) || defined(OS_LINUX) || defined(OS_CHROMEOS) || \ +#if defined(OS_WIN) || defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD) || \ defined(OS_MAC) // Don't download pdf if it is a file URL, as that might cause an infinite // download loop if Chrome is not the system pdf viewer. -@@ -1640,7 +1640,7 @@ ChromeDownloadManagerDelegate::GetQuarantineConnection +@@ -1596,7 +1596,7 @@ ChromeDownloadManagerDelegate::GetQuarantineConnection std::unique_ptr ChromeDownloadManagerDelegate::GetRenameHandlerForDownload( download::DownloadItem* download_item) { -#if defined(OS_WIN) || defined(OS_LINUX) || defined(OS_CHROMEOS) || \ +#if defined(OS_WIN) || defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD) || \ defined(OS_MAC) return enterprise_connectors::FileSystemRenameHandler::CreateIfNeeded( download_item); diff --git a/www/chromium/files/patch-chrome_browser_download_download__commands.cc b/www/chromium/files/patch-chrome_browser_download_download__commands.cc index e4b987862928..8134355b8df0 100644 --- a/www/chromium/files/patch-chrome_browser_download_download__commands.cc +++ b/www/chromium/files/patch-chrome_browser_download_download__commands.cc @@ -1,35 +1,29 @@ ---- chrome/browser/download/download_commands.cc.orig 2021-04-14 18:40:53 UTC +--- chrome/browser/download/download_commands.cc.orig 2021-09-24 04:25:58 UTC +++ chrome/browser/download/download_commands.cc @@ -27,7 +27,7 @@ #include "net/base/url_util.h" #include "ui/base/clipboard/scoped_clipboard_writer.h" -#if defined(OS_WIN) || defined(OS_LINUX) || defined(OS_CHROMEOS) || \ +#if defined(OS_WIN) || defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD) || \ - defined(OS_MAC) + defined(OS_MAC) || defined(OS_FUCHSIA) #include "chrome/browser/ui/browser.h" #include "chrome/browser/ui/browser_finder.h" -@@ -155,7 +155,7 @@ void DownloadCommands::ExecuteCommand(Command command) +@@ -165,7 +165,7 @@ void DownloadCommands::ExecuteCommand(Command command) model_->ExecuteCommand(this, command); } -#if defined(OS_WIN) || defined(OS_MAC) || defined(OS_LINUX) || \ +#if defined(OS_WIN) || defined(OS_MAC) || defined(OS_LINUX) || defined(OS_BSD) || \ - defined(OS_CHROMEOS) + defined(OS_CHROMEOS) || defined(OS_FUCHSIA) Browser* DownloadCommands::GetBrowser() const { -@@ -179,12 +179,12 @@ bool DownloadCommands::CanOpenPdfInSystemViewer() cons - return IsDownloadPdf() && - (IsAdobeReaderDefaultPDFViewer() ? is_adobe_pdf_reader_up_to_date - : true); --#elif defined(OS_MAC) || defined(OS_LINUX) || defined(OS_CHROMEOS) -+#elif defined(OS_MAC) || defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD) - return IsDownloadPdf(); +@@ -200,7 +200,7 @@ bool DownloadCommands::CanOpenPdfInSystemViewer() cons #endif } -#endif // defined(OS_WIN) || defined(OS_MAC) || defined(OS_LINUX) || +#endif // defined(OS_WIN) || defined(OS_MAC) || defined(OS_LINUX) || defined(OS_BSD) || - // defined(OS_CHROMEOS) + // defined(OS_CHROMEOS) || defined(OS_FUCHSIA) void DownloadCommands::CopyFileAsImageToClipboard() { diff --git a/www/chromium/files/patch-chrome_browser_download_download__commands.h b/www/chromium/files/patch-chrome_browser_download_download__commands.h index 8bfaedfefb0d..564dd56e41a8 100644 --- a/www/chromium/files/patch-chrome_browser_download_download__commands.h +++ b/www/chromium/files/patch-chrome_browser_download_download__commands.h @@ -1,11 +1,11 @@ ---- chrome/browser/download/download_commands.h.orig 2021-07-19 18:45:08 UTC +--- chrome/browser/download/download_commands.h.orig 2021-09-24 04:25:58 UTC +++ chrome/browser/download/download_commands.h -@@ -47,7 +47,7 @@ class DownloadCommands { +@@ -48,7 +48,7 @@ class DownloadCommands { bool IsCommandVisible(Command command) const; void ExecuteCommand(Command command); -#if defined(OS_WIN) || defined(OS_LINUX) || defined(OS_CHROMEOS) || \ +#if defined(OS_WIN) || defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD) || \ - defined(OS_MAC) + defined(OS_MAC) || defined(OS_FUCHSIA) bool IsDownloadPdf() const; bool CanOpenPdfInSystemViewer() const; diff --git a/www/chromium/files/patch-chrome_browser_download_download__item__model.cc b/www/chromium/files/patch-chrome_browser_download_download__item__model.cc index 85bffdf06da9..dbee5ca7b579 100644 --- a/www/chromium/files/patch-chrome_browser_download_download__item__model.cc +++ b/www/chromium/files/patch-chrome_browser_download_download__item__model.cc @@ -1,20 +1,20 @@ ---- chrome/browser/download/download_item_model.cc.orig 2021-07-19 18:45:08 UTC +--- chrome/browser/download/download_item_model.cc.orig 2021-09-24 04:25:58 UTC +++ chrome/browser/download/download_item_model.cc -@@ -579,7 +579,7 @@ bool DownloadItemModel::IsCommandChecked( +@@ -625,7 +625,7 @@ bool DownloadItemModel::IsCommandChecked( return download_->GetOpenWhenComplete() || download_crx_util::IsExtensionDownload(*download_); case DownloadCommands::ALWAYS_OPEN_TYPE: -#if defined(OS_WIN) || defined(OS_LINUX) || defined(OS_CHROMEOS) || \ +#if defined(OS_WIN) || defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD) || \ defined(OS_MAC) if (download_commands->CanOpenPdfInSystemViewer()) { DownloadPrefs* prefs = DownloadPrefs::FromBrowserContext(profile()); -@@ -620,7 +620,7 @@ void DownloadItemModel::ExecuteCommand(DownloadCommand +@@ -666,7 +666,7 @@ void DownloadItemModel::ExecuteCommand(DownloadCommand bool is_checked = IsCommandChecked(download_commands, DownloadCommands::ALWAYS_OPEN_TYPE); DownloadPrefs* prefs = DownloadPrefs::FromBrowserContext(profile()); -#if defined(OS_WIN) || defined(OS_LINUX) || defined(OS_CHROMEOS) || \ +#if defined(OS_WIN) || defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD) || \ defined(OS_MAC) if (download_commands->CanOpenPdfInSystemViewer()) { prefs->SetShouldOpenPdfInSystemReader(!is_checked); diff --git a/www/chromium/files/patch-chrome_browser_download_download__prefs.cc b/www/chromium/files/patch-chrome_browser_download_download__prefs.cc index d6f5abf57b31..f5bf90bb75ac 100644 --- a/www/chromium/files/patch-chrome_browser_download_download__prefs.cc +++ b/www/chromium/files/patch-chrome_browser_download_download__prefs.cc @@ -1,65 +1,65 @@ ---- chrome/browser/download/download_prefs.cc.orig 2021-07-19 18:45:08 UTC +--- chrome/browser/download/download_prefs.cc.orig 2021-09-14 01:51:50 UTC +++ chrome/browser/download/download_prefs.cc -@@ -68,7 +68,7 @@ namespace { +@@ -70,7 +70,7 @@ namespace { // Consider downloads 'dangerous' if they go to the home directory on Linux and // to the desktop on any platform. bool DownloadPathIsDangerous(const base::FilePath& download_path) { -#if defined(OS_LINUX) || defined(OS_CHROMEOS) +#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD) base::FilePath home_dir = base::GetHomeDir(); if (download_path == home_dir) { return true; -@@ -173,7 +173,7 @@ DownloadPrefs::DownloadPrefs(Profile* profile) : profi +@@ -175,7 +175,7 @@ DownloadPrefs::DownloadPrefs(Profile* profile) : profi GetDefaultDownloadDirectoryForProfile())); #endif // BUILDFLAG(IS_CHROMEOS_ASH) -#if defined(OS_WIN) || defined(OS_LINUX) || defined(OS_CHROMEOS) || \ +#if defined(OS_WIN) || defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD) || \ defined(OS_MAC) should_open_pdf_in_system_reader_ = prefs->GetBoolean(prefs::kOpenPdfDownloadInSystemReader); -@@ -301,7 +301,7 @@ void DownloadPrefs::RegisterProfilePrefs( +@@ -294,7 +294,7 @@ void DownloadPrefs::RegisterProfilePrefs( default_download_path); registry->RegisterFilePathPref(prefs::kSaveFileDefaultDirectory, default_download_path); -#if defined(OS_WIN) || defined(OS_LINUX) || defined(OS_CHROMEOS) || \ +#if defined(OS_WIN) || defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD) || \ defined(OS_MAC) registry->RegisterBooleanPref(prefs::kOpenPdfDownloadInSystemReader, false); #endif -@@ -438,7 +438,7 @@ bool DownloadPrefs::IsDownloadPathManaged() const { +@@ -428,7 +428,7 @@ bool DownloadPrefs::IsDownloadPathManaged() const { } bool DownloadPrefs::IsAutoOpenByUserUsed() const { -#if defined(OS_WIN) || defined(OS_LINUX) || defined(OS_CHROMEOS) || \ +#if defined(OS_WIN) || defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD) || \ defined(OS_MAC) if (ShouldOpenPdfInSystemReader()) return true; -@@ -453,7 +453,7 @@ bool DownloadPrefs::IsAutoOpenEnabled(const GURL& url, +@@ -443,7 +443,7 @@ bool DownloadPrefs::IsAutoOpenEnabled(const GURL& url, return false; DCHECK(extension[0] == base::FilePath::kExtensionSeparator); extension.erase(0, 1); -#if defined(OS_WIN) || defined(OS_LINUX) || defined(OS_CHROMEOS) || \ +#if defined(OS_WIN) || defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD) || \ defined(OS_MAC) if (base::FilePath::CompareEqualIgnoreCase(extension, FILE_PATH_LITERAL("pdf")) && -@@ -504,7 +504,7 @@ void DownloadPrefs::DisableAutoOpenByUserBasedOnExtens +@@ -498,7 +498,7 @@ void DownloadPrefs::DisableAutoOpenByUserBasedOnExtens SaveAutoOpenState(); } -#if defined(OS_WIN) || defined(OS_LINUX) || defined(OS_CHROMEOS) || \ +#if defined(OS_WIN) || defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD) || \ defined(OS_MAC) void DownloadPrefs::SetShouldOpenPdfInSystemReader(bool should_open) { if (should_open_pdf_in_system_reader_ == should_open) -@@ -526,7 +526,7 @@ bool DownloadPrefs::ShouldOpenPdfInSystemReader() cons +@@ -520,7 +520,7 @@ bool DownloadPrefs::ShouldOpenPdfInSystemReader() cons #endif void DownloadPrefs::ResetAutoOpenByUser() { -#if defined(OS_WIN) || defined(OS_LINUX) || defined(OS_CHROMEOS) || \ +#if defined(OS_WIN) || defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD) || \ defined(OS_MAC) SetShouldOpenPdfInSystemReader(false); #endif diff --git a/www/chromium/files/patch-chrome_browser_download_download__shelf__context__menu.cc b/www/chromium/files/patch-chrome_browser_download_download__shelf__context__menu.cc deleted file mode 100644 index 7460978af18f..000000000000 --- a/www/chromium/files/patch-chrome_browser_download_download__shelf__context__menu.cc +++ /dev/null @@ -1,11 +0,0 @@ ---- chrome/browser/download/download_shelf_context_menu.cc.orig 2021-05-12 22:05:43 UTC -+++ chrome/browser/download/download_shelf_context_menu.cc -@@ -148,7 +148,7 @@ std::u16string DownloadShelfContextMenu::GetLabelForCo - : IDS_DOWNLOAD_MENU_PLATFORM_OPEN_ALWAYS; - break; - } --#elif defined(OS_MAC) || defined(OS_LINUX) || defined(OS_CHROMEOS) -+#elif defined(OS_MAC) || defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD) - if (can_open_pdf_in_system_viewer) { - id = IDS_DOWNLOAD_MENU_PLATFORM_OPEN_ALWAYS; - break; diff --git a/www/chromium/files/patch-chrome_browser_enterprise_connectors_device__trust_attestation__service.cc b/www/chromium/files/patch-chrome_browser_enterprise_connectors_device__trust_attestation__service.cc deleted file mode 100644 index 94294223caaf..000000000000 --- a/www/chromium/files/patch-chrome_browser_enterprise_connectors_device__trust_attestation__service.cc +++ /dev/null @@ -1,70 +0,0 @@ ---- chrome/browser/enterprise/connectors/device_trust/attestation_service.cc.orig 2021-07-28 07:35:48 UTC -+++ chrome/browser/enterprise/connectors/device_trust/attestation_service.cc -@@ -18,10 +18,10 @@ - namespace enterprise_connectors { - - AttestationService::AttestationService() { --#if defined(OS_LINUX) || defined(OS_WIN) || defined(OS_MAC) -+#if defined(OS_LINUX) || defined(OS_WIN) || defined(OS_MAC) || defined(OS_BSD) - key_pair_ = std::make_unique(); - key_pair_->Init(); --#endif // defined(OS_LINUX) || defined(OS_WIN) || defined(OS_MAC) -+#endif // defined(OS_LINUX) || defined(OS_WIN) || defined(OS_MAC) || defined(OS_BSD) - } - - AttestationService::~AttestationService() = default; -@@ -71,11 +71,11 @@ std::string AttestationService::ProtobufChallengeToJso - base::Base64Encode(challenge_response, &encoded); - signed_data.SetKey("data", base::Value(encoded)); - --#if defined(OS_LINUX) || defined(OS_WIN) || defined(OS_MAC) -+#if defined(OS_LINUX) || defined(OS_WIN) || defined(OS_MAC) || defined(OS_BSD) - std::string signature; - key_pair_->GetSignatureInBase64(challenge_response, &signature); - signed_data.SetKey("signature", base::Value(signature)); --#endif // defined(OS_LINUX) || defined(OS_WIN) || defined(OS_MAC) -+#endif // defined(OS_LINUX) || defined(OS_WIN) || defined(OS_MAC) || defined(OS_BSD) - - base::Value dict(base::Value::Type::DICTIONARY); - dict.SetKey("challengeResponse", std::move(signed_data)); -@@ -85,11 +85,11 @@ std::string AttestationService::ProtobufChallengeToJso - return json; - } - --#if defined(OS_LINUX) || defined(OS_WIN) || defined(OS_MAC) -+#if defined(OS_LINUX) || defined(OS_WIN) || defined(OS_MAC) || defined(OS_BSD) - std::string AttestationService::ExportPEMPublicKey() { - return key_pair_->ExportPEMPublicKey(); - } --#endif // defined(OS_LINUX) || defined(OS_WIN) || defined(OS_MAC) -+#endif // defined(OS_LINUX) || defined(OS_WIN) || defined(OS_MAC) || defined(OS_BSD) - - void AttestationService::SignEnterpriseChallenge( - const SignEnterpriseChallengeRequest& request, -@@ -110,9 +110,9 @@ void AttestationService::SignEnterpriseChallengeTask( - - KeyInfo key_info; - // Set the public key so VA can verify the client. --#if defined(OS_LINUX) || defined(OS_WIN) || defined(OS_MAC) -+#if defined(OS_LINUX) || defined(OS_WIN) || defined(OS_MAC) || defined(OS_BSD) - key_info.set_signed_public_key_and_challenge(ExportPEMPublicKey()); --#endif // defined(OS_LINUX) || defined(OS_WIN) || defined(OS_MAC) -+#endif // defined(OS_LINUX) || defined(OS_WIN) || defined(OS_MAC) || defined(OS_BSD) - - ChallengeResponse response_pb; - *response_pb.mutable_challenge() = signed_challenge; -@@ -135,12 +135,12 @@ void AttestationService::SignEnterpriseChallengeTask( - bool AttestationService::SignChallengeData(const std::string& data, - std::string* response) { - std::string signature; --#if defined(OS_LINUX) || defined(OS_WIN) || defined(OS_MAC) -+#if defined(OS_LINUX) || defined(OS_WIN) || defined(OS_MAC) || defined(OS_BSD) - if (!key_pair_->GetSignatureInBase64(data, &signature)) { - LOG(ERROR) << __func__ << ": Failed to sign data."; - return false; - } --#endif // defined(OS_LINUX) || defined(OS_WIN) || defined(OS_MAC) -+#endif // defined(OS_LINUX) || defined(OS_WIN) || defined(OS_MAC) || defined(OS_BSD) - SignedData signed_data; - signed_data.set_data(data); - signed_data.set_signature(signature); diff --git a/www/chromium/files/patch-chrome_browser_enterprise_connectors_device__trust_attestation__service.h b/www/chromium/files/patch-chrome_browser_enterprise_connectors_device__trust_attestation__service.h deleted file mode 100644 index 9eb8b1b6a487..000000000000 --- a/www/chromium/files/patch-chrome_browser_enterprise_connectors_device__trust_attestation__service.h +++ /dev/null @@ -1,14 +0,0 @@ ---- chrome/browser/enterprise/connectors/device_trust/attestation_service.h.orig 2021-07-28 07:36:46 UTC -+++ chrome/browser/enterprise/connectors/device_trust/attestation_service.h -@@ -94,9 +94,9 @@ class AttestationService { - AttestationCallback callback, - const std::string& challenge_response_proto); - --#if defined(OS_LINUX) || defined(OS_WIN) || defined(OS_MAC) -+#if defined(OS_LINUX) || defined(OS_WIN) || defined(OS_MAC) || defined(OS_BSD) - std::unique_ptr key_pair_; --#endif // defined(OS_LINUX) || defined(OS_WIN) || defined(OS_MAC) -+#endif // defined(OS_LINUX) || defined(OS_WIN) || defined(OS_MAC) || defined(OS_BSD) - - GoogleKeys google_keys_; - base::WeakPtrFactory weak_factory_{this}; diff --git a/www/chromium/files/patch-chrome_browser_enterprise_connectors_device__trust_device__trust__service.cc b/www/chromium/files/patch-chrome_browser_enterprise_connectors_device__trust_device__trust__service.cc deleted file mode 100644 index 2207540b6ba1..000000000000 --- a/www/chromium/files/patch-chrome_browser_enterprise_connectors_device__trust_device__trust__service.cc +++ /dev/null @@ -1,31 +0,0 @@ ---- chrome/browser/enterprise/connectors/device_trust/device_trust_service.cc.orig 2021-07-19 18:45:08 UTC -+++ chrome/browser/enterprise/connectors/device_trust/device_trust_service.cc -@@ -82,12 +82,12 @@ void DeviceTrustService::OnReporterInitialized(bool su - - DeviceTrustReportEvent report; - --#if defined(OS_LINUX) || defined(OS_WIN) || defined(OS_MAC) -+#if defined(OS_LINUX) || defined(OS_WIN) || defined(OS_MAC) || defined(OS_BSD) - auto* credential = report.mutable_attestation_credential(); - credential->set_format( - DeviceTrustReportEvent::Credential::EC_NID_X9_62_PRIME256V1_PUBLIC_DER); - credential->set_credential(attestation_service_->ExportPEMPublicKey()); --#endif // defined(OS_LINUX) || defined(OS_WIN) || defined(OS_MAC) -+#endif // defined(OS_LINUX) || defined(OS_WIN) || defined(OS_MAC) || defined(OS_BSD) - - reporter_->SendReport(&report, std::move(signal_report_callback_)); - } -@@ -117,11 +117,11 @@ void DeviceTrustService::SetSignalReportCallbackForTes - base::Unretained(this), std::move(cb)); - } - --#if defined(OS_LINUX) || defined(OS_WIN) || defined(OS_MAC) -+#if defined(OS_LINUX) || defined(OS_WIN) || defined(OS_MAC) || defined(OS_BSD) - std::string DeviceTrustService::GetAttestationCredentialForTesting() const { - return attestation_service_->ExportPEMPublicKey(); - } --#endif // defined(OS_LINUX) || defined(OS_WIN) || defined(OS_MAC) -+#endif // defined(OS_LINUX) || defined(OS_WIN) || defined(OS_MAC) || defined(OS_BSD) - - void DeviceTrustService::BuildChallengeResponse(const std::string& challenge, - AttestationCallback callback) { diff --git a/www/chromium/files/patch-chrome_browser_enterprise_connectors_device__trust_device__trust__service.h b/www/chromium/files/patch-chrome_browser_enterprise_connectors_device__trust_device__trust__service.h deleted file mode 100644 index 98c8cc888e3a..000000000000 --- a/www/chromium/files/patch-chrome_browser_enterprise_connectors_device__trust_device__trust__service.h +++ /dev/null @@ -1,14 +0,0 @@ ---- chrome/browser/enterprise/connectors/device_trust/device_trust_service.h.orig 2021-07-19 18:45:08 UTC -+++ chrome/browser/enterprise/connectors/device_trust/device_trust_service.h -@@ -41,9 +41,9 @@ class DeviceTrustService : public KeyedService { - std::unique_ptr reporter); - using SignalReportCallback = base::OnceCallback; - void SetSignalReportCallbackForTesting(SignalReportCallback cb); --#if defined(OS_LINUX) || defined(OS_WIN) || defined(OS_MAC) -+#if defined(OS_LINUX) || defined(OS_WIN) || defined(OS_MAC) || defined(OS_BSD) - std::string GetAttestationCredentialForTesting() const; --#endif // defined(OS_LINUX) || defined(OS_WIN) || defined(OS_MAC) -+#endif // defined(OS_LINUX) || defined(OS_WIN) || defined(OS_MAC) || defined(OS_BSD) - - // Starts flow that actually builds a response. This method is called - // from a non_UI thread. diff --git a/www/chromium/files/patch-chrome_browser_enterprise_connectors_device__trust_device__trust__service__factory.cc b/www/chromium/files/patch-chrome_browser_enterprise_connectors_device__trust_device__trust__service__factory.cc new file mode 100644 index 000000000000..e7574450bceb --- /dev/null +++ b/www/chromium/files/patch-chrome_browser_enterprise_connectors_device__trust_device__trust__service__factory.cc @@ -0,0 +1,14 @@ +--- chrome/browser/enterprise/connectors/device_trust/device_trust_service_factory.cc.orig 2021-09-24 18:20:01 UTC ++++ chrome/browser/enterprise/connectors/device_trust/device_trust_service_factory.cc +@@ -13,9 +13,9 @@ + #include "components/keyed_service/content/browser_context_dependency_manager.h" + #include "components/keyed_service/core/keyed_service.h" + #include "content/public/browser/browser_context.h" +-#if defined(OS_LINUX) || defined(OS_WIN) || defined(OS_MAC) ++#if defined(OS_LINUX) || defined(OS_WIN) || defined(OS_MAC) || defined(OS_BSD) + #include "chrome/browser/enterprise/connectors/device_trust/attestation/desktop/desktop_attestation_service.h" +-#endif // defined(OS_LINUX) || defined(OS_WIN) || defined(OS_MAC) ++#endif // defined(OS_LINUX) || defined(OS_WIN) || defined(OS_MAC) || defined(OS_BSD) + #if BUILDFLAG(IS_CHROMEOS_ASH) + #include "chrome/browser/enterprise/connectors/device_trust/attestation/ash/ash_attestation_service.h" + #endif // BUILDFLAG(IS_CHROMEOS_ASH) diff --git a/www/chromium/files/patch-chrome_browser_extensions_BUILD.gn b/www/chromium/files/patch-chrome_browser_extensions_BUILD.gn index 3af65d639695..459e555bb959 100644 --- a/www/chromium/files/patch-chrome_browser_extensions_BUILD.gn +++ b/www/chromium/files/patch-chrome_browser_extensions_BUILD.gn @@ -1,15 +1,15 @@ ---- chrome/browser/extensions/BUILD.gn.orig 2021-07-19 18:45:08 UTC +--- chrome/browser/extensions/BUILD.gn.orig 2021-09-24 04:25:58 UTC +++ chrome/browser/extensions/BUILD.gn -@@ -1259,6 +1259,12 @@ static_library("extensions") { - ] +@@ -1275,6 +1275,12 @@ static_library("extensions") { + deps += [ "//chrome/services/printing/public/mojom" ] } + if (is_bsd) { + sources -= [ + "api/image_writer_private/removable_storage_provider_linux.cc", + ] + } + if (enable_service_discovery) { sources += [ "api/mdns/mdns_api.cc", diff --git a/www/chromium/files/patch-chrome_browser_extensions_api_enterprise__reporting__private_enterprise__reporting__private__api.cc b/www/chromium/files/patch-chrome_browser_extensions_api_enterprise__reporting__private_enterprise__reporting__private__api.cc new file mode 100644 index 000000000000..4c28d0ef9da6 --- /dev/null +++ b/www/chromium/files/patch-chrome_browser_extensions_api_enterprise__reporting__private_enterprise__reporting__private__api.cc @@ -0,0 +1,20 @@ +--- chrome/browser/extensions/api/enterprise_reporting_private/enterprise_reporting_private_api.cc.orig 2021-09-24 18:21:22 UTC ++++ chrome/browser/extensions/api/enterprise_reporting_private/enterprise_reporting_private_api.cc +@@ -154,7 +154,7 @@ EnterpriseReportingPrivateGetDeviceIdFunction:: + + // getPersistentSecret + +-#if !defined(OS_LINUX) ++#if !defined(OS_LINUX) && !defined(OS_BSD) + + EnterpriseReportingPrivateGetPersistentSecretFunction:: + EnterpriseReportingPrivateGetPersistentSecretFunction() = default; +@@ -206,7 +206,7 @@ void EnterpriseReportingPrivateGetPersistentSecretFunc + } + } + +-#endif // !defined(OS_LINUX) ++#endif // !defined(OS_LINUX) && !defined(OS_BSD) + + // getDeviceData + diff --git a/www/chromium/files/patch-chrome_browser_extensions_api_enterprise__reporting__private_enterprise__reporting__private__api.h b/www/chromium/files/patch-chrome_browser_extensions_api_enterprise__reporting__private_enterprise__reporting__private__api.h new file mode 100644 index 000000000000..e087aff0c7b2 --- /dev/null +++ b/www/chromium/files/patch-chrome_browser_extensions_api_enterprise__reporting__private_enterprise__reporting__private__api.h @@ -0,0 +1,20 @@ +--- chrome/browser/extensions/api/enterprise_reporting_private/enterprise_reporting_private_api.h.orig 2021-09-24 18:21:41 UTC ++++ chrome/browser/extensions/api/enterprise_reporting_private/enterprise_reporting_private_api.h +@@ -41,7 +41,7 @@ class EnterpriseReportingPrivateGetDeviceIdFunction : + DISALLOW_COPY_AND_ASSIGN(EnterpriseReportingPrivateGetDeviceIdFunction); + }; + +-#if !defined(OS_LINUX) ++#if !defined(OS_LINUX) && !defined(OS_BSD) + + class EnterpriseReportingPrivateGetPersistentSecretFunction + : public ExtensionFunction { +@@ -69,7 +69,7 @@ class EnterpriseReportingPrivateGetPersistentSecretFun + void SendResponse(const std::string& data, long int status); + }; + +-#endif // !defined(OS_LINUX) ++#endif // !defined(OS_LINUX) && !defined(OS_BSD) + + class EnterpriseReportingPrivateGetDeviceDataFunction + : public ExtensionFunction { diff --git a/www/chromium/files/patch-chrome_browser_extensions_api_erp_chrome_desktop_report_request_helper.cc b/www/chromium/files/patch-chrome_browser_extensions_api_erp_chrome_desktop_report_request_helper.cc index 353cec01ec98..16db51be7492 100644 --- a/www/chromium/files/patch-chrome_browser_extensions_api_erp_chrome_desktop_report_request_helper.cc +++ b/www/chromium/files/patch-chrome_browser_extensions_api_erp_chrome_desktop_report_request_helper.cc @@ -1,29 +1,29 @@ ---- chrome/browser/extensions/api/enterprise_reporting_private/chrome_desktop_report_request_helper.cc.orig 2021-08-17 00:15:57 UTC +--- chrome/browser/extensions/api/enterprise_reporting_private/chrome_desktop_report_request_helper.cc.orig 2021-10-08 06:25:39 UTC +++ chrome/browser/extensions/api/enterprise_reporting_private/chrome_desktop_report_request_helper.cc @@ -23,7 +23,7 @@ #include "base/win/registry.h" #endif -#if defined(OS_LINUX) || defined(OS_CHROMEOS) +#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD) #include "base/environment.h" #include "base/nix/xdg_util.h" #endif @@ -241,7 +241,7 @@ base::FilePath GetEndpointVerificationDir() { bool got_path = false; #if defined(OS_WIN) got_path = base::PathService::Get(base::DIR_LOCAL_APP_DATA, &path); -#elif defined(OS_LINUX) || defined(OS_CHROMEOS) +#elif defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD) std::unique_ptr env(base::Environment::Create()); path = base::nix::GetXDGDirectory(env.get(), base::nix::kXdgConfigHomeEnvVar, base::nix::kDotConfigDir); @@ -252,7 +252,7 @@ base::FilePath GetEndpointVerificationDir() { if (!got_path) return path; -#if defined(OS_LINUX) || defined(OS_CHROMEOS) +#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD) path = path.AppendASCII("google"); #else path = path.AppendASCII("Google"); diff --git a/www/chromium/files/patch-chrome_browser_extensions_api_extension__action_browser__action__interactive__test.cc b/www/chromium/files/patch-chrome_browser_extensions_api_extension__action_browser__action__interactive__test.cc index 9f6eb2ee06cd..183a9b196f60 100644 --- a/www/chromium/files/patch-chrome_browser_extensions_api_extension__action_browser__action__interactive__test.cc +++ b/www/chromium/files/patch-chrome_browser_extensions_api_extension__action_browser__action__interactive__test.cc @@ -1,11 +1,11 @@ ---- chrome/browser/extensions/api/extension_action/browser_action_interactive_test.cc.orig 2021-07-19 18:45:08 UTC +--- chrome/browser/extensions/api/extension_action/browser_action_interactive_test.cc.orig 2021-09-24 04:25:58 UTC +++ chrome/browser/extensions/api/extension_action/browser_action_interactive_test.cc -@@ -285,7 +285,7 @@ IN_PROC_BROWSER_TEST_F(BrowserActionInteractiveTest, T +@@ -286,7 +286,7 @@ IN_PROC_BROWSER_TEST_F(BrowserActionInteractiveTest, T frame_observer.Wait(); // Non-Aura Linux uses a singleton for the popup, so it looks like all windows // have popups if there is any popup open. -#if !((defined(OS_LINUX) || defined(OS_CHROMEOS)) && !defined(USE_AURA)) +#if !((defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD)) && !defined(USE_AURA)) // Starting window does not have a popup. EXPECT_FALSE(ExtensionActionTestHelper::Create(browser())->HasPopup()); #endif diff --git a/www/chromium/files/patch-chrome_browser_extensions_api_runtime_chrome__runtime__api__delegate.cc b/www/chromium/files/patch-chrome_browser_extensions_api_runtime_chrome__runtime__api__delegate.cc index 17797250a1e9..34647711948b 100644 --- a/www/chromium/files/patch-chrome_browser_extensions_api_runtime_chrome__runtime__api__delegate.cc +++ b/www/chromium/files/patch-chrome_browser_extensions_api_runtime_chrome__runtime__api__delegate.cc @@ -1,11 +1,11 @@ ---- chrome/browser/extensions/api/runtime/chrome_runtime_api_delegate.cc.orig 2021-04-14 18:40:53 UTC +--- chrome/browser/extensions/api/runtime/chrome_runtime_api_delegate.cc.orig 2021-09-14 01:51:50 UTC +++ chrome/browser/extensions/api/runtime/chrome_runtime_api_delegate.cc -@@ -286,6 +286,8 @@ bool ChromeRuntimeAPIDelegate::GetPlatformInfo(Platfor +@@ -285,6 +285,8 @@ bool ChromeRuntimeAPIDelegate::GetPlatformInfo(Platfor info->os = extensions::api::runtime::PLATFORM_OS_CROS; } else if (strcmp(os, "linux") == 0) { info->os = extensions::api::runtime::PLATFORM_OS_LINUX; + } else if (strcmp(os, "freebsd") == 0) { + info->os = extensions::api::runtime::PLATFORM_OS_FREEBSD; } else if (strcmp(os, "openbsd") == 0) { info->os = extensions::api::runtime::PLATFORM_OS_OPENBSD; } else { diff --git a/www/chromium/files/patch-chrome_browser_extensions_api_settings__private_prefs__util.cc b/www/chromium/files/patch-chrome_browser_extensions_api_settings__private_prefs__util.cc index e74d885790a6..c8ea0be62458 100644 --- a/www/chromium/files/patch-chrome_browser_extensions_api_settings__private_prefs__util.cc +++ b/www/chromium/files/patch-chrome_browser_extensions_api_settings__private_prefs__util.cc @@ -1,20 +1,20 @@ ---- chrome/browser/extensions/api/settings_private/prefs_util.cc.orig 2021-07-19 18:45:08 UTC +--- chrome/browser/extensions/api/settings_private/prefs_util.cc.orig 2021-09-14 01:51:50 UTC +++ chrome/browser/extensions/api/settings_private/prefs_util.cc -@@ -181,7 +181,7 @@ const PrefsUtil::TypedPrefMap& PrefsUtil::GetAllowlist +@@ -182,7 +182,7 @@ const PrefsUtil::TypedPrefMap& PrefsUtil::GetAllowlist // TODO(crbug.com/1052397): Revisit the macro expression once build flag switch // of lacros-chrome is complete. -#if defined(OS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS) +#if defined(OS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS) || defined(OS_BSD) (*s_allowlist)[::prefs::kUseCustomChromeFrame] = settings_api::PrefType::PREF_TYPE_BOOLEAN; #endif -@@ -195,7 +195,7 @@ const PrefsUtil::TypedPrefMap& PrefsUtil::GetAllowlist +@@ -196,7 +196,7 @@ const PrefsUtil::TypedPrefMap& PrefsUtil::GetAllowlist settings_api::PrefType::PREF_TYPE_NUMBER; // TODO(crbug.com/1052397): Revisit the macro expression once build flag switch // of lacros-chrome is complete. -#if defined(OS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS) +#if defined(OS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS) || defined(OS_BSD) (*s_allowlist)[::prefs::kUsesSystemTheme] = settings_api::PrefType::PREF_TYPE_BOOLEAN; #endif diff --git a/www/chromium/files/patch-chrome_browser_extensions_api_webrtc__logging__private_webrtc__logging__private__api.cc b/www/chromium/files/patch-chrome_browser_extensions_api_webrtc__logging__private_webrtc__logging__private__api.cc index b2daa01497ed..f5a7b5e6388a 100644 --- a/www/chromium/files/patch-chrome_browser_extensions_api_webrtc__logging__private_webrtc__logging__private__api.cc +++ b/www/chromium/files/patch-chrome_browser_extensions_api_webrtc__logging__private_webrtc__logging__private__api.cc @@ -1,41 +1,41 @@ ---- chrome/browser/extensions/api/webrtc_logging_private/webrtc_logging_private_api.cc.orig 2021-05-12 22:05:44 UTC +--- chrome/browser/extensions/api/webrtc_logging_private/webrtc_logging_private_api.cc.orig 2021-09-14 01:51:50 UTC +++ chrome/browser/extensions/api/webrtc_logging_private/webrtc_logging_private_api.cc @@ -30,7 +30,7 @@ #include "extensions/browser/process_manager.h" #include "extensions/common/error_utils.h" -#if defined(OS_LINUX) || defined(OS_CHROMEOS) +#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD) #include "extensions/common/permissions/permissions_data.h" #endif @@ -39,7 +39,7 @@ namespace { bool CanEnableAudioDebugRecordingsFromExtension( const extensions::Extension* extension) { bool enabled_by_permissions = false; -#if defined(OS_LINUX) || defined(OS_CHROMEOS) +#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD) if (extension) { enabled_by_permissions = extension->permissions_data()->active_permissions().HasAPIPermission( -@@ -572,7 +572,7 @@ void WebrtcLoggingPrivateStartEventLoggingFunction::Fi +@@ -579,7 +579,7 @@ void WebrtcLoggingPrivateStartEventLoggingFunction::Fi ExtensionFunction::ResponseAction WebrtcLoggingPrivateGetLogsDirectoryFunction::Run() { -#if defined(OS_LINUX) || defined(OS_CHROMEOS) +#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD) // Unlike other WebrtcLoggingPrivate functions that take a RequestInfo object, // this function shouldn't be called by a component extension on behalf of // some web code. It returns a DirectoryEntry for use directly in the calling -@@ -595,9 +595,9 @@ WebrtcLoggingPrivateGetLogsDirectoryFunction::Run() { +@@ -602,9 +602,9 @@ WebrtcLoggingPrivateGetLogsDirectoryFunction::Run() { &WebrtcLoggingPrivateGetLogsDirectoryFunction::FireErrorCallback, this)); return RespondLater(); -#else // defined(OS_LINUX) || defined(OS_CHROMEOS) +#else // defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD) return RespondNow(Error("Not supported on the current OS")); -#endif // defined(OS_LINUX) || defined(OS_CHROMEOS) +#endif // defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD) } void WebrtcLoggingPrivateGetLogsDirectoryFunction::FireCallback( diff --git a/www/chromium/files/patch-chrome_browser_extensions_external__provider__impl.cc b/www/chromium/files/patch-chrome_browser_extensions_external__provider__impl.cc index 10dd794f341c..d3949de1b593 100644 --- a/www/chromium/files/patch-chrome_browser_extensions_external__provider__impl.cc +++ b/www/chromium/files/patch-chrome_browser_extensions_external__provider__impl.cc @@ -1,20 +1,20 @@ ---- chrome/browser/extensions/external_provider_impl.cc.orig 2021-07-19 18:45:08 UTC +--- chrome/browser/extensions/external_provider_impl.cc.orig 2021-09-24 04:25:58 UTC +++ chrome/browser/extensions/external_provider_impl.cc -@@ -797,7 +797,7 @@ void ExternalProviderImpl::CreateExternalProviders( +@@ -796,7 +796,7 @@ void ExternalProviderImpl::CreateExternalProviders( if (!profile->GetPrefs()->GetBoolean(pref_names::kBlockExternalExtensions)) { // TODO(crbug.com/1052397): Revisit the macro expression once build flag switch // of lacros-chrome is complete. -#if defined(OS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS) +#if defined(OS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS) || defined(OS_BSD) provider_list->push_back(std::make_unique( service, base::MakeRefCounted( -@@ -825,7 +825,7 @@ void ExternalProviderImpl::CreateExternalProviders( +@@ -824,7 +824,7 @@ void ExternalProviderImpl::CreateExternalProviders( bundled_extension_creation_flags)); // Define a per-user source of external extensions. -#if defined(OS_MAC) || ((defined(OS_LINUX) || defined(OS_CHROMEOS)) && \ +#if defined(OS_MAC) || defined(OS_BSD) || ((defined(OS_LINUX) || defined(OS_CHROMEOS)) && \ BUILDFLAG(CHROMIUM_BRANDING)) provider_list->push_back(std::make_unique( service, diff --git a/www/chromium/files/patch-chrome_browser_file__system__access_chrome__file__system__access__permission__context.cc b/www/chromium/files/patch-chrome_browser_file__system__access_chrome__file__system__access__permission__context.cc index 6dd62acdaec6..7ce17b797387 100644 --- a/www/chromium/files/patch-chrome_browser_file__system__access_chrome__file__system__access__permission__context.cc +++ b/www/chromium/files/patch-chrome_browser_file__system__access_chrome__file__system__access__permission__context.cc @@ -1,11 +1,11 @@ ---- chrome/browser/file_system_access/chrome_file_system_access_permission_context.cc.orig 2021-07-19 18:45:08 UTC +--- chrome/browser/file_system_access/chrome_file_system_access_permission_context.cc.orig 2021-09-24 04:25:58 UTC +++ chrome/browser/file_system_access/chrome_file_system_access_permission_context.cc -@@ -222,7 +222,7 @@ const struct { +@@ -213,7 +213,7 @@ const struct { {base::DIR_HOME, FILE_PATH_LITERAL("Library/Mobile Documents"), kDontBlockChildren}, #endif -#if defined(OS_LINUX) || defined(OS_CHROMEOS) +#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD) // On Linux also block access to devices via /dev, as well as security // sensitive data in /sys and /proc. {kNoBasePathKey, FILE_PATH_LITERAL("/dev"), kBlockAllChildren}, diff --git a/www/chromium/files/patch-chrome_browser_first__run_first__run__internal__posix.cc b/www/chromium/files/patch-chrome_browser_first__run_first__run__internal__posix.cc index 37e18602f6c5..d21752e932dc 100644 --- a/www/chromium/files/patch-chrome_browser_first__run_first__run__internal__posix.cc +++ b/www/chromium/files/patch-chrome_browser_first__run_first__run__internal__posix.cc @@ -1,20 +1,20 @@ ---- chrome/browser/first_run/first_run_internal_posix.cc.orig 2021-07-19 18:45:08 UTC +--- chrome/browser/first_run/first_run_internal_posix.cc.orig 2021-09-24 04:25:58 UTC +++ chrome/browser/first_run/first_run_internal_posix.cc -@@ -46,7 +46,7 @@ enum class ForcedShowDialogState { +@@ -37,7 +37,7 @@ enum class ForcedShowDialogState { ForcedShowDialogState g_forced_show_dialog_state = ForcedShowDialogState::kNotForced; -#if !BUILDFLAG(IS_CHROMEOS_ASH) +#if !BUILDFLAG(IS_CHROMEOS_ASH) && !defined(OS_BSD) // Returns whether the first run dialog should be shown. This is only true for // certain builds, and only if the user has not already set preferences. In a // real, official-build first run, initializes the default metrics reporting if -@@ -96,7 +96,7 @@ void ForceFirstRunDialogShownForTesting(bool shown) { +@@ -82,7 +82,7 @@ void ForceFirstRunDialogShownForTesting(bool shown) { } void DoPostImportPlatformSpecificTasks(Profile* profile) { -#if !BUILDFLAG(IS_CHROMEOS_ASH) +#if !BUILDFLAG(IS_CHROMEOS_ASH) && !defined(OS_BSD) if (!ShouldShowFirstRunDialog()) return; diff --git a/www/chromium/files/patch-chrome_browser_flag__descriptions.cc b/www/chromium/files/patch-chrome_browser_flag__descriptions.cc index 1f192e114dff..bb3950a4f798 100644 --- a/www/chromium/files/patch-chrome_browser_flag__descriptions.cc +++ b/www/chromium/files/patch-chrome_browser_flag__descriptions.cc @@ -1,76 +1,65 @@ ---- chrome/browser/flag_descriptions.cc.orig 2021-07-19 18:45:08 UTC +--- chrome/browser/flag_descriptions.cc.orig 2021-09-24 04:25:58 UTC +++ chrome/browser/flag_descriptions.cc -@@ -5015,7 +5015,7 @@ const char kInstallableInkDropDescription[] = +@@ -5110,7 +5110,7 @@ const char kDownloadShelfWebUIDescription[] = // Random platform combinations ----------------------------------------------- -#if defined(OS_WIN) || defined(OS_MAC) || defined(OS_LINUX) || \ +#if defined(OS_WIN) || defined(OS_MAC) || defined(OS_LINUX) || defined(OS_BSD) || \ - defined(OS_CHROMEOS) + defined(OS_CHROMEOS) || defined(OS_FUCHSIA) const char kEnableOopPrintDriversName[] = -@@ -5039,10 +5039,10 @@ const char kSettingsLandingPageRedesignDescription[] = +@@ -5134,10 +5134,10 @@ const char kSettingsLandingPageRedesignDescription[] = "Changes the layout of the chrome://settings page to only show one section " "at a time."; -#endif // defined(OS_WIN) || defined(OS_MAC) || defined(OS_LINUX) || +#endif // defined(OS_WIN) || defined(OS_MAC) || defined(OS_LINUX) || defined(OS_BSD) || - // defined(OS_CHROMEOS) + // defined(OS_CHROMEOS) || defined(OS_FUCHSIA) -#if defined(OS_WIN) || defined(OS_MAC) || defined(OS_LINUX) +#if defined(OS_WIN) || defined(OS_MAC) || defined(OS_LINUX) || defined(OS_BSD) const char kCommanderName[] = "Commander"; const char kCommanderDescription[] = -@@ -5058,7 +5058,7 @@ const char kDesktopDetailedLanguageSettingsName[] = +@@ -5153,7 +5153,7 @@ const char kDesktopDetailedLanguageSettingsName[] = const char kDesktopDetailedLanguageSettingsDescription[] = "Enable the new detailed language settings page"; -#endif // defined(OS_WIN) || defined(OS_MAC) || defined(OS_LINUX) +#endif // defined(OS_WIN) || defined(OS_MAC) || defined(OS_LINUX) || defined(OS_BSD) #if defined(OS_CHROMEOS) || defined(OS_LINUX) #if BUILDFLAG(USE_TCMALLOC) -@@ -5085,20 +5085,20 @@ const char kWebShareDescription[] = - - // TODO(crbug.com/1052397): Revisit the macro expression once build flag switch - // of lacros-chrome is complete. --#if defined(OS_WIN) || (defined(OS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS)) || \ -+#if defined(OS_WIN) || (defined(OS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS)) || defined(OS_BSD) || \ - defined(OS_MAC) - const char kEnableEphemeralGuestProfilesOnDesktopName[] = - "Enable ephemeral Guest profiles on Desktop"; - const char kEnableEphemeralGuestProfilesOnDesktopDescription[] = - "Enables ephemeral Guest profiles on Windows, Linux, and Mac."; --#endif // defined(OS_WIN) || (defined(OS_LINUX) || -+#endif // defined(OS_WIN) || (defined(OS_LINUX) || defined(OS_BSD) || - // BUILDFLAG(IS_CHROMEOS_LACROS)) || defined(OS_MAC) +@@ -5178,11 +5178,11 @@ const char kWebShareDescription[] = + "platforms."; + #endif // defined(OS_WIN) || BUILDFLAG(IS_CHROMEOS_ASH) || defined(OS_MAC) -#if defined(OS_LINUX) && defined(USE_OZONE) +#if (defined(OS_LINUX) || defined(OS_BSD)) && defined(USE_OZONE) const char kUseOzonePlatformName[] = "Use ozone."; const char kUseOzonePlatformDescription[] = "Use the Ozone/X11 platform implementation on X11."; -#endif // defined(OS_LINUX) && defined(USE_OZONE) +#endif // (defined(OS_LINUX) || defined(OS_BSD)) && defined(USE_OZONE) // Feature flags -------------------------------------------------------------- -@@ -5184,7 +5184,7 @@ const char kAutofillCreditCardUploadDescription[] = +@@ -5249,7 +5249,7 @@ const char kAutofillCreditCardUploadDescription[] = #endif // defined(TOOLKIT_VIEWS) || defined(OS_ANDROID) -#if !defined(OS_WIN) && !defined(OS_FUCHSIA) +#if !defined(OS_WIN) && !defined(OS_FUCHSIA) && !defined(OS_BSD) const char kSendWebUIJavaScriptErrorReportsName[] = "Send WebUI JavaScript Error Reports"; const char kSendWebUIJavaScriptErrorReportsDescription[] = -@@ -5193,7 +5193,7 @@ const char kSendWebUIJavaScriptErrorReportsDescription - "will be sent to Google."; - #endif +@@ -5264,7 +5264,7 @@ const char kElasticOverscrollDescription[] = + "Enables Elastic Overscrolling on touchscreens and precision touchpads."; + #endif // defined(OS_WIN) || defined(OS_ANDROID) -#if defined(OS_WIN) || (defined(OS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS)) || \ +#if defined(OS_WIN) || (defined(OS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS)) || defined(OS_BSD) || \ defined(OS_MAC) const char kUIDebugToolsName[] = "Debugging tools for UI"; const char kUIDebugToolsDescription[] = diff --git a/www/chromium/files/patch-chrome_browser_flag__descriptions.h b/www/chromium/files/patch-chrome_browser_flag__descriptions.h index 728321dc3006..7870c80884ec 100644 --- a/www/chromium/files/patch-chrome_browser_flag__descriptions.h +++ b/www/chromium/files/patch-chrome_browser_flag__descriptions.h @@ -1,82 +1,67 @@ ---- chrome/browser/flag_descriptions.h.orig 2021-07-19 18:45:08 UTC +--- chrome/browser/flag_descriptions.h.orig 2021-09-24 04:25:58 UTC +++ chrome/browser/flag_descriptions.h @@ -22,9 +22,9 @@ #include "printing/buildflags/buildflags.h" #include "third_party/blink/public/common/buildflags.h" -#if defined(OS_LINUX) || defined(OS_CHROMEOS) +#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD) #include "base/allocator/buildflags.h" -#endif // defined(OS_LINUX) || defined(OS_CHROMEOS) +#endif // defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD) // This file declares strings used in chrome://flags. These messages are not // translated, because instead of end-users they target Chromium developers and -@@ -2928,7 +2928,7 @@ extern const char kInstallableInkDropDescription[]; +@@ -2954,7 +2954,7 @@ extern const char kDownloadShelfWebUIDescription[]; // Random platform combinations ----------------------------------------------- -#if defined(OS_WIN) || defined(OS_MAC) || defined(OS_LINUX) || \ +#if defined(OS_WIN) || defined(OS_MAC) || defined(OS_LINUX) || defined(OS_BSD) || \ - defined(OS_CHROMEOS) + defined(OS_CHROMEOS) || defined(OS_FUCHSIA) extern const char kEnableOopPrintDriversName[]; -@@ -2943,10 +2943,10 @@ extern const char kWebuiFeedbackDescription[]; +@@ -2969,10 +2969,10 @@ extern const char kWebuiFeedbackDescription[]; extern const char kSettingsLandingPageRedesignName[]; extern const char kSettingsLandingPageRedesignDescription[]; -#endif // defined(OS_WIN) || defined(OS_MAC) || defined(OS_LINUX) || +#endif // defined(OS_WIN) || defined(OS_MAC) || defined(OS_LINUX) || defined(OS_BSD) || - // defined(OS_CHROMEOS) + // defined(OS_CHROMEOS) || defined(OS_FUCHSIA) -#if defined(OS_WIN) || defined(OS_MAC) || defined(OS_LINUX) +#if defined(OS_WIN) || defined(OS_MAC) || defined(OS_LINUX) || defined(OS_BSD) extern const char kCommanderName[]; extern const char kCommanderDescription[]; -@@ -2957,7 +2957,7 @@ extern const char kDesktopRestructuredLanguageSettings +@@ -2983,7 +2983,7 @@ extern const char kDesktopRestructuredLanguageSettings extern const char kDesktopDetailedLanguageSettingsName[]; extern const char kDesktopDetailedLanguageSettingsDescription[]; -#endif // defined(OS_WIN) || defined(OS_MAC) || defined(OS_LINUX) +#endif // defined(OS_WIN) || defined(OS_MAC) || defined(OS_LINUX) || defined(OS_BSD) #if defined(OS_CHROMEOS) || defined(OS_LINUX) #if BUILDFLAG(USE_TCMALLOC) -@@ -2978,17 +2978,17 @@ extern const char kWebShareDescription[]; - - // TODO(crbug.com/1052397): Revisit the macro expression once build flag switch - // of lacros-chrome is complete. --#if defined(OS_WIN) || (defined(OS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS)) || \ -+#if defined(OS_WIN) || (defined(OS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS)) || defined(OS_BSD) || \ - defined(OS_MAC) - extern const char kEnableEphemeralGuestProfilesOnDesktopName[]; - extern const char kEnableEphemeralGuestProfilesOnDesktopDescription[]; --#endif // defined(OS_WIN) || (defined(OS_LINUX) || -+#endif // defined(OS_WIN) || (defined(OS_LINUX) || defined(OS_BSD) || - // BUILDFLAG(IS_CHROMEOS_LACROS)) || defined(OS_MAC) +@@ -3002,10 +3002,10 @@ extern const char kWebShareName[]; + extern const char kWebShareDescription[]; + #endif // defined(OS_WIN) || BUILDFLAG(IS_CHROMEOS_ASH) || defined(OS_MAC) -#if defined(OS_LINUX) && defined(USE_OZONE) +#if (defined(OS_LINUX) || defined(OS_BSD)) && defined(USE_OZONE) extern const char kUseOzonePlatformName[]; extern const char kUseOzonePlatformDescription[]; -#endif // defined(OS_LINUX) && defined(USE_OZONE) +#endif // (defined(OS_LINUX) || defined(OS_BSD)) && defined(USE_OZONE) // Feature flags -------------------------------------------------------------- -@@ -3046,12 +3046,12 @@ extern const char kAutofillCreditCardUploadDescription - - #endif // defined(TOOLKIT_VIEWS) || defined(OS_ANDROID) - --#if !defined(OS_WIN) && !defined(OS_FUCHSIA) -+#if !defined(OS_WIN) && !defined(OS_FUCHSIA) && !defined(OS_BSD) - extern const char kSendWebUIJavaScriptErrorReportsName[]; - extern const char kSendWebUIJavaScriptErrorReportsDescription[]; - #endif +@@ -3061,7 +3061,7 @@ extern const char kElasticOverscrollName[]; + extern const char kElasticOverscrollDescription[]; + #endif // defined(OS_WIN) || defined(OS_ANDROID) -#if defined(OS_WIN) || (defined(OS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS)) || \ +#if defined(OS_WIN) || (defined(OS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS)) || defined(OS_BSD) || \ defined(OS_MAC) extern const char kUIDebugToolsName[]; extern const char kUIDebugToolsDescription[]; diff --git a/www/chromium/files/patch-chrome_browser_headless_headless__mode__util.cc b/www/chromium/files/patch-chrome_browser_headless_headless__mode__util.cc new file mode 100644 index 000000000000..170ea4aa48d5 --- /dev/null +++ b/www/chromium/files/patch-chrome_browser_headless_headless__mode__util.cc @@ -0,0 +1,26 @@ +--- chrome/browser/headless/headless_mode_util.cc.orig 2021-09-24 18:22:53 UTC ++++ chrome/browser/headless/headless_mode_util.cc +@@ -9,7 +9,7 @@ + // Native headless is currently available only on Linux platform. More + // platforms will be added soon, so avoid function level clutter by providing + // stub implementations at the end of the file. +-#if defined(OS_LINUX) ++#if defined(OS_LINUX) || defined(OS_BSD) + + #include + #include +@@ -100,7 +100,7 @@ void SetHeadlessDisplayBounds() { + + } // namespace headless + +-#else // defined(OS_LINUX) ++#else // defined(OS_LINUX) || defined(OS_BSD) + + namespace headless { + +@@ -114,4 +114,4 @@ void SetHeadlessDisplayBounds() {} + + } // namespace headless + +-#endif // defined(OS_LINUX) ++#endif // defined(OS_LINUX) || defined(OS_BSD) diff --git a/www/chromium/files/patch-chrome_browser_intranet__redirect__detector.h b/www/chromium/files/patch-chrome_browser_intranet__redirect__detector.h index ce008bcd179e..3ad163336f6c 100644 --- a/www/chromium/files/patch-chrome_browser_intranet__redirect__detector.h +++ b/www/chromium/files/patch-chrome_browser_intranet__redirect__detector.h @@ -1,11 +1,11 @@ ---- chrome/browser/intranet_redirect_detector.h.orig 2021-04-14 18:40:53 UTC +--- chrome/browser/intranet_redirect_detector.h.orig 2021-09-24 04:25:58 UTC +++ chrome/browser/intranet_redirect_detector.h @@ -27,7 +27,7 @@ class SimpleURLLoader; class PrefRegistrySimple; -#if !(defined(OS_MAC) || defined(OS_WIN) || defined(OS_LINUX) || \ -+#if !(defined(OS_MAC) || defined(OS_WIN) || defined(OS_LINUX) || defined(OS_BSD) ||\ - defined(OS_CHROMEOS)) ++#if !(defined(OS_MAC) || defined(OS_WIN) || defined(OS_LINUX) || defined(OS_BSD) || \ + defined(OS_CHROMEOS) || defined(OS_FUCHSIA)) #error "IntranetRedirectDetector should only be built on Desktop platforms." #endif diff --git a/www/chromium/files/patch-chrome_browser_media_webrtc_webrtc__event__log__uploader.cc b/www/chromium/files/patch-chrome_browser_media_webrtc_webrtc__event__log__uploader.cc index 1dede6d286ce..8c2236c5f76c 100644 --- a/www/chromium/files/patch-chrome_browser_media_webrtc_webrtc__event__log__uploader.cc +++ b/www/chromium/files/patch-chrome_browser_media_webrtc_webrtc__event__log__uploader.cc @@ -1,11 +1,11 @@ ---- chrome/browser/media/webrtc/webrtc_event_log_uploader.cc.orig 2021-04-14 18:40:53 UTC +--- chrome/browser/media/webrtc/webrtc_event_log_uploader.cc.orig 2021-09-24 04:25:58 UTC +++ chrome/browser/media/webrtc/webrtc_event_log_uploader.cc -@@ -41,6 +41,8 @@ const char kProduct[] = "Chrome_Mac"; +@@ -42,6 +42,8 @@ const char kProduct[] = "Chrome_Mac"; const char kProduct[] = "Chrome_ChromeOS"; #elif defined(OS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS) const char kProduct[] = "Chrome_Linux"; +#elif defined(OS_FREEBSD) +const char kProduct[] = "Chrome_FreeBSD"; #elif defined(OS_ANDROID) const char kProduct[] = "Chrome_Android"; - #else + #elif defined(OS_FUCHSIA) diff --git a/www/chromium/files/patch-chrome_browser_media_webrtc_webrtc__log__uploader.cc b/www/chromium/files/patch-chrome_browser_media_webrtc_webrtc__log__uploader.cc index 87d35945d84a..598de0b22423 100644 --- a/www/chromium/files/patch-chrome_browser_media_webrtc_webrtc__log__uploader.cc +++ b/www/chromium/files/patch-chrome_browser_media_webrtc_webrtc__log__uploader.cc @@ -1,11 +1,11 @@ ---- chrome/browser/media/webrtc/webrtc_log_uploader.cc.orig 2021-04-14 18:40:53 UTC +--- chrome/browser/media/webrtc/webrtc_log_uploader.cc.orig 2021-09-24 04:25:58 UTC +++ chrome/browser/media/webrtc/webrtc_log_uploader.cc -@@ -360,6 +360,8 @@ void WebRtcLogUploader::SetupMultipart( - const char product[] = "Chrome_Android"; - #elif BUILDFLAG(IS_CHROMEOS_ASH) +@@ -363,6 +363,8 @@ void WebRtcLogUploader::SetupMultipart( const char product[] = "Chrome_ChromeOS"; + #elif defined(OS_FUCHSIA) + const char product[] = "Chrome_Fuchsia"; +#elif defined(OS_FREEBSD) + const char product[] = "Chrome_FreeBSD"; #else #error Platform not supported. #endif diff --git a/www/chromium/files/patch-chrome_browser_metrics_chrome__browser__main__extra__parts__metrics.cc b/www/chromium/files/patch-chrome_browser_metrics_chrome__browser__main__extra__parts__metrics.cc index ef628a8fe399..eff2a50b8eea 100644 --- a/www/chromium/files/patch-chrome_browser_metrics_chrome__browser__main__extra__parts__metrics.cc +++ b/www/chromium/files/patch-chrome_browser_metrics_chrome__browser__main__extra__parts__metrics.cc @@ -1,21 +1,35 @@ ---- chrome/browser/metrics/chrome_browser_main_extra_parts_metrics.cc.orig 2021-07-19 18:45:08 UTC +--- chrome/browser/metrics/chrome_browser_main_extra_parts_metrics.cc.orig 2021-10-01 01:36:40 UTC +++ chrome/browser/metrics/chrome_browser_main_extra_parts_metrics.cc @@ -62,7 +62,9 @@ // of lacros-chrome is complete. #if defined(OS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS) #include +#endif +#if (defined(OS_LINUX) && !defined(OS_CHROMEOS)) || defined(OS_BSD) #include "base/linux_util.h" #include "base/strings/string_split.h" #include "base/strings/string_util.h" @@ -71,7 +73,7 @@ #include "ui/base/ui_base_features.h" #include "ui/base/x/x11_util.h" #endif -#endif // defined(OS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS) +#endif // defined(OS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS) || defined(OS_BSD) #if defined(USE_OZONE) || defined(USE_X11) #include "ui/events/devices/device_data_manager.h" +@@ -224,11 +226,13 @@ void RecordStartupMetrics() { + base::UmaHistogramBoolean("Windows.ApplockerRunning", IsApplockerRunning()); + #endif // defined(OS_WIN) + ++#if !defined(OS_BSD) + // TODO(crbug.com/1216328) Remove logging. + LOG(ERROR) << "crbug.com/1216328: Checking Bluetooth availability started. " + "Please report if there is no report that this ends."; + bluetooth_utility::ReportBluetoothAvailability(); + LOG(ERROR) << "crbug.com/1216328: Checking Bluetooth availability ended."; ++#endif + + // Record whether Chrome is the default browser or not. + LOG(ERROR) << "crbug.com/1216328: Checking default browser status started. " 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 3202428e6739..311f1bc92fa9 100644 --- a/www/chromium/files/patch-chrome_browser_metrics_chrome__metrics__service__client.cc +++ b/www/chromium/files/patch-chrome_browser_metrics_chrome__metrics__service__client.cc @@ -1,24 +1,37 @@ ---- chrome/browser/metrics/chrome_metrics_service_client.cc.orig 2021-07-19 18:45:08 UTC +--- chrome/browser/metrics/chrome_metrics_service_client.cc.orig 2021-09-24 04:25:58 UTC +++ chrome/browser/metrics/chrome_metrics_service_client.cc -@@ -722,10 +722,10 @@ void ChromeMetricsServiceClient::RegisterMetricsServic +@@ -721,10 +721,10 @@ void ChromeMetricsServiceClient::RegisterMetricsServic // TODO(crbug.com/1052397): Revisit the macro expression once build flag switch // of lacros-chrome is complete. #if defined(OS_WIN) || defined(OS_MAC) || \ - (defined(OS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS)) + (defined(OS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS)) || defined(OS_BSD) metrics_service_->RegisterMetricsProvider( std::make_unique()); -#endif // defined(OS_WIN) || defined(OS_MAC) || (defined(OS_LINUX) || +#endif // defined(OS_WIN) || defined(OS_MAC) || (defined(OS_LINUX) || defined(OS_BSD) || // BUILDFLAG(IS_CHROMEOS_LACROS)) #if BUILDFLAG(ENABLE_PLUGINS) -@@ -1013,7 +1013,7 @@ bool ChromeMetricsServiceClient::RegisterForProfileEve +@@ -819,10 +819,10 @@ void ChromeMetricsServiceClient::RegisterMetricsServic + std::make_unique()); + #endif + +-#if defined(OS_WIN) || defined(OS_MAC) || defined(OS_LINUX) ++#if defined(OS_WIN) || defined(OS_MAC) || defined(OS_LINUX) || defined(OS_BSD) + metrics_service_->RegisterMetricsProvider( + metrics::CreateDesktopSessionMetricsProvider()); +-#endif // defined(OS_WIN) || defined(OS_MAC) || (defined(OS_LINUX) ++#endif // defined(OS_WIN) || defined(OS_MAC) || (defined(OS_LINUX) || defined(OS_BSD) + } + + void ChromeMetricsServiceClient::RegisterUKMProviders() { +@@ -996,7 +996,7 @@ bool ChromeMetricsServiceClient::RegisterForProfileEve // TODO(crbug.com/1052397): Revisit the macro expression once build flag switch // of lacros-chrome is complete. #if defined(OS_WIN) || defined(OS_MAC) || \ - (defined(OS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS)) + (defined(OS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS)) || defined(OS_BSD) // This creates the DesktopProfileSessionDurationsServices if it didn't exist // already. metrics::DesktopProfileSessionDurationsServiceFactory::GetForBrowserContext( diff --git a/www/chromium/files/patch-chrome_browser_metrics_process__memory__metrics__emitter.cc b/www/chromium/files/patch-chrome_browser_metrics_process__memory__metrics__emitter.cc index ce24977fae8c..b60c3bc0578c 100644 --- a/www/chromium/files/patch-chrome_browser_metrics_process__memory__metrics__emitter.cc +++ b/www/chromium/files/patch-chrome_browser_metrics_process__memory__metrics__emitter.cc @@ -1,20 +1,20 @@ ---- chrome/browser/metrics/process_memory_metrics_emitter.cc.orig 2021-07-19 18:45:08 UTC +--- chrome/browser/metrics/process_memory_metrics_emitter.cc.orig 2021-09-24 04:25:58 UTC +++ chrome/browser/metrics/process_memory_metrics_emitter.cc -@@ -516,7 +516,7 @@ void EmitProcessUmaAndUkm(const GlobalMemoryDump::Proc +@@ -546,7 +546,7 @@ void EmitProcessUmaAndUkm(const GlobalMemoryDump::Proc builder->SetPrivateMemoryFootprint(pmd.os_dump().private_footprint_kb / kKiB); builder->SetSharedMemoryFootprint(pmd.os_dump().shared_footprint_kb / kKiB); -#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_ANDROID) +#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_ANDROID) || defined(OS_BSD) builder->SetPrivateSwapFootprint(pmd.os_dump().private_footprint_swap_kb / kKiB); #endif -@@ -539,7 +539,7 @@ void EmitProcessUmaAndUkm(const GlobalMemoryDump::Proc +@@ -569,7 +569,7 @@ void EmitProcessUmaAndUkm(const GlobalMemoryDump::Proc MEMORY_METRICS_HISTOGRAM_MB(std::string(kMemoryHistogramPrefix) + process_name + ".SharedMemoryFootprint", pmd.os_dump().shared_footprint_kb / kKiB); -#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_ANDROID) +#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_ANDROID) || defined(OS_BSD) MEMORY_METRICS_HISTOGRAM_MB(std::string(kMemoryHistogramPrefix) + process_name + ".PrivateSwapFootprint", pmd.os_dump().private_footprint_swap_kb / kKiB); diff --git a/www/chromium/files/patch-chrome_browser_net_system__network__context__manager.cc b/www/chromium/files/patch-chrome_browser_net_system__network__context__manager.cc index 648e3bfb22ff..45a3617f8533 100644 --- a/www/chromium/files/patch-chrome_browser_net_system__network__context__manager.cc +++ b/www/chromium/files/patch-chrome_browser_net_system__network__context__manager.cc @@ -1,64 +1,64 @@ ---- chrome/browser/net/system_network_context_manager.cc.orig 2021-05-12 22:05:44 UTC +--- chrome/browser/net/system_network_context_manager.cc.orig 2021-09-24 04:25:58 UTC +++ chrome/browser/net/system_network_context_manager.cc @@ -82,11 +82,11 @@ // TODO(crbug.com/1052397): Revisit the macro expression once build flag switch // of lacros-chrome is complete. -#if defined(OS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS) +#if defined(OS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS) || defined(OS_BSD) #include "chrome/common/chrome_paths_internal.h" #include "chrome/grit/chromium_strings.h" #include "ui/base/l10n/l10n_util.h" -#endif // defined(OS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS) +#endif // defined(OS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS) || defined(OS_BSD) #if BUILDFLAG(ENABLE_EXTENSIONS) #include "extensions/common/constants.h" @@ -147,10 +147,10 @@ network::mojom::HttpAuthDynamicParamsPtr CreateHttpAut auth_dynamic_params->basic_over_http_enabled = local_state->GetBoolean(prefs::kBasicAuthOverHttpEnabled); -#if defined(OS_LINUX) || defined(OS_MAC) || defined(OS_CHROMEOS) +#if defined(OS_LINUX) || defined(OS_MAC) || defined(OS_CHROMEOS) || defined(OS_BSD) auth_dynamic_params->delegate_by_kdc_policy = local_state->GetBoolean(prefs::kAuthNegotiateDelegateByKdcPolicy); -#endif // defined(OS_LINUX) || defined(OS_MAC) || defined(OS_CHROMEOS) +#endif // defined(OS_LINUX) || defined(OS_MAC) || defined(OS_CHROMEOS) || defined(OS_BSD) #if defined(OS_POSIX) auth_dynamic_params->ntlm_v2_enabled = -@@ -364,10 +364,10 @@ SystemNetworkContextManager::SystemNetworkContextManag +@@ -376,10 +376,10 @@ SystemNetworkContextManager::SystemNetworkContextManag pref_change_registrar_.Add(prefs::kBasicAuthOverHttpEnabled, auth_pref_callback); -#if defined(OS_LINUX) || defined(OS_MAC) || defined(OS_CHROMEOS) +#if defined(OS_LINUX) || defined(OS_MAC) || defined(OS_CHROMEOS) || defined(OS_BSD) pref_change_registrar_.Add(prefs::kAuthNegotiateDelegateByKdcPolicy, auth_pref_callback); -#endif // defined(OS_LINUX) || defined(OS_MAC) || defined(OS_CHROMEOS) +#endif // defined(OS_LINUX) || defined(OS_MAC) || defined(OS_CHROMEOS) || defined(OS_BSD) #if defined(OS_POSIX) pref_change_registrar_.Add(prefs::kNtlmV2Enabled, auth_pref_callback); -@@ -422,10 +422,10 @@ void SystemNetworkContextManager::RegisterPrefs(PrefRe +@@ -434,10 +434,10 @@ void SystemNetworkContextManager::RegisterPrefs(PrefRe registry->RegisterStringPref(prefs::kAuthServerAllowlist, std::string()); registry->RegisterStringPref(prefs::kAuthNegotiateDelegateAllowlist, std::string()); -#if defined(OS_LINUX) || defined(OS_MAC) || defined(OS_CHROMEOS) +#if defined(OS_LINUX) || defined(OS_MAC) || defined(OS_CHROMEOS) || defined(OS_BSD) registry->RegisterBooleanPref(prefs::kAuthNegotiateDelegateByKdcPolicy, false); -#endif // defined(OS_LINUX) || defined(OS_MAC) || defined(OS_CHROMEOS) +#endif // defined(OS_LINUX) || defined(OS_MAC) || defined(OS_CHROMEOS) || defined(OS_BSD) #if defined(OS_POSIX) registry->RegisterBooleanPref( -@@ -521,7 +521,7 @@ void SystemNetworkContextManager::OnNetworkServiceCrea +@@ -566,7 +566,7 @@ void SystemNetworkContextManager::OnNetworkServiceCrea // TODO(crbug.com/1052397): Revisit the macro expression once build flag switch // of lacros-chrome is complete. -#if defined(OS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS) +#if defined(OS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS) || defined(OS_BSD) const base::CommandLine& command_line = *base::CommandLine::ForCurrentProcess(); diff --git a/www/chromium/files/patch-chrome_browser_new__tab__page_modules_drive_drive__service.cc b/www/chromium/files/patch-chrome_browser_new__tab__page_modules_drive_drive__service.cc new file mode 100644 index 000000000000..3690b39521f7 --- /dev/null +++ b/www/chromium/files/patch-chrome_browser_new__tab__page_modules_drive_drive__service.cc @@ -0,0 +1,11 @@ +--- chrome/browser/new_tab_page/modules/drive/drive_service.cc.orig 2021-09-24 18:25:14 UTC ++++ chrome/browser/new_tab_page/modules/drive/drive_service.cc +@@ -36,6 +36,8 @@ constexpr char kPlatform[] = "WINDOWS"; + constexpr char kPlatform[] = "MAC_OS"; + #elif OS_CHROMEOS + constexpr char kPlatform[] = "CHROME_OS"; ++#elif OS_FREEBSD ++constexpr char kPlatform[] = "FREEBSD"; + #else + constexpr char kPlatform[] = "UNSPECIFIED_PLATFORM"; + #endif diff --git a/www/chromium/files/patch-chrome_browser_notifications_notification__display__service__impl.cc b/www/chromium/files/patch-chrome_browser_notifications_notification__display__service__impl.cc index 1c0775de4e01..3536b8419316 100644 --- a/www/chromium/files/patch-chrome_browser_notifications_notification__display__service__impl.cc +++ b/www/chromium/files/patch-chrome_browser_notifications_notification__display__service__impl.cc @@ -1,29 +1,29 @@ ---- chrome/browser/notifications/notification_display_service_impl.cc.orig 2021-05-12 22:05:44 UTC +--- chrome/browser/notifications/notification_display_service_impl.cc.orig 2021-09-24 04:25:58 UTC +++ chrome/browser/notifications/notification_display_service_impl.cc @@ -29,7 +29,7 @@ #include "chrome/browser/extensions/api/notifications/extension_notification_handler.h" #endif -#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_MAC) || \ +#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_MAC) || defined(OS_BSD) || \ - defined(OS_WIN) + defined(OS_WIN) || defined(OS_FUCHSIA) #include "chrome/browser/send_tab_to_self/desktop_notification_handler.h" #include "chrome/browser/sharing/sharing_notification_handler.h" -@@ -65,7 +65,7 @@ void NotificationDisplayServiceImpl::RegisterProfilePr +@@ -63,7 +63,7 @@ NotificationDisplayServiceImpl* NotificationDisplaySer + // static + void NotificationDisplayServiceImpl::RegisterProfilePrefs( user_prefs::PrefRegistrySyncable* registry) { - // TODO(crbug.com/1052397): Revisit the macro expression once build flag switch - // of lacros-chrome is complete. --#if defined(OS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS) -+#if defined(OS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS) || defined(OS_BSD) +-#if defined(OS_LINUX) ++#if defined(OS_LINUX) || defined(OS_BSD) registry->RegisterBooleanPref(prefs::kAllowNativeNotifications, true); registry->RegisterBooleanPref(prefs::kAllowSystemNotifications, true); #endif -@@ -81,7 +81,7 @@ NotificationDisplayServiceImpl::NotificationDisplaySer +@@ -79,7 +79,7 @@ NotificationDisplayServiceImpl::NotificationDisplaySer AddNotificationHandler(NotificationHandler::Type::WEB_PERSISTENT, std::make_unique()); -#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_MAC) || \ +#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_MAC) || defined(OS_BSD) || \ defined(OS_WIN) AddNotificationHandler( NotificationHandler::Type::SEND_TAB_TO_SELF, diff --git a/www/chromium/files/patch-chrome_browser_notifications_notification__platform__bridge__delegator.cc b/www/chromium/files/patch-chrome_browser_notifications_notification__platform__bridge__delegator.cc index 10d386cd81da..e1c0996b03a2 100644 --- a/www/chromium/files/patch-chrome_browser_notifications_notification__platform__bridge__delegator.cc +++ b/www/chromium/files/patch-chrome_browser_notifications_notification__platform__bridge__delegator.cc @@ -1,20 +1,20 @@ ---- chrome/browser/notifications/notification_platform_bridge_delegator.cc.orig 2021-04-14 18:40:53 UTC +--- chrome/browser/notifications/notification_platform_bridge_delegator.cc.orig 2021-09-14 01:51:50 UTC +++ chrome/browser/notifications/notification_platform_bridge_delegator.cc @@ -57,7 +57,7 @@ bool SystemNotificationsEnabled(Profile* profile) { #elif defined(OS_WIN) return NotificationPlatformBridgeWin::SystemNotificationEnabled(); #else --#if defined(OS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS) -+#if defined(OS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS) || defined(OS_BSD) +-#if defined(OS_LINUX) ++#if defined(OS_LINUX) || defined(OS_BSD) if (profile) { // Prefs take precedence over flags. PrefService* prefs = profile->GetPrefs(); @@ -66,7 +66,7 @@ bool SystemNotificationsEnabled(Profile* profile) { return false; } } -#endif // defined(OS_LINUX) +#endif // defined(OS_LINUX) || defined(OS_BSD) return base::FeatureList::IsEnabled(features::kNativeNotifications) && base::FeatureList::IsEnabled(features::kSystemNotifications); #endif // defined(OS_CHROMEOS) || defined(OS_ANDROID) diff --git a/www/chromium/files/patch-chrome_browser_password__manager_chrome__password__manager__client.cc b/www/chromium/files/patch-chrome_browser_password__manager_chrome__password__manager__client.cc index 9926d71400ac..27109ef36102 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,26 +1,26 @@ ---- chrome/browser/password_manager/chrome_password_manager_client.cc.orig 2021-05-12 22:05:44 UTC +--- chrome/browser/password_manager/chrome_password_manager_client.cc.orig 2021-09-24 04:25:58 UTC +++ chrome/browser/password_manager/chrome_password_manager_client.cc @@ -9,6 +9,10 @@ #include #include +#if defined(OS_BSD) +#include +#endif + #include "base/bind.h" #include "base/callback_helpers.h" #include "base/command_line.h" -@@ -102,8 +106,11 @@ +@@ -105,8 +109,11 @@ #include "net/cert/cert_status_flags.h" #include "services/metrics/public/cpp/ukm_recorder.h" #include "services/network/public/cpp/is_potentially_trustworthy.h" -#include "third_party/re2/src/re2/re2.h" #include "url/url_constants.h" + +#if !defined(OS_BSD) +#include "third_party/re2/src/re2/re2.h" +#endif #if BUILDFLAG(FULL_SAFE_BROWSING) #include "chrome/browser/safe_browsing/advanced_protection_status_manager.h" diff --git a/www/chromium/files/patch-chrome_browser_password__manager_password__reuse__manager__factory.cc b/www/chromium/files/patch-chrome_browser_password__manager_password__reuse__manager__factory.cc new file mode 100644 index 000000000000..73a91fc0622a --- /dev/null +++ b/www/chromium/files/patch-chrome_browser_password__manager_password__reuse__manager__factory.cc @@ -0,0 +1,11 @@ +--- chrome/browser/password_manager/password_reuse_manager_factory.cc.orig 2021-09-24 18:25:48 UTC ++++ chrome/browser/password_manager/password_reuse_manager_factory.cc +@@ -92,7 +92,7 @@ KeyedService* PasswordReuseManagerFactory::BuildServic + + // TODO(crbug.com/1052397): Revisit the macro expression once build flag switch + // of lacros-chrome is complete. +-#if defined(OS_WIN) || defined(OS_MAC) || defined(OS_LINUX) || \ ++#if defined(OS_WIN) || defined(OS_MAC) || defined(OS_LINUX) || defined(OS_BSD) || \ + BUILDFLAG(IS_CHROMEOS_LACROS) + std::unique_ptr notifier = + std::make_unique( diff --git a/www/chromium/files/patch-chrome_browser_password__manager_password__store__factory.cc b/www/chromium/files/patch-chrome_browser_password__manager_password__store__factory.cc deleted file mode 100644 index 942b05e1771b..000000000000 --- a/www/chromium/files/patch-chrome_browser_password__manager_password__store__factory.cc +++ /dev/null @@ -1,11 +0,0 @@ ---- chrome/browser/password_manager/password_store_factory.cc.orig 2021-07-19 18:45:09 UTC -+++ chrome/browser/password_manager/password_store_factory.cc -@@ -166,7 +166,7 @@ PasswordStoreFactory::BuildServiceInstanceFor( - // TODO(crbug.com/1052397): Revisit the macro expression once build flag switch - // of lacros-chrome is complete. - #if defined(OS_WIN) || defined(OS_MAC) || \ -- (defined(OS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS)) -+ (defined(OS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS)) || defined(OS_BSD) - std::unique_ptr notifier = - std::make_unique( - IdentityManagerFactory::GetForProfile(profile)); diff --git a/www/chromium/files/patch-chrome_browser_pdf_pdf__extension__test.cc b/www/chromium/files/patch-chrome_browser_pdf_pdf__extension__test.cc index 4c9a3801df75..5d6e0198e124 100644 --- a/www/chromium/files/patch-chrome_browser_pdf_pdf__extension__test.cc +++ b/www/chromium/files/patch-chrome_browser_pdf_pdf__extension__test.cc @@ -1,25 +1,25 @@ ---- chrome/browser/pdf/pdf_extension_test.cc.orig 2021-07-19 18:45:09 UTC +--- chrome/browser/pdf/pdf_extension_test.cc.orig 2021-09-24 04:25:58 UTC +++ chrome/browser/pdf/pdf_extension_test.cc -@@ -791,11 +791,11 @@ IN_PROC_BROWSER_TEST_F(PDFPluginDisabledTest, DirectNa +@@ -812,11 +812,11 @@ IN_PROC_BROWSER_TEST_P(PDFPluginDisabledTest, DirectNa } // TODO(crbug.com/1201401): fix flakiness and reenable --#if defined(OS_LINUX) || defined(OS_CHROMEOS) -+#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD) +-#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_MAC) ++#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_MAC) || defined(OS_BSD) #define MAYBE_EmbedPdfPlaceholderWithCSP DISABLED_EmbedPdfPlaceholderWithCSP #else #define MAYBE_EmbedPdfPlaceholderWithCSP EmbedPdfPlaceholderWithCSP --#endif // defined(OS_LINUX) || defined(OS_CHROMEOS) -+#endif // defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD) - IN_PROC_BROWSER_TEST_F(PDFPluginDisabledTest, +-#endif // defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_MAC) ++#endif // defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_MAC) || defined(OS_BSD) + IN_PROC_BROWSER_TEST_P(PDFPluginDisabledTest, MAYBE_EmbedPdfPlaceholderWithCSP) { // Navigate to a page with CSP that uses to embed a PDF as a plugin. -@@ -2332,7 +2332,7 @@ IN_PROC_BROWSER_TEST_F(PDFExtensionClipboardTest, +@@ -2404,7 +2404,7 @@ IN_PROC_BROWSER_TEST_F(PDFExtensionClipboardTest, } // Flaky on Linux (https://crbug.com/1121446) -#if defined(OS_LINUX) +#if defined(OS_LINUX) || defined(OS_BSD) #define MAYBE_CombinedShiftArrowPresses DISABLED_CombinedShiftArrowPresses #else #define MAYBE_CombinedShiftArrowPresses CombinedShiftArrowPresses diff --git a/www/chromium/files/patch-chrome_browser_performance__manager_policies_high__pmf__discard__policy.cc b/www/chromium/files/patch-chrome_browser_performance__manager_policies_high__pmf__discard__policy.cc new file mode 100644 index 000000000000..a809c0a6f185 --- /dev/null +++ b/www/chromium/files/patch-chrome_browser_performance__manager_policies_high__pmf__discard__policy.cc @@ -0,0 +1,20 @@ +--- chrome/browser/performance_manager/policies/high_pmf_discard_policy.cc.orig 2021-09-24 18:27:13 UTC ++++ chrome/browser/performance_manager/policies/high_pmf_discard_policy.cc +@@ -17,7 +17,7 @@ + #include "content/public/browser/browser_task_traits.h" + #include "content/public/browser/browser_thread.h" + +-#if !defined(OS_LINUX) ++#if !defined(OS_LINUX) && !defined(OS_BSD) + #include "base/memory/memory_pressure_monitor.h" + #endif + +@@ -122,7 +122,7 @@ void HighPMFDiscardPolicy::OnProcessMemoryMetricsAvail + + if (should_discard) { + discard_attempt_in_progress_ = true; +-#if !defined(OS_LINUX) ++#if !defined(OS_LINUX) && !defined(OS_BSD) + // Record the memory pressure level before discarding a tab. + content::GetUIThreadTaskRunner({})->PostTask( + FROM_HERE, base::BindOnce([]() { diff --git a/www/chromium/files/patch-chrome_browser_performance__monitor_process__monitor.cc b/www/chromium/files/patch-chrome_browser_performance__monitor_process__monitor.cc index 81a25f3b443b..0f4aabc3e5a5 100644 --- a/www/chromium/files/patch-chrome_browser_performance__monitor_process__monitor.cc +++ b/www/chromium/files/patch-chrome_browser_performance__monitor_process__monitor.cc @@ -1,11 +1,11 @@ ---- chrome/browser/performance_monitor/process_monitor.cc.orig 2021-05-12 22:05:44 UTC +--- chrome/browser/performance_monitor/process_monitor.cc.orig 2021-09-14 01:51:50 UTC +++ chrome/browser/performance_monitor/process_monitor.cc -@@ -80,7 +80,7 @@ ProcessMonitor::Metrics& operator+=(ProcessMonitor::Me +@@ -76,7 +76,7 @@ ProcessMonitor::Metrics& operator+=(ProcessMonitor::Me const ProcessMonitor::Metrics& rhs) { lhs.cpu_usage += rhs.cpu_usage; -#if defined(OS_MAC) || defined(OS_LINUX) || defined(OS_CHROMEOS) || \ +#if defined(OS_MAC) || defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD) || \ defined(OS_AIX) lhs.idle_wakeups += rhs.idle_wakeups; #endif diff --git a/www/chromium/files/patch-chrome_browser_performance__monitor_process__monitor.h b/www/chromium/files/patch-chrome_browser_performance__monitor_process__monitor.h index c95b87393778..c56c4121294c 100644 --- a/www/chromium/files/patch-chrome_browser_performance__monitor_process__monitor.h +++ b/www/chromium/files/patch-chrome_browser_performance__monitor_process__monitor.h @@ -1,11 +1,11 @@ ---- chrome/browser/performance_monitor/process_monitor.h.orig 2021-05-12 22:05:44 UTC +--- chrome/browser/performance_monitor/process_monitor.h.orig 2021-09-24 04:25:58 UTC +++ chrome/browser/performance_monitor/process_monitor.h -@@ -44,7 +44,7 @@ class ProcessMonitor { +@@ -57,7 +57,7 @@ class ProcessMonitor { // can exceed 100% in multi-thread processes running on multi-core systems. double cpu_usage = 0.0; -#if defined(OS_MAC) || defined(OS_LINUX) || defined(OS_CHROMEOS) || \ +#if defined(OS_MAC) || defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD) || \ defined(OS_AIX) // Returns the number of average idle cpu wakeups per second since the last // time the metric was sampled. diff --git a/www/chromium/files/patch-chrome_browser_platform__util__linux.cc b/www/chromium/files/patch-chrome_browser_platform__util__linux.cc index fa4fa58a7fe8..0ca2e07e3e4b 100644 --- a/www/chromium/files/patch-chrome_browser_platform__util__linux.cc +++ b/www/chromium/files/patch-chrome_browser_platform__util__linux.cc @@ -1,12 +1,12 @@ ---- chrome/browser/platform_util_linux.cc.orig 2021-06-11 09:25:25 UTC +--- chrome/browser/platform_util_linux.cc.orig 2021-09-14 01:51:50 UTC +++ chrome/browser/platform_util_linux.cc -@@ -126,7 +126,9 @@ void RunCommand(const std::string& command, +@@ -297,7 +297,9 @@ void RunCommand(const std::string& command, base::LaunchOptions options; options.current_directory = working_directory; +#if !defined(OS_BSD) options.allow_new_privs = true; +#endif // xdg-open can fall back on mailcap which eventually might plumb through // to a command that needs a terminal. Set the environment variable telling // it that we definitely don't have a terminal available and that it should diff --git a/www/chromium/files/patch-chrome_browser_policy_browser__signin__policy__handler.cc b/www/chromium/files/patch-chrome_browser_policy_browser__signin__policy__handler.cc index 2c2f9eb096cc..259f40114c52 100644 --- a/www/chromium/files/patch-chrome_browser_policy_browser__signin__policy__handler.cc +++ b/www/chromium/files/patch-chrome_browser_policy_browser__signin__policy__handler.cc @@ -1,11 +1,11 @@ ---- chrome/browser/policy/browser_signin_policy_handler.cc.orig 2021-07-19 18:45:09 UTC +--- chrome/browser/policy/browser_signin_policy_handler.cc.orig 2021-09-14 01:51:50 UTC +++ chrome/browser/policy/browser_signin_policy_handler.cc -@@ -52,7 +52,7 @@ void BrowserSigninPolicyHandler::ApplyPolicySettings(c - } - switch (static_cast(value->GetInt())) { - case BrowserSigninMode::kForced: +@@ -43,7 +43,7 @@ void BrowserSigninPolicyHandler::ApplyPolicySettings(c + const base::Value* value = policies.GetValue(policy_name()); + switch (static_cast(value->GetInt())) { + case BrowserSigninMode::kForced: -#if !defined(OS_LINUX) && !defined(OS_CHROMEOS) +#if !defined(OS_LINUX) && !defined(OS_CHROMEOS) && !defined(OS_BSD) - prefs->SetValue(prefs::kForceBrowserSignin, base::Value(true)); + prefs->SetValue(prefs::kForceBrowserSignin, base::Value(true)); #endif - FALLTHROUGH; + FALLTHROUGH; 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 9167be6cb070..7e41060c1186 100644 --- a/www/chromium/files/patch-chrome_browser_policy_chrome__browser__cloud__management__controller__desktop.cc +++ b/www/chromium/files/patch-chrome_browser_policy_chrome__browser__cloud__management__controller__desktop.cc @@ -1,23 +1,23 @@ ---- chrome/browser/policy/chrome_browser_cloud_management_controller_desktop.cc.orig 2021-05-12 22:05:44 UTC +--- chrome/browser/policy/chrome_browser_cloud_management_controller_desktop.cc.orig 2021-09-24 04:25:59 UTC +++ chrome/browser/policy/chrome_browser_cloud_management_controller_desktop.cc -@@ -43,9 +43,9 @@ +@@ -44,9 +44,9 @@ #include "chrome/browser/policy/browser_dm_token_storage_mac.h" #endif // defined(OS_MAC) -#if defined(OS_LINUX) || defined(OS_CHROMEOS) +#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD) #include "chrome/browser/policy/browser_dm_token_storage_linux.h" -#endif // defined(OS_LINUX) || defined(OS_CHROMEOS) +#endif // defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD) #if defined(OS_WIN) #include "chrome/browser/policy/browser_dm_token_storage_win.h" -@@ -75,7 +75,7 @@ void ChromeBrowserCloudManagementControllerDesktop:: +@@ -80,7 +80,7 @@ void ChromeBrowserCloudManagementControllerDesktop:: #if defined(OS_MAC) storage_delegate = std::make_unique(); -#elif defined(OS_LINUX) || defined(OS_CHROMEOS) +#elif defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD) storage_delegate = std::make_unique(); #elif defined(OS_WIN) storage_delegate = std::make_unique(); 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 7565ed62ee3e..794797236560 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,68 +1,69 @@ ---- chrome/browser/policy/configuration_policy_handler_list_factory.cc.orig 2021-07-19 18:45:09 UTC +--- chrome/browser/policy/configuration_policy_handler_list_factory.cc.orig 2021-09-24 04:25:59 UTC +++ chrome/browser/policy/configuration_policy_handler_list_factory.cc -@@ -1308,11 +1308,11 @@ const PolicyToPreferenceMapEntry kSimplePolicyMap[] = +@@ -1363,11 +1363,11 @@ const PolicyToPreferenceMapEntry kSimplePolicyMap[] = base::Value::Type::BOOLEAN }, #endif // !defined(OS_MAC) && !defined(OS_CHROMEOS) -#if defined(OS_LINUX) || defined(OS_MAC) || defined(OS_CHROMEOS) +#if defined(OS_LINUX) || defined(OS_MAC) || defined(OS_CHROMEOS) || defined(OS_BSD) { key::kAuthNegotiateDelegateByKdcPolicy, prefs::kAuthNegotiateDelegateByKdcPolicy, base::Value::Type::BOOLEAN }, -#endif // defined(OS_LINUX) || defined(OS_MAC) || defined(OS_CHROMEOS) +#endif // defined(OS_LINUX) || defined(OS_MAC) || defined(OS_CHROMEOS) || defined(OS_BSD) #if !defined(OS_MAC) { key::kFullscreenAllowed, -@@ -1663,7 +1663,7 @@ std::unique_ptr BuildH +@@ -1728,7 +1728,7 @@ std::unique_ptr BuildH SimpleSchemaValidatingPolicyHandler::MANDATORY_ALLOWED)); #endif // defined(OS_ANDROID) -#if defined(OS_LINUX) || defined(OS_MAC) || defined(OS_WIN) || \ +#if defined(OS_LINUX) || defined(OS_MAC) || defined(OS_WIN) || defined(OS_BSD) || \ - defined(OS_CHROMEOS) + defined(OS_CHROMEOS) || defined(OS_FUCHSIA) handlers->AddHandler( std::make_unique< -@@ -1671,7 +1671,7 @@ std::unique_ptr BuildH +@@ -1736,7 +1736,7 @@ std::unique_ptr BuildH key::kContextAwareAccessSignalsAllowlist, enterprise_connectors::kContextAwareAccessSignalsAllowlistPref, chrome_schema)); -#endif // defined(OS_LINUX) || defined(OS_MAC) || defined(OS_WIN) || +#endif // defined(OS_LINUX) || defined(OS_MAC) || defined(OS_WIN) || defined(OS_BSD) || - // defined(OS_CHROMEOS) + // defined(OS_CHROMEOS) || defined(OS_FUCHSIA) #if defined(OS_CHROMEOS) -@@ -2028,13 +2028,13 @@ std::unique_ptr BuildH +@@ -2091,14 +2091,14 @@ std::unique_ptr BuildH SimpleSchemaValidatingPolicyHandler::RECOMMENDED_PROHIBITED, SimpleSchemaValidatingPolicyHandler::MANDATORY_ALLOWED)); --#if defined(OS_WIN) || defined(OS_MAC) || defined(OS_LINUX) -+#if defined(OS_WIN) || defined(OS_MAC) || defined(OS_LINUX) || defined(OS_BSD) +-#if defined(OS_WIN) || defined(OS_MAC) || defined(OS_LINUX) || \ ++#if defined(OS_WIN) || defined(OS_MAC) || defined(OS_LINUX) || defined(OS_BSD) || \ + defined(OS_FUCHSIA) handlers->AddHandler(std::make_unique( key::kWebAppSettings, prefs::kWebAppSettings, chrome_schema, SCHEMA_ALLOW_UNKNOWN, SimpleSchemaValidatingPolicyHandler::RECOMMENDED_PROHIBITED, SimpleSchemaValidatingPolicyHandler::MANDATORY_ALLOWED)); --#endif // defined(OS_WIN) || defined(OS_MAC) || defined(OS_LINUX) -+#endif // defined(OS_WIN) || defined(OS_MAC) || defined(OS_LINUX) || defined(OS_BSD) +-#endif // defined(OS_WIN) || defined(OS_MAC) || defined(OS_LINUX) || ++#endif // defined(OS_WIN) || defined(OS_MAC) || defined(OS_LINUX) || defined(OS_BSD) || + // defined(OS_FUCHSIA) #endif // BUILDFLAG(ENABLE_EXTENSIONS) +@@ -2119,7 +2119,7 @@ std::unique_ptr BuildH + policy::key::kSpellcheckLanguageBlocklist)); + #endif // BUILDFLAG(ENABLE_SPELLCHECK) -@@ -2056,7 +2056,7 @@ std::unique_ptr BuildH - - // TODO(crbug.com/1052397): Revisit the macro expression once build flag switch - // of lacros-chrome is complete. --#if defined(OS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS) -+#if defined(OS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS) || defined(OS_BSD) +-#if defined(OS_LINUX) ++#if defined(OS_LINUX) || defined(OS_BSD) handlers->AddHandler(std::make_unique( std::make_unique(key::kAllowNativeNotifications, prefs::kAllowNativeNotifications, -@@ -2064,7 +2064,7 @@ std::unique_ptr BuildH +@@ -2127,7 +2127,7 @@ std::unique_ptr BuildH std::make_unique(key::kAllowSystemNotifications, prefs::kAllowSystemNotifications, base::Value::Type::BOOLEAN))); --#endif // defined(OS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS) -+#endif // defined(OS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS) || defined(OS_BSD) +-#endif // defined(OS_LINUX) ++#endif // defined(OS_LINUX) || defined(OS_BSD) return handlers; } diff --git a/www/chromium/files/patch-chrome_browser_policy_device__management__service__configuration.cc b/www/chromium/files/patch-chrome_browser_policy_device__management__service__configuration.cc index 56bd7bddd290..4134e07d655d 100644 --- a/www/chromium/files/patch-chrome_browser_policy_device__management__service__configuration.cc +++ b/www/chromium/files/patch-chrome_browser_policy_device__management__service__configuration.cc @@ -1,20 +1,20 @@ ---- chrome/browser/policy/device_management_service_configuration.cc.orig 2021-04-14 18:40:54 UTC +--- chrome/browser/policy/device_management_service_configuration.cc.orig 2021-09-14 01:51:50 UTC +++ chrome/browser/policy/device_management_service_configuration.cc @@ -20,7 +20,7 @@ #endif #if defined(OS_WIN) || defined(OS_MAC) || \ - ((defined(OS_LINUX) || defined(OS_CHROMEOS)) && !defined(OS_ANDROID)) + ((defined(OS_LINUX) || defined(OS_CHROMEOS)) && !defined(OS_ANDROID)) || defined(OS_BSD) #include "chrome/browser/enterprise/connectors/common.h" #include "chrome/browser/enterprise/connectors/connectors_service.h" #endif @@ -98,7 +98,7 @@ std::string DeviceManagementServiceConfiguration::GetReportingConnectorServerUrl( - content::BrowserContext* context) { + content::BrowserContext* context) const { #if defined(OS_WIN) || defined(OS_MAC) || \ - ((defined(OS_LINUX) || defined(OS_CHROMEOS)) && !defined(OS_ANDROID)) + ((defined(OS_LINUX) || defined(OS_CHROMEOS)) && !defined(OS_ANDROID)) || defined(OS_BSD) auto* service = enterprise_connectors::ConnectorsServiceFactory::GetForBrowserContext( context); diff --git a/www/chromium/files/patch-chrome_browser_prefs_browser__prefs.cc b/www/chromium/files/patch-chrome_browser_prefs_browser__prefs.cc index b26510726f6b..93f24890d4a0 100644 --- a/www/chromium/files/patch-chrome_browser_prefs_browser__prefs.cc +++ b/www/chromium/files/patch-chrome_browser_prefs_browser__prefs.cc @@ -1,50 +1,50 @@ ---- chrome/browser/prefs/browser_prefs.cc.orig 2021-07-19 18:45:09 UTC +--- chrome/browser/prefs/browser_prefs.cc.orig 2021-09-24 04:25:59 UTC +++ chrome/browser/prefs/browser_prefs.cc -@@ -395,14 +395,14 @@ +@@ -405,14 +405,14 @@ #endif #if defined(OS_WIN) || defined(OS_MAC) || \ - (defined(OS_LINUX) && !BUILDFLAG(IS_CHROMEOS_LACROS)) + (defined(OS_LINUX) && !BUILDFLAG(IS_CHROMEOS_LACROS)) || defined(OS_BSD) #include "chrome/browser/web_applications/components/url_handler_prefs.h" #endif // TODO(crbug.com/1052397): Revisit the macro expression once build flag switch // of lacros-chrome is complete. #if defined(OS_WIN) || defined(OS_MAC) || \ - (defined(OS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS)) + (defined(OS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS)) || defined(OS_BSD) #include "chrome/browser/browser_switcher/browser_switcher_prefs.h" #endif -@@ -883,10 +883,10 @@ void RegisterLocalState(PrefRegistrySimple* registry) +@@ -1012,10 +1012,10 @@ void RegisterLocalState(PrefRegistrySimple* registry) // TODO(crbug/1169547) Remove `BUILDFLAG(IS_CHROMEOS_LACROS)` once the // migration is complete. -#if defined(OS_LINUX) || defined(OS_MAC) || defined(OS_WIN) || \ +#if defined(OS_LINUX) || defined(OS_MAC) || defined(OS_WIN) || defined(OS_BSD) || \ BUILDFLAG(IS_CHROMEOS_LACROS) enterprise_connectors::RegisterLocalPrefs(registry); -#endif // defined(OS_LINUX) || defined(OS_MAC) || defined(OS_WIN) +#endif // defined(OS_LINUX) || defined(OS_MAC) || defined(OS_WIN) || defined(OS_BSD) #if defined(OS_MAC) confirm_quit::RegisterLocalState(registry); -@@ -914,7 +914,7 @@ void RegisterLocalState(PrefRegistrySimple* registry) +@@ -1043,7 +1043,7 @@ void RegisterLocalState(PrefRegistrySimple* registry) #endif // defined(OS_WIN) #if defined(OS_WIN) || defined(OS_MAC) || \ - (defined(OS_LINUX) && !BUILDFLAG(IS_CHROMEOS_LACROS)) + (defined(OS_LINUX) && !BUILDFLAG(IS_CHROMEOS_LACROS)) || defined(OS_BSD) web_app::url_handler_prefs::RegisterLocalStatePrefs(registry); #endif -@@ -1205,7 +1205,7 @@ void RegisterProfilePrefs(user_prefs::PrefRegistrySync +@@ -1335,7 +1335,7 @@ void RegisterProfilePrefs(user_prefs::PrefRegistrySync // TODO(crbug.com/1052397): Revisit the macro expression once build flag switch // of lacros-chrome is complete. #if defined(OS_WIN) || defined(OS_MAC) || \ - (defined(OS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS)) + (defined(OS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS)) || defined(OS_BSD) browser_switcher::BrowserSwitcherPrefs::RegisterProfilePrefs(registry); #endif diff --git a/www/chromium/files/patch-chrome_browser_prefs_pref__service__incognito__allowlist.cc b/www/chromium/files/patch-chrome_browser_prefs_pref__service__incognito__allowlist.cc index e3ce555560e9..d7e49d174568 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 2021-04-14 18:40:54 UTC +--- chrome/browser/prefs/pref_service_incognito_allowlist.cc.orig 2021-09-14 01:51:50 UTC +++ chrome/browser/prefs/pref_service_incognito_allowlist.cc -@@ -138,7 +138,7 @@ const char* const kPersistentPrefNames[] = { +@@ -139,7 +139,7 @@ const char* const kPersistentPrefNames[] = { // TODO(crbug.com/1052397): Revisit the macro expression once build flag switch // of lacros-chrome is complete. -#if defined(OS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS) +#if defined(OS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS) || defined(OS_BSD) // 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__job__worker.cc b/www/chromium/files/patch-chrome_browser_printing_print__job__worker.cc index 7274f38c5818..25092969a07b 100644 --- a/www/chromium/files/patch-chrome_browser_printing_print__job__worker.cc +++ b/www/chromium/files/patch-chrome_browser_printing_print__job__worker.cc @@ -1,29 +1,20 @@ ---- chrome/browser/printing/print_job_worker.cc.orig 2021-07-19 18:45:09 UTC +--- chrome/browser/printing/print_job_worker.cc.orig 2021-09-14 01:51:50 UTC +++ chrome/browser/printing/print_job_worker.cc -@@ -47,7 +47,7 @@ - #include "printing/printing_features.h" - #endif - --#if (defined(OS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS)) && defined(USE_CUPS) -+#if (defined(OS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS) || defined(OS_BSD)) && defined(USE_CUPS) - #include "printing/mojom/print.mojom.h" - #endif - -@@ -228,7 +228,7 @@ void PrintJobWorker::UpdatePrintSettings(base::Value n +@@ -224,7 +224,7 @@ void PrintJobWorker::UpdatePrintSettings(base::Value n crash_key = std::make_unique( print_backend->GetPrinterDriverInfo(printer_name)); -#if defined(OS_LINUX) && defined(USE_CUPS) +#if (defined(OS_LINUX) || defined(OS_BSD)) && defined(USE_CUPS) PrinterBasicInfo basic_info; if (print_backend->GetPrinterBasicInfo(printer_name, &basic_info) == mojom::ResultCode::kSuccess) { -@@ -239,7 +239,7 @@ void PrintJobWorker::UpdatePrintSettings(base::Value n +@@ -235,7 +235,7 @@ void PrintJobWorker::UpdatePrintSettings(base::Value n new_settings.SetKey(kSettingAdvancedSettings, std::move(advanced_settings)); } -#endif // defined(OS_LINUX) && defined(USE_CUPS) +#endif // (defined(OS_LINUX) || defined(OS_BSD)) && defined(USE_CUPS) } PrintingContext::Result result; diff --git a/www/chromium/files/patch-chrome_browser_profiles_chrome__browser__main__extra__parts__profiles.cc b/www/chromium/files/patch-chrome_browser_profiles_chrome__browser__main__extra__parts__profiles.cc index 59e5c6ede8bf..f433ff0e7fe8 100644 --- a/www/chromium/files/patch-chrome_browser_profiles_chrome__browser__main__extra__parts__profiles.cc +++ b/www/chromium/files/patch-chrome_browser_profiles_chrome__browser__main__extra__parts__profiles.cc @@ -1,11 +1,11 @@ ---- chrome/browser/profiles/chrome_browser_main_extra_parts_profiles.cc.orig 2021-07-19 18:45:09 UTC +--- chrome/browser/profiles/chrome_browser_main_extra_parts_profiles.cc.orig 2021-09-24 04:25:59 UTC +++ chrome/browser/profiles/chrome_browser_main_extra_parts_profiles.cc -@@ -361,7 +361,7 @@ void ChromeBrowserMainExtraPartsProfiles:: +@@ -358,7 +358,7 @@ void ChromeBrowserMainExtraPartsProfiles:: // TODO(crbug.com/1052397): Revisit the macro expression once build flag switch // of lacros-chrome is complete. #if defined(OS_WIN) || defined(OS_MAC) || \ - (defined(OS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS)) + (defined(OS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS)) || defined(OS_BSD) metrics::DesktopProfileSessionDurationsServiceFactory::GetInstance(); #endif ModelTypeStoreServiceFactory::GetInstance(); diff --git a/www/chromium/files/patch-chrome_browser_profiles_profile.cc b/www/chromium/files/patch-chrome_browser_profiles_profile.cc deleted file mode 100644 index c17915b8cc92..000000000000 --- a/www/chromium/files/patch-chrome_browser_profiles_profile.cc +++ /dev/null @@ -1,11 +0,0 @@ ---- chrome/browser/profiles/profile.cc.orig 2021-07-19 18:45:09 UTC -+++ chrome/browser/profiles/profile.cc -@@ -385,7 +385,7 @@ bool Profile::IsIncognitoProfile() const { - bool Profile::IsEphemeralGuestProfileEnabled() { - // TODO(crbug.com/1052397): Revisit the macro expression once build flag switch - // of lacros-chrome is complete. --#if defined(OS_WIN) || (defined(OS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS)) || \ -+#if defined(OS_WIN) || (defined(OS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS)) || defined(OS_BSD) || \ - defined(OS_MAC) - return base::FeatureList::IsEnabled( - features::kEnableEphemeralGuestProfilesOnDesktop); diff --git a/www/chromium/files/patch-chrome_browser_profiles_profile__attributes__entry.cc b/www/chromium/files/patch-chrome_browser_profiles_profile__attributes__entry.cc deleted file mode 100644 index 6fd0273fc570..000000000000 --- a/www/chromium/files/patch-chrome_browser_profiles_profile__attributes__entry.cc +++ /dev/null @@ -1,11 +0,0 @@ ---- chrome/browser/profiles/profile_attributes_entry.cc.orig 2021-07-19 18:45:09 UTC -+++ chrome/browser/profiles/profile_attributes_entry.cc -@@ -163,7 +163,7 @@ void ProfileAttributesEntry::Initialize(ProfileInfoCac - base::FeatureList::IsEnabled(features::kForceSignInReauth))) { - is_force_signin_profile_locked_ = true; - } --#if defined(OS_MAC) || defined(OS_LINUX) || defined(OS_CHROMEOS) || \ -+#if defined(OS_MAC) || defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD) || \ - defined(OS_WIN) - } else if (IsSigninRequired()) { - // Profiles that require signin in the absence of an enterprise policy are diff --git a/www/chromium/files/patch-chrome_browser_profiles_profiles__state.cc b/www/chromium/files/patch-chrome_browser_profiles_profiles__state.cc index fe98bcd27603..c8453b69e997 100644 --- a/www/chromium/files/patch-chrome_browser_profiles_profiles__state.cc +++ b/www/chromium/files/patch-chrome_browser_profiles_profiles__state.cc @@ -1,11 +1,11 @@ ---- chrome/browser/profiles/profiles_state.cc.orig 2021-07-19 18:45:09 UTC +--- chrome/browser/profiles/profiles_state.cc.orig 2021-09-14 01:51:50 UTC +++ chrome/browser/profiles/profiles_state.cc -@@ -185,7 +185,7 @@ bool IsRegularOrGuestSession(Browser* browser) { +@@ -180,7 +180,7 @@ bool IsRegularOrGuestSession(Browser* browser) { bool IsGuestModeRequested(const base::CommandLine& command_line, PrefService* local_state, bool show_warning) { -#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_WIN) || \ +#if defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_WIN) || defined(OS_BSD) || \ defined(OS_MAC) DCHECK(local_state); diff --git a/www/chromium/files/patch-chrome_browser_renderer__context__menu_render__view__context__menu.cc b/www/chromium/files/patch-chrome_browser_renderer__context__menu_render__view__context__menu.cc index 19a8a5eed6b6..7576af363f36 100644 --- a/www/chromium/files/patch-chrome_browser_renderer__context__menu_render__view__context__menu.cc +++ b/www/chromium/files/patch-chrome_browser_renderer__context__menu_render__view__context__menu.cc @@ -1,11 +1,38 @@ ---- chrome/browser/renderer_context_menu/render_view_context_menu.cc.orig 2021-07-19 18:45:09 UTC +--- chrome/browser/renderer_context_menu/render_view_context_menu.cc.orig 2021-09-24 04:25:59 UTC +++ chrome/browser/renderer_context_menu/render_view_context_menu.cc -@@ -2176,7 +2176,7 @@ bool RenderViewContextMenu::IsCommandIdEnabled(int id) +@@ -229,7 +229,7 @@ + #include "ui/base/resource/resource_bundle.h" + #endif + +-#if defined(OS_WIN) || defined(OS_CHROMEOS) || defined(OS_LINUX) ++#if defined(OS_WIN) || defined(OS_CHROMEOS) || defined(OS_LINUX) || defined(OS_BSD) + #include "chrome/browser/lens/region_search/lens_region_search_controller.h" + #endif + +@@ -982,7 +982,7 @@ void RenderViewContextMenu::InitMenu() { + AppendCurrentExtensionItems(); + } + +-#if defined(OS_WIN) || defined(OS_CHROMEOS) || defined(OS_LINUX) ++#if defined(OS_WIN) || defined(OS_CHROMEOS) || defined(OS_LINUX) || defined(OS_BSD) + if (content_type_->SupportsGroup( + ContextMenuContentType::ITEM_GROUP_LENS_REGION_SEARCH)) { + if (IsLensRegionSearchEnabled()) { +@@ -2339,7 +2339,7 @@ bool RenderViewContextMenu::IsCommandIdEnabled(int id) case IDC_CHECK_SPELLING_WHILE_TYPING: return prefs->GetBoolean(spellcheck::prefs::kSpellCheckEnable); -#if !defined(OS_MAC) && defined(OS_POSIX) +#if !defined(OS_MAC) && !defined(OS_BSD) && defined(OS_POSIX) // TODO(suzhe): this should not be enabled for password fields. case IDC_INPUT_METHODS_MENU: return true; +@@ -3298,7 +3298,7 @@ void RenderViewContextMenu::ExecSearchLensForImage() { + } + + void RenderViewContextMenu::ExecLensRegionSearch() { +-#if defined(OS_WIN) || defined(OS_CHROMEOS) || defined(OS_LINUX) ++#if defined(OS_WIN) || defined(OS_CHROMEOS) || defined(OS_LINUX) || defined(OS_BSD) + if (!lens_region_search_controller_) + lens_region_search_controller_ = + std::make_unique( diff --git a/www/chromium/files/patch-chrome_browser_renderer__context__menu_render__view__context__menu.h b/www/chromium/files/patch-chrome_browser_renderer__context__menu_render__view__context__menu.h new file mode 100644 index 000000000000..a08298e804c3 --- /dev/null +++ b/www/chromium/files/patch-chrome_browser_renderer__context__menu_render__view__context__menu.h @@ -0,0 +1,20 @@ +--- chrome/browser/renderer_context_menu/render_view_context_menu.h.orig 2021-09-24 18:28:06 UTC ++++ chrome/browser/renderer_context_menu/render_view_context_menu.h +@@ -32,7 +32,7 @@ + #include "ui/base/window_open_disposition.h" + #include "ui/gfx/geometry/vector2d.h" + +-#if defined(OS_WIN) || defined(OS_CHROMEOS) || defined(OS_LINUX) ++#if defined(OS_WIN) || defined(OS_CHROMEOS) || defined(OS_LINUX) || defined(OS_BSD) + #include "chrome/browser/lens/region_search/lens_region_search_controller.h" + #endif + +@@ -359,7 +359,7 @@ class RenderViewContextMenu : public RenderViewContext + // The type of system app (if any) associated with the WebContents we're in. + absl::optional system_app_type_; + +-#if defined(OS_WIN) || defined(OS_CHROMEOS) || defined(OS_LINUX) ++#if defined(OS_WIN) || defined(OS_CHROMEOS) || defined(OS_LINUX) || defined(OS_BSD) + // Controller for Lens Region Search feature. This controller will be + // destroyed as soon as the RenderViewContextMenu object is destroyed. The + // RenderViewContextMenu is reset every time it is shown, but persists between diff --git a/www/chromium/files/patch-chrome_browser_resources_settings_appearance__page_appearance__browser__proxy.js b/www/chromium/files/patch-chrome_browser_resources_settings_appearance__page_appearance__browser__proxy.ts similarity index 62% rename from www/chromium/files/patch-chrome_browser_resources_settings_appearance__page_appearance__browser__proxy.js rename to www/chromium/files/patch-chrome_browser_resources_settings_appearance__page_appearance__browser__proxy.ts index c797763f4518..891fb8b8e59c 100644 --- a/www/chromium/files/patch-chrome_browser_resources_settings_appearance__page_appearance__browser__proxy.js +++ b/www/chromium/files/patch-chrome_browser_resources_settings_appearance__page_appearance__browser__proxy.ts @@ -1,20 +1,20 @@ ---- chrome/browser/resources/settings/appearance_page/appearance_browser_proxy.js.orig 2021-04-14 18:40:54 UTC -+++ chrome/browser/resources/settings/appearance_page/appearance_browser_proxy.js -@@ -23,7 +23,7 @@ export class AppearanceBrowserProxy { +--- chrome/browser/resources/settings/appearance_page/appearance_browser_proxy.ts.orig 2021-09-24 17:29:52 UTC ++++ chrome/browser/resources/settings/appearance_page/appearance_browser_proxy.ts +@@ -16,7 +16,7 @@ export interface AppearanceBrowserProxy { - useDefaultTheme() {} + useDefaultTheme(): void; - // + // - useSystemTheme() {} - + useSystemTheme(): void; // -@@ -63,7 +63,7 @@ export class AppearanceBrowserProxyImpl { + +@@ -44,7 +44,7 @@ export class AppearanceBrowserProxyImpl implements App chrome.send('useDefaultTheme'); } - // + // - /** @override */ useSystemTheme() { chrome.send('useSystemTheme'); + } diff --git a/www/chromium/files/patch-chrome_browser_resources_settings_appearance__page_appearance__page.html b/www/chromium/files/patch-chrome_browser_resources_settings_appearance__page_appearance__page.html index 7c0f76e70945..aa0737875900 100644 --- a/www/chromium/files/patch-chrome_browser_resources_settings_appearance__page_appearance__page.html +++ b/www/chromium/files/patch-chrome_browser_resources_settings_appearance__page_appearance__page.html @@ -1,29 +1,29 @@ ---- chrome/browser/resources/settings/appearance_page/appearance_page.html.orig 2021-04-14 18:40:54 UTC +--- chrome/browser/resources/settings/appearance_page/appearance_page.html.orig 2021-09-14 01:51:51 UTC +++ chrome/browser/resources/settings/appearance_page/appearance_page.html @@ -27,7 +27,7 @@ - + - +