Index: www/qt5-webengine/Makefile =================================================================== --- www/qt5-webengine/Makefile +++ www/qt5-webengine/Makefile @@ -18,7 +18,6 @@ PORTNAME= webengine DISTVERSION= ${QT5_VERSION} -PORTREVISION= 5 CATEGORIES= www PKGNAMEPREFIX= qt5- @@ -50,7 +49,7 @@ libwebp.so:graphics/webp DISTINFO_FILE= ${.CURDIR}/distinfo -QT5_VERSION= 5.15.0 +QT5_VERSION= 5.15.2 OPTIONS_SINGLE= AUDIO OPTIONS_SINGLE_AUDIO= ALSA PULSEAUDIO SNDIO @@ -84,7 +83,6 @@ USE_XORG= x11 xcb xcomposite xcursor xdamage xext xfixes xi xorgproto \ xrandr xrender xscrnsaver xtst - QMAKE_CONFIGURE_ARGS= -proprietary-codecs -system-ffmpeg # We could just set it to an empty string as well. "all" does not account for @@ -133,8 +131,16 @@ @${CP} ${FILESDIR}/audio_manager_openbsd.* \ ${WRKSRC}/src/3rdparty/chromium/media/audio/openbsd -.if ${ARCH:Mmips*} || ${ARCH:Mpowerpc*} || ${ARCH} == sparc64 post-patch: + @${REINPLACE_CMD} -e 's|%%LOCALBASE%%|${LOCALBASE}|' \ + ${WRKSRC}/src/3rdparty/chromium/base/linux_util.cc \ + ${WRKSRC}/src/3rdparty/chromium/build/toolchain/gcc_toolchain.gni \ + ${WRKSRC}/src/3rdparty/chromium/chrome/common/chrome_paths.cc \ + ${WRKSRC}/src/3rdparty/chromium/third_party/pdfium/core/fxge/fx_ge_linux.cpp \ + ${WRKSRC}/src/3rdparty/chromium/third_party/pdfium/xfa/fgas/font/cfx_fontsourceenum_file.cpp \ + ${WRKSRC}/src/3rdparty/gn/build/gen.py + +.if ${ARCH:Mmips*} || ${ARCH:Mpowerpc*} || ${ARCH} == sparc64 @${REINPLACE_CMD} -e 's/icudtl.dat/icudtb.dat/' \ ${WRKSRC}/src/core/core_module.pro .endif Index: www/qt5-webengine/distinfo =================================================================== --- www/qt5-webengine/distinfo +++ www/qt5-webengine/distinfo @@ -1,3 +1,3 @@ -TIMESTAMP = 1590608885 -SHA256 (KDE/Qt/5.15.0/qtwebengine-everywhere-src-5.15.0.tar.xz) = c38e2fda7ed1b7d5a90f26abf231ec0715d78a5bc39a94673d8e39d75f04c5df -SIZE (KDE/Qt/5.15.0/qtwebengine-everywhere-src-5.15.0.tar.xz) = 278257432 +TIMESTAMP = 1606050276 +SHA256 (KDE/Qt/5.15.2/qtwebengine-everywhere-src-5.15.2.tar.xz) = c8afca0e43d84f7bd595436fbe4d13a5bbdb81ec5104d605085d07545b6f91e0 +SIZE (KDE/Qt/5.15.2/qtwebengine-everywhere-src-5.15.2.tar.xz) = 280142544 Index: www/qt5-webengine/files/patch-clang =================================================================== --- www/qt5-webengine/files/patch-clang +++ www/qt5-webengine/files/patch-clang @@ -38,50 +38,3 @@ EXPECT_CALL(callback_, OnError()).Times(2); ---- src/3rdparty/chromium/third_party/sfntly/src/cpp/src/sfntly/table/core/cmap_table.cc.orig 2018-11-13 18:25:11 UTC -+++ src/3rdparty/chromium/third_party/sfntly/src/cpp/src/sfntly/table/core/cmap_table.cc -@@ -439,7 +439,7 @@ CMapTable::CMapFormat0::Builder::Builder( - } - - CMapTable::CMapFormat0::Builder::Builder(const CMapId& cmap_id) -- : CMap::Builder(reinterpret_cast(NULL), -+ : CMap::Builder(static_cast(NULL), - CMapFormat::kFormat0, - cmap_id) { - } -@@ -563,7 +563,7 @@ CMapTable::CMapFormat2::Builder::Builder(WritableFontD - : CMapTable::CMap::Builder(data ? down_cast( - data->Slice(offset, data->ReadUShort( - offset + Offset::kFormat0Length))) -- : reinterpret_cast(NULL), -+ : static_cast(NULL), - CMapFormat::kFormat2, cmap_id) { - // TODO(arthurhsu): FIXIT: heavy lifting and leak, need fix. - } -@@ -574,7 +574,7 @@ CMapTable::CMapFormat2::Builder::Builder(ReadableFontD - : CMapTable::CMap::Builder(data ? down_cast( - data->Slice(offset, data->ReadUShort( - offset + Offset::kFormat0Length))) -- : reinterpret_cast(NULL), -+ : static_cast(NULL), - CMapFormat::kFormat2, cmap_id) { - // TODO(arthurhsu): FIXIT: heavy lifting and leak, need fix. - } -@@ -958,7 +958,7 @@ CMapTable::CMapFormat4::Builder::Builder(WritableFontD - CMapTable::CMapFormat4::Builder::Builder(SegmentList* segments, - std::vector* glyph_id_array, - const CMapId& cmap_id) -- : CMap::Builder(reinterpret_cast(NULL), -+ : CMap::Builder(static_cast(NULL), - CMapFormat::kFormat4, cmap_id), - segments_(segments->begin(), segments->end()), - glyph_id_array_(glyph_id_array->begin(), glyph_id_array->end()) { -@@ -966,7 +966,7 @@ CMapTable::CMapFormat4::Builder::Builder(SegmentList* - } - - CMapTable::CMapFormat4::Builder::Builder(const CMapId& cmap_id) -- : CMap::Builder(reinterpret_cast(NULL), -+ : CMap::Builder(static_cast(NULL), - CMapFormat::kFormat4, cmap_id) { - } - Index: www/qt5-webengine/files/patch-configure.pri =================================================================== --- www/qt5-webengine/files/patch-configure.pri +++ www/qt5-webengine/files/patch-configure.pri @@ -1,21 +1,12 @@ ---- configure.pri.orig 2020-04-08 09:41:36 UTC +--- configure.pri.orig 2020-11-07 01:22:36 UTC +++ configure.pri -@@ -114,7 +114,7 @@ defineTest(qtwebengine_platformError) { - defineTest(qtConfTest_detectPlatform) { - QT_FOR_CONFIG += gui-private - -- !linux:!win32:!macos:!ios { -+ !linux:!win32:!macos:!ios:!unix: { - qtwebengine_platformError("Unknown platform. Qt WebEngine only supports Linux, Windows, and macOS.") - } else { - linux:qtwebengine_isLinuxPlatformSupported() { -@@ -125,6 +125,9 @@ defineTest(qtConfTest_detectPlatform) { - } - macos:qtwebengine_isMacOsPlatformSupported() { - $${1}.platform = "macos" -+ } -+ unix:qtwebengine_isLinuxPlatformSupported() { -+ $${1}.platform = "linux" - } - ios:qtwebengine_isMacOsPlatformSupported() { - $${1}.platform = "ios" +@@ -123,6 +123,9 @@ defineTest(qtConfTest_detectPlatform) { + macos:qtwebengine_isMacOsPlatformSupported() { + $${1}.platform = "macos" + } ++ unix:qtwebengine_isLinuxPlatformSupported() { ++ $${1}.platform = "linux" ++ } + ios:qtwebengine_isMacOsPlatformSupported() { + $${1}.platform = "ios" + } Index: www/qt5-webengine/files/patch-mkspecs_features_functions.prf =================================================================== --- www/qt5-webengine/files/patch-mkspecs_features_functions.prf +++ www/qt5-webengine/files/patch-mkspecs_features_functions.prf @@ -1,14 +1,25 @@ ---- mkspecs/features/functions.prf.orig 2019-12-03 07:18:02 UTC +--- mkspecs/features/functions.prf.orig 2020-11-07 01:22:36 UTC +++ mkspecs/features/functions.prf -@@ -75,6 +75,7 @@ defineReplace(gnArgs) { - linux: include($$QTWEBENGINE_ROOT/src/buildtools/config/linux.pri) +@@ -84,6 +84,10 @@ defineReplace(gnWebEngineArgs) { + include($$QTWEBENGINE_ROOT/src/buildtools/config/windows.pri) + include($$QTWEBENGINE_ROOT/src/core/config/windows.pri) + } ++ freebsd { ++ include($$QTWEBENGINE_ROOT/src/buildtools/config/freebsd.pri) ++ include($$QTWEBENGINE_ROOT/src/core/config/linux.pri) ++ } + isEmpty(gn_args): error(No gn_args found please make sure you have valid configuration.) + return($$gn_args) + } +@@ -93,6 +97,7 @@ defineReplace(gnPdfArgs) { macos: include($$QTWEBENGINE_ROOT/src/buildtools/config/mac_osx.pri) + ios: include($$QTWEBENGINE_ROOT/src/pdf/config/ios.pri) win32: include($$QTWEBENGINE_ROOT/src/buildtools/config/windows.pri) + freebsd: include($$QTWEBENGINE_ROOT/src/buildtools/config/freebsd.pri) + include($$QTWEBENGINE_ROOT/src/pdf/config/common.pri) isEmpty(gn_args): error(No gn_args found please make sure you have valid configuration.) return($$gn_args) - } -@@ -87,6 +88,7 @@ defineReplace(gnArch) { +@@ -106,6 +111,7 @@ defineReplace(gnArch) { contains(qtArch, "arm64"): return(arm64) contains(qtArch, "mips"): return(mipsel) contains(qtArch, "mips64"): return(mips64el) @@ -16,7 +27,7 @@ return(unknown) } -@@ -94,6 +96,7 @@ defineReplace(gnOS) { +@@ -113,6 +119,7 @@ defineReplace(gnOS) { macos: return(mac) win32: return(win) linux: return(linux) Index: www/qt5-webengine/files/patch-src_3rdparty_chromium_BUILD.gn =================================================================== --- www/qt5-webengine/files/patch-src_3rdparty_chromium_BUILD.gn +++ www/qt5-webengine/files/patch-src_3rdparty_chromium_BUILD.gn @@ -1,6 +1,6 @@ ---- src/3rdparty/chromium/BUILD.gn.orig 2019-11-27 21:12:25 UTC +--- src/3rdparty/chromium/BUILD.gn.orig 2020-11-07 01:22:36 UTC +++ src/3rdparty/chromium/BUILD.gn -@@ -400,7 +400,7 @@ group("gn_all") { +@@ -419,7 +419,7 @@ group("gn_all") { ] } @@ -9,7 +9,7 @@ deps += [ "//third_party/breakpad:breakpad_unittests", "//third_party/breakpad:core-2-minidump", -@@ -441,8 +441,6 @@ group("gn_all") { +@@ -460,8 +460,6 @@ group("gn_all") { "//net:disk_cache_memory_test", "//net:quic_client", "//net:quic_server", @@ -18,7 +18,7 @@ "//testing:empty_main", ] -@@ -497,10 +495,6 @@ group("gn_all") { +@@ -516,10 +514,6 @@ group("gn_all") { "//chrome/test:load_library_perf_tests", "//chrome/test:sync_performance_tests", "//chrome/test/chromedriver:chromedriver", @@ -29,7 +29,7 @@ "//media/cast:generate_barcode_video", "//media/cast:generate_timecode_audio", "//net:crash_cache", -@@ -567,10 +561,6 @@ group("gn_all") { +@@ -592,10 +586,6 @@ group("gn_all") { "//mojo:mojo_perftests", "//services/service_manager/public/cpp", "//testing/gmock:gmock_main", @@ -40,7 +40,7 @@ ] if (!is_android) { -@@ -644,7 +634,7 @@ group("gn_all") { +@@ -669,7 +659,7 @@ group("gn_all") { host_os == "win" && !use_qt) { deps += [ "//chrome/test/mini_installer:mini_installer_tests" ] } @@ -49,7 +49,7 @@ deps += [ "//third_party/breakpad:symupload($host_toolchain)" ] } -@@ -783,7 +773,6 @@ group("gn_all") { +@@ -802,7 +792,6 @@ group("gn_all") { "//chrome/browser/vr:vr_common_perftests", "//chrome/browser/vr:vr_common_unittests", "//chrome/browser/vr:vr_pixeltests", @@ -57,15 +57,7 @@ ] if (is_desktop_linux && use_ozone) { deps += [ "//chrome/browser/vr/testapp:vr_testapp" ] -@@ -902,7 +891,6 @@ if (is_chromeos) { - "//ppapi/examples/video_decode", - "//sandbox/linux:chrome_sandbox", - "//sandbox/linux:sandbox_linux_unittests", -- "//third_party/breakpad:minidump_stackwalk($host_toolchain)", - - # Blocked on https://github.com/catapult-project/catapult/issues/2297 - #"//third_party/catapult/telemetry:bitmaptools", -@@ -1070,7 +1058,7 @@ if (!is_ios && !use_qt) { +@@ -1085,7 +1074,7 @@ if (!is_ios && !use_qt) { ] } @@ -74,7 +66,7 @@ data_deps += [ "//third_party/breakpad:minidump_stackwalk($host_toolchain)" ] } -@@ -1079,7 +1067,7 @@ if (!is_ios && !use_qt) { +@@ -1094,7 +1083,7 @@ if (!is_ios && !use_qt) { data_deps += [ "//third_party/breakpad:dump_syms($host_toolchain)" ] } @@ -83,7 +75,7 @@ data_deps += [ "//third_party/breakpad:dump_syms($host_toolchain)" ] } -@@ -1221,9 +1209,6 @@ group("chromium_builder_perf") { +@@ -1286,9 +1275,6 @@ group("chromium_builder_perf") { if (is_win) { data_deps += [ "//chrome/installer/mini_installer:mini_installer" ] Index: www/qt5-webengine/files/patch-src_3rdparty_chromium_base_BUILD.gn =================================================================== --- www/qt5-webengine/files/patch-src_3rdparty_chromium_base_BUILD.gn +++ www/qt5-webengine/files/patch-src_3rdparty_chromium_base_BUILD.gn @@ -1,6 +1,52 @@ ---- src/3rdparty/chromium/base/BUILD.gn.orig 2019-05-23 12:39:34 UTC +--- src/3rdparty/chromium/base/BUILD.gn.orig 2020-11-07 01:22:36 UTC +++ src/3rdparty/chromium/base/BUILD.gn -@@ -1183,7 +1183,7 @@ jumbo_component("base") { +@@ -59,7 +59,7 @@ declare_args() { + # replacement base::Location::Current(). On by default in non-official builds + # for testing purposes. + # TODO(https://crbug.com/974061): remove this eventually. +- from_here_uses_location_builtins = !is_official_build ++ from_here_uses_location_builtins = !is_official_build && !is_bsd + + # Unsafe developer build. Has developer-friendly features that may weaken or + # disable security measures like sandboxing or ASLR. +@@ -929,7 +929,7 @@ jumbo_component("base") { + "timer/hi_res_timer_manager_posix.cc", + ] + +- if (!is_nacl && !is_mac && !is_ios) { ++ if (!is_nacl && !is_mac && !is_ios && !is_bsd) { + sources += [ + "profiler/stack_copier_signal.cc", + "profiler/stack_copier_signal.h", +@@ -938,6 +938,12 @@ jumbo_component("base") { + "profiler/thread_delegate_posix.h", + ] + } ++ ++ if (is_bsd) { ++ sources += [ ++ "profiler/stack_sampler_posix.cc", ++ ] ++ } + } + + jumbo_excluded_sources = [] +@@ -1239,7 +1245,13 @@ jumbo_component("base") { + "process/process_metrics_linux.cc", + "threading/platform_thread_linux.cc", + ] +- jumbo_excluded_sources += [ "process/memory_linux.cc" ] ++ # Omit this because it will be excluded via "is_bsd" further down in ++ # this file ++ # jumbo_excluded_sources += [ "process/memory_linux.cc" ] ++ # ...but remove the following files from jumbo merge otherwise it will ++ # emit errors of redefined variables ++ jumbo_excluded_sources += [ "metrics/histogram.cc" ] ++ jumbo_excluded_sources += [ "metrics/sparse_histogram.cc" ] + } + + if (!is_nacl) { +@@ -1324,7 +1336,7 @@ jumbo_component("base") { # Needed for if using newer C++ library than sysroot, except if # building inside the cros_sdk environment - use host_toolchain as a # more robust check for this. @@ -9,7 +55,7 @@ host_toolchain != "//build/toolchain/cros:host") { libs += [ "atomic" ] } -@@ -1209,7 +1209,7 @@ jumbo_component("base") { +@@ -1350,7 +1362,7 @@ jumbo_component("base") { "allocator/allocator_shim_override_glibc_weak_symbols.h", ] deps += [ "//base/allocator:tcmalloc" ] @@ -18,7 +64,7 @@ sources += [ "allocator/allocator_shim_default_dispatch_to_glibc.cc" ] } else if (is_android && use_allocator == "none") { sources += [ -@@ -1749,6 +1749,33 @@ jumbo_component("base") { +@@ -1947,6 +1959,33 @@ jumbo_component("base") { } } @@ -51,11 +97,20 @@ + # iOS if (is_ios) { - set_sources_assignment_filter([]) -@@ -2805,6 +2832,12 @@ test("base_unittests") { + sources -= [ +@@ -2903,7 +2942,7 @@ test("base_unittests") { + "posix/unix_domain_socket_unittest.cc", + "task/thread_pool/task_tracker_posix_unittest.cc", ] - set_sources_assignment_filter(sources_assignment_filter) +- if (!is_nacl && !is_mac && !is_ios) { ++ if (!is_nacl && !is_mac && !is_ios && !is_bsd) { + sources += [ "profiler/stack_copier_signal_unittest.cc" ] + } } +@@ -3092,6 +3131,12 @@ test("base_unittests") { + + manifest = "//build/config/fuchsia/tests.cmx" + } + + if (is_bsd) { + sources -= [ @@ -63,5 +118,5 @@ + ] + } - if (is_win) { - deps += [ "//base:scoped_handle_test_dll" ] + if (!is_fuchsia && !is_ios) { + sources += [ "files/file_locking_unittest.cc" ] Index: www/qt5-webengine/files/patch-src_3rdparty_chromium_base_debug_elf__reader.cc =================================================================== --- www/qt5-webengine/files/patch-src_3rdparty_chromium_base_debug_elf__reader.cc +++ www/qt5-webengine/files/patch-src_3rdparty_chromium_base_debug_elf__reader.cc @@ -1,6 +1,16 @@ ---- src/3rdparty/chromium/base/debug/elf_reader.cc.orig 2020-04-08 09:41:36 UTC +--- src/3rdparty/chromium/base/debug/elf_reader.cc.orig 2020-11-07 01:22:36 UTC +++ src/3rdparty/chromium/base/debug/elf_reader.cc -@@ -98,6 +98,7 @@ size_t ReadElfBuildId(const void* elf_mapped_base, +@@ -35,7 +35,9 @@ using Nhdr = Elf64_Nhdr; + using Word = Elf64_Word; + #endif + ++#if !defined(OS_BSD) + constexpr char kGnuNoteName[] = "GNU"; ++#endif + + // Returns a pointer to the header of the ELF binary mapped into memory, + // or a null pointer if the header is invalid. +@@ -98,6 +100,7 @@ size_t ReadElfBuildId(const void* elf_mapped_base, bool found = false; while (current_section < section_end) { current_note = reinterpret_cast(current_section); @@ -8,7 +18,7 @@ if (current_note->n_type == NT_GNU_BUILD_ID) { StringPiece note_name(current_section + sizeof(Nhdr), current_note->n_namesz); -@@ -107,6 +108,7 @@ size_t ReadElfBuildId(const void* elf_mapped_base, +@@ -107,6 +110,7 @@ size_t ReadElfBuildId(const void* elf_mapped_base, break; } } Index: www/qt5-webengine/files/patch-src_3rdparty_chromium_base_debug_proc__maps__linux.cc =================================================================== --- www/qt5-webengine/files/patch-src_3rdparty_chromium_base_debug_proc__maps__linux.cc +++ www/qt5-webengine/files/patch-src_3rdparty_chromium_base_debug_proc__maps__linux.cc @@ -1,4 +1,4 @@ ---- src/3rdparty/chromium/base/debug/proc_maps_linux.cc.orig 2017-01-26 00:49:07 UTC +--- src/3rdparty/chromium/base/debug/proc_maps_linux.cc.orig 2020-11-07 01:22:36 UTC +++ src/3rdparty/chromium/base/debug/proc_maps_linux.cc @@ -12,7 +12,7 @@ #include "base/strings/string_split.h" @@ -9,3 +9,133 @@ #include #endif +@@ -28,6 +28,11 @@ + namespace base { + namespace debug { + ++#if defined(OS_BSD) ++const char kProcSelfMapsPath[] = "/proc/curproc/map"; ++#else ++const char kProcSelfMapsPath[] = "/proc/self/maps"; ++ + // Scans |proc_maps| starting from |pos| returning true if the gate VMA was + // found, otherwise returns false. + static bool ContainsGateVMA(std::string* proc_maps, size_t pos) { +@@ -43,15 +48,16 @@ static bool ContainsGateVMA(std::string* proc_maps, si + return false; + #endif + } ++#endif + + bool ReadProcMaps(std::string* proc_maps) { + // seq_file only writes out a page-sized amount on each call. Refer to header + // file for details. + const long kReadSize = sysconf(_SC_PAGESIZE); + +- base::ScopedFD fd(HANDLE_EINTR(open("/proc/self/maps", O_RDONLY))); ++ base::ScopedFD fd(HANDLE_EINTR(open(kProcSelfMapsPath, O_RDONLY))); + if (!fd.is_valid()) { +- DPLOG(ERROR) << "Couldn't open /proc/self/maps"; ++ DPLOG(ERROR) << "Couldn't open " << kProcSelfMapsPath; + return false; + } + proc_maps->clear(); +@@ -65,7 +71,7 @@ bool ReadProcMaps(std::string* proc_maps) { + + ssize_t bytes_read = HANDLE_EINTR(read(fd.get(), buffer, kReadSize)); + if (bytes_read < 0) { +- DPLOG(ERROR) << "Couldn't read /proc/self/maps"; ++ DPLOG(ERROR) << "Couldn't read " << kProcSelfMapsPath; + proc_maps->clear(); + return false; + } +@@ -76,6 +82,7 @@ bool ReadProcMaps(std::string* proc_maps) { + if (bytes_read == 0) + break; + ++#if !defined(OS_BSD) + // The gate VMA is handled as a special case after seq_file has finished + // iterating through all entries in the virtual memory table. + // +@@ -86,6 +93,7 @@ bool ReadProcMaps(std::string* proc_maps) { + // Avoid this by searching for the gate VMA and breaking early. + if (ContainsGateVMA(proc_maps, pos)) + break; ++#endif + } + + return true; +@@ -114,10 +122,32 @@ bool ParseProcMaps(const std::string& input, + MappedMemoryRegion region; + const char* line = lines[i].c_str(); + char permissions[5] = {'\0'}; // Ensure NUL-terminated string. ++ int path_index = 0; ++ ++#if defined(OS_BSD) ++ if (lines[i].empty()) ++ continue; ++ ++ ++ char cow; ++ ++ // Format: ++ // ++ // start end resident private_resident obj perms ref_count shadow_count flags cow needs_copy type fullpath cred ruid ++ // 0x200000 0x202000 2 6 0xfffff80005be9000 r-- 3 1 0x1000 COW NC vnode /bin/cat NCH -1 ++ // ++ if (sscanf(line, "%" SCNxPTR " %" SCNxPTR " %*ld %*ld %*llx %3c %*d %*d %*x %c%*s %*s %*s %n", ++ ®ion.start, ®ion.end, permissions, &cow, &path_index) < 4) { ++ DPLOG(WARNING) << "sscanf failed for line: " << line; ++ return false; ++ } ++ ++ const char* fullpath = line + path_index; ++ const char* cred = strchr(fullpath, ' '); ++#else + uint8_t dev_major = 0; + uint8_t dev_minor = 0; + long inode = 0; +- int path_index = 0; + + // Sample format from man 5 proc: + // +@@ -133,6 +163,7 @@ bool ParseProcMaps(const std::string& input, + DPLOG(WARNING) << "sscanf failed for line: " << line; + return false; + } ++#endif + + region.permissions = 0; + +@@ -151,14 +182,31 @@ bool ParseProcMaps(const std::string& input, + else if (permissions[2] != '-') + return false; + ++#if defined(OS_BSD) ++ if (cow == 'C') { ++ region.permissions |= MappedMemoryRegion::PRIVATE; ++ } else if (cow != 'N') { ++ DPLOG(WARNING) << "unknown value for COW in line " << line << ": " << cow; ++ return false; ++ } ++#else + if (permissions[3] == 'p') + region.permissions |= MappedMemoryRegion::PRIVATE; + else if (permissions[3] != 's' && permissions[3] != 'S') // Shared memory. + return false; ++#endif + + // Pushing then assigning saves us a string copy. + regions.push_back(region); ++#if defined(OS_BSD) ++ if (cred != nullptr) { ++ regions.back().path.assign(line + path_index, cred - fullpath); ++ } else { ++ regions.back().path.assign(line + path_index); ++ } ++#else + regions.back().path.assign(line + path_index); ++#endif + } + + regions_out->swap(regions); Index: www/qt5-webengine/files/patch-src_3rdparty_chromium_base_debug_stack__trace__posix.cc =================================================================== --- www/qt5-webengine/files/patch-src_3rdparty_chromium_base_debug_stack__trace__posix.cc +++ www/qt5-webengine/files/patch-src_3rdparty_chromium_base_debug_stack__trace__posix.cc @@ -1,4 +1,4 @@ ---- src/3rdparty/chromium/base/debug/stack_trace_posix.cc.orig 2019-05-23 12:39:34 UTC +--- src/3rdparty/chromium/base/debug/stack_trace_posix.cc.orig 2020-11-07 01:22:36 UTC +++ src/3rdparty/chromium/base/debug/stack_trace_posix.cc @@ -35,7 +35,7 @@ #include @@ -9,23 +9,15 @@ #include "base/debug/proc_maps_linux.h" #endif -@@ -653,6 +653,11 @@ class SandboxSymbolizeHelper { - // for the modules that are loaded in the current process. - // Returns true on success. - bool CacheMemoryRegions() { +@@ -697,7 +697,11 @@ class SandboxSymbolizeHelper { + // Skip regions with empty file names. + continue; + } +#if defined(OS_BSD) -+ // TODO (rene) avoid link error, implement something? -+ NOTIMPLEMENTED(); -+ return false; -+#else - // Reads /proc/self/maps. - std::string contents; - if (!ReadProcMaps(&contents)) { -@@ -670,6 +675,7 @@ class SandboxSymbolizeHelper { - - is_initialized_ = true; - return true; ++ if (region.path[0] == '-') { ++#else + if (region.path[0] == '[') { +#endif - } - - // Opens all object files and caches their file descriptors. + // Skip pseudo-paths, like [stack], [vdso], [heap], etc ... + continue; + } Index: www/qt5-webengine/files/patch-src_3rdparty_chromium_base_files_file__path__watcher.cc =================================================================== --- www/qt5-webengine/files/patch-src_3rdparty_chromium_base_files_file__path__watcher.cc +++ www/qt5-webengine/files/patch-src_3rdparty_chromium_base_files_file__path__watcher.cc @@ -1,11 +1,15 @@ ---- src/3rdparty/chromium/base/files/file_path_watcher.cc.orig 2019-11-27 21:12:25 UTC +--- src/3rdparty/chromium/base/files/file_path_watcher.cc.orig 2020-11-07 01:22:36 UTC +++ src/3rdparty/chromium/base/files/file_path_watcher.cc -@@ -20,7 +20,7 @@ FilePathWatcher::~FilePathWatcher() { +@@ -20,10 +20,10 @@ FilePathWatcher::~FilePathWatcher() { // static bool FilePathWatcher::RecursiveWatchAvailable() { #if (defined(OS_MACOSX) && !defined(OS_IOS)) || defined(OS_WIN) || \ - defined(OS_LINUX) || defined(OS_ANDROID) || defined(OS_AIX) -+ defined(OS_LINUX) || defined(OS_ANDROID) || defined(OS_AIX) || defined(OS_BSD) ++ (defined(OS_LINUX) && !defined(OS_BSD)) || defined(OS_ANDROID) || defined(OS_AIX) return true; #else - // FSEvents isn't available on iOS. +- // FSEvents isn't available on iOS. ++ // FSEvents isn't available on iOS and the kqueue watcher. + return false; + #endif + } Index: www/qt5-webengine/files/patch-src_3rdparty_chromium_base_files_file__path__watcher__stub.cc =================================================================== --- www/qt5-webengine/files/patch-src_3rdparty_chromium_base_files_file__path__watcher__stub.cc +++ www/qt5-webengine/files/patch-src_3rdparty_chromium_base_files_file__path__watcher__stub.cc @@ -1,34 +1,41 @@ ---- src/3rdparty/chromium/base/files/file_path_watcher_stub.cc.orig 2018-11-13 18:25:11 UTC +--- src/3rdparty/chromium/base/files/file_path_watcher_stub.cc.orig 2020-11-07 01:22:36 UTC +++ src/3rdparty/chromium/base/files/file_path_watcher_stub.cc -@@ -5,10 +5,14 @@ - // This file exists for Unix systems which don't have the inotify headers, and - // thus cannot build file_watcher_inotify.cc +@@ -1,14 +1,15 @@ +-// Copyright (c) 2012 The Chromium Authors. All rights reserved. ++// Copyright 2014 The Chromium Authors. All rights reserved. + // Use of this source code is governed by a BSD-style license that can be + // found in the LICENSE file. +-// This file exists for Unix systems which don't have the inotify headers, and +-// thus cannot build file_watcher_inotify.cc + +-#include "base/files/file_path_watcher.h" +#include -+ - #include "base/files/file_path_watcher.h" -+#include "base/files/file_path_watcher_kqueue.h" ++#include "base/files/file_path_watcher.h" ++#include "base/files/file_path_watcher_kqueue.h" #include "base/macros.h" #include "base/memory/ptr_util.h" +#include "build/build_config.h" namespace base { -@@ -22,12 +26,26 @@ class FilePathWatcherImpl : public FilePathWatcher::Pl +@@ -22,12 +23,29 @@ class FilePathWatcherImpl : public FilePathWatcher::Pl bool Watch(const FilePath& path, bool recursive, const FilePathWatcher::Callback& callback) override { -- return false; ++#if defined(OS_BSD) + DCHECK(!impl_.get()); + if (recursive) { -+ if (!FilePathWatcher::RecursiveWatchAvailable()) -+ return false; ++ return false; + } else { -+ impl_ = std::make_unique(); ++ impl_ = std::make_unique(); + } + DCHECK(impl_.get()); + return impl_->Watch(path, recursive, callback); ++#else + return false; ++#endif } - void Cancel() override {} Index: www/qt5-webengine/files/patch-src_3rdparty_chromium_base_i18n_icu__util.cc =================================================================== --- www/qt5-webengine/files/patch-src_3rdparty_chromium_base_i18n_icu__util.cc +++ www/qt5-webengine/files/patch-src_3rdparty_chromium_base_i18n_icu__util.cc @@ -1,20 +1,20 @@ ---- src/3rdparty/chromium/base/i18n/icu_util.cc.orig 2020-04-08 09:41:36 UTC +--- src/3rdparty/chromium/base/i18n/icu_util.cc.orig 2020-11-07 01:22:36 UTC +++ src/3rdparty/chromium/base/i18n/icu_util.cc -@@ -43,7 +43,7 @@ +@@ -49,7 +49,7 @@ #endif #if defined(OS_ANDROID) || defined(OS_FUCHSIA) || \ -- (defined(OS_LINUX) && !defined(IS_CHROMECAST)) -+ (defined(OS_LINUX) && !defined(IS_CHROMECAST)) || defined(OS_BSD) +- (defined(OS_LINUX) && !BUILDFLAG(IS_CHROMECAST)) ++ (defined(OS_LINUX) && !BUILDFLAG(IS_CHROMECAST)) || defined(OS_BSD) #include "third_party/icu/source/i18n/unicode/timezone.h" #endif -@@ -293,7 +293,7 @@ void InitializeIcuTimeZone() { +@@ -345,7 +345,7 @@ void InitializeIcuTimeZone() { fuchsia::IntlProfileWatcher::GetPrimaryTimeZoneIdForIcuInitialization(); icu::TimeZone::adoptDefault( icu::TimeZone::createTimeZone(icu::UnicodeString::fromUTF8(zone_id))); --#elif defined(OS_LINUX) && !defined(IS_CHROMECAST) -+#elif (defined(OS_LINUX) && !defined(IS_CHROMECAST)) || defined(OS_BSD) - // To respond to the timezone change properly, the default timezone +-#elif defined(OS_LINUX) && !BUILDFLAG(IS_CHROMECAST) ++#elif (defined(OS_LINUX) || defined(OS_BSD)) && !BUILDFLAG(IS_CHROMECAST) + // To respond to the time zone change properly, the default time zone // cache in ICU has to be populated on starting up. // See TimeZoneMonitorLinux::NotifyClientsFromImpl(). Index: www/qt5-webengine/files/patch-src_3rdparty_chromium_base_linux__util.cc =================================================================== --- www/qt5-webengine/files/patch-src_3rdparty_chromium_base_linux__util.cc +++ www/qt5-webengine/files/patch-src_3rdparty_chromium_base_linux__util.cc @@ -1,20 +1,12 @@ ---- src/3rdparty/chromium/base/linux_util.cc.orig 2020-03-16 14:04:24 UTC +--- src/3rdparty/chromium/base/linux_util.cc.orig 2020-11-07 01:22:36 UTC +++ src/3rdparty/chromium/base/linux_util.cc -@@ -144,6 +144,8 @@ char g_linux_distro[kDistroSize] = - "CrOS"; - #elif defined(OS_ANDROID) - "Android"; -+#elif defined(OS_BSD) -+ "BSD"; - #else // if defined(OS_LINUX) - "Unknown"; - #endif -@@ -164,7 +166,7 @@ BASE_EXPORT std::string GetKeyValueFromOSReleaseFileFo - } - - std::string GetLinuxDistro() { --#if defined(OS_CHROMEOS) || defined(OS_ANDROID) -+#if defined(OS_CHROMEOS) || defined(OS_ANDROID) || defined(OS_BSD) - return g_linux_distro; - #elif defined(OS_LINUX) - LinuxDistroHelper* distro_state_singleton = LinuxDistroHelper::GetInstance(); +@@ -78,6 +78,9 @@ class DistroNameGetter { + public: + DistroNameGetter() { + static const char* const kFilesToCheck[] = {"/etc/os-release", ++#if defined(OS_BSD) ++ "%%LOCALBASE%%/etc/os-release", ++#endif + "/usr/lib/os-release"}; + for (const char* file : kFilesToCheck) { + if (ReadDistroFromOSReleaseFile(file)) Index: www/qt5-webengine/files/patch-src_3rdparty_chromium_base_memory_discardable__memory.cc =================================================================== --- www/qt5-webengine/files/patch-src_3rdparty_chromium_base_memory_discardable__memory.cc +++ www/qt5-webengine/files/patch-src_3rdparty_chromium_base_memory_discardable__memory.cc @@ -0,0 +1,63 @@ +--- src/3rdparty/chromium/base/memory/discardable_memory.cc.orig 2020-11-07 01:22:36 UTC ++++ src/3rdparty/chromium/base/memory/discardable_memory.cc +@@ -23,7 +23,7 @@ const base::Feature kMadvFreeDiscardableMemory{ + "MadvFreeDiscardableMemory", base::FEATURE_DISABLED_BY_DEFAULT}; + #endif // defined(OS_POSIX) + +-#if defined(OS_ANDROID) || defined(OS_LINUX) ++#if defined(OS_ANDROID) || defined(OS_LINUX) || defined(OS_BSD) + const base::Feature kDiscardableMemoryBackingTrial{ + "DiscardableMemoryBackingTrial", base::FEATURE_DISABLED_BY_DEFAULT}; + +@@ -41,13 +41,13 @@ const base::FeatureParam + DiscardableMemoryTrialGroup::kEmulatedSharedMemory, + &kDiscardableMemoryBackingParamOptions}; + +-#endif // defined(OS_ANDROID) || defined(OS_LINUX) ++#endif // defined(OS_ANDROID) || defined(OS_LINUX) || defined(OS_BSD) + + } // namespace features + + namespace { + +-#if defined(OS_ANDROID) || defined(OS_LINUX) ++#if defined(OS_ANDROID) || defined(OS_LINUX) || defined(OS_BSD) + + DiscardableMemoryBacking GetBackingForFieldTrial() { + DiscardableMemoryTrialGroup trial_group = +@@ -61,11 +61,11 @@ DiscardableMemoryBacking GetBackingForFieldTrial() { + } + NOTREACHED(); + } +-#endif // defined(OS_ANDROID) || defined(OS_LINUX) ++#endif // defined(OS_ANDROID) || defined(OS_LINUX) || defined(OS_BSD) + + } // namespace + +-#if defined(OS_ANDROID) || defined(OS_LINUX) ++#if defined(OS_ANDROID) || defined(OS_LINUX) || defined(OS_BSD) + + // Probe capabilities of this device to determine whether we should participate + // in the discardable memory backing trial. +@@ -87,18 +87,18 @@ DiscardableMemoryTrialGroup GetDiscardableMemoryBackin + DCHECK(DiscardableMemoryBackingFieldTrialIsEnabled()); + return features::kDiscardableMemoryBackingParam.Get(); + } +-#endif // defined(OS_ANDROID) || defined(OS_LINUX) ++#endif // defined(OS_ANDROID) || defined(OS_LINUX) || defined(OS_BSD) + + DiscardableMemory::DiscardableMemory() = default; + + DiscardableMemory::~DiscardableMemory() = default; + + DiscardableMemoryBacking GetDiscardableMemoryBacking() { +-#if defined(OS_ANDROID) || defined(OS_LINUX) ++#if defined(OS_ANDROID) || defined(OS_LINUX) || defined(OS_BSD) + if (DiscardableMemoryBackingFieldTrialIsEnabled()) { + return GetBackingForFieldTrial(); + } +-#endif // defined(OS_ANDROID) || defined(OS_LINUX) ++#endif // defined(OS_ANDROID) || defined(OS_LINUX) || defined(OS_BSD) + + #if defined(OS_ANDROID) + if (ashmem_device_is_supported()) Index: www/qt5-webengine/files/patch-src_3rdparty_chromium_base_memory_discardable__memory__internal.h =================================================================== --- www/qt5-webengine/files/patch-src_3rdparty_chromium_base_memory_discardable__memory__internal.h +++ www/qt5-webengine/files/patch-src_3rdparty_chromium_base_memory_discardable__memory__internal.h @@ -0,0 +1,19 @@ +--- src/3rdparty/chromium/base/memory/discardable_memory_internal.h.orig 2020-11-07 01:22:36 UTC ++++ src/3rdparty/chromium/base/memory/discardable_memory_internal.h +@@ -10,7 +10,7 @@ + #include "base/metrics/field_trial_params.h" + #include "build/build_config.h" + +-#if defined(OS_ANDROID) || defined(OS_LINUX) ++#if defined(OS_ANDROID) || defined(OS_LINUX) || defined(OS_BSD) + + namespace base { + +@@ -47,6 +47,6 @@ GetDiscardableMemoryBackingFieldTrialGroup(); + + } // namespace base + +-#endif // defined(OS_LINUX) || defined(OS_ANDROID) ++#endif // defined(OS_LINUX) || defined(OS_ANDROID) || defined(OS_BSD) + + #endif // BASE_MEMORY_DISCARDABLE_MEMORY_INTERNAL_H_ Index: www/qt5-webengine/files/patch-src_3rdparty_chromium_base_process_internal__linux.h =================================================================== --- www/qt5-webengine/files/patch-src_3rdparty_chromium_base_process_internal__linux.h +++ www/qt5-webengine/files/patch-src_3rdparty_chromium_base_process_internal__linux.h @@ -1,4 +1,4 @@ ---- src/3rdparty/chromium/base/process/internal_linux.h.orig 2017-01-26 00:49:07 UTC +--- src/3rdparty/chromium/base/process/internal_linux.h.orig 2020-11-07 01:22:36 UTC +++ src/3rdparty/chromium/base/process/internal_linux.h @@ -14,6 +14,8 @@ @@ -9,3 +9,26 @@ namespace base { class Time; +@@ -50,6 +52,14 @@ bool ParseProcStats(const std::string& stats_data, + // If the ordering ever changes, carefully review functions that use these + // values. + enum ProcStatsFields { ++#if defined(OS_BSD) ++ VM_COMM = 0, // Command name. ++ VM_PPID = 2, // Parent process id. ++ VM_PGRP = 3, // Process group id. ++ VM_STARTTIME = 7, // The process start time. ++ VM_UTIME = 8, // The user time. ++ VM_STIME = 9, // The system time ++#else + VM_COMM = 1, // Filename of executable, without parentheses. + VM_STATE = 2, // Letter indicating the state of the process. + VM_PPID = 3, // PID of the parent. +@@ -62,6 +72,7 @@ enum ProcStatsFields { + VM_STARTTIME = 21, // The time the process started in clock ticks. + VM_VSIZE = 22, // Virtual memory size in bytes. + VM_RSS = 23, // Resident Set Size in pages. ++#endif + }; + + // Reads the |field_num|th field from |proc_stats|. Returns 0 on failure. Index: www/qt5-webengine/files/patch-src_3rdparty_chromium_base_process_internal__linux.cc =================================================================== --- www/qt5-webengine/files/patch-src_3rdparty_chromium_base_process_internal__linux.cc +++ www/qt5-webengine/files/patch-src_3rdparty_chromium_base_process_internal__linux.cc @@ -1,16 +1,97 @@ ---- src/3rdparty/chromium/base/process/internal_linux.cc.orig 2018-11-13 18:25:11 UTC +--- src/3rdparty/chromium/base/process/internal_linux.cc.orig 2020-11-07 01:22:36 UTC +++ src/3rdparty/chromium/base/process/internal_linux.cc -@@ -60,10 +60,13 @@ bool ReadProcFile(const FilePath& file, std::string* b - // Synchronously reading files in /proc is safe. - ThreadRestrictions::ScopedAllowIO allow_io; +@@ -29,7 +29,11 @@ namespace internal { -+#if !defined(OS_BSD) - if (!ReadFileToString(file, buffer)) { + const char kProcDir[] = "/proc"; + ++#if defined(OS_BSD) ++const char kStatFile[] = "status"; ++#else + const char kStatFile[] = "stat"; ++#endif + + FilePath GetProcPidDir(pid_t pid) { + return FilePath(kProcDir).Append(NumberToString(pid)); +@@ -64,6 +68,7 @@ bool ReadProcFile(const FilePath& file, std::string* b DLOG(WARNING) << "Failed to read " << file.MaybeAsASCII(); return false; } -+#endif + return !buffer->empty(); } +@@ -79,6 +84,22 @@ bool ParseProcStats(const std::string& stats_data, + if (stats_data.empty()) + return false; + ++#if defined(OS_BSD) ++ proc_stats->clear(); ++ ++ std::vector other_stats = SplitString( ++ stats_data, " ", base::TRIM_WHITESPACE, base::SPLIT_WANT_ALL); ++ ++ for (const auto& i : other_stats) { ++ auto pos = i.find(','); ++ ++ if (pos == std::string::npos) { ++ proc_stats->push_back(i); ++ } else { ++ proc_stats->push_back(i.substr(0, pos)); ++ } ++ } ++#else + // The stat file is formatted as: + // pid (process name) data1 data2 .... dataN + // Look for the closing paren by scanning backwards, to avoid being fooled by +@@ -108,6 +129,7 @@ bool ParseProcStats(const std::string& stats_data, + base::TRIM_WHITESPACE, base::SPLIT_WANT_ALL); + for (const auto& i : other_stats) + proc_stats->push_back(i); ++#endif + return true; + } + +@@ -155,7 +177,11 @@ int64_t ReadProcStatsAndGetFieldAsInt64(pid_t pid, Pro + } + + int64_t ReadProcSelfStatsAndGetFieldAsInt64(ProcStatsFields field_num) { ++#if defined(OS_BSD) ++ FilePath stat_file = FilePath(kProcDir).Append("curproc").Append(kStatFile); ++#else + FilePath stat_file = FilePath(kProcDir).Append("self").Append(kStatFile); ++#endif + return ReadStatFileAndGetFieldAsInt64(stat_file, field_num); + } + +@@ -171,6 +197,9 @@ size_t ReadProcStatsAndGetFieldAsSizeT(pid_t pid, + } + + Time GetBootTime() { ++#if defined(OS_BSD) ++ return Time(); ++#else + FilePath path("/proc/stat"); + std::string contents; + if (!ReadProcFile(path, &contents)) +@@ -184,9 +213,13 @@ Time GetBootTime() { + if (!StringToInt(btime_it->second, &btime)) + return Time(); + return Time::FromTimeT(btime); ++#endif + } + + TimeDelta GetUserCpuTimeSinceBoot() { ++#if defined(OS_BSD) ++ return TimeDelta(); ++#else + FilePath path("/proc/stat"); + std::string contents; + if (!ReadProcFile(path, &contents)) +@@ -210,6 +243,7 @@ TimeDelta GetUserCpuTimeSinceBoot() { + return TimeDelta(); + + return ClockTicksToTimeDelta(user + nice); ++#endif + } + + TimeDelta ClockTicksToTimeDelta(int clock_ticks) { Index: www/qt5-webengine/files/patch-src_3rdparty_chromium_base_process_process__linux.cc =================================================================== --- www/qt5-webengine/files/patch-src_3rdparty_chromium_base_process_process__linux.cc +++ www/qt5-webengine/files/patch-src_3rdparty_chromium_base_process_process__linux.cc @@ -1,14 +1,27 @@ ---- src/3rdparty/chromium/base/process/process_linux.cc.orig 2019-05-23 12:39:34 UTC +--- src/3rdparty/chromium/base/process/process_linux.cc.orig 2020-11-07 01:22:36 UTC +++ src/3rdparty/chromium/base/process/process_linux.cc -@@ -88,6 +88,7 @@ Time Process::CreationTime() const { +@@ -79,6 +79,9 @@ Time Process::CreationTime() const { + internal::VM_STARTTIME) + : internal::ReadProcStatsAndGetFieldAsInt64( + Pid(), internal::VM_STARTTIME); ++#if defined(OS_BSD) ++ return Time::FromTimeT(start_ticks); ++#else + if (!start_ticks) + return Time(); + TimeDelta start_offset = internal::ClockTicksToTimeDelta(start_ticks); +@@ -86,8 +89,10 @@ Time Process::CreationTime() const { + if (boot_time.is_null()) + return Time(); return Time(boot_time + start_offset); ++#endif } +#if !defined(OS_BSD) // static bool Process::CanBackgroundProcesses() { #if defined(OS_CHROMEOS) -@@ -139,6 +140,7 @@ bool Process::SetProcessBackgrounded(bool background) +@@ -139,6 +144,7 @@ bool Process::SetProcessBackgrounded(bool background) DPCHECK(result == 0); return result == 0; } Index: www/qt5-webengine/files/patch-src_3rdparty_chromium_base_profiler_stack__copier__signal.cc =================================================================== --- www/qt5-webengine/files/patch-src_3rdparty_chromium_base_profiler_stack__copier__signal.cc +++ www/qt5-webengine/files/patch-src_3rdparty_chromium_base_profiler_stack__copier__signal.cc @@ -1,6 +1,6 @@ ---- src/3rdparty/chromium/base/profiler/stack_copier_signal.cc.orig 2020-04-08 09:41:36 UTC +--- src/3rdparty/chromium/base/profiler/stack_copier_signal.cc.orig 2020-11-07 01:22:36 UTC +++ src/3rdparty/chromium/base/profiler/stack_copier_signal.cc -@@ -4,10 +4,16 @@ +@@ -4,7 +4,14 @@ #include "base/profiler/stack_copier_signal.h" @@ -14,11 +14,8 @@ +#endif #include #include --#include - - #include - -@@ -35,8 +41,13 @@ class AsyncSafeWaitableEvent { + #include +@@ -33,8 +40,13 @@ class AsyncSafeWaitableEvent { // for a pthread mutex. So, also check the condition. while (true) { int res = @@ -32,7 +29,7 @@ if (futex_.load(std::memory_order_acquire) != 0) return true; if (res != 0) -@@ -46,8 +57,12 @@ class AsyncSafeWaitableEvent { +@@ -44,8 +56,12 @@ class AsyncSafeWaitableEvent { void Signal() { futex_.store(1, std::memory_order_release); @@ -45,7 +42,7 @@ } private: -@@ -201,11 +216,17 @@ bool StackCopierSignal::CopyStack(StackBuffer* stack_b +@@ -215,11 +231,18 @@ bool StackCopierSignal::CopyStack(StackBuffer* stack_b if (!scoped_sigaction.succeeded()) return false; @@ -57,6 +54,7 @@ } +#elif defined(OS_FREEBSD) + if (thr_kill2(getpid(), thread_delegate_->GetThreadId(), SIGURG) != 0) { ++ NOTREACHED(); + return false; + } +#endif Index: www/qt5-webengine/files/patch-src_3rdparty_chromium_base_profiler_thread__delegate__posix.cc =================================================================== --- www/qt5-webengine/files/patch-src_3rdparty_chromium_base_profiler_thread__delegate__posix.cc +++ www/qt5-webengine/files/patch-src_3rdparty_chromium_base_profiler_thread__delegate__posix.cc @@ -1,16 +1,16 @@ ---- src/3rdparty/chromium/base/profiler/thread_delegate_posix.cc.orig 2020-04-08 09:41:36 UTC +--- src/3rdparty/chromium/base/profiler/thread_delegate_posix.cc.orig 2020-11-07 01:22:36 UTC +++ src/3rdparty/chromium/base/profiler/thread_delegate_posix.cc -@@ -3,6 +3,9 @@ - // found in the LICENSE file. +@@ -9,6 +9,9 @@ + #include "base/stl_util.h" - #include -+#if defined(__FreeBSD__) + #include "build/build_config.h" ++#if defined(OS_FREEBSD) +#include +#endif - #include "base/process/process_handle.h" - #include "base/profiler/thread_delegate_posix.h" -@@ -17,12 +20,20 @@ namespace { + namespace base { + +@@ -17,7 +20,12 @@ namespace { uintptr_t GetThreadStackBaseAddressImpl( SamplingProfilerThreadToken thread_token) { pthread_attr_t attr; @@ -23,27 +23,25 @@ // See crbug.com/617730 for limitations of this approach on Linux. void* address; size_t size; - pthread_attr_getstack(&attr, &address, &size); - const uintptr_t base_address = reinterpret_cast(address) + size; +@@ -93,16 +101,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) -+ pthread_attr_destroy(&attr); ++ 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 - return base_address; - } - -@@ -84,15 +95,23 @@ std::vector ThreadDelegatePosix::GetRegist - registers.reserve(12); - // Return the set of callee-save registers per the ARM 64-bit Procedure Call - // Standard section 5.1.1, plus the stack pointer. -- registers.push_back(reinterpret_cast(&thread_context->sp)); -+ registers.push_back(reinterpret_cast(&thread_context->mc_gpregs.gp_sp)); - for (size_t i = 19; i <= 29; ++i) -- registers.push_back(reinterpret_cast(&thread_context->regs[i])); -+ registers.push_back(reinterpret_cast(&thread_context->mc_gpregs.gp_x[i])); - return registers; --#elif defined(ARCH_CPU_X86_64) // #if defined(ARCH_CPU_ARM_FAMILY) && -- // defined(ARCH_CPU_32_BITS) -+#elif defined(ARCH_CPU_X86_64) + }; + #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. @@ -59,7 +57,7 @@ reinterpret_cast(&thread_context->gregs[REG_RBP]), reinterpret_cast(&thread_context->gregs[REG_RBX]), reinterpret_cast(&thread_context->gregs[REG_R12]), -@@ -100,6 +119,7 @@ std::vector ThreadDelegatePosix::GetRegist +@@ -110,6 +135,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]), Index: www/qt5-webengine/files/patch-src_3rdparty_chromium_base_system_sys__info.cc =================================================================== --- www/qt5-webengine/files/patch-src_3rdparty_chromium_base_system_sys__info.cc +++ www/qt5-webengine/files/patch-src_3rdparty_chromium_base_system_sys__info.cc @@ -0,0 +1,11 @@ +--- src/3rdparty/chromium/base/system/sys_info.cc.orig 2020-11-07 01:22:36 UTC ++++ src/3rdparty/chromium/base/system/sys_info.cc +@@ -102,7 +102,7 @@ void SysInfo::GetHardwareInfo(base::OnceCallback + + #include "base/logging.h" ++#include "base/strings/string_util.h" + namespace base { int64_t SysInfo::AmountOfPhysicalMemoryImpl() { @@ -62,6 +67,17 @@ } + return static_cast(limit); ++} ++ ++SysInfo::HardwareInfo SysInfo::GetHardwareInfoSync() { ++ HardwareInfo info; ++ // Set the manufacturer to "FreeBSD" and the model to ++ // an empty string. ++ info.manufacturer = "FreeBSD"; ++ info.model = HardwareModelName(); ++ DCHECK(IsStringUTF8(info.manufacturer)); ++ DCHECK(IsStringUTF8(info.model)); ++ return info; } -- + } // namespace base Index: www/qt5-webengine/files/patch-src_3rdparty_chromium_base_trace__event_malloc__dump__provider.cc =================================================================== --- www/qt5-webengine/files/patch-src_3rdparty_chromium_base_trace__event_malloc__dump__provider.cc +++ www/qt5-webengine/files/patch-src_3rdparty_chromium_base_trace__event_malloc__dump__provider.cc @@ -1,15 +1,15 @@ ---- src/3rdparty/chromium/base/trace_event/malloc_dump_provider.cc.orig 2018-11-13 18:25:11 UTC +--- src/3rdparty/chromium/base/trace_event/malloc_dump_provider.cc.orig 2020-11-07 01:22:36 UTC +++ src/3rdparty/chromium/base/trace_event/malloc_dump_provider.cc -@@ -18,7 +18,7 @@ +@@ -17,6 +17,8 @@ + #if defined(OS_MACOSX) #include - #else --#include ++#elif defined(OS_BSD) +#include + #else + #include #endif - #if defined(OS_WIN) - #include -@@ -132,6 +132,9 @@ bool MallocDumpProvider::OnMemoryDump(const MemoryDump +@@ -132,6 +134,9 @@ bool MallocDumpProvider::OnMemoryDump(const MemoryDump } #elif defined(OS_FUCHSIA) // TODO(fuchsia): Port, see https://crbug.com/706592. @@ -18,4 +18,4 @@ + allocated_objects_size = 0; #else struct mallinfo info = mallinfo(); - DCHECK_GE(info.arena + info.hblkhd, info.uordblks); + // In case of Android's jemalloc |arena| is 0 and the outer pages size is Index: www/qt5-webengine/files/patch-src_3rdparty_chromium_build_config_compiler_BUILD.gn =================================================================== --- www/qt5-webengine/files/patch-src_3rdparty_chromium_build_config_compiler_BUILD.gn +++ www/qt5-webengine/files/patch-src_3rdparty_chromium_build_config_compiler_BUILD.gn @@ -1,24 +1,24 @@ ---- src/3rdparty/chromium/build/config/compiler/BUILD.gn.orig 2020-03-16 14:04:24 UTC +--- src/3rdparty/chromium/build/config/compiler/BUILD.gn.orig 2020-11-07 01:22:36 UTC +++ src/3rdparty/chromium/build/config/compiler/BUILD.gn -@@ -60,7 +60,7 @@ declare_args() { - # only two architectures that are currently checked in). Turn this off when - # you are using a custom toolchain and need to control -B in cflags. - linux_use_bundled_binutils = -- linux_use_bundled_binutils_override && is_linux && -+ linux_use_bundled_binutils_override && (is_linux && !is_bsd) && - (current_cpu == "x64" || current_cpu == "x86") - binutils_path = rebase_path("//third_party/binutils/Linux_x64/Release/bin", - root_build_dir) -@@ -309,7 +309,7 @@ config("compiler") { +@@ -144,7 +144,7 @@ declare_args() { + # 'is_android' breaks content_shell_test_apk on android-kitkat-arm-rel. + # 'use_xcode_clang' may call old clang. + init_stack_vars = +- !is_android && !use_xcode_clang && (!is_official_build || is_linux) ++ !is_android && !use_xcode_clang && (!is_official_build || is_linux) && !is_bsd + # This argument is to control whether enabling text section splitting in the + # final binary. When enabled, the separated text sections with prefix +@@ -313,7 +313,7 @@ config("compiler") { + } + # Linker warnings. - if (fatal_linker_warnings && !(is_chromeos && current_cpu == "arm") && -- !is_mac && !is_ios && current_os != "aix") { -+ !is_mac && !is_ios && current_os != "aix" && !is_bsd) { - # TODO(jochen): Enable this on chromeos on arm. http://crbug.com/356580 +- if (fatal_linker_warnings && !is_mac && !is_ios && current_os != "aix") { ++ if (fatal_linker_warnings && !is_mac && !is_ios && !is_bsd && current_os != "aix") { ldflags += [ "-Wl,--fatal-warnings" ] } -@@ -416,7 +416,7 @@ config("compiler") { + if (fatal_linker_warnings && (is_mac || is_ios)) { +@@ -419,7 +419,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. @@ -27,8 +27,8 @@ ldflags += [ "-Wl,-z,defs", "-Wl,--as-needed", -@@ -516,7 +516,7 @@ config("compiler") { - } +@@ -518,7 +518,7 @@ config("compiler") { + ldflags += [ "-Wl,-z,keep-text-section-prefix" ] } - if (is_clang && !is_nacl && !use_xcode_clang && !use_qt) { @@ -36,7 +36,7 @@ cflags += [ "-fcrash-diagnostics-dir=" + rebase_path("//tools/clang/crashreports", root_build_dir) ] -@@ -787,7 +787,7 @@ config("compiler_cpu_abi") { +@@ -789,7 +789,7 @@ config("compiler_cpu_abi") { cflags += [ "-mtune=$arm_tune" ] } } else if (current_cpu == "arm64") { @@ -45,7 +45,7 @@ cflags += [ "--target=aarch64-linux-gnu" ] ldflags += [ "--target=aarch64-linux-gnu" ] } -@@ -1138,7 +1138,7 @@ config("compiler_deterministic") { +@@ -1139,7 +1139,7 @@ config("compiler_deterministic") { "-Xclang", ".", ] @@ -54,7 +54,7 @@ # We don't use clang -cc1as on Windows (yet? https://crbug.com/762167) asmflags = [ "-Wa,-fdebug-compilation-dir,." ] } -@@ -1545,7 +1545,7 @@ config("default_warnings") { +@@ -1541,7 +1541,7 @@ config("default_warnings") { cflags += [ "-Wno-nonportable-include-path" ] } @@ -63,7 +63,7 @@ # Flags NaCl (Clang 3.7) and Xcode 9.2 (Clang clang-900.0.39.2) do not # recognize. cflags += [ -@@ -1775,7 +1775,7 @@ config("thin_archive") { +@@ -1791,7 +1791,7 @@ config("thin_archive") { # Mac and iOS use the mac-specific "libtool" command, not ar, which doesn't # have a "thin archive" mode (it does accept -T, but it means truncating # archive names to 16 characters, which is not what we want). @@ -72,7 +72,7 @@ arflags = [ "-T" ] } else if (is_win && use_lld) { arflags = [ "/llvmlibthin" ] -@@ -2373,7 +2373,7 @@ config("symbols") { +@@ -2323,7 +2323,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) { @@ -80,8 +80,8 @@ + cflags += [ "-g0" ] } - if (use_debug_fission && !is_nacl && !is_android) { -@@ -2394,7 +2394,7 @@ config("symbols") { + if (is_clang && !is_nacl && !use_xcode_clang && !use_qt) { +@@ -2351,7 +2351,7 @@ config("symbols") { # DWARF info may be corrupt; offsets in a range list entry are in different # sections" there. Maybe just a bug in nacl_switch_32.S. if (!is_mac && !is_ios && !is_nacl && current_cpu != "x86" && Index: www/qt5-webengine/files/patch-src_3rdparty_chromium_build_config_compiler_compiler.gni =================================================================== --- www/qt5-webengine/files/patch-src_3rdparty_chromium_build_config_compiler_compiler.gni +++ www/qt5-webengine/files/patch-src_3rdparty_chromium_build_config_compiler_compiler.gni @@ -1,6 +1,15 @@ ---- src/3rdparty/chromium/build/config/compiler/compiler.gni.orig 2019-05-23 12:39:34 UTC +--- src/3rdparty/chromium/build/config/compiler/compiler.gni.orig 2020-11-07 01:22:36 UTC +++ src/3rdparty/chromium/build/config/compiler/compiler.gni -@@ -181,7 +181,7 @@ declare_args() { +@@ -47,7 +47,7 @@ declare_args() { + # only two architectures that are currently checked in). Turn this off when + # you are using a custom toolchain and need to control -B in cflags. + linux_use_bundled_binutils = +- linux_use_bundled_binutils_override && is_linux && ++ linux_use_bundled_binutils_override && (is_linux && !is_bsd) && + (current_cpu == "x64" || current_cpu == "x86") + binutils_path = rebase_path("//third_party/binutils/Linux_x64/Release/bin", + root_build_dir) +@@ -193,7 +193,7 @@ declare_args() { declare_args() { # Whether to use the gold linker from binutils instead of lld or bfd. use_gold = Index: www/qt5-webengine/files/patch-src_3rdparty_chromium_build_config_linux_BUILD.gn =================================================================== --- www/qt5-webengine/files/patch-src_3rdparty_chromium_build_config_linux_BUILD.gn +++ www/qt5-webengine/files/patch-src_3rdparty_chromium_build_config_linux_BUILD.gn @@ -1,9 +1,9 @@ ---- src/3rdparty/chromium/build/config/linux/BUILD.gn.orig 2018-11-13 18:25:11 UTC +--- src/3rdparty/chromium/build/config/linux/BUILD.gn.orig 2020-11-07 01:22:36 UTC +++ src/3rdparty/chromium/build/config/linux/BUILD.gn -@@ -28,7 +28,7 @@ config("runtime_library") { - } +@@ -30,7 +30,7 @@ config("runtime_library") { - if ((!is_chromeos || default_toolchain != "//build/toolchain/cros:target") && + if ((!(is_chromeos || chromeos_is_browser_only) || + default_toolchain != "//build/toolchain/cros:target") && - (!use_custom_libcxx || current_cpu == "mipsel") && !use_qt) { + (!use_custom_libcxx || current_cpu == "mipsel") && !use_qt && !is_bsd) { libs = [ "atomic" ] Index: www/qt5-webengine/files/patch-src_3rdparty_chromium_build_config_sysroot.gni =================================================================== --- www/qt5-webengine/files/patch-src_3rdparty_chromium_build_config_sysroot.gni +++ www/qt5-webengine/files/patch-src_3rdparty_chromium_build_config_sysroot.gni @@ -1,15 +1,14 @@ ---- src/3rdparty/chromium/build/config/sysroot.gni.orig 2018-11-13 18:25:11 UTC +--- src/3rdparty/chromium/build/config/sysroot.gni.orig 2020-11-07 01:22:36 UTC +++ src/3rdparty/chromium/build/config/sysroot.gni -@@ -15,9 +15,10 @@ declare_args() { - # The absolute path to directory containing linux sysroot images - target_sysroot_dir = "//build/linux" +@@ -24,9 +24,9 @@ declare_args() { + # Controls default is_linux sysroot. If set to true, and sysroot + # is empty, default sysroot is calculated. - use_sysroot = current_cpu == "x86" || current_cpu == "x64" || -+ use_sysroot = !is_bsd && ( -+ current_cpu == "x86" || current_cpu == "x64" || ++ use_sysroot = !is_bsd && (current_cpu == "x86" || current_cpu == "x64" || current_cpu == "arm" || current_cpu == "arm64" || - current_cpu == "mipsel" || current_cpu == "mips64el" + current_cpu == "mipsel" || current_cpu == "mips64el") } - if (current_os == target_os && current_cpu == target_cpu && + if (sysroot == "") { Index: www/qt5-webengine/files/patch-src_3rdparty_chromium_build_linux_unbundle_libxml.gn =================================================================== --- www/qt5-webengine/files/patch-src_3rdparty_chromium_build_linux_unbundle_libxml.gn +++ www/qt5-webengine/files/patch-src_3rdparty_chromium_build_linux_unbundle_libxml.gn @@ -1,53 +0,0 @@ ---- src/3rdparty/chromium/build/linux/unbundle/libxml.gn.orig 2020-04-08 09:41:36 UTC -+++ src/3rdparty/chromium/build/linux/unbundle/libxml.gn -@@ -8,11 +8,48 @@ pkg_config("system_libxml") { - packages = [ "libxml-2.0" ] - } - --static_library("libxml") { -+source_set("libxml") { -+ public_configs = [ ":system_libxml" ] -+} -+ -+static_library("libxml_utils") { -+ # Do not expand this visibility list without first consulting with the -+ # Security Team. -+ visibility = [ -+ ":xml_reader", -+ ":xml_writer", -+ "//base/test:test_support", -+ "//services/data_decoder:xml_parser_fuzzer", -+ ] - sources = [ - "chromium/libxml_utils.cc", - "chromium/libxml_utils.h", - ] -- - public_configs = [ ":system_libxml" ] -+} -+ -+static_library("xml_reader") { -+ # Do not expand this visibility list without first consulting with the -+ # Security Team. -+ visibility = [ -+ "//base/test:test_support", -+ "//components/policy/core/common:unit_tests", -+ "//services/data_decoder:*", -+ "//tools/traffic_annotation/auditor:auditor_sources", -+ ] -+ sources = [ -+ "chromium/xml_reader.cc", -+ "chromium/xml_reader.h", -+ ] -+ deps = [ ":libxml_utils" ] -+} -+ -+static_library("xml_writer") { -+ # The XmlWriter is considered safe to use from any target. -+ visibility = [ "*" ] -+ sources = [ -+ "chromium/xml_writer.cc", -+ "chromium/xml_writer.h", -+ ] -+ deps = [ ":libxml_utils" ] - } Index: www/qt5-webengine/files/patch-src_3rdparty_chromium_build_toolchain_gcc__toolchain.gni =================================================================== --- www/qt5-webengine/files/patch-src_3rdparty_chromium_build_toolchain_gcc__toolchain.gni +++ www/qt5-webengine/files/patch-src_3rdparty_chromium_build_toolchain_gcc__toolchain.gni @@ -1,8 +1,8 @@ ---- src/3rdparty/chromium/build/toolchain/gcc_toolchain.gni.orig 2019-05-23 12:39:34 UTC +--- src/3rdparty/chromium/build/toolchain/gcc_toolchain.gni.orig 2020-11-07 01:22:36 UTC +++ src/3rdparty/chromium/build/toolchain/gcc_toolchain.gni -@@ -47,6 +47,11 @@ analyzer_wrapper = - rebase_path("//build/toolchain/clang_static_analyzer_wrapper.py", - root_build_dir) + " --mode=clang" +@@ -36,6 +36,11 @@ if (is_linux && target_os == "android") { + enable_resource_whitelist_generation = false + } +declare_args() { + extra_cxxflags = "" @@ -12,7 +12,7 @@ # This template defines a toolchain for something that works like gcc # (including clang). # -@@ -610,13 +615,24 @@ template("clang_toolchain") { +@@ -589,13 +594,23 @@ template("clang_toolchain") { } gcc_toolchain(target_name) { @@ -24,8 +24,7 @@ - ar = "${prefix}/llvm-ar" - nm = "${toolprefix}nm" + if (is_bsd) { -+ # XXX fix the hardcoding! -+ prefix = "/usr/local/bin" ++ prefix = "%%LOCALBASE%%/bin" + cc = "cc" + cxx = "c++" + ld = cxx Index: www/qt5-webengine/files/patch-src_3rdparty_chromium_cc_BUILD.gn =================================================================== --- www/qt5-webengine/files/patch-src_3rdparty_chromium_cc_BUILD.gn +++ www/qt5-webengine/files/patch-src_3rdparty_chromium_cc_BUILD.gn @@ -1,21 +1,19 @@ ---- src/3rdparty/chromium/cc/BUILD.gn.orig 2019-11-27 21:12:25 UTC +--- src/3rdparty/chromium/cc/BUILD.gn.orig 2020-11-07 01:22:36 UTC +++ src/3rdparty/chromium/cc/BUILD.gn -@@ -568,7 +568,7 @@ cc_test_static_library("test_support") { +@@ -589,7 +589,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", - ] -@@ -773,9 +773,6 @@ cc_test("cc_unittests") { - "//ui/gfx/geometry", - "//ui/gl", - "//ui/gl:test_support", -- ] -- data_deps = [ + data_deps = [ "//third_party/mesa_headers" ] + } + } +@@ -790,7 +790,6 @@ cc_test("cc_unittests") { + ] + data_deps = [ + "//testing/buildbot/filters:cc_unittests_filters", - "//third_party/mesa_headers", ] - if (enable_vulkan) { + defines = [] Index: www/qt5-webengine/files/patch-src_3rdparty_chromium_chrome_app_chromium__strings.grd =================================================================== --- www/qt5-webengine/files/patch-src_3rdparty_chromium_chrome_app_chromium__strings.grd +++ www/qt5-webengine/files/patch-src_3rdparty_chromium_chrome_app_chromium__strings.grd @@ -1,15 +1,15 @@ ---- src/3rdparty/chromium/chrome/app/chromium_strings.grd.orig 2019-11-27 21:12:25 UTC +--- src/3rdparty/chromium/chrome/app/chromium_strings.grd.orig 2020-11-07 01:22:36 UTC +++ src/3rdparty/chromium/chrome/app/chromium_strings.grd -@@ -690,7 +690,7 @@ Signing in anyway will merge Chromium information like +@@ -680,7 +680,7 @@ Chromium is unable to recover your settings. -- -+ +- ++ Your system administrator has configured Chromium to open an alternative browser to access $1example.com. -@@ -821,7 +821,7 @@ Signing in anyway will merge Chromium information like +@@ -781,7 +781,7 @@ Chromium is unable to recover your settings. @@ -18,7 +18,7 @@ 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. -@@ -1080,7 +1080,7 @@ Please check your email at $2 +@@ -1003,7 +1003,7 @@ Chromium is unable to recover your settings. Index: www/qt5-webengine/files/patch-src_3rdparty_chromium_chrome_app_generated__resources.grd =================================================================== --- www/qt5-webengine/files/patch-src_3rdparty_chromium_chrome_app_generated__resources.grd +++ www/qt5-webengine/files/patch-src_3rdparty_chromium_chrome_app_generated__resources.grd @@ -1,15 +1,15 @@ ---- src/3rdparty/chromium/chrome/app/generated_resources.grd.orig 2019-11-27 21:12:25 UTC +--- src/3rdparty/chromium/chrome/app/generated_resources.grd.orig 2020-11-07 01:22:36 UTC +++ src/3rdparty/chromium/chrome/app/generated_resources.grd -@@ -4796,7 +4796,7 @@ Keep your key file in a safe place. You will need it t +@@ -5137,7 +5137,7 @@ Keep your key file in a safe place. You will need it t -- -+ +- ++ Legacy Browser Support -@@ -6373,7 +6373,7 @@ the Bookmarks menu."> +@@ -6880,7 +6880,7 @@ the Bookmarks menu."> Google Pay @@ -18,7 +18,7 @@ Use system title bar and borders -@@ -7222,7 +7222,7 @@ Please help our engineers fix this problem. Tell us wh +@@ -7806,7 +7806,7 @@ Please help our engineers fix this problem. Tell us wh Set as default Index: www/qt5-webengine/files/patch-src_3rdparty_chromium_chrome_app_google__chrome__strings.grd =================================================================== --- www/qt5-webengine/files/patch-src_3rdparty_chromium_chrome_app_google__chrome__strings.grd +++ www/qt5-webengine/files/patch-src_3rdparty_chromium_chrome_app_google__chrome__strings.grd @@ -1,15 +1,15 @@ ---- src/3rdparty/chromium/chrome/app/google_chrome_strings.grd.orig 2019-11-27 21:12:25 UTC +--- src/3rdparty/chromium/chrome/app/google_chrome_strings.grd.orig 2020-11-07 01:22:36 UTC +++ src/3rdparty/chromium/chrome/app/google_chrome_strings.grd -@@ -702,7 +702,7 @@ Signing in anyway will merge Chrome information like b +@@ -692,7 +692,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. -@@ -833,7 +833,7 @@ Signing in anyway will merge Chrome information like b +@@ -793,7 +793,7 @@ Google Chrome is unable to recover your settings. @@ -18,7 +18,7 @@ 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. -@@ -1099,7 +1099,7 @@ Please check your email at $2 +@@ -1022,7 +1022,7 @@ Google Chrome is unable to recover your settings. Index: www/qt5-webengine/files/patch-src_3rdparty_chromium_chrome_browser_resources_safe__browsing_gen__file__type__proto.py =================================================================== --- www/qt5-webengine/files/patch-src_3rdparty_chromium_chrome_browser_resources_safe__browsing_gen__file__type__proto.py +++ www/qt5-webengine/files/patch-src_3rdparty_chromium_chrome_browser_resources_safe__browsing_gen__file__type__proto.py @@ -1,19 +0,0 @@ ---- src/3rdparty/chromium/chrome/browser/resources/safe_browsing/gen_file_type_proto.py.orig 2018-11-13 18:25:11 UTC -+++ src/3rdparty/chromium/chrome/browser/resources/safe_browsing/gen_file_type_proto.py -@@ -31,6 +31,7 @@ def PlatformTypes(): - "android": download_file_types_pb2.DownloadFileType.PLATFORM_ANDROID, - "chromeos": download_file_types_pb2.DownloadFileType.PLATFORM_CHROME_OS, - "linux": download_file_types_pb2.DownloadFileType.PLATFORM_LINUX, -+ "bsd": download_file_types_pb2.DownloadFileType.PLATFORM_LINUX, - "mac": download_file_types_pb2.DownloadFileType.PLATFORM_MAC, - "win": download_file_types_pb2.DownloadFileType.PLATFORM_WINDOWS, - } -@@ -169,7 +170,7 @@ class DownloadFileTypeProtoGenerator(BinaryProtoGenera - 'Outfile must have a %d for version and %s for platform.') - parser.add_option('-t', '--type', - help='The platform type. One of android, chromeos, ' + -- 'linux, mac, win') -+ 'linux, bsd, mac, win') - - def AddExtraCommandLineArgsForVirtualEnvRun(self, opts, command): - if opts.type is not None: Index: www/qt5-webengine/files/patch-src_3rdparty_chromium_chrome_common_chrome__paths.cc =================================================================== --- www/qt5-webengine/files/patch-src_3rdparty_chromium_chrome_common_chrome__paths.cc +++ www/qt5-webengine/files/patch-src_3rdparty_chromium_chrome_common_chrome__paths.cc @@ -11,10 +11,10 @@ const base::FilePath::CharType kFilepathSinglePrefExtensions[] = #if BUILDFLAG(GOOGLE_CHROME_BRANDING) - FILE_PATH_LITERAL("/usr/share/google-chrome/extensions"); -+ FILE_PATH_LITERAL("/usr/local/share/google-chrome/extensions"); ++ FILE_PATH_LITERAL("%%LOCALBASE%%/share/google-chrome/extensions"); #else - FILE_PATH_LITERAL("/usr/share/chromium/extensions"); -+ FILE_PATH_LITERAL("/usr/local/share/chromium/extensions"); ++ FILE_PATH_LITERAL("%%LOCALBASE%%/share/chromium/extensions"); #endif // BUILDFLAG(GOOGLE_CHROME_BRANDING) // The path to the hint file that tells the pepper plugin loader @@ -41,7 +41,7 @@ cur = base::FilePath(FILE_PATH_LITERAL("/etc/opt/chrome/policies")); +#elif defined(OS_BSD) + cur = base::FilePath(FILE_PATH_LITERAL( -+ "/usr/local/etc/chrome/policies")); ++ "%%LOCALBASE%%/etc/chrome/policies")); #else cur = base::FilePath(FILE_PATH_LITERAL("/etc/chromium/policies")); #endif @@ -78,7 +78,7 @@ "/etc/opt/chrome/native-messaging-hosts")); +#elif defined(OS_BSD) + cur = base::FilePath(FILE_PATH_LITERAL( -+ "/usr/local/etc/chrome/native-messaging-hosts")); ++ "%%LOCALBASE%%/etc/chrome/native-messaging-hosts")); #else cur = base::FilePath(FILE_PATH_LITERAL( "/etc/chromium/native-messaging-hosts")); Index: www/qt5-webengine/files/patch-src_3rdparty_chromium_chrome_common_features.gni =================================================================== --- www/qt5-webengine/files/patch-src_3rdparty_chromium_chrome_common_features.gni +++ www/qt5-webengine/files/patch-src_3rdparty_chromium_chrome_common_features.gni @@ -1,11 +1,8 @@ ---- src/3rdparty/chromium/chrome/common/features.gni.orig 2019-11-27 21:12:25 UTC +--- src/3rdparty/chromium/chrome/common/features.gni.orig 2020-11-07 01:22:36 UTC +++ src/3rdparty/chromium/chrome/common/features.gni -@@ -41,9 +41,9 @@ declare_args() { - (is_desktop_linux && use_dbus) || is_chromeos - - enable_one_click_signin = -- is_win || is_mac || (is_linux && !is_chromeos && !is_chromecast) -+ is_win || is_mac || is_bsd || (is_linux && !is_chromeos && !is_chromecast) +@@ -55,7 +55,7 @@ declare_args() { + # Enables password change in leaked password dialog, disabled by default. + enable_password_change_in_leaked_dialog = false - enable_service_discovery = (enable_mdns && !is_android) || is_mac + enable_service_discovery = (enable_mdns && !is_android) || is_mac || is_bsd Index: www/qt5-webengine/files/patch-src_3rdparty_chromium_components_crash_content_app_BUILD.gn =================================================================== --- www/qt5-webengine/files/patch-src_3rdparty_chromium_components_crash_content_app_BUILD.gn +++ www/qt5-webengine/files/patch-src_3rdparty_chromium_components_crash_content_app_BUILD.gn @@ -1,52 +0,0 @@ ---- src/3rdparty/chromium/components/crash/content/app/BUILD.gn.orig 2020-03-16 14:04:24 UTC -+++ src/3rdparty/chromium/components/crash/content/app/BUILD.gn -@@ -51,17 +51,20 @@ static_library("app") { - "crashpad_win.cc", - ] - -- if (is_mac || is_win || is_android || is_linux) { -+ if ((is_mac || is_win || is_android || is_linux) && !is_bsd) { - sources += [ "crashpad.cc" ] - } - -- if (is_linux) { -+ if (is_linux && !is_bsd) { - sources += [ - "breakpad_linux.cc", - "breakpad_linux.h", - "breakpad_linux_impl.h", - ] - } -+ if (is_bsd) { -+ sources -= [ "crashpad_linux.cc" ] -+ } - - defines = [ "CRASH_IMPLEMENTATION" ] - -@@ -73,7 +76,7 @@ static_library("app") { - "//build:branding_buildflags", - ] - -- if (is_mac || is_win || is_android || is_linux) { -+ if ((is_mac || is_win || is_android || is_linux) && !is_bsd) { - deps += [ - "//third_party/crashpad/crashpad/client", - "//third_party/crashpad/crashpad/util", -@@ -99,7 +102,7 @@ static_library("app") { - ] - } - -- if (is_linux) { -+ if (is_linux && !is_bsd) { - deps += [ "//third_party/breakpad:client" ] - } - -@@ -130,7 +133,7 @@ static_library("app") { - libs = [ "log" ] - } - -- if (is_linux) { -+ if (is_linux && !is_bsd) { - data_deps = [ - "//third_party/crashpad/crashpad/handler:crashpad_handler", - ] Index: www/qt5-webengine/files/patch-src_3rdparty_chromium_components_crash_content_app_crashpad.cc =================================================================== --- www/qt5-webengine/files/patch-src_3rdparty_chromium_components_crash_content_app_crashpad.cc +++ www/qt5-webengine/files/patch-src_3rdparty_chromium_components_crash_content_app_crashpad.cc @@ -1,43 +0,0 @@ ---- src/3rdparty/chromium/components/crash/content/app/crashpad.cc.orig 2019-05-23 12:39:34 UTC -+++ src/3rdparty/chromium/components/crash/content/app/crashpad.cc -@@ -102,6 +102,12 @@ void InitializeCrashpadImpl(bool initial_client, - const base::FilePath& exe_path, - const std::vector& initial_arguments, - bool embedded_handler) { -+ -+#if defined(OS_BSD) -+ NOTIMPLEMENTED(); -+ return; -+#endif -+ - static bool initialized = false; - DCHECK(!initialized); - initialized = true; -@@ -122,7 +128,7 @@ void InitializeCrashpadImpl(bool initial_client, - DCHECK(browser_process || process_type == "Chrome Installer" || - process_type == "notification-helper" || - process_type == "GCPW Installer" || process_type == "GCPW DLL"); --#elif defined(OS_LINUX) || defined(OS_ANDROID) -+#elif defined(OS_LINUX) || defined(OS_ANDROID) || defined(OS_BSD) - DCHECK(browser_process); - #else - #error Port. -@@ -187,7 +193,7 @@ void InitializeCrashpadImpl(bool initial_client, - // other "main, first process" to initialize things. There is no "relauncher" - // on Windows, so this is synonymous with initial_client. - const bool should_initialize_database_and_set_upload_policy = initial_client; --#elif defined(OS_LINUX) || defined(OS_ANDROID) -+#elif defined(OS_LINUX) || defined(OS_ANDROID) || defined(OS_BSD) - const bool should_initialize_database_and_set_upload_policy = browser_process; - #endif - if (should_initialize_database_and_set_upload_policy) { -@@ -267,7 +273,9 @@ bool GetUploadsEnabled() { - - #if !defined(OS_ANDROID) - void DumpWithoutCrashing() { -+#if !defined(OS_BSD) - CRASHPAD_SIMULATE_CRASH(); -+#endif - } - #endif - Index: www/qt5-webengine/files/patch-src_3rdparty_chromium_components_os__crypt_os__crypt.h =================================================================== --- www/qt5-webengine/files/patch-src_3rdparty_chromium_components_os__crypt_os__crypt.h +++ www/qt5-webengine/files/patch-src_3rdparty_chromium_components_os__crypt_os__crypt.h @@ -1,4 +1,4 @@ ---- src/3rdparty/chromium/components/os_crypt/os_crypt.h.orig 2019-03-01 17:04:22 UTC +--- src/3rdparty/chromium/components/os_crypt/os_crypt.h.orig 2020-11-07 01:22:36 UTC +++ src/3rdparty/chromium/components/os_crypt/os_crypt.h @@ -15,9 +15,9 @@ #include "base/strings/string16.h" @@ -10,7 +10,7 @@ -#endif // defined(OS_LINUX) && !defined(OS_CHROMEOS) +#endif // (defined(OS_LINUX) && !defined(OS_CHROMEOS)) || defined(OS_BSD) - #if defined(OS_MACOSX) && !defined(OS_IOS) + #if defined(OS_WIN) || (defined(OS_MACOSX) && !defined(OS_IOS)) class PrefRegistrySimple; @@ -34,13 +34,13 @@ struct Config; // true for Linux, if a password management tool is available. @@ -29,7 +29,7 @@ // On Linux returns true iff the real secret key (not hardcoded one) is // available. On MacOS returns true if Keychain is available (for mock // Keychain it returns true if not using locked Keychain, false if using -@@ -112,7 +112,7 @@ class OSCrypt { +@@ -131,7 +131,7 @@ class OSCrypt { DISALLOW_IMPLICIT_CONSTRUCTORS(OSCrypt); }; @@ -38,7 +38,7 @@ // For unit testing purposes, inject methods to be used. // |get_key_storage_mock| provides the desired |KeyStorage| implementation. // If the provider returns |nullptr|, a hardcoded password will be used. -@@ -127,6 +127,6 @@ void UseMockKeyStorageForTesting( +@@ -146,6 +146,6 @@ void UseMockKeyStorageForTesting( // Clears any caching and most lazy initialisations performed by the production // code. Should be used after any test which required a password. COMPONENT_EXPORT(OS_CRYPT) void ClearCacheForTesting(); Index: www/qt5-webengine/files/patch-src_3rdparty_chromium_components_safe__browsing_db_v4__rice.cc =================================================================== --- www/qt5-webengine/files/patch-src_3rdparty_chromium_components_safe__browsing_db_v4__rice.cc +++ www/qt5-webengine/files/patch-src_3rdparty_chromium_components_safe__browsing_db_v4__rice.cc @@ -1,39 +0,0 @@ ---- src/3rdparty/chromium/components/safe_browsing/db/v4_rice.cc.orig 2019-05-23 12:39:34 UTC -+++ src/3rdparty/chromium/components/safe_browsing/db/v4_rice.cc -@@ -8,6 +8,7 @@ - #include "base/logging.h" - #include "base/numerics/safe_math.h" - #include "base/strings/stringprintf.h" -+#include "base/sys_byteorder.h" - #include "build/build_config.h" - #include "components/safe_browsing/db/v4_rice.h" - -@@ -21,10 +22,6 @@ using ::google::protobuf::RepeatedField; - using ::google::protobuf::int32; - using ::google::protobuf::int64; - --#if !defined(ARCH_CPU_LITTLE_ENDIAN) || (ARCH_CPU_LITTLE_ENDIAN != 1) --#error The code below assumes little-endianness. --#endif -- - namespace safe_browsing { - - namespace { -@@ -117,7 +114,7 @@ V4DecodeResult V4RiceDecoder::DecodePrefixes(const int - out->reserve((num_entries + 1)); - - base::CheckedNumeric last_value(first_value); -- out->push_back(htonl(last_value.ValueOrDie())); -+ out->push_back(base::ByteSwap(static_cast(last_value.ValueOrDie()))); - - if (num_entries > 0) { - V4RiceDecoder decoder(rice_parameter, num_entries, encoded_data); -@@ -136,7 +133,7 @@ V4DecodeResult V4RiceDecoder::DecodePrefixes(const int - - // This flipping is done so that the decoded uint32 is interpreted - // correcly as a string of 4 bytes. -- out->push_back(htonl(last_value.ValueOrDie())); -+ out->push_back(base::ByteSwap(static_cast(last_value.ValueOrDie()))); - } - } - Index: www/qt5-webengine/files/patch-src_3rdparty_chromium_components_safe__browsing_db_v4__rice__unittest.cc =================================================================== --- www/qt5-webengine/files/patch-src_3rdparty_chromium_components_safe__browsing_db_v4__rice__unittest.cc +++ www/qt5-webengine/files/patch-src_3rdparty_chromium_components_safe__browsing_db_v4__rice__unittest.cc @@ -1,33 +0,0 @@ ---- src/3rdparty/chromium/components/safe_browsing/db/v4_rice_unittest.cc.orig 2019-05-23 12:39:34 UTC -+++ src/3rdparty/chromium/components/safe_browsing/db/v4_rice_unittest.cc -@@ -6,6 +6,12 @@ - #include "base/logging.h" - #include "testing/platform_test.h" - -+#if defined(OS_WIN) -+#include -+#elif defined(OS_POSIX) -+#include -+#endif -+ - using ::google::protobuf::RepeatedField; - using ::google::protobuf::int32; - -@@ -247,7 +253,7 @@ TEST_F(V4RiceTest, TestDecoderPrefixesWithOneValue) { - EXPECT_EQ(DECODE_SUCCESS, - V4RiceDecoder::DecodePrefixes(0x69F67F51u, 2, 0, "", &out)); - EXPECT_EQ(1u, out.size()); -- EXPECT_EQ(0x69F67F51u, out[0]); -+ EXPECT_EQ(htonl(0x517FF669u), out[0]); - } - - TEST_F(V4RiceTest, TestDecoderPrefixesWithMultipleValues) { -@@ -256,7 +262,7 @@ TEST_F(V4RiceTest, TestDecoderPrefixesWithMultipleValu - V4RiceDecoder::DecodePrefixes( - 5, 28, 3, "\xbf\xa8\x3f\xfb\xf\xf\x5e\x27\xe6\xc3\x1d\xc6\x38", - &out)); -- std::vector expected = {5, 0xad934c0cu, 0x6ff67f56u, 0x81316fceu}; -+ std::vector expected = {htonl(0x05000000), htonl(0x0c4c93adu), htonl(0x567ff66fu), htonl(0xce6f3181u)}; - EXPECT_EQ(expected.size(), out.size()); - for (unsigned i = 0; i < expected.size(); i++) { - EXPECT_EQ(expected[i], out[i]); Index: www/qt5-webengine/files/patch-src_3rdparty_chromium_content_browser_BUILD.gn =================================================================== --- www/qt5-webengine/files/patch-src_3rdparty_chromium_content_browser_BUILD.gn +++ www/qt5-webengine/files/patch-src_3rdparty_chromium_content_browser_BUILD.gn @@ -0,0 +1,12 @@ +--- src/3rdparty/chromium/content/browser/BUILD.gn.orig 2020-11-07 01:22:36 UTC ++++ src/3rdparty/chromium/content/browser/BUILD.gn +@@ -2003,6 +2003,9 @@ jumbo_static_library("browser") { + # resources on other platforms. + deps += [ "//content/browser/devtools:devtools_resources" ] + } ++ if (is_bsd) { ++ deps -= [ "//services/service_manager/zygote" ] ++ } + + if (enable_basic_printing) { + deps += [ "//printing" ] Index: www/qt5-webengine/files/patch-src_3rdparty_chromium_content_browser_browser__main__loop.cc =================================================================== --- www/qt5-webengine/files/patch-src_3rdparty_chromium_content_browser_browser__main__loop.cc +++ www/qt5-webengine/files/patch-src_3rdparty_chromium_content_browser_browser__main__loop.cc @@ -1,44 +1,34 @@ ---- src/3rdparty/chromium/content/browser/browser_main_loop.cc.orig 2019-05-23 12:39:34 UTC +--- src/3rdparty/chromium/content/browser/browser_main_loop.cc.orig 2020-11-07 01:22:36 UTC +++ src/3rdparty/chromium/content/browser/browser_main_loop.cc -@@ -255,6 +255,11 @@ +@@ -247,6 +247,13 @@ #include "mojo/public/cpp/bindings/lib/test_random_mojo_delays.h" #endif ++#if defined(OS_BSD) +#include "content/browser/sandbox_host_linux.h" +#include "services/service_manager/zygote/common/common_sandbox_support_linux.h" +#include "content/public/common/common_sandbox_support_linux.h" +#include "services/service_manager/sandbox/sandbox.h" ++#endif + // One of the linux specific headers defines this as a macro. #ifdef DestroyAll #undef DestroyAll -@@ -590,6 +595,11 @@ int BrowserMainLoop::EarlyInitialization() { - // by now since a thread to start the ServiceManager has been created - // before the browser main loop starts. - DCHECK(SandboxHostLinux::GetInstance()->IsInitialized()); -+#elif defined(OS_BSD) -+ SandboxHostLinux::GetInstance()->Init(); -+ base::FileHandleMappingVector fds_to_map; -+ const int sfd = SandboxHostLinux::GetInstance()->GetChildSocket(); -+ fds_to_map.push_back(std::make_pair(sfd, service_manager::GetSandboxFD())); - #endif +@@ -665,7 +672,7 @@ int BrowserMainLoop::EarlyInitialization() { + } + #endif // !defined(OS_MACOSX) - #if defined(USE_X11) && !defined(TOOLKIT_QT) -@@ -634,7 +644,7 @@ int BrowserMainLoop::EarlyInitialization() { - #endif // defined(OS_ANDROID) || defined(OS_CHROMEOS) - - #if defined(OS_MACOSX) || defined(OS_LINUX) || defined(OS_CHROMEOS) || \ -- defined(OS_ANDROID) -+ defined(OS_ANDROID) || defined(OS_BSD) +-#if defined(OS_MACOSX) || defined(OS_LINUX) || defined(OS_CHROMEOS) || \ ++#if defined(OS_MACOSX) || defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD) || \ + defined(OS_ANDROID) // We use quite a few file descriptors for our IPC as well as disk the disk // cache,and the default limit on the Mac is low (256), so bump it up. - -@@ -644,7 +654,7 @@ int BrowserMainLoop::EarlyInitialization() { +@@ -675,7 +682,7 @@ int BrowserMainLoop::EarlyInitialization() { + // users can easily hit this limit with many open tabs. Bump up the limit to // an arbitrarily high number. See https://crbug.com/539567 base::IncreaseFdLimitTo(8192); - #endif // defined(OS_MACOSX) || defined(OS_LINUX) || defined(OS_CHROMEOS) || -- // defined(OS_ANDROID) -+ // defined(OS_ANDROID) || defined(OS_BSD) +-#endif // defined(OS_MACOSX) || defined(OS_LINUX) || defined(OS_CHROMEOS) || ++#endif // defined(OS_MACOSX) || defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_BSD) || + // defined(OS_ANDROID) #if defined(OS_WIN) - net::EnsureWinsockInit(); Index: www/qt5-webengine/files/patch-src_3rdparty_chromium_content_browser_child__process__launcher__helper__linux.cc =================================================================== --- www/qt5-webengine/files/patch-src_3rdparty_chromium_content_browser_child__process__launcher__helper__linux.cc +++ www/qt5-webengine/files/patch-src_3rdparty_chromium_content_browser_child__process__launcher__helper__linux.cc @@ -1,6 +1,6 @@ ---- src/3rdparty/chromium/content/browser/child_process_launcher_helper_linux.cc.orig 2018-11-13 18:25:11 UTC +--- src/3rdparty/chromium/content/browser/child_process_launcher_helper_linux.cc.orig 2020-11-07 01:22:36 UTC +++ src/3rdparty/chromium/content/browser/child_process_launcher_helper_linux.cc -@@ -17,7 +17,9 @@ +@@ -18,7 +18,9 @@ #include "content/public/common/sandboxed_process_launcher_delegate.h" #include "services/service_manager/sandbox/linux/sandbox_linux.h" #include "services/service_manager/zygote/common/common_sandbox_support_linux.h" @@ -10,7 +10,21 @@ #include "services/service_manager/zygote/host/zygote_communication_linux.h" #include "services/service_manager/zygote/host/zygote_host_impl_linux.h" -@@ -69,6 +71,7 @@ ChildProcessLauncherHelper::LaunchProcessOnLauncherThr +@@ -50,11 +52,13 @@ bool ChildProcessLauncherHelper::BeforeLaunchOnLaunche + options->fds_to_remap = files_to_register.GetMappingWithIDAdjustment( + base::GlobalDescriptors::kBaseDescriptor); + ++#if !defined(OS_BSD) + if (GetProcessType() == switches::kRendererProcess) { + const int sandbox_fd = SandboxHostLinux::GetInstance()->GetChildSocket(); + options->fds_to_remap.push_back( + std::make_pair(sandbox_fd, service_manager::GetSandboxFD())); + } ++#endif + + options->environment = delegate_->GetEnvironment(); + +@@ -69,6 +73,7 @@ ChildProcessLauncherHelper::LaunchProcessOnLauncherThr int* launch_result) { *is_synchronous_launch = true; @@ -18,17 +32,17 @@ service_manager::ZygoteHandle zygote_handle = base::CommandLine::ForCurrentProcess()->HasSwitch(switches::kNoZygote) ? nullptr -@@ -82,7 +85,6 @@ ChildProcessLauncherHelper::LaunchProcessOnLauncherThr +@@ -82,7 +87,6 @@ ChildProcessLauncherHelper::LaunchProcessOnLauncherThr GetProcessType()); *launch_result = LAUNCH_RESULT_SUCCESS; -#if !defined(OS_OPENBSD) if (handle) { - // This is just a starting score for a renderer or extension (the - // only types of processes that will be started this way). It will -@@ -93,13 +95,13 @@ ChildProcessLauncherHelper::LaunchProcessOnLauncherThr + // It could be a renderer process or an utility process. + int oom_score = content::kMiscOomScore; +@@ -92,13 +96,13 @@ ChildProcessLauncherHelper::LaunchProcessOnLauncherThr service_manager::ZygoteHostImpl::GetInstance()->AdjustRendererOOMScore( - handle, kLowestRendererOomScore); + handle, oom_score); } -#endif @@ -41,7 +55,7 @@ Process process; process.process = base::LaunchProcess(*command_line(), options); -@@ -117,10 +119,14 @@ ChildProcessTerminationInfo ChildProcessLauncherHelper +@@ -116,10 +120,14 @@ ChildProcessTerminationInfo ChildProcessLauncherHelper const ChildProcessLauncherHelper::Process& process, bool known_dead) { ChildProcessTerminationInfo info; @@ -56,7 +70,7 @@ info.status = base::GetKnownDeadTerminationStatus(process.process.Handle(), &info.exit_code); } else { -@@ -144,13 +150,17 @@ void ChildProcessLauncherHelper::ForceNormalProcessTer +@@ -143,13 +151,17 @@ void ChildProcessLauncherHelper::ForceNormalProcessTer DCHECK(CurrentlyOnProcessLauncherTaskRunner()); process.process.Terminate(service_manager::RESULT_CODE_NORMAL_EXIT, false); // On POSIX, we must additionally reap the child. Index: www/qt5-webengine/files/patch-src_3rdparty_chromium_content_browser_compositor_gpu__process__transport__factory.cc =================================================================== --- www/qt5-webengine/files/patch-src_3rdparty_chromium_content_browser_compositor_gpu__process__transport__factory.cc +++ www/qt5-webengine/files/patch-src_3rdparty_chromium_content_browser_compositor_gpu__process__transport__factory.cc @@ -1,11 +0,0 @@ ---- src/3rdparty/chromium/content/browser/compositor/gpu_process_transport_factory.cc.orig 2020-03-16 14:04:24 UTC -+++ src/3rdparty/chromium/content/browser/compositor/gpu_process_transport_factory.cc -@@ -114,7 +114,7 @@ viz::FrameSinkManagerImpl* GetFrameSinkManager() { - return content::BrowserMainLoop::GetInstance()->GetFrameSinkManager(); - } - --#if defined(OS_LINUX) && !defined(OS_CHROMEOS) -+#if (defined(OS_LINUX) && !defined(OS_CHROMEOS)) || defined(OS_BSD) - class HostDisplayClient : public viz::HostDisplayClient { - public: - explicit HostDisplayClient(ui::Compositor* compositor) Index: www/qt5-webengine/files/patch-src_3rdparty_chromium_content_browser_compositor_software__browser__compositor__output__surface.h =================================================================== --- www/qt5-webengine/files/patch-src_3rdparty_chromium_content_browser_compositor_software__browser__compositor__output__surface.h +++ www/qt5-webengine/files/patch-src_3rdparty_chromium_content_browser_compositor_software__browser__compositor__output__surface.h @@ -1,20 +0,0 @@ ---- src/3rdparty/chromium/content/browser/compositor/software_browser_compositor_output_surface.h.orig 2020-03-16 14:04:24 UTC -+++ src/3rdparty/chromium/content/browser/compositor/software_browser_compositor_output_surface.h -@@ -39,7 +39,7 @@ class CONTENT_EXPORT SoftwareBrowserCompositorOutputSu - gfx::BufferFormat GetOverlayBufferFormat() const override; - uint32_t GetFramebufferCopyTextureFormat() override; - unsigned UpdateGpuFence() override; --#if defined(OS_LINUX) && !defined(OS_CHROMEOS) -+#if (defined(OS_LINUX) && !defined(OS_CHROMEOS)) || defined(OS_BSD) - void SetNeedsSwapSizeNotifications( - bool needs_swap_size_notifications) override; - #endif -@@ -55,7 +55,7 @@ class CONTENT_EXPORT SoftwareBrowserCompositorOutputSu - base::TimeDelta refresh_interval_; - ui::LatencyTracker latency_tracker_; - --#if defined(OS_LINUX) && !defined(OS_CHROMEOS) -+#if (defined(OS_LINUX) && !defined(OS_CHROMEOS)) || defined(OS_BSD) - bool needs_swap_size_notifications_ = false; - #endif - Index: www/qt5-webengine/files/patch-src_3rdparty_chromium_content_browser_compositor_software__browser__compositor__output__surface.cc =================================================================== --- www/qt5-webengine/files/patch-src_3rdparty_chromium_content_browser_compositor_software__browser__compositor__output__surface.cc +++ www/qt5-webengine/files/patch-src_3rdparty_chromium_content_browser_compositor_software__browser__compositor__output__surface.cc @@ -1,20 +0,0 @@ ---- src/3rdparty/chromium/content/browser/compositor/software_browser_compositor_output_surface.cc.orig 2020-03-16 14:04:24 UTC -+++ src/3rdparty/chromium/content/browser/compositor/software_browser_compositor_output_surface.cc -@@ -89,7 +89,7 @@ void SoftwareBrowserCompositorOutputSurface::SwapBuffe - const gfx::Size& pixel_size) { - latency_tracker_.OnGpuSwapBuffersCompleted(latency_info); - client_->DidReceiveSwapBuffersAck({swap_time, swap_time}); --#if defined(OS_LINUX) && !defined(OS_CHROMEOS) -+#if (defined(OS_LINUX) && !defined(OS_CHROMEOS)) || defined(OS_BSD) - if (needs_swap_size_notifications_) - client_->DidSwapWithSize(pixel_size); - #endif -@@ -129,7 +129,7 @@ unsigned SoftwareBrowserCompositorOutputSurface::Updat - return 0; - } - --#if defined(OS_LINUX) && !defined(OS_CHROMEOS) -+#if (defined(OS_LINUX) && !defined(OS_CHROMEOS)) || defined(OS_BSD) - void SoftwareBrowserCompositorOutputSurface::SetNeedsSwapSizeNotifications( - bool needs_swap_size_notifications) { - needs_swap_size_notifications_ = needs_swap_size_notifications; Index: www/qt5-webengine/files/patch-src_3rdparty_chromium_content_browser_compositor_viz__process__transport__factory.cc =================================================================== --- www/qt5-webengine/files/patch-src_3rdparty_chromium_content_browser_compositor_viz__process__transport__factory.cc +++ www/qt5-webengine/files/patch-src_3rdparty_chromium_content_browser_compositor_viz__process__transport__factory.cc @@ -0,0 +1,11 @@ +--- src/3rdparty/chromium/content/browser/compositor/viz_process_transport_factory.cc.orig 2020-11-07 01:22:36 UTC ++++ src/3rdparty/chromium/content/browser/compositor/viz_process_transport_factory.cc +@@ -109,7 +109,7 @@ class HostDisplayClient : public viz::HostDisplayClien + HostDisplayClient& operator=(const HostDisplayClient&) = delete; + + // viz::HostDisplayClient: +-#if defined(OS_LINUX) && !defined(OS_CHROMEOS) ++#if (defined(OS_LINUX) && !defined(OS_CHROMEOS)) || defined(OS_BSD) + void DidCompleteSwapWithNewSize(const gfx::Size& size) override { + compositor_->OnCompleteSwapWithNewSize(size); + } Index: www/qt5-webengine/files/patch-src_3rdparty_chromium_content_browser_media_media__internals.cc =================================================================== --- www/qt5-webengine/files/patch-src_3rdparty_chromium_content_browser_media_media__internals.cc +++ www/qt5-webengine/files/patch-src_3rdparty_chromium_content_browser_media_media__internals.cc @@ -1,11 +1,11 @@ ---- src/3rdparty/chromium/content/browser/media/media_internals.cc.orig 2019-11-27 21:12:25 UTC +--- src/3rdparty/chromium/content/browser/media/media_internals.cc.orig 2020-11-07 01:22:36 UTC +++ src/3rdparty/chromium/content/browser/media/media_internals.cc -@@ -506,7 +506,7 @@ void MediaInternals::UpdateVideoCaptureDeviceCapabilit +@@ -560,7 +560,7 @@ void MediaInternals::UpdateVideoCaptureDeviceCapabilit + device_dict->SetString("id", descriptor.device_id); device_dict->SetString("name", descriptor.GetNameAndModel()); device_dict->Set("formats", std::move(format_list)); - #if defined(OS_WIN) || defined(OS_MACOSX) || defined(OS_LINUX) || \ -- defined(OS_ANDROID) -+ defined(OS_ANDROID) || defined(OS_BSD) +-#if defined(OS_WIN) || defined(OS_MACOSX) || defined(OS_LINUX) || \ ++#if defined(OS_WIN) || defined(OS_MACOSX) || defined(OS_LINUX) || defined(OS_BSD) || \ + defined(OS_ANDROID) device_dict->SetString("captureApi", descriptor.GetCaptureApiTypeString()); #endif - video_capture_capabilities_cached_data_.Append(std::move(device_dict)); Index: www/qt5-webengine/files/patch-src_3rdparty_chromium_content_browser_utility__process__host.cc =================================================================== --- www/qt5-webengine/files/patch-src_3rdparty_chromium_content_browser_utility__process__host.cc +++ www/qt5-webengine/files/patch-src_3rdparty_chromium_content_browser_utility__process__host.cc @@ -1,9 +1,9 @@ ---- src/3rdparty/chromium/content/browser/utility_process_host.cc.orig 2020-04-08 09:41:36 UTC +--- src/3rdparty/chromium/content/browser/utility_process_host.cc.orig 2020-11-07 01:22:36 UTC +++ src/3rdparty/chromium/content/browser/utility_process_host.cc -@@ -209,7 +209,7 @@ UtilityProcessHost::UtilityProcessHost() +@@ -247,7 +247,7 @@ UtilityProcessHost::UtilityProcessHost() UtilityProcessHost::UtilityProcessHost(std::unique_ptr client) - : sandbox_type_(service_manager::SANDBOX_TYPE_UTILITY), + : sandbox_type_(service_manager::SandboxType::kUtility), -#if defined(OS_LINUX) +#if defined(OS_LINUX) || defined(OS_BSD) child_flags_(ChildProcessHost::CHILD_ALLOW_SELF), Index: www/qt5-webengine/files/patch-src_3rdparty_chromium_content_browser_utility__process__host__receiver__bindings.cc =================================================================== --- www/qt5-webengine/files/patch-src_3rdparty_chromium_content_browser_utility__process__host__receiver__bindings.cc +++ www/qt5-webengine/files/patch-src_3rdparty_chromium_content_browser_utility__process__host__receiver__bindings.cc @@ -0,0 +1,20 @@ +--- src/3rdparty/chromium/content/browser/utility_process_host_receiver_bindings.cc.orig 2020-11-07 01:22:36 UTC ++++ src/3rdparty/chromium/content/browser/utility_process_host_receiver_bindings.cc +@@ -8,7 +8,7 @@ + + #include "build/build_config.h" + +-#if defined(OS_LINUX) ++#if defined(OS_LINUX) || defined(OS_BSD) + #include "components/services/font/public/mojom/font_service.mojom.h" // nogncheck + #include "content/browser/font_service.h" // nogncheck + #endif +@@ -17,7 +17,7 @@ namespace content { + + void UtilityProcessHost::BindHostReceiver( + mojo::GenericPendingReceiver receiver) { +-#if defined(OS_LINUX) ++#if defined(OS_LINUX) || defined(OS_BSD) + if (auto font_receiver = receiver.As()) { + ConnectToFontService(std::move(font_receiver)); + return; Index: www/qt5-webengine/files/patch-src_3rdparty_chromium_content_browser_v8__snapshot__files.cc =================================================================== --- www/qt5-webengine/files/patch-src_3rdparty_chromium_content_browser_v8__snapshot__files.cc +++ www/qt5-webengine/files/patch-src_3rdparty_chromium_content_browser_v8__snapshot__files.cc @@ -0,0 +1,11 @@ +--- src/3rdparty/chromium/content/browser/v8_snapshot_files.cc.orig 2020-11-07 01:22:36 UTC ++++ src/3rdparty/chromium/content/browser/v8_snapshot_files.cc +@@ -10,7 +10,7 @@ + namespace content { + + std::map GetV8SnapshotFilesToPreload() { +-#if defined(OS_LINUX) ++#if defined(OS_LINUX) || defined(OS_BSD) + #if defined(USE_V8_CONTEXT_SNAPSHOT) + return {{kV8ContextSnapshotDataDescriptor, + base::FilePath(FILE_PATH_LITERAL("v8_context_snapshot.bin"))}}; Index: www/qt5-webengine/files/patch-src_3rdparty_chromium_content_browser_webui_shared__resources__data__source.cc =================================================================== --- www/qt5-webengine/files/patch-src_3rdparty_chromium_content_browser_webui_shared__resources__data__source.cc +++ www/qt5-webengine/files/patch-src_3rdparty_chromium_content_browser_webui_shared__resources__data__source.cc @@ -1,9 +1,9 @@ ---- src/3rdparty/chromium/content/browser/webui/shared_resources_data_source.cc.orig 2019-11-27 21:12:25 UTC +--- src/3rdparty/chromium/content/browser/webui/shared_resources_data_source.cc.orig 2020-11-07 01:22:36 UTC +++ src/3rdparty/chromium/content/browser/webui/shared_resources_data_source.cc -@@ -120,12 +120,12 @@ const std::map CreateMojoResourceIdT - "mojo/mojo/public/mojom/base/string16.mojom.html"}, - {IDR_MOJO_STRING16_MOJOM_LITE_JS, - "mojo/mojo/public/mojom/base/string16.mojom-lite.js"}, +@@ -131,12 +131,12 @@ const std::map CreateMojoResourceIdT + "mojo/mojo/public/mojom/base/text_direction.mojom.html"}, + {IDR_MOJO_TEXT_DIRECTION_MOJOM_LITE_JS, + "mojo/mojo/public/mojom/base/text_direction.mojom-lite.js"}, -#if defined(OS_WIN) || defined(OS_MACOSX) || defined(OS_LINUX) +#if defined(OS_WIN) || defined(OS_MACOSX) || defined(OS_LINUX) || defined(OS_BSD) {IDR_MOJO_TIME_MOJOM_HTML, Index: www/qt5-webengine/files/patch-src_3rdparty_chromium_content_child_BUILD.gn =================================================================== --- www/qt5-webengine/files/patch-src_3rdparty_chromium_content_child_BUILD.gn +++ www/qt5-webengine/files/patch-src_3rdparty_chromium_content_child_BUILD.gn @@ -0,0 +1,16 @@ +--- src/3rdparty/chromium/content/child/BUILD.gn.orig 2020-11-07 01:22:36 UTC ++++ src/3rdparty/chromium/content/child/BUILD.gn +@@ -147,8 +147,12 @@ target(link_target_type, "child") { + deps += [ + "//components/services/font/public/cpp", + "//components/services/font/public/mojom", +- "//services/service_manager/zygote", + ] ++ if (!is_bsd) { ++ deps += [ ++ "//services/service_manager/zygote", ++ ] ++ } + } + + if (is_win) { Index: www/qt5-webengine/files/patch-src_3rdparty_chromium_content_gpu_BUILD.gn =================================================================== --- www/qt5-webengine/files/patch-src_3rdparty_chromium_content_gpu_BUILD.gn +++ www/qt5-webengine/files/patch-src_3rdparty_chromium_content_gpu_BUILD.gn @@ -1,5 +1,14 @@ ---- src/3rdparty/chromium/content/gpu/BUILD.gn.orig 2018-11-13 18:25:11 UTC +--- src/3rdparty/chromium/content/gpu/BUILD.gn.orig 2020-11-07 01:22:36 UTC +++ src/3rdparty/chromium/content/gpu/BUILD.gn +@@ -96,7 +96,7 @@ target(link_target_type, "gpu_sources") { + ] + } + +- if (is_linux) { ++ if (is_linux && !is_bsd) { + deps += [ "//services/service_manager/zygote" ] + } + @@ -130,7 +130,7 @@ target(link_target_type, "gpu_sources") { # Use DRI on desktop Linux builds. Index: www/qt5-webengine/files/patch-src_3rdparty_chromium_content_public_app_content__main__delegate.h =================================================================== --- www/qt5-webengine/files/patch-src_3rdparty_chromium_content_public_app_content__main__delegate.h +++ www/qt5-webengine/files/patch-src_3rdparty_chromium_content_public_app_content__main__delegate.h @@ -1,20 +1,20 @@ ---- src/3rdparty/chromium/content/public/app/content_main_delegate.h.orig 2019-11-27 21:12:25 UTC +--- src/3rdparty/chromium/content/public/app/content_main_delegate.h.orig 2020-11-07 01:22:36 UTC +++ src/3rdparty/chromium/content/public/app/content_main_delegate.h -@@ -71,7 +71,7 @@ class CONTENT_EXPORT ContentMainDelegate { - // want it at all. - virtual bool DelaySandboxInitialization(const std::string& process_type); +@@ -60,7 +60,7 @@ class CONTENT_EXPORT ContentMainDelegate { + // Called right before the process exits. + virtual void ProcessExiting(const std::string& process_type) {} --#elif defined(OS_LINUX) -+#elif defined(OS_LINUX) || defined(OS_BSD) +-#if defined(OS_LINUX) ++#if defined(OS_LINUX) || defined(OS_BSD) // Tells the embedder that the zygote process is starting, and allows it to // specify one or more zygote delegates if it wishes by storing them in // |*delegates|. -@@ -81,7 +81,7 @@ class CONTENT_EXPORT ContentMainDelegate { +@@ -70,7 +70,7 @@ class CONTENT_EXPORT ContentMainDelegate { // Called every time the zygote process forks. virtual void ZygoteForked() {} -#endif // defined(OS_LINUX) +#endif // defined(OS_LINUX) || defined(OS_BSD) - // Allows the embedder to prevent locking the scheme registry. The scheme - // registry is the list of URL schemes we recognize, with some additional + // Fatal errors during initialization are reported by this function, so that + // the embedder can implement graceful exit by displaying some message and Index: www/qt5-webengine/files/patch-src_3rdparty_chromium_content_public_app_content__main__delegate.cc =================================================================== --- www/qt5-webengine/files/patch-src_3rdparty_chromium_content_public_app_content__main__delegate.cc +++ www/qt5-webengine/files/patch-src_3rdparty_chromium_content_public_app_content__main__delegate.cc @@ -1,11 +1,11 @@ ---- src/3rdparty/chromium/content/public/app/content_main_delegate.cc.orig 2019-11-27 21:12:25 UTC +--- src/3rdparty/chromium/content/public/app/content_main_delegate.cc.orig 2020-11-07 01:22:36 UTC +++ src/3rdparty/chromium/content/public/app/content_main_delegate.cc -@@ -38,13 +38,13 @@ bool ContentMainDelegate::DelaySandboxInitialization( - return false; +@@ -27,13 +27,13 @@ int ContentMainDelegate::RunProcess( + return -1; } --#elif defined(OS_LINUX) -+#elif defined(OS_LINUX) || defined(OS_BSD) +-#if defined(OS_LINUX) ++#if defined(OS_LINUX) || defined(OS_BSD) void ContentMainDelegate::ZygoteStarting( std::vector>* Index: www/qt5-webengine/files/patch-src_3rdparty_chromium_content_public_common_BUILD.gn =================================================================== --- www/qt5-webengine/files/patch-src_3rdparty_chromium_content_public_common_BUILD.gn +++ www/qt5-webengine/files/patch-src_3rdparty_chromium_content_public_common_BUILD.gn @@ -0,0 +1,11 @@ +--- src/3rdparty/chromium/content/public/common/BUILD.gn.orig 2020-11-07 01:22:36 UTC ++++ src/3rdparty/chromium/content/public/common/BUILD.gn +@@ -254,7 +254,7 @@ jumbo_source_set("common_sources") { + deps += [ "//content/public/android:jni" ] + } + +- if (is_linux) { ++ if (is_linux && !is_bsd) { + deps += [ "//services/service_manager/zygote" ] + } + Index: www/qt5-webengine/files/patch-src_3rdparty_chromium_content_public_common_content__constants.h =================================================================== --- www/qt5-webengine/files/patch-src_3rdparty_chromium_content_public_common_content__constants.h +++ www/qt5-webengine/files/patch-src_3rdparty_chromium_content_public_common_content__constants.h @@ -0,0 +1,11 @@ +--- src/3rdparty/chromium/content/public/common/content_constants.h.orig 2020-11-07 01:22:36 UTC ++++ src/3rdparty/chromium/content/public/common/content_constants.h +@@ -65,7 +65,7 @@ CONTENT_EXPORT extern const int kDefaultDetachableCanc + CONTENT_EXPORT extern const char kCorsExemptPurposeHeaderName[]; + CONTENT_EXPORT extern const char kCorsExemptRequestedWithHeaderName[]; + +-#if defined(OS_LINUX) ++#if defined(OS_LINUX) || defined(OS_BSD) + // The OOM score adj constants + // The highest and lowest assigned OOM score adjustment (oom_score_adj) for + // renderers and extensions used by the OomPriority Manager. Index: www/qt5-webengine/files/patch-src_3rdparty_chromium_content_public_common_content__constants.cc =================================================================== --- www/qt5-webengine/files/patch-src_3rdparty_chromium_content_public_common_content__constants.cc +++ www/qt5-webengine/files/patch-src_3rdparty_chromium_content_public_common_content__constants.cc @@ -0,0 +1,11 @@ +--- src/3rdparty/chromium/content/public/common/content_constants.cc.orig 2020-11-07 01:22:36 UTC ++++ src/3rdparty/chromium/content/public/common/content_constants.cc +@@ -46,7 +46,7 @@ const int kDefaultDetachableCancelDelayMs = 30000; + const char kCorsExemptPurposeHeaderName[] = "Purpose"; + const char kCorsExemptRequestedWithHeaderName[] = "X-Requested-With"; + +-#if defined(OS_LINUX) ++#if defined(OS_LINUX) || defined(OS_BSD) + const int kLowestRendererOomScore = 300; + const int kHighestRendererOomScore = 1000; + Index: www/qt5-webengine/files/patch-src_3rdparty_chromium_content_renderer_BUILD.gn =================================================================== --- www/qt5-webengine/files/patch-src_3rdparty_chromium_content_renderer_BUILD.gn +++ www/qt5-webengine/files/patch-src_3rdparty_chromium_content_renderer_BUILD.gn @@ -0,0 +1,18 @@ +--- src/3rdparty/chromium/content/renderer/BUILD.gn.orig 2020-11-07 01:22:36 UTC ++++ src/3rdparty/chromium/content/renderer/BUILD.gn +@@ -462,10 +462,11 @@ target(link_target_type, "renderer") { + } + + if (is_linux) { +- deps += [ +- "//components/services/font/public/cpp", +- "//services/service_manager/zygote", +- ] ++ deps += [ "//components/services/font/public/cpp" ] ++ ++ if (!is_bsd) { ++ deps += [ "//services/service_manager/zygote" ] ++ } + } + + if (is_mac) { Index: www/qt5-webengine/files/patch-src_3rdparty_chromium_content_renderer_media_audio_audio__device__factory.cc =================================================================== --- www/qt5-webengine/files/patch-src_3rdparty_chromium_content_renderer_media_audio_audio__device__factory.cc +++ www/qt5-webengine/files/patch-src_3rdparty_chromium_content_renderer_media_audio_audio__device__factory.cc @@ -1,11 +1,11 @@ ---- src/3rdparty/chromium/content/renderer/media/audio/audio_device_factory.cc.orig 2019-05-23 12:39:34 UTC +--- src/3rdparty/chromium/content/renderer/media/audio/audio_device_factory.cc.orig 2020-11-07 01:22:36 UTC +++ src/3rdparty/chromium/content/renderer/media/audio/audio_device_factory.cc -@@ -33,7 +33,7 @@ AudioDeviceFactory* AudioDeviceFactory::factory_ = nul - +@@ -36,7 +36,7 @@ AudioDeviceFactory* AudioDeviceFactory::factory_ = nul namespace { --#if defined(OS_WIN) || defined(OS_MACOSX) || \ -+#if defined(OS_WIN) || defined(OS_MACOSX) || defined(OS_BSD) || \ - (defined(OS_LINUX) && !defined(OS_CHROMEOS)) + #if defined(OS_WIN) || defined(OS_MACOSX) || \ +- (defined(OS_LINUX) && !defined(OS_CHROMEOS)) ++ (defined(OS_LINUX) && !defined(OS_CHROMEOS)) || defined(OS_BSD) // Due to driver deadlock issues on Windows (http://crbug/422522) there is a // chance device authorization response is never received from the browser side. + // In this case we will time out, to avoid renderer hang forever waiting for Index: www/qt5-webengine/files/patch-src_3rdparty_chromium_content_renderer_render__thread__impl.cc =================================================================== --- www/qt5-webengine/files/patch-src_3rdparty_chromium_content_renderer_render__thread__impl.cc +++ www/qt5-webengine/files/patch-src_3rdparty_chromium_content_renderer_render__thread__impl.cc @@ -1,6 +1,6 @@ ---- src/3rdparty/chromium/content/renderer/render_thread_impl.cc.orig 2020-03-16 14:04:24 UTC +--- src/3rdparty/chromium/content/renderer/render_thread_impl.cc.orig 2020-11-07 01:22:36 UTC +++ src/3rdparty/chromium/content/renderer/render_thread_impl.cc -@@ -188,12 +188,21 @@ +@@ -176,12 +176,21 @@ #include "mojo/public/cpp/bindings/message_dumper.h" #endif @@ -22,7 +22,7 @@ using base::ThreadRestrictions; using blink::WebDocument; using blink::WebFrame; -@@ -927,7 +936,7 @@ void RenderThreadImpl::Init() { +@@ -739,7 +748,7 @@ void RenderThreadImpl::Init() { DCHECK(parsed_num_raster_threads) << string_value; DCHECK_GT(num_raster_threads, 0); @@ -31,16 +31,16 @@ categorized_worker_pool_->SetBackgroundingCallback( main_thread_scheduler_->DefaultTaskRunner(), base::BindOnce( -@@ -957,7 +966,7 @@ void RenderThreadImpl::Init() { +@@ -762,7 +771,7 @@ void RenderThreadImpl::Init() { base::DiscardableMemoryAllocator::SetInstance( - discardable_shared_memory_manager_.get()); + discardable_memory_allocator_.get()); -#if defined(OS_LINUX) +#if defined(OS_LINUX) || defined(OS_BSD) if (base::FeatureList::IsEnabled( blink::features::kBlinkCompositorUseDisplayThreadPriority)) { render_message_filter()->SetThreadPriority( -@@ -1333,7 +1342,7 @@ media::GpuVideoAcceleratorFactories* RenderThreadImpl: +@@ -1148,7 +1157,7 @@ media::GpuVideoAcceleratorFactories* RenderThreadImpl: !cmd_line->HasSwitch(switches::kDisableGpuMemoryBufferVideoFrames); #else cmd_line->HasSwitch(switches::kEnableGpuMemoryBufferVideoFrames); Index: www/qt5-webengine/files/patch-src_3rdparty_chromium_content_shell_BUILD.gn =================================================================== --- www/qt5-webengine/files/patch-src_3rdparty_chromium_content_shell_BUILD.gn +++ www/qt5-webengine/files/patch-src_3rdparty_chromium_content_shell_BUILD.gn @@ -1,6 +1,29 @@ ---- src/3rdparty/chromium/content/shell/BUILD.gn.orig 2019-11-27 21:12:25 UTC +--- src/3rdparty/chromium/content/shell/BUILD.gn.orig 2020-11-07 01:22:36 UTC +++ src/3rdparty/chromium/content/shell/BUILD.gn -@@ -980,7 +980,7 @@ group("content_shell_crash_test") { +@@ -90,7 +90,7 @@ static_library("content_shell_app") { + "//content/public/app:both", + "//v8", + ] +- if (!is_fuchsia) { ++ if (!is_fuchsia && !is_bsd) { + deps += [ + "//components/crash/core/app", + "//components/crash/core/app:test_support", +@@ -366,6 +366,13 @@ static_library("content_shell_lib") { + ] + deps += [ "//third_party/fuchsia-sdk/sdk/fidl/fuchsia.ui.policy" ] + } ++ if (is_bsd) { ++ deps -= [ ++ "//components/crash/content/browser", ++ "//components/crash/core/app", ++ "//components/crash/core/app:test_support", ++ ] ++ } + + # Annoyingly, this target and web_test_support have circular includes. + allow_circular_includes_from = [ "//content/test:web_test_support" ] +@@ -959,7 +966,7 @@ group("content_shell_crash_test") { if (is_win) { data_deps += [ "//build/win:copy_cdb_to_output" ] } Index: www/qt5-webengine/files/patch-src_3rdparty_chromium_content_utility_BUILD.gn =================================================================== --- www/qt5-webengine/files/patch-src_3rdparty_chromium_content_utility_BUILD.gn +++ www/qt5-webengine/files/patch-src_3rdparty_chromium_content_utility_BUILD.gn @@ -0,0 +1,11 @@ +--- src/3rdparty/chromium/content/utility/BUILD.gn.orig 2020-11-07 01:22:36 UTC ++++ src/3rdparty/chromium/content/utility/BUILD.gn +@@ -82,7 +82,7 @@ jumbo_source_set("utility") { + deps += [ "//services/proxy_resolver:lib" ] + } + +- if (is_linux && !use_qt) { ++ if (is_linux && !use_qt && !is_bsd) { + deps += [ "//content/utility/soda:soda_sandbox_hook" ] + } + Index: www/qt5-webengine/files/patch-src_3rdparty_chromium_device_bluetooth_BUILD.gn =================================================================== --- www/qt5-webengine/files/patch-src_3rdparty_chromium_device_bluetooth_BUILD.gn +++ www/qt5-webengine/files/patch-src_3rdparty_chromium_device_bluetooth_BUILD.gn @@ -1,11 +1,11 @@ ---- src/3rdparty/chromium/device/bluetooth/BUILD.gn.orig 2018-11-13 18:25:11 UTC +--- src/3rdparty/chromium/device/bluetooth/BUILD.gn.orig 2020-11-07 01:22:36 UTC +++ src/3rdparty/chromium/device/bluetooth/BUILD.gn -@@ -266,7 +266,7 @@ component("bluetooth") { +@@ -275,7 +275,7 @@ component("bluetooth") { ] } - if (is_chromeos || is_linux) { -+ if (is_chromeos || (is_linux && !is_bsd)) { ++ if (is_chromeos || is_linux && !is_bsd) { if (use_dbus && is_chromeos) { # This crap uses ChromeOS specific system API sources += [ Index: www/qt5-webengine/files/patch-src_3rdparty_chromium_gpu_command__buffer_common_gpu__memory__buffer__support.cc =================================================================== --- www/qt5-webengine/files/patch-src_3rdparty_chromium_gpu_command__buffer_common_gpu__memory__buffer__support.cc +++ www/qt5-webengine/files/patch-src_3rdparty_chromium_gpu_command__buffer_common_gpu__memory__buffer__support.cc @@ -1,11 +1,20 @@ ---- src/3rdparty/chromium/gpu/command_buffer/common/gpu_memory_buffer_support.cc.orig 2019-05-23 12:39:34 UTC +--- src/3rdparty/chromium/gpu/command_buffer/common/gpu_memory_buffer_support.cc.orig 2020-11-07 01:22:36 UTC +++ src/3rdparty/chromium/gpu/command_buffer/common/gpu_memory_buffer_support.cc -@@ -89,7 +89,7 @@ bool IsImageSizeValidForGpuMemoryBufferFormat(const gf +@@ -54,7 +54,7 @@ bool IsImageSizeValidForGpuMemoryBufferFormat(const gf uint32_t GetPlatformSpecificTextureTarget() { #if defined(OS_MACOSX) - return GL_TEXTURE_RECTANGLE_ARB; + return macos_specific_texture_target; -#elif defined(OS_ANDROID) || defined(OS_LINUX) +#elif defined(OS_ANDROID) || defined(OS_LINUX) || defined(OS_BSD) return GL_TEXTURE_EXTERNAL_OES; - #elif defined(OS_WIN) + #elif defined(OS_WIN) || defined(OS_FUCHSIA) return GL_TEXTURE_2D; +@@ -84,7 +84,7 @@ GPU_EXPORT uint32_t GetBufferTextureTarget(gfx::Buffer + + GPU_EXPORT bool NativeBufferNeedsPlatformSpecificTextureTarget( + gfx::BufferFormat format) { +-#if defined(USE_OZONE) || defined(OS_LINUX) ++#if defined(USE_OZONE) || defined(OS_LINUX) || defined(OS_BSD) + // Always use GL_TEXTURE_2D as the target for RGB textures. + // https://crbug.com/916728 + if (format == gfx::BufferFormat::R_8 || format == gfx::BufferFormat::RG_88 || Index: www/qt5-webengine/files/patch-src_3rdparty_chromium_gpu_command__buffer_service_external__vk__image__backing.h =================================================================== --- www/qt5-webengine/files/patch-src_3rdparty_chromium_gpu_command__buffer_service_external__vk__image__backing.h +++ www/qt5-webengine/files/patch-src_3rdparty_chromium_gpu_command__buffer_service_external__vk__image__backing.h @@ -1,11 +1,11 @@ ---- src/3rdparty/chromium/gpu/command_buffer/service/external_vk_image_backing.h.orig 2020-03-16 14:04:24 UTC +--- src/3rdparty/chromium/gpu/command_buffer/service/external_vk_image_backing.h.orig 2020-11-07 01:22:36 UTC +++ src/3rdparty/chromium/gpu/command_buffer/service/external_vk_image_backing.h -@@ -131,7 +131,7 @@ class ExternalVkImageBacking final : public SharedImag - base::Optional dawn_format, - base::Optional memory_type_index); +@@ -151,7 +151,7 @@ class ExternalVkImageBacking final : public ClearTrack --#ifdef OS_LINUX -+#if defined(OS_LINUX) || defined(OS_BSD) + private: + +-#if defined(OS_LINUX) || defined(OS_ANDROID) ++#if defined(OS_LINUX) || defined(OS_ANDROID) || defined(OS_BSD) // Extract file descriptor from image int GetMemoryFd(const GrVkImageInfo& image_info); #endif Index: www/qt5-webengine/files/patch-src_3rdparty_chromium_gpu_command__buffer_service_external__vk__image__backing.cc =================================================================== --- www/qt5-webengine/files/patch-src_3rdparty_chromium_gpu_command__buffer_service_external__vk__image__backing.cc +++ www/qt5-webengine/files/patch-src_3rdparty_chromium_gpu_command__buffer_service_external__vk__image__backing.cc @@ -1,6 +1,6 @@ ---- src/3rdparty/chromium/gpu/command_buffer/service/external_vk_image_backing.cc.orig 2020-04-08 09:41:36 UTC +--- src/3rdparty/chromium/gpu/command_buffer/service/external_vk_image_backing.cc.orig 2020-11-07 01:22:36 UTC +++ src/3rdparty/chromium/gpu/command_buffer/service/external_vk_image_backing.cc -@@ -26,7 +26,7 @@ +@@ -29,7 +29,7 @@ #include "ui/gl/buildflags.h" #include "ui/gl/gl_context.h" @@ -9,65 +9,74 @@ #include "gpu/command_buffer/service/external_vk_image_dawn_representation.h" #endif -@@ -34,7 +34,7 @@ +@@ -37,7 +37,7 @@ #include "gpu/vulkan/fuchsia/vulkan_fuchsia_ext.h" #endif --#if defined(OS_LINUX) -+#if defined(OS_LINUX) || defined(OS_BSD) - #define GL_HANDLE_TYPE_OPAQUE_FD_EXT 0x9586 - #endif - -@@ -537,7 +537,7 @@ std::unique_ptr +-#if defined(OS_LINUX) || defined(OS_ANDROID) || defined(OS_FUCHSIA) ++#if defined(OS_LINUX) || defined(OS_ANDROID) || defined(OS_FUCHSIA) || defined(OS_BSD) + #define GL_DEDICATED_MEMORY_OBJECT_EXT 0x9581 + #define GL_TEXTURE_TILING_EXT 0x9580 + #define GL_TILING_TYPES_EXT 0x9583 +@@ -510,7 +510,7 @@ std::unique_ptr ExternalVkImageBacking::ProduceDawn(SharedImageManager* manager, MemoryTypeTracker* tracker, WGPUDevice wgpuDevice) { -#if defined(OS_LINUX) && BUILDFLAG(USE_DAWN) +#if (defined(OS_LINUX) || defined(OS_BSD)) && BUILDFLAG(USE_DAWN) - if (!wgpu_format_) { - DLOG(ERROR) << "Format not supported for Dawn"; - return nullptr; -@@ -560,14 +560,14 @@ ExternalVkImageBacking::ProduceDawn(SharedImageManager + auto wgpu_format = viz::ToWGPUFormat(format()); + + if (wgpu_format == WGPUTextureFormat_Undefined) { +@@ -529,14 +529,14 @@ ExternalVkImageBacking::ProduceDawn(SharedImageManager + return std::make_unique( - manager, this, tracker, wgpuDevice, wgpu_format_.value(), memory_fd, - image_info.fAlloc.fSize, memory_type_index_.value()); + manager, this, tracker, wgpuDevice, wgpu_format, std::move(memory_fd)); -#else // !defined(OS_LINUX) || !BUILDFLAG(USE_DAWN) -+#else // !defined(OS_LINUX) || !defined(OS_BSD) || !BUILDFLAG(USE_DAWN) ++#else // (!defined(OS_LINUX) && !defined(OS_BSD)) || !BUILDFLAG(USE_DAWN) NOTIMPLEMENTED_LOG_ONCE(); return nullptr; #endif } GLuint ExternalVkImageBacking::ProduceGLTextureInternal() { --#if defined(OS_LINUX) -+#if defined(OS_LINUX) || defined(OS_BSD) +-#if defined(OS_LINUX) || defined(OS_ANDROID) || defined(OS_FUCHSIA) || \ ++#if defined(OS_LINUX) || defined(OS_ANDROID) || defined(OS_FUCHSIA) || defined(OS_BSD) || \ + defined(OS_WIN) GrVkImageInfo image_info; bool result = backend_texture_.getVkImageInfo(&image_info); - DCHECK(result); -@@ -631,7 +631,7 @@ ExternalVkImageBacking::ProduceGLTexture(SharedImageMa +@@ -545,7 +545,7 @@ GLuint ExternalVkImageBacking::ProduceGLTextureInterna + gl::GLApi* api = gl::g_current_gl_context; + GLuint memory_object = 0; + if (!use_separate_gl_texture()) { +-#if defined(OS_LINUX) || defined(OS_ANDROID) ++#if defined(OS_LINUX) || defined(OS_ANDROID) || defined(OS_BSD) + auto memory_fd = image_->GetMemoryFd(); + if (!memory_fd.is_valid()) { + return 0; +@@ -608,7 +608,7 @@ GLuint ExternalVkImageBacking::ProduceGLTextureInterna + } + api->glBindTextureFn(GL_TEXTURE_2D, old_texture_binding); + return texture_service_id; +-#else // !defined(OS_LINUX) && !defined(OS_ANDROID) && !defined(OS_FUCHSIA) ++#else // !defined(OS_LINUX) && !defined(OS_ANDROID) && !defined(OS_FUCHSIA) && !defined(OS_BSD) + #error Unsupported OS + #endif + } +@@ -622,7 +622,7 @@ ExternalVkImageBacking::ProduceGLTexture(SharedImageMa return nullptr; } --#if defined(OS_LINUX) -+#if defined(OS_LINUX) || defined(OS_BSD) +-#if defined(OS_LINUX) || defined(OS_ANDROID) || defined(OS_FUCHSIA) || \ ++#if defined(OS_LINUX) || defined(OS_ANDROID) || defined(OS_FUCHSIA) || defined(OS_BSD) || \ + defined(OS_WIN) if (!texture_) { GLuint texture_service_id = ProduceGLTextureInternal(); - if (!texture_service_id) -@@ -677,7 +677,7 @@ ExternalVkImageBacking::ProduceGLTexturePassthrough( +@@ -666,7 +666,7 @@ ExternalVkImageBacking::ProduceGLTexturePassthrough( return nullptr; } --#if defined(OS_LINUX) -+#if defined(OS_LINUX) || defined(OS_BSD) +-#if defined(OS_LINUX) || defined(OS_ANDROID) || defined(OS_FUCHSIA) || \ ++#if defined(OS_LINUX) || defined(OS_ANDROID) || defined(OS_FUCHSIA) || defined(OS_BSD) || \ + defined(OS_WIN) if (!texture_passthrough_) { GLuint texture_service_id = ProduceGLTextureInternal(); - if (!texture_service_id) -@@ -715,7 +715,7 @@ ExternalVkImageBacking::ProduceSkia( - tracker); - } - --#ifdef OS_LINUX -+#if defined(OS_LINUX) || defined(OS_BSD) - int ExternalVkImageBacking::GetMemoryFd(const GrVkImageInfo& image_info) { - VkMemoryGetFdInfoKHR get_fd_info; - get_fd_info.sType = VK_STRUCTURE_TYPE_MEMORY_GET_FD_INFO_KHR; Index: www/qt5-webengine/files/patch-src_3rdparty_chromium_gpu_command__buffer_service_external__vk__image__gl__representation.cc =================================================================== --- www/qt5-webengine/files/patch-src_3rdparty_chromium_gpu_command__buffer_service_external__vk__image__gl__representation.cc +++ www/qt5-webengine/files/patch-src_3rdparty_chromium_gpu_command__buffer_service_external__vk__image__gl__representation.cc @@ -1,20 +1,11 @@ ---- src/3rdparty/chromium/gpu/command_buffer/service/external_vk_image_gl_representation.cc.orig 2019-11-27 21:12:25 UTC +--- src/3rdparty/chromium/gpu/command_buffer/service/external_vk_image_gl_representation.cc.orig 2020-11-07 01:22:36 UTC +++ src/3rdparty/chromium/gpu/command_buffer/service/external_vk_image_gl_representation.cc -@@ -183,7 +183,7 @@ GLuint ExternalVkImageGlRepresentation::ImportVkSemaph - #if defined(OS_FUCHSIA) - NOTIMPLEMENTED_LOG_ONCE(); - return 0; --#elif defined(OS_LINUX) -+#elif defined(OS_LINUX) || defined(OS_BSD) +@@ -188,7 +188,7 @@ GLuint ExternalVkImageGLRepresentationShared::ImportVk + SemaphoreHandle handle) { + if (!handle.is_valid()) + return 0; +-#if defined(OS_LINUX) || defined(OS_ANDROID) ++#if defined(OS_LINUX) || defined(OS_ANDROID) || defined(OS_BSD) if (handle.vk_handle_type() != VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_OPAQUE_FD_BIT) { DLOG(ERROR) << "Importing semaphore handle of unexpected type:" -@@ -198,7 +198,7 @@ GLuint ExternalVkImageGlRepresentation::ImportVkSemaph - fd.release()); - - return gl_semaphore; --#else // !defined(OS_FUCHSIA) && !defined(OS_LINUX) -+#else // !defined(OS_FUCHSIA) && !defined(OS_LINUX) && !defined(OS_BSD) - #error Unsupported OS - #endif - } Index: www/qt5-webengine/files/patch-src_3rdparty_chromium_gpu_ipc_common_gpu__memory__buffer__support.cc =================================================================== --- www/qt5-webengine/files/patch-src_3rdparty_chromium_gpu_ipc_common_gpu__memory__buffer__support.cc +++ www/qt5-webengine/files/patch-src_3rdparty_chromium_gpu_ipc_common_gpu__memory__buffer__support.cc @@ -1,6 +1,6 @@ ---- src/3rdparty/chromium/gpu/ipc/common/gpu_memory_buffer_support.cc.orig 2020-03-16 14:04:24 UTC +--- src/3rdparty/chromium/gpu/ipc/common/gpu_memory_buffer_support.cc.orig 2020-11-07 01:22:36 UTC +++ src/3rdparty/chromium/gpu/ipc/common/gpu_memory_buffer_support.cc -@@ -12,7 +12,7 @@ +@@ -14,7 +14,7 @@ #include "gpu/ipc/common/gpu_memory_buffer_impl_io_surface.h" #endif @@ -9,7 +9,7 @@ #include "ui/gfx/client_native_pixmap_factory.h" #include "ui/gfx/linux/client_native_pixmap_factory_dmabuf.h" #endif -@@ -22,7 +22,7 @@ +@@ -24,7 +24,7 @@ #include "ui/ozone/public/ozone_platform.h" #endif @@ -18,16 +18,7 @@ #include "gpu/ipc/common/gpu_memory_buffer_impl_native_pixmap.h" #endif -@@ -112,7 +112,7 @@ bool GpuMemoryBufferSupport::IsNativeGpuMemoryBufferCo - #elif defined(USE_OZONE) - return ui::OzonePlatform::GetInstance()->IsNativePixmapConfigSupported(format, - usage); --#elif defined(OS_LINUX) -+#elif defined(OS_LINUX) || defined(OS_BSD) - return false; // TODO(julian.isorce): Add linux support. - #elif defined(OS_WIN) - switch (usage) { -@@ -168,7 +168,7 @@ GpuMemoryBufferSupport::CreateGpuMemoryBufferImplFromH +@@ -181,7 +181,7 @@ GpuMemoryBufferSupport::CreateGpuMemoryBufferImplFromH return GpuMemoryBufferImplIOSurface::CreateFromHandle( std::move(handle), size, format, usage, std::move(callback)); #endif Index: www/qt5-webengine/files/patch-src_3rdparty_chromium_gpu_ipc_service_gpu__init.cc =================================================================== --- www/qt5-webengine/files/patch-src_3rdparty_chromium_gpu_ipc_service_gpu__init.cc +++ www/qt5-webengine/files/patch-src_3rdparty_chromium_gpu_ipc_service_gpu__init.cc @@ -1,42 +1,51 @@ ---- src/3rdparty/chromium/gpu/ipc/service/gpu_init.cc.orig 2020-03-16 14:04:24 UTC +--- src/3rdparty/chromium/gpu/ipc/service/gpu_init.cc.orig 2020-11-07 01:22:36 UTC +++ src/3rdparty/chromium/gpu/ipc/service/gpu_init.cc -@@ -109,7 +109,7 @@ void InitializePlatformOverlaySettings(GPUInfo* gpu_in +@@ -92,7 +92,7 @@ void InitializePlatformOverlaySettings(GPUInfo* gpu_in #endif } --#if defined(OS_LINUX) && !defined(OS_CHROMEOS) && !defined(IS_CHROMECAST) -+#if (defined(OS_LINUX) && !defined(OS_CHROMEOS) && !defined(IS_CHROMECAST)) || defined(OS_BSD) +-#if defined(OS_LINUX) && !defined(OS_CHROMEOS) && !BUILDFLAG(IS_CHROMECAST) ++#if (defined(OS_LINUX) && !defined(OS_CHROMEOS) && !BUILDFLAG(IS_CHROMECAST)) || defined(OS_BSD) bool CanAccessNvidiaDeviceFile() { bool res = true; base::ScopedBlockingCall scoped_blocking_call(FROM_HERE, -@@ -120,7 +120,7 @@ bool CanAccessNvidiaDeviceFile() { +@@ -103,7 +103,7 @@ bool CanAccessNvidiaDeviceFile() { } return res; } --#endif // OS_LINUX && !OS_CHROMEOS && !IS_CHROMECAST -+#endif // (OS_LINUX && !OS_CHROMEOS && !IS_CHROMECAST) || OS_BSD +-#endif // OS_LINUX && !OS_CHROMEOS && !BUILDFLAG(IS_CHROMECAST) ++#endif // (OS_LINUX && !OS_CHROMEOS && !BUILDFLAG(IS_CHROMECAST)) || defined(OS_BSD) class GpuWatchdogInit { public: -@@ -165,7 +165,7 @@ bool GpuInit::InitializeAndStartSandbox(base::CommandL - // crash during feature collection. - gpu::SetKeysForCrashLogging(gpu_info_); +@@ -161,7 +161,7 @@ bool GpuInit::InitializeAndStartSandbox(base::CommandL + gpu_info_.subpixel_font_rendering = true; + #endif -#if defined(OS_LINUX) && !defined(OS_CHROMEOS) +#if (defined(OS_LINUX) && !defined(OS_CHROMEOS)) || defined(OS_BSD) if (gpu_info_.gpu.vendor_id == 0x10de && // NVIDIA gpu_info_.gpu.driver_vendor == "NVIDIA" && !CanAccessNvidiaDeviceFile()) return false; -@@ -246,7 +246,7 @@ bool GpuInit::InitializeAndStartSandbox(base::CommandL - sandbox_helper_->PreSandboxStartup(); +@@ -213,7 +213,7 @@ bool GpuInit::InitializeAndStartSandbox(base::CommandL + delayed_watchdog_enable = true; + #endif +-#if defined(OS_LINUX) ++#if defined(OS_LINUX) || defined(OS_BSD) + // PreSandbox is mainly for resource handling and not related to the GPU + // driver, it doesn't need the GPU watchdog. The loadLibrary may take long + // time that killing and restarting the GPU process will not help. +@@ -258,7 +258,7 @@ bool GpuInit::InitializeAndStartSandbox(base::CommandL + } + bool attempted_startsandbox = false; -#if defined(OS_LINUX) +#if defined(OS_LINUX) && !defined(OS_BSD) // On Chrome OS ARM Mali, GPU driver userspace creates threads when // initializing a GL context, so start the sandbox early. // TODO(zmo): Need to collect OS version before this. -@@ -255,7 +255,7 @@ bool GpuInit::InitializeAndStartSandbox(base::CommandL +@@ -267,7 +267,7 @@ bool GpuInit::InitializeAndStartSandbox(base::CommandL watchdog_thread_.get(), &gpu_info_, gpu_preferences_); attempted_startsandbox = true; } @@ -45,7 +54,7 @@ base::TimeTicks before_initialize_one_off = base::TimeTicks::Now(); -@@ -280,14 +280,14 @@ bool GpuInit::InitializeAndStartSandbox(base::CommandL +@@ -291,14 +291,14 @@ bool GpuInit::InitializeAndStartSandbox(base::CommandL } if (gl_initialized && use_swiftshader && gl::GetGLImplementation() != gl::kGLImplementationSwiftShaderGL) { @@ -60,9 +69,18 @@ -#endif // OS_LINUX +#endif // OS_LINUX || OS_BSD } - if (!gl_initialized) - gl_initialized = gl::init::InitializeGLNoExtensionsOneOff(); -@@ -314,7 +314,7 @@ bool GpuInit::InitializeAndStartSandbox(base::CommandL + + if (!gl_initialized) { +@@ -324,7 +324,7 @@ bool GpuInit::InitializeAndStartSandbox(base::CommandL + } + } + +-#if defined(OS_LINUX) ++#if defined(OS_LINUX) && !defined(OS_BSD) + // The ContentSandboxHelper is currently the only one implementation of + // gpu::GpuSandboxHelper and it has no dependency. Except on Linux where + // VaapiWrapper checks the GL implementation to determine which display +@@ -375,7 +375,7 @@ bool GpuInit::InitializeAndStartSandbox(base::CommandL command_line, gpu_feature_info_, gpu_preferences_.disable_software_rasterizer, false); if (use_swiftshader) { @@ -71,7 +89,7 @@ VLOG(1) << "Quit GPU process launch to fallback to SwiftShader cleanly " << "on Linux"; return false; -@@ -326,7 +326,7 @@ bool GpuInit::InitializeAndStartSandbox(base::CommandL +@@ -389,7 +389,7 @@ bool GpuInit::InitializeAndStartSandbox(base::CommandL << "failed"; return false; } @@ -80,7 +98,7 @@ } } else { // use_swiftshader == true switch (gpu_preferences_.use_vulkan) { -@@ -413,7 +413,7 @@ bool GpuInit::InitializeAndStartSandbox(base::CommandL +@@ -445,7 +445,7 @@ bool GpuInit::InitializeAndStartSandbox(base::CommandL InitializePlatformOverlaySettings(&gpu_info_); @@ -89,7 +107,7 @@ // Driver may create a compatibility profile context when collect graphics // information on Linux platform. Try to collect graphics information // based on core profile context after disabling platform extensions. -@@ -432,7 +432,7 @@ bool GpuInit::InitializeAndStartSandbox(base::CommandL +@@ -464,7 +464,7 @@ bool GpuInit::InitializeAndStartSandbox(base::CommandL return false; } } @@ -98,7 +116,7 @@ if (use_swiftshader) { AdjustInfoToSwiftShader(); -@@ -604,7 +604,7 @@ void GpuInit::InitializeInProcess(base::CommandLine* c +@@ -631,7 +631,7 @@ void GpuInit::InitializeInProcess(base::CommandLine* c InitializePlatformOverlaySettings(&gpu_info_); @@ -107,7 +125,7 @@ // Driver may create a compatibility profile context when collect graphics // information on Linux platform. Try to collect graphics information // based on core profile context after disabling platform extensions. -@@ -624,7 +624,7 @@ void GpuInit::InitializeInProcess(base::CommandLine* c +@@ -651,7 +651,7 @@ void GpuInit::InitializeInProcess(base::CommandLine* c } } } Index: www/qt5-webengine/files/patch-src_3rdparty_chromium_gpu_ipc_service_gpu__watchdog__thread.h =================================================================== --- www/qt5-webengine/files/patch-src_3rdparty_chromium_gpu_ipc_service_gpu__watchdog__thread.h +++ www/qt5-webengine/files/patch-src_3rdparty_chromium_gpu_ipc_service_gpu__watchdog__thread.h @@ -1,20 +1,20 @@ ---- src/3rdparty/chromium/gpu/ipc/service/gpu_watchdog_thread.h.orig 2020-03-16 14:04:24 UTC +--- src/3rdparty/chromium/gpu/ipc/service/gpu_watchdog_thread.h.orig 2020-11-07 01:22:36 UTC +++ src/3rdparty/chromium/gpu/ipc/service/gpu_watchdog_thread.h -@@ -171,7 +171,7 @@ class GPU_IPC_SERVICE_EXPORT GpuWatchdogThreadImplV1 +@@ -213,7 +213,7 @@ class GPU_IPC_SERVICE_EXPORT GpuWatchdogThreadImplV1 base::ThreadTicks GetWatchedThreadTime(); #endif -#if defined(USE_X11) +#if defined(USE_X11) && !defined(OS_BSD) - int GetActiveTTY() const; + void UpdateActiveTTY(); #endif -@@ -219,7 +219,7 @@ class GPU_IPC_SERVICE_EXPORT GpuWatchdogThreadImplV1 - base::Time check_time_; - base::TimeTicks check_timeticks_; +@@ -271,7 +271,7 @@ class GPU_IPC_SERVICE_EXPORT GpuWatchdogThreadImplV1 + // whether GpuWatchdogThreadEvent::kGpuWatchdogStart has been recorded. + bool is_watchdog_start_histogram_recorded = false; -#if defined(USE_X11) +#if defined(USE_X11) && !defined(OS_BSD) FILE* tty_file_; int host_tty_; - #endif + int active_tty_ = -1; Index: www/qt5-webengine/files/patch-src_3rdparty_chromium_gpu_ipc_service_gpu__watchdog__thread.cc =================================================================== --- www/qt5-webengine/files/patch-src_3rdparty_chromium_gpu_ipc_service_gpu__watchdog__thread.cc +++ www/qt5-webengine/files/patch-src_3rdparty_chromium_gpu_ipc_service_gpu__watchdog__thread.cc @@ -1,15 +1,15 @@ ---- src/3rdparty/chromium/gpu/ipc/service/gpu_watchdog_thread.cc.orig 2020-03-16 14:04:24 UTC +--- src/3rdparty/chromium/gpu/ipc/service/gpu_watchdog_thread.cc.orig 2020-11-07 01:22:36 UTC +++ src/3rdparty/chromium/gpu/ipc/service/gpu_watchdog_thread.cc -@@ -40,7 +40,7 @@ const int kGpuTimeout = 15000; - const int kGpuTimeout = 10000; - #endif +@@ -64,7 +64,7 @@ void GpuWatchdogTimeoutHistogram(GpuWatchdogTimeoutEve + base::UmaHistogramEnumeration("GPU.WatchdogThread.V1.Timeout", timeout_event); + } -#if defined(USE_X11) +#if defined(USE_X11) && !defined(OS_BSD) const base::FilePath::CharType kTtyFilePath[] = FILE_PATH_LITERAL("/sys/class/tty/tty0/active"); #endif -@@ -59,7 +59,7 @@ GpuWatchdogThreadImplV1::GpuWatchdogThreadImplV1() +@@ -82,7 +82,7 @@ GpuWatchdogThreadImplV1::GpuWatchdogThreadImplV1() arm_cpu_time_(), #endif suspension_counter_(this) @@ -18,16 +18,16 @@ , host_tty_(-1) #endif -@@ -76,7 +76,7 @@ GpuWatchdogThreadImplV1::GpuWatchdogThreadImplV1() +@@ -104,7 +104,7 @@ GpuWatchdogThreadImplV1::GpuWatchdogThreadImplV1() DCHECK(result); #endif -#if defined(USE_X11) +#if defined(USE_X11) && !defined(OS_BSD) tty_file_ = base::OpenFile(base::FilePath(kTtyFilePath), "r"); - host_tty_ = GetActiveTTY(); - #endif -@@ -222,7 +222,7 @@ GpuWatchdogThreadImplV1::~GpuWatchdogThreadImplV1() { + UpdateActiveTTY(); + host_tty_ = active_tty_; +@@ -252,7 +252,7 @@ GpuWatchdogThreadImplV1::~GpuWatchdogThreadImplV1() { base::PowerMonitor::RemoveObserver(this); @@ -36,21 +36,21 @@ if (tty_file_) fclose(tty_file_); #endif -@@ -371,7 +371,7 @@ void GpuWatchdogThreadImplV1::DeliberatelyTerminateToR +@@ -435,7 +435,7 @@ void GpuWatchdogThreadImplV1::DeliberatelyTerminateToR return; #endif -#if defined(USE_X11) +#if defined(USE_X11) && !defined(OS_BSD) // Don't crash if we're not on the TTY of our host X11 server. - int active_tty = GetActiveTTY(); - if (host_tty_ != -1 && active_tty != -1 && host_tty_ != active_tty) { -@@ -528,7 +528,7 @@ base::ThreadTicks GpuWatchdogThreadImplV1::GetWatchedT + UpdateActiveTTY(); + if (host_tty_ != -1 && active_tty_ != -1 && host_tty_ != active_tty_) { +@@ -610,7 +610,7 @@ base::ThreadTicks GpuWatchdogThreadImplV1::GetWatchedT } #endif -#if defined(USE_X11) +#if defined(USE_X11) && !defined(OS_BSD) - int GpuWatchdogThreadImplV1::GetActiveTTY() const { - char tty_string[8] = {0}; - if (tty_file_ && !fseek(tty_file_, 0, SEEK_SET) && + void GpuWatchdogThreadImplV1::UpdateActiveTTY() { + last_active_tty_ = active_tty_; + Index: www/qt5-webengine/files/patch-src_3rdparty_chromium_gpu_vulkan_vulkan__function__pointers.h =================================================================== --- www/qt5-webengine/files/patch-src_3rdparty_chromium_gpu_vulkan_vulkan__function__pointers.h +++ www/qt5-webengine/files/patch-src_3rdparty_chromium_gpu_vulkan_vulkan__function__pointers.h @@ -1,26 +1,26 @@ ---- src/3rdparty/chromium/gpu/vulkan/vulkan_function_pointers.h.orig 2020-03-16 14:04:24 UTC +--- src/3rdparty/chromium/gpu/vulkan/vulkan_function_pointers.h.orig 2020-11-07 01:22:36 UTC +++ src/3rdparty/chromium/gpu/vulkan/vulkan_function_pointers.h -@@ -178,15 +178,15 @@ struct VulkanFunctionPointers { - vkGetAndroidHardwareBufferPropertiesANDROIDFn = nullptr; +@@ -227,15 +227,15 @@ struct VulkanFunctionPointers { + vkGetAndroidHardwareBufferPropertiesANDROIDFn; #endif // defined(OS_ANDROID) -#if defined(OS_LINUX) || defined(OS_ANDROID) +#if defined(OS_LINUX) || defined(OS_ANDROID) || defined(OS_BSD) - PFN_vkGetSemaphoreFdKHR vkGetSemaphoreFdKHRFn = nullptr; - PFN_vkImportSemaphoreFdKHR vkImportSemaphoreFdKHRFn = nullptr; + VulkanFunction vkGetSemaphoreFdKHRFn; + VulkanFunction vkImportSemaphoreFdKHRFn; -#endif // defined(OS_LINUX) || defined(OS_ANDROID) +#endif // defined(OS_LINUX) || defined(OS_ANDROID) || defined(OS_BSD) --#if defined(OS_LINUX) -+#if defined(OS_LINUX) || defined(OS_BSD) - PFN_vkGetMemoryFdKHR vkGetMemoryFdKHRFn = nullptr; - PFN_vkGetMemoryFdPropertiesKHR vkGetMemoryFdPropertiesKHRFn = nullptr; --#endif // defined(OS_LINUX) -+#endif // defined(OS_LINUX) || defined(OS_BSD) +-#if defined(OS_LINUX) || defined(OS_ANDROID) ++#if defined(OS_LINUX) || defined(OS_ANDROID) || defined(OS_BSD) + VulkanFunction vkGetMemoryFdKHRFn; + VulkanFunction vkGetMemoryFdPropertiesKHRFn; +-#endif // defined(OS_LINUX) || defined(OS_ANDROID) ++#endif // defined(OS_LINUX) || defined(OS_ANDROID) || defined(OS_BSD) #if defined(OS_FUCHSIA) - PFN_vkImportSemaphoreZirconHandleFUCHSIA -@@ -374,18 +374,18 @@ struct VulkanFunctionPointers { + VulkanFunction +@@ -447,18 +447,18 @@ struct VulkanFunctionPointers { ->vkGetAndroidHardwareBufferPropertiesANDROIDFn #endif // defined(OS_ANDROID) @@ -33,13 +33,20 @@ -#endif // defined(OS_LINUX) || defined(OS_ANDROID) +#endif // defined(OS_LINUX) || defined(OS_ANDROID) || defined(OS_BSD) --#if defined(OS_LINUX) -+#if defined(OS_LINUX) || defined(OS_BSD) +-#if defined(OS_LINUX) || defined(OS_ANDROID) ++#if defined(OS_LINUX) || defined(OS_ANDROID) || defined(OS_BSD) #define vkGetMemoryFdKHR gpu::GetVulkanFunctionPointers()->vkGetMemoryFdKHRFn #define vkGetMemoryFdPropertiesKHR \ gpu::GetVulkanFunctionPointers()->vkGetMemoryFdPropertiesKHRFn --#endif // defined(OS_LINUX) -+#endif // defined(OS_LINUX) || defined(OS_BSD) +-#endif // defined(OS_LINUX) || defined(OS_ANDROID) ++#endif // defined(OS_LINUX) || defined(OS_ANDROID) || defined(OS_BSD) #if defined(OS_FUCHSIA) #define vkImportSemaphoreZirconHandleFUCHSIA \ +@@ -493,4 +493,4 @@ struct VulkanFunctionPointers { + gpu::GetVulkanFunctionPointers()->vkGetSwapchainImagesKHRFn + #define vkQueuePresentKHR gpu::GetVulkanFunctionPointers()->vkQueuePresentKHRFn + +-#endif // GPU_VULKAN_VULKAN_FUNCTION_POINTERS_H_ +\ No newline at end of file ++#endif // GPU_VULKAN_VULKAN_FUNCTION_POINTERS_H_ Index: www/qt5-webengine/files/patch-src_3rdparty_chromium_gpu_vulkan_vulkan__function__pointers.cc =================================================================== --- www/qt5-webengine/files/patch-src_3rdparty_chromium_gpu_vulkan_vulkan__function__pointers.cc +++ www/qt5-webengine/files/patch-src_3rdparty_chromium_gpu_vulkan_vulkan__function__pointers.cc @@ -1,6 +1,6 @@ ---- src/3rdparty/chromium/gpu/vulkan/vulkan_function_pointers.cc.orig 2019-11-27 21:12:25 UTC +--- src/3rdparty/chromium/gpu/vulkan/vulkan_function_pointers.cc.orig 2020-11-07 01:22:36 UTC +++ src/3rdparty/chromium/gpu/vulkan/vulkan_function_pointers.cc -@@ -716,7 +716,7 @@ bool VulkanFunctionPointers::BindDeviceFunctionPointer +@@ -828,7 +828,7 @@ bool VulkanFunctionPointers::BindDeviceFunctionPointer } #endif // defined(OS_ANDROID) @@ -9,24 +9,24 @@ if (gfx::HasExtension(enabled_extensions, VK_KHR_EXTERNAL_SEMAPHORE_FD_EXTENSION_NAME)) { vkGetSemaphoreFdKHRFn = reinterpret_cast( -@@ -735,9 +735,9 @@ bool VulkanFunctionPointers::BindDeviceFunctionPointer +@@ -847,9 +847,9 @@ bool VulkanFunctionPointers::BindDeviceFunctionPointer return false; } } -#endif // defined(OS_LINUX) || defined(OS_ANDROID) +#endif // defined(OS_LINUX) || defined(OS_ANDROID) || defined(OS_BSD) --#if defined(OS_LINUX) -+#if defined(OS_LINUX) || defined(OS_BSD) +-#if defined(OS_LINUX) || defined(OS_ANDROID) ++#if defined(OS_LINUX) || defined(OS_ANDROID) || defined(OS_BSD) if (gfx::HasExtension(enabled_extensions, VK_KHR_EXTERNAL_MEMORY_FD_EXTENSION_NAME)) { vkGetMemoryFdKHRFn = reinterpret_cast( -@@ -748,7 +748,7 @@ bool VulkanFunctionPointers::BindDeviceFunctionPointer +@@ -869,7 +869,7 @@ bool VulkanFunctionPointers::BindDeviceFunctionPointer return false; } } --#endif // defined(OS_LINUX) -+#endif // defined(OS_LINUX) || defined(OS_BSD) +-#endif // defined(OS_LINUX) || defined(OS_ANDROID) ++#endif // defined(OS_LINUX) || defined(OS_ANDROID) || defined(OS_BSD) #if defined(OS_FUCHSIA) if (gfx::HasExtension(enabled_extensions, Index: www/qt5-webengine/files/patch-src_3rdparty_chromium_headless_BUILD.gn =================================================================== --- www/qt5-webengine/files/patch-src_3rdparty_chromium_headless_BUILD.gn +++ www/qt5-webengine/files/patch-src_3rdparty_chromium_headless_BUILD.gn @@ -0,0 +1,56 @@ +--- src/3rdparty/chromium/headless/BUILD.gn.orig 2020-11-07 01:22:36 UTC ++++ src/3rdparty/chromium/headless/BUILD.gn +@@ -276,7 +276,7 @@ jumbo_source_set("headless_shared_sources") { + sources += generated_devtools_api + sources += get_target_outputs(":protocol_sources") + +- if (!is_fuchsia) { ++ if (!is_fuchsia && !is_bsd) { + sources += [ + "lib/headless_crash_reporter_client.cc", + "lib/headless_crash_reporter_client.h", +@@ -295,7 +295,7 @@ jumbo_source_set("headless_shared_sources") { + "//url", + ] + +- if (!is_fuchsia) { ++ if (!is_fuchsia && !is_bsd) { + deps += [ "//components/crash/content/browser" ] + } + if (is_component_build && is_win) { +@@ -451,7 +451,7 @@ jumbo_component("headless_non_renderer") { + "//v8", + ] + +- if (!is_fuchsia) { ++ if (!is_fuchsia && !is_bsd) { + deps += [ "//components/crash/content/browser" ] + } + if (is_win) { +@@ -598,7 +598,7 @@ test("headless_unittests") { + "//testing/gtest", + ] + +- if (!is_fuchsia) { ++ if (!is_fuchsia && !is_bsd) { + deps += [ "//components/crash/content/browser" ] + } + +@@ -682,7 +682,7 @@ test("headless_browsertests") { + "//ui/base/clipboard", + ] + +- if (!is_fuchsia) { ++ if (!is_fuchsia && !is_bsd) { + deps += [ "//components/crash/content/browser" ] + } + +@@ -810,7 +810,7 @@ jumbo_static_library("headless_shell_lib") { + public_deps += [ ":headless_non_renderer" ] + } + +- if (!is_fuchsia) { ++ if (!is_fuchsia && !is_bsd) { + deps += [ "//components/crash/content/browser" ] + } + Index: www/qt5-webengine/files/patch-src_3rdparty_chromium_headless_lib_browser_headless__content__browser__client.cc =================================================================== --- www/qt5-webengine/files/patch-src_3rdparty_chromium_headless_lib_browser_headless__content__browser__client.cc +++ www/qt5-webengine/files/patch-src_3rdparty_chromium_headless_lib_browser_headless__content__browser__client.cc @@ -1,7 +1,7 @@ ---- src/3rdparty/chromium/headless/lib/browser/headless_content_browser_client.cc.orig 2018-11-13 18:25:11 UTC +--- src/3rdparty/chromium/headless/lib/browser/headless_content_browser_client.cc.orig 2020-11-07 01:22:36 UTC +++ src/3rdparty/chromium/headless/lib/browser/headless_content_browser_client.cc -@@ -205,7 +205,7 @@ void HeadlessContentBrowserClient::GetQuotaSettings( - partition->GetPath(), context->IsOffTheRecord(), std::move(callback)); +@@ -157,7 +157,7 @@ HeadlessContentBrowserClient::GetGeneratedCodeCacheSet + return content::GeneratedCodeCacheSettings(true, 0, context->GetPath()); } -#if defined(OS_POSIX) && !defined(OS_MACOSX) @@ -9,7 +9,7 @@ void HeadlessContentBrowserClient::GetAdditionalMappedFilesForChildProcess( const base::CommandLine& command_line, int child_process_id, -@@ -216,7 +216,7 @@ void HeadlessContentBrowserClient::GetAdditionalMapped +@@ -168,7 +168,7 @@ void HeadlessContentBrowserClient::GetAdditionalMapped mappings->Share(service_manager::kCrashDumpSignal, crash_signal_fd); #endif // defined(HEADLESS_USE_BREAKPAD) } @@ -18,3 +18,12 @@ void HeadlessContentBrowserClient::AppendExtraCommandLineSwitches( base::CommandLine* command_line, +@@ -231,7 +231,7 @@ void HeadlessContentBrowserClient::AppendExtraCommandL + process_type, child_process_id); + } + +-#if defined(OS_LINUX) ++#if defined(OS_LINUX) || defined(OS_BSD) + // Processes may only query perf_event_open with the BPF sandbox disabled. + if (old_command_line.HasSwitch(::switches::kEnableThreadInstructionCount) && + old_command_line.HasSwitch(service_manager::switches::kNoSandbox)) { Index: www/qt5-webengine/files/patch-src_3rdparty_chromium_headless_lib_headless__content__main__delegate.cc =================================================================== --- www/qt5-webengine/files/patch-src_3rdparty_chromium_headless_lib_headless__content__main__delegate.cc +++ www/qt5-webengine/files/patch-src_3rdparty_chromium_headless_lib_headless__content__main__delegate.cc @@ -1,7 +1,25 @@ ---- src/3rdparty/chromium/headless/lib/headless_content_main_delegate.cc.orig 2019-11-27 21:12:25 UTC +--- src/3rdparty/chromium/headless/lib/headless_content_main_delegate.cc.orig 2020-11-07 01:22:36 UTC +++ src/3rdparty/chromium/headless/lib/headless_content_main_delegate.cc -@@ -324,7 +324,7 @@ int HeadlessContentMainDelegate::RunProcess( +@@ -322,7 +322,7 @@ void HeadlessContentMainDelegate::InitCrashReporter( + const base::CommandLine& command_line) { + if (command_line.HasSwitch(::switches::kDisableBreakpad)) + return; +-#if defined(OS_FUCHSIA) ++#if defined(OS_FUCHSIA) || defined(OS_BSD) + // TODO(fuchsia): Implement this when crash reporting/Breakpad are available + // in Fuchsia. (crbug.com/753619) + NOTIMPLEMENTED(); +@@ -351,7 +351,7 @@ void HeadlessContentMainDelegate::InitCrashReporter( + crash_reporter::InitializeCrashpadWithEmbeddedHandler( + process_type.empty(), process_type, "", base::FilePath()); + #endif // defined(HEADLESS_USE_BREAKPAD) +-#endif // defined(OS_FUCHSIA) ++#endif // defined(OS_FUCHSIA) || defined(OS_BSD) } + + +@@ -405,7 +405,7 @@ int HeadlessContentMainDelegate::RunProcess( + } #endif // !defined(CHROME_MULTIPLE_DLL_CHILD) -#if defined(OS_LINUX) @@ -9,7 +27,7 @@ void SIGTERMProfilingShutdown(int signal) { content::Profiling::Stop(); struct sigaction sigact; -@@ -359,7 +359,7 @@ void HeadlessContentMainDelegate::ZygoteForked() { +@@ -440,7 +440,7 @@ void HeadlessContentMainDelegate::ZygoteForked() { breakpad::InitCrashReporter(process_type); #endif } Index: www/qt5-webengine/files/patch-src_3rdparty_chromium_ipc_ipc__channel__common.cc =================================================================== --- www/qt5-webengine/files/patch-src_3rdparty_chromium_ipc_ipc__channel__common.cc +++ www/qt5-webengine/files/patch-src_3rdparty_chromium_ipc_ipc__channel__common.cc @@ -1,6 +1,6 @@ ---- src/3rdparty/chromium/ipc/ipc_channel_common.cc.orig 2018-11-13 18:25:11 UTC +--- src/3rdparty/chromium/ipc/ipc_channel_common.cc.orig 2020-11-07 01:22:36 UTC +++ src/3rdparty/chromium/ipc/ipc_channel_common.cc -@@ -9,7 +9,7 @@ +@@ -10,7 +10,7 @@ namespace IPC { @@ -9,3 +9,12 @@ namespace { int g_global_pid = 0; +@@ -26,7 +26,7 @@ int Channel::GetGlobalPid() { + return g_global_pid; + } + +-#endif // defined(OS_LINUX) ++#endif // defined(OS_LINUX) || defined(OS_BSD) + + // static + std::unique_ptr Channel::CreateClient( Index: www/qt5-webengine/files/patch-src_3rdparty_chromium_media_BUILD.gn =================================================================== --- www/qt5-webengine/files/patch-src_3rdparty_chromium_media_BUILD.gn +++ www/qt5-webengine/files/patch-src_3rdparty_chromium_media_BUILD.gn @@ -1,12 +1,12 @@ ---- src/3rdparty/chromium/media/BUILD.gn.orig 2018-11-13 18:25:11 UTC +--- src/3rdparty/chromium/media/BUILD.gn.orig 2020-11-07 01:22:36 UTC +++ src/3rdparty/chromium/media/BUILD.gn -@@ -63,6 +63,9 @@ config("media_config") { - if (use_cras) { - defines += [ "USE_CRAS" ] +@@ -67,6 +67,9 @@ config("media_config") { + defines += [ "DLOPEN_PULSEAUDIO" ] + } } + if (use_sndio) { + defines += [ "USE_SNDIO" ] + } - } - - # Internal grouping of the configs necessary to support sub-folders having their + if (use_cras) { + defines += [ "USE_CRAS" ] + } Index: www/qt5-webengine/files/patch-src_3rdparty_chromium_media_audio_audio__features.cc =================================================================== --- www/qt5-webengine/files/patch-src_3rdparty_chromium_media_audio_audio__features.cc +++ www/qt5-webengine/files/patch-src_3rdparty_chromium_media_audio_audio__features.cc @@ -0,0 +1,11 @@ +--- src/3rdparty/chromium/media/audio/audio_features.cc.orig 2020-11-07 01:22:36 UTC ++++ src/3rdparty/chromium/media/audio/audio_features.cc +@@ -11,7 +11,7 @@ namespace features { + // detected. It will be restarted when needed. + const base::Feature kAudioServiceOutOfProcessKillAtHang{ + "AudioServiceOutOfProcessKillAtHang", +-#if defined(OS_WIN) || defined(OS_MACOSX) || defined(OS_LINUX) ++#if defined(OS_WIN) || defined(OS_MACOSX) || defined(OS_LINUX) || defined(OS_BSD) + base::FEATURE_ENABLED_BY_DEFAULT + #else + base::FEATURE_DISABLED_BY_DEFAULT Index: www/qt5-webengine/files/patch-src_3rdparty_chromium_media_base_media__switches.cc =================================================================== --- www/qt5-webengine/files/patch-src_3rdparty_chromium_media_base_media__switches.cc +++ www/qt5-webengine/files/patch-src_3rdparty_chromium_media_base_media__switches.cc @@ -0,0 +1,11 @@ +--- src/3rdparty/chromium/media/base/media_switches.cc.orig 2020-11-07 01:22:36 UTC ++++ src/3rdparty/chromium/media/base/media_switches.cc +@@ -346,7 +346,7 @@ const base::Feature kGav1VideoDecoder{"Gav1VideoDecode + const base::Feature kGlobalMediaControls { + "GlobalMediaControls", + #if defined(OS_WIN) || defined(OS_MACOSX) || \ +- (defined(OS_LINUX) && !defined(OS_CHROMEOS)) ++ (defined(OS_LINUX) && !defined(OS_CHROMEOS)) || defined(OS_BSD) + base::FEATURE_ENABLED_BY_DEFAULT + #else + base::FEATURE_DISABLED_BY_DEFAULT Index: www/qt5-webengine/files/patch-src_3rdparty_chromium_media_base_status.cc =================================================================== --- www/qt5-webengine/files/patch-src_3rdparty_chromium_media_base_status.cc +++ www/qt5-webengine/files/patch-src_3rdparty_chromium_media_base_status.cc @@ -0,0 +1,12 @@ +--- src/3rdparty/chromium/media/base/status.cc.orig 2020-11-07 01:22:36 UTC ++++ src/3rdparty/chromium/media/base/status.cc +@@ -66,7 +66,9 @@ Status&& Status::AddCause(Status&& cause) && { + + void Status::AddFrame(const base::Location& location) { + DCHECK(data_); ++#if SUPPORTS_LOCATION_BUILTINS + data_->frames.push_back(MediaSerialize(location)); ++#endif + } + + Status OkStatus() { Index: www/qt5-webengine/files/patch-src_3rdparty_chromium_media_blink_webmediaplayer__impl.cc =================================================================== --- www/qt5-webengine/files/patch-src_3rdparty_chromium_media_blink_webmediaplayer__impl.cc +++ www/qt5-webengine/files/patch-src_3rdparty_chromium_media_blink_webmediaplayer__impl.cc @@ -0,0 +1,15 @@ +--- src/3rdparty/chromium/media/blink/webmediaplayer_impl.cc.orig 2020-11-07 01:22:36 UTC ++++ src/3rdparty/chromium/media/blink/webmediaplayer_impl.cc +@@ -280,7 +280,11 @@ void CreateAllocation(base::trace_event::ProcessMemory + + auto* std_allocator = base::trace_event::MemoryDumpManager::GetInstance() + ->system_allocator_pool_name(); +- pmd->AddSuballocation(dump->guid(), std_allocator); ++ if (std_allocator == nullptr) { ++ pmd->AddSuballocation(dump->guid(), std::string()); ++ } else { ++ pmd->AddSuballocation(dump->guid(), std_allocator); ++ } + } + + } // namespace Index: www/qt5-webengine/files/patch-src_3rdparty_chromium_media_gpu_chromeos_libyuv__image__processor.cc =================================================================== --- www/qt5-webengine/files/patch-src_3rdparty_chromium_media_gpu_chromeos_libyuv__image__processor.cc +++ www/qt5-webengine/files/patch-src_3rdparty_chromium_media_gpu_chromeos_libyuv__image__processor.cc @@ -1,38 +0,0 @@ ---- src/3rdparty/chromium/media/gpu/chromeos/libyuv_image_processor.cc.orig 2020-04-08 09:41:36 UTC -+++ src/3rdparty/chromium/media/gpu/chromeos/libyuv_image_processor.cc -@@ -82,7 +82,7 @@ std::unique_ptr LibYUVImageProce - // LibYUVImageProcessor supports only memory-based video frame for input. - VideoFrame::StorageType input_storage_type = VideoFrame::STORAGE_UNKNOWN; - for (auto input_type : input_config.preferred_storage_types) { --#if defined(OS_LINUX) -+#if defined(OS_LINUX) || defined(OS_BSD) - if (input_type == VideoFrame::STORAGE_DMABUFS) { - video_frame_mapper = VideoFrameMapperFactory::CreateMapper( - input_config.fourcc.ToVideoPixelFormat(), VideoFrame::STORAGE_DMABUFS, -@@ -92,7 +92,7 @@ std::unique_ptr LibYUVImageProce - break; - } - } --#endif // defined(OS_LINUX) -+#endif // defined(OS_LINUX) || defined(OS_BSD) - - if (VideoFrame::IsStorageTypeMappable(input_type)) { - input_storage_type = input_type; -@@ -191,7 +191,7 @@ void LibYUVImageProcessor::ProcessTask(scoped_refptrBelongsToCurrentThread()); - DVLOGF(4); --#if defined(OS_LINUX) -+#if defined(OS_LINUX) || defined(OS_BSD) - if (input_frame->storage_type() == VideoFrame::STORAGE_DMABUFS) { - DCHECK_NE(video_frame_mapper_.get(), nullptr); - input_frame = video_frame_mapper_->Map(std::move(input_frame)); -@@ -201,7 +201,7 @@ void LibYUVImageProcessor::ProcessTask(scoped_refptr CreateVideoFrameGpu( - gpu::GpuMemoryBufferFactory* factory, -@@ -92,7 +92,7 @@ scoped_refptr CreateVideoFrameGpu( - gpu::kPlatformVideoFramePoolClientId)); - return frame; - } --#endif // defined(OS_LINUX) -+#endif // defined(OS_LINUX) || defined(OS_BSD) - - } // namespace - -@@ -104,11 +104,11 @@ scoped_refptr CreatePlatformVideoFrame( - const gfx::Size& natural_size, - base::TimeDelta timestamp, - gfx::BufferUsage buffer_usage) { --#if defined(OS_LINUX) -+#if defined(OS_LINUX) || defined(OS_BSD) - return CreateVideoFrameGpu(gpu_memory_buffer_factory, pixel_format, - coded_size, visible_rect, natural_size, timestamp, - buffer_usage); --#endif // defined(OS_LINUX) -+#endif // defined(OS_LINUX) || defined(OS_BSD) - NOTREACHED(); - return nullptr; - } Index: www/qt5-webengine/files/patch-src_3rdparty_chromium_media_mojo_mojom_video__frame__mojom__traits.cc =================================================================== --- www/qt5-webengine/files/patch-src_3rdparty_chromium_media_mojo_mojom_video__frame__mojom__traits.cc +++ www/qt5-webengine/files/patch-src_3rdparty_chromium_media_mojo_mojom_video__frame__mojom__traits.cc @@ -1,4 +1,4 @@ ---- src/3rdparty/chromium/media/mojo/mojom/video_frame_mojom_traits.cc.orig 2020-04-08 09:41:36 UTC +--- src/3rdparty/chromium/media/mojo/mojom/video_frame_mojom_traits.cc.orig 2020-11-07 01:22:36 UTC +++ src/3rdparty/chromium/media/mojo/mojom/video_frame_mojom_traits.cc @@ -20,9 +20,9 @@ #include "ui/gfx/mojom/buffer_types_mojom_traits.h" @@ -12,19 +12,19 @@ namespace mojo { -@@ -60,7 +60,7 @@ media::mojom::VideoFrameDataPtr MakeVideoFrameData( - mojo_frame->PlaneOffset(media::VideoFrame::kVPlane))); +@@ -62,7 +62,7 @@ media::mojom::VideoFrameDataPtr MakeVideoFrameData( + std::move(offsets))); } -#if defined(OS_LINUX) +#if defined(OS_LINUX) || defined(OS_BSD) if (input->storage_type() == media::VideoFrame::STORAGE_DMABUFS) { - std::vector dmabuf_fds; + std::vector dmabuf_fds; -@@ -161,7 +161,7 @@ bool StructTraits gpu_task_runner, base::WeakPtr media_gpu_channel_manager, -@@ -250,7 +250,7 @@ std::unique_ptr GpuMojoMediaClient::Crea +@@ -279,7 +279,7 @@ std::unique_ptr GpuMojoMediaClient::Crea command_buffer_id->route_id)); } -#elif defined(OS_MACOSX) || defined(OS_WIN) || defined(OS_LINUX) +#elif defined(OS_MACOSX) || defined(OS_WIN) || defined(OS_LINUX) || defined(OS_BSD) - video_decoder = VdaVideoDecoder::Create( - task_runner, gpu_task_runner_, media_log->Clone(), target_color_space, - gpu_preferences_, gpu_workarounds_, + #if defined(OS_WIN) + // Don't instantiate the DXVA decoder if it's not supported. + if (gpu_workarounds_.disable_dxva_video_decoder) Index: www/qt5-webengine/files/patch-src_3rdparty_chromium_net_BUILD.gn =================================================================== --- www/qt5-webengine/files/patch-src_3rdparty_chromium_net_BUILD.gn +++ www/qt5-webengine/files/patch-src_3rdparty_chromium_net_BUILD.gn @@ -1,4 +1,4 @@ ---- src/3rdparty/chromium/net/BUILD.gn.orig 2020-04-08 09:41:36 UTC +--- src/3rdparty/chromium/net/BUILD.gn.orig 2020-11-07 01:22:36 UTC +++ src/3rdparty/chromium/net/BUILD.gn @@ -103,7 +103,7 @@ net_configs = [ "//build/config/compiler:wexit_time_destructors", @@ -9,7 +9,7 @@ net_configs += [ "//build/config/linux:libresolv" ] } -@@ -1834,6 +1834,17 @@ component("net") { +@@ -1256,6 +1256,16 @@ component("net") { ] } @@ -19,15 +19,14 @@ + "base/address_tracker_linux.h", + "base/network_change_notifier_linux.cc", + "base/network_change_notifier_linux.h", -+ "base/network_interfaces_linux.cc", -+ "base/network_interfaces_linux.h", ++ "base/network_interfaces_linux.cc" + ] + } + if (is_mac) { sources += [ "base/network_notification_thread_mac.cc", -@@ -1960,7 +1971,7 @@ component("net") { +@@ -1386,7 +1396,7 @@ component("net") { } } @@ -36,7 +35,7 @@ sources += [ "base/network_change_notifier_posix.cc", "base/network_change_notifier_posix.h", -@@ -1991,7 +2002,7 @@ component("net") { +@@ -1419,7 +1429,7 @@ component("net") { } # Use getifaddrs() on POSIX platforms, except Linux and Android. Index: www/qt5-webengine/files/patch-src_3rdparty_chromium_net_base_features.cc =================================================================== --- www/qt5-webengine/files/patch-src_3rdparty_chromium_net_base_features.cc +++ www/qt5-webengine/files/patch-src_3rdparty_chromium_net_base_features.cc @@ -0,0 +1,11 @@ +--- src/3rdparty/chromium/net/base/features.cc.orig 2020-11-07 01:22:36 UTC ++++ src/3rdparty/chromium/net/base/features.cc +@@ -92,7 +92,7 @@ const base::Feature kBlockExternalRequestsFromNonSecur + #if BUILDFLAG(BUILTIN_CERT_VERIFIER_FEATURE_SUPPORTED) + const base::Feature kCertVerifierBuiltinFeature { + "CertVerifierBuiltin", +-#if defined(OS_CHROMEOS) || defined(OS_LINUX) ++#if defined(OS_CHROMEOS) || defined(OS_LINUX) || defined(OS_BSD) + base::FEATURE_ENABLED_BY_DEFAULT + #else + base::FEATURE_DISABLED_BY_DEFAULT Index: www/qt5-webengine/files/patch-src_3rdparty_chromium_net_base_network__change__notifier.h =================================================================== --- www/qt5-webengine/files/patch-src_3rdparty_chromium_net_base_network__change__notifier.h +++ www/qt5-webengine/files/patch-src_3rdparty_chromium_net_base_network__change__notifier.h @@ -1,29 +0,0 @@ ---- src/3rdparty/chromium/net/base/network_change_notifier.h.orig 2018-11-13 18:25:11 UTC -+++ src/3rdparty/chromium/net/base/network_change_notifier.h -@@ -22,7 +22,7 @@ class NetworkChangeNotifierFactory; - struct NetworkInterface; - typedef std::vector NetworkInterfaceList; - --#if defined(OS_LINUX) -+#if defined(OS_LINUX) || defined(OS_BSD) - namespace internal { - class AddressTrackerLinux; - } -@@ -348,7 +348,7 @@ class NET_EXPORT NetworkChangeNotifier { - // a large HOSTS file. - static void GetDnsConfig(DnsConfig* config); - --#if defined(OS_LINUX) -+#if defined(OS_LINUX) || defined(OS_BSD) - // Returns the AddressTrackerLinux if present. - static const internal::AddressTrackerLinux* GetAddressTracker(); - #endif -@@ -499,7 +499,7 @@ class NET_EXPORT NetworkChangeNotifier { - const NetworkChangeCalculatorParams& params = - NetworkChangeCalculatorParams()); - --#if defined(OS_LINUX) -+#if defined(OS_LINUX) || defined(OS_BSD) - // Returns the AddressTrackerLinux if present. - // TODO(szym): Retrieve AddressMap from NetworkState. http://crbug.com/144212 - virtual const internal::AddressTrackerLinux* Index: www/qt5-webengine/files/patch-src_3rdparty_chromium_net_base_network__change__notifier.cc =================================================================== --- www/qt5-webengine/files/patch-src_3rdparty_chromium_net_base_network__change__notifier.cc +++ www/qt5-webengine/files/patch-src_3rdparty_chromium_net_base_network__change__notifier.cc @@ -1,28 +1,24 @@ ---- src/3rdparty/chromium/net/base/network_change_notifier.cc.orig 2018-11-13 18:25:11 UTC +--- src/3rdparty/chromium/net/base/network_change_notifier.cc.orig 2020-11-07 01:22:36 UTC +++ src/3rdparty/chromium/net/base/network_change_notifier.cc -@@ -217,7 +217,6 @@ NetworkChangeNotifier* NetworkChangeNotifier::Create() +@@ -35,7 +35,7 @@ + #include "net/base/network_change_notifier_linux.h" #elif defined(OS_MACOSX) - return new NetworkChangeNotifierMac(); + #include "net/base/network_change_notifier_mac.h" +-#elif defined(OS_CHROMEOS) || defined(OS_ANDROID) ++#elif defined(OS_CHROMEOS) || defined(OS_ANDROID) || defined(OS_BSD) + #include "net/base/network_change_notifier_posix.h" + #elif defined(OS_FUCHSIA) + #include "net/base/network_change_notifier_fuchsia.h" +@@ -240,8 +240,11 @@ std::unique_ptr NetworkChangeNo + #elif defined(OS_FUCHSIA) + return std::make_unique( + 0 /* required_features */); ++#elif defined(OS_BSD) ++ return std::make_unique( ++ std::make_unique( ++ nullptr /* task_runner */, nullptr /* dns_config_service */)); #else - NOTIMPLEMENTED(); return NULL; #endif } -@@ -425,7 +424,7 @@ void NetworkChangeNotifier::LogOperatorCodeHistogram(C - #endif - } - --#if defined(OS_LINUX) -+#if defined(OS_LINUX) || defined(OS_BSD) - // static - const internal::AddressTrackerLinux* - NetworkChangeNotifier::GetAddressTracker() { -@@ -674,7 +673,7 @@ NetworkChangeNotifier::NetworkChangeNotifier( - network_change_calculator_->Init(); - } - --#if defined(OS_LINUX) -+#if defined(OS_LINUX) || defined(OS_BSD) - const internal::AddressTrackerLinux* - NetworkChangeNotifier::GetAddressTrackerInternal() const { - return NULL; Index: www/qt5-webengine/files/patch-src_3rdparty_chromium_net_proxy__resolution_configured__proxy__resolution__service.cc =================================================================== --- www/qt5-webengine/files/patch-src_3rdparty_chromium_net_proxy__resolution_configured__proxy__resolution__service.cc +++ www/qt5-webengine/files/patch-src_3rdparty_chromium_net_proxy__resolution_configured__proxy__resolution__service.cc @@ -0,0 +1,29 @@ +--- src/3rdparty/chromium/net/proxy_resolution/configured_proxy_resolution_service.cc.orig 2020-11-07 01:22:36 UTC ++++ src/3rdparty/chromium/net/proxy_resolution/configured_proxy_resolution_service.cc +@@ -47,7 +47,7 @@ + #elif defined(OS_MACOSX) + #include "net/proxy_resolution/proxy_config_service_mac.h" + #include "net/proxy_resolution/proxy_resolver_mac.h" +-#elif defined(OS_LINUX) && !defined(OS_CHROMEOS) ++#elif (defined(OS_LINUX) && !defined(OS_CHROMEOS)) || defined(OS_BSD) + #include "net/proxy_resolution/proxy_config_service_linux.h" + #elif defined(OS_ANDROID) + #include "net/proxy_resolution/proxy_config_service_android.h" +@@ -61,7 +61,7 @@ namespace net { + namespace { + + #if defined(OS_WIN) || defined(OS_IOS) || defined(OS_MACOSX) || \ +- (defined(OS_LINUX) && !defined(OS_CHROMEOS)) ++ (defined(OS_LINUX) && !defined(OS_CHROMEOS)) || defined(OS_BSD) + constexpr net::NetworkTrafficAnnotationTag kSystemProxyConfigTrafficAnnotation = + net::DefineNetworkTrafficAnnotation("proxy_config_system", R"( + semantics { +@@ -1436,7 +1436,7 @@ ConfiguredProxyResolutionService::CreateSystemProxyCon + << "profile_io_data.cc::CreateProxyConfigService and this should " + << "be used only for examples."; + return std::make_unique(); +-#elif defined(OS_LINUX) ++#elif defined(OS_LINUX) || defined(OS_BSD) + std::unique_ptr linux_config_service( + new ProxyConfigServiceLinux()); + Index: www/qt5-webengine/files/patch-src_3rdparty_chromium_net_proxy__resolution_proxy__resolution__service.cc =================================================================== --- www/qt5-webengine/files/patch-src_3rdparty_chromium_net_proxy__resolution_proxy__resolution__service.cc +++ www/qt5-webengine/files/patch-src_3rdparty_chromium_net_proxy__resolution_proxy__resolution__service.cc @@ -1,29 +0,0 @@ ---- src/3rdparty/chromium/net/proxy_resolution/proxy_resolution_service.cc.orig 2019-01-16 10:59:47 UTC -+++ src/3rdparty/chromium/net/proxy_resolution/proxy_resolution_service.cc -@@ -47,7 +47,7 @@ - #elif defined(OS_MACOSX) - #include "net/proxy_resolution/proxy_config_service_mac.h" - #include "net/proxy_resolution/proxy_resolver_mac.h" --#elif defined(OS_LINUX) && !defined(OS_CHROMEOS) -+#elif (defined(OS_BSD) || defined(OS_LINUX)) && !defined(OS_CHROMEOS) - #include "net/proxy_resolution/proxy_config_service_linux.h" - #elif defined(OS_ANDROID) - #include "net/proxy_resolution/proxy_config_service_android.h" -@@ -61,7 +61,7 @@ namespace net { - namespace { - - #if defined(OS_WIN) || defined(OS_IOS) || defined(OS_MACOSX) || \ -- (defined(OS_LINUX) && !defined(OS_CHROMEOS)) -+ ((defined(OS_BSD) || defined(OS_LINUX)) && !defined(OS_CHROMEOS)) - constexpr net::NetworkTrafficAnnotationTag kSystemProxyConfigTrafficAnnotation = - net::DefineNetworkTrafficAnnotation("proxy_config_system", R"( - semantics { -@@ -1538,7 +1538,7 @@ ProxyResolutionService::CreateSystemProxyConfigService - << "profile_io_data.cc::CreateProxyConfigService and this should " - << "be used only for examples."; - return std::make_unique(); --#elif defined(OS_LINUX) -+#elif defined(OS_LINUX) || defined(OS_BSD) - std::unique_ptr linux_config_service( - new ProxyConfigServiceLinux()); - Index: www/qt5-webengine/files/patch-src_3rdparty_chromium_net_url__request_url__request__context__builder.cc =================================================================== --- www/qt5-webengine/files/patch-src_3rdparty_chromium_net_url__request_url__request__context__builder.cc +++ www/qt5-webengine/files/patch-src_3rdparty_chromium_net_url__request_url__request__context__builder.cc @@ -1,11 +1,20 @@ ---- src/3rdparty/chromium/net/url_request/url_request_context_builder.cc.orig 2018-11-13 18:25:11 UTC +--- src/3rdparty/chromium/net/url_request/url_request_context_builder.cc.orig 2020-11-07 01:22:36 UTC +++ src/3rdparty/chromium/net/url_request/url_request_context_builder.cc -@@ -512,7 +512,7 @@ std::unique_ptr URLRequestContextBu +@@ -485,7 +485,7 @@ std::unique_ptr URLRequestContextBu } if (!proxy_resolution_service_) { -#if !defined(OS_LINUX) && !defined(OS_ANDROID) +#if !defined(OS_LINUX) && !defined(OS_ANDROID) && !defined(OS_BSD) // TODO(willchan): Switch to using this code when - // ProxyResolutionService::CreateSystemProxyConfigService()'s signature - // doesn't suck. + // ConfiguredProxyResolutionService::CreateSystemProxyConfigService()'s + // signature doesn't suck. +@@ -494,7 +494,7 @@ std::unique_ptr URLRequestContextBu + ConfiguredProxyResolutionService::CreateSystemProxyConfigService( + base::ThreadTaskRunnerHandle::Get().get()); + } +-#endif // !defined(OS_LINUX) && !defined(OS_ANDROID) ++#endif // !defined(OS_LINUX) && !defined(OS_ANDROID) && !defined(OS_BSD) + proxy_resolution_service_ = CreateProxyResolutionService( + std::move(proxy_config_service_), context.get(), + context->host_resolver(), context->network_delegate(), Index: www/qt5-webengine/files/patch-src_3rdparty_chromium_sandbox_features.gni =================================================================== --- www/qt5-webengine/files/patch-src_3rdparty_chromium_sandbox_features.gni +++ www/qt5-webengine/files/patch-src_3rdparty_chromium_sandbox_features.gni @@ -1,10 +1,11 @@ ---- src/3rdparty/chromium/sandbox/features.gni.orig 2018-11-13 18:25:11 UTC +--- src/3rdparty/chromium/sandbox/features.gni.orig 2020-11-07 01:22:36 UTC +++ src/3rdparty/chromium/sandbox/features.gni -@@ -12,6 +12,6 @@ use_seccomp_bpf = - (is_linux || is_android) && - (current_cpu == "x86" || current_cpu == "x64" || current_cpu == "arm" || - current_cpu == "arm64" || current_cpu == "mipsel" || -- current_cpu == "mips64el") -+ current_cpu == "mips64el") && !is_bsd - - use_seccomp_bpf = use_seccomp_bpf || is_nacl_nonsfi +@@ -8,7 +8,7 @@ import("//build/config/nacl/config.gni") + # currently. + # Do not disable seccomp_bpf anywhere without talking to + # security@chromium.org! +-use_seccomp_bpf = (is_linux || is_android) && ++use_seccomp_bpf = (is_linux || is_android) && !is_bsd && + (current_cpu == "x86" || current_cpu == "x64" || + current_cpu == "arm" || current_cpu == "arm64" || + current_cpu == "mipsel" || current_cpu == "mips64el") Index: www/qt5-webengine/files/patch-src_3rdparty_chromium_services_network_network__context.cc =================================================================== --- www/qt5-webengine/files/patch-src_3rdparty_chromium_services_network_network__context.cc +++ www/qt5-webengine/files/patch-src_3rdparty_chromium_services_network_network__context.cc @@ -1,11 +1,11 @@ ---- src/3rdparty/chromium/services/network/network_context.cc.orig 2019-11-27 21:12:25 UTC +--- src/3rdparty/chromium/services/network/network_context.cc.orig 2020-11-07 01:22:36 UTC +++ src/3rdparty/chromium/services/network/network_context.cc -@@ -1737,7 +1737,7 @@ URLRequestContextOwner NetworkContext::ApplyContextPar +@@ -1810,7 +1810,7 @@ URLRequestContextOwner NetworkContext::MakeURLRequestC net::CookieCryptoDelegate* crypto_delegate = nullptr; if (params_->enable_encrypted_cookies) { --#if defined(OS_LINUX) && !defined(OS_CHROMEOS) && !defined(IS_CHROMECAST) -+#if (defined(OS_BSD) || defined(OS_LINUX)) && !defined(OS_CHROMEOS) && !defined(IS_CHROMECAST) +-#if defined(OS_LINUX) && !defined(OS_CHROMEOS) && !BUILDFLAG(IS_CHROMECAST) ++#if (defined(OS_LINUX) || defined(OS_BSD)) && !defined(OS_CHROMEOS) && !BUILDFLAG(IS_CHROMECAST) DCHECK(network_service_->os_crypt_config_set()) << "NetworkService::SetCryptConfig must be called before creating a " "NetworkContext with encrypted cookies."; Index: www/qt5-webengine/files/patch-src_3rdparty_chromium_services_network_network__service.cc =================================================================== --- www/qt5-webengine/files/patch-src_3rdparty_chromium_services_network_network__service.cc +++ www/qt5-webengine/files/patch-src_3rdparty_chromium_services_network_network__service.cc @@ -1,20 +1,20 @@ ---- src/3rdparty/chromium/services/network/network_service.cc.orig 2018-11-13 18:25:11 UTC +--- src/3rdparty/chromium/services/network/network_service.cc.orig 2020-11-07 01:22:36 UTC +++ src/3rdparty/chromium/services/network/network_service.cc -@@ -38,7 +38,7 @@ +@@ -67,7 +67,7 @@ #include "third_party/boringssl/src/include/openssl/cpu.h" #endif --#if defined(OS_LINUX) && !defined(OS_CHROMEOS) && !defined(IS_CHROMECAST) -+#if (defined(OS_LINUX) && !defined(OS_CHROMEOS) && !defined(IS_CHROMECAST)) || defined(OS_BSD) +-#if defined(OS_LINUX) && !defined(OS_CHROMEOS) && !BUILDFLAG(IS_CHROMECAST) ++#if (defined(OS_LINUX) || defined(OS_BSD)) && !defined(OS_CHROMEOS) && !BUILDFLAG(IS_CHROMECAST) #include "components/os_crypt/key_storage_config_linux.h" - #include "components/os_crypt/os_crypt.h" #endif -@@ -367,7 +367,7 @@ void NetworkService::UpdateSignedTreeHead(const net::c - sth_distributor_->NewSTHObserved(sth); + +@@ -636,7 +636,7 @@ void NetworkService::OnCertDBChanged() { + net::CertDatabase::GetInstance()->NotifyObserversCertDBChanged(); } -#if defined(OS_LINUX) && !defined(OS_CHROMEOS) +#if (defined(OS_LINUX) && !defined(OS_CHROMEOS)) || defined(OS_BSD) void NetworkService::SetCryptConfig(mojom::CryptConfigPtr crypt_config) { - #if !defined(IS_CHROMECAST) && !defined(TOOLKIT_QT) - auto config = std::make_unique(); + #if !BUILDFLAG(IS_CHROMECAST) && !defined(TOOLKIT_QT) + DCHECK(!os_crypt_config_set_); Index: www/qt5-webengine/files/patch-src_3rdparty_chromium_services_service__manager_embedder_set__process__title__linux.cc =================================================================== --- www/qt5-webengine/files/patch-src_3rdparty_chromium_services_service__manager_embedder_set__process__title__linux.cc +++ www/qt5-webengine/files/patch-src_3rdparty_chromium_services_service__manager_embedder_set__process__title__linux.cc @@ -1,19 +0,0 @@ ---- src/3rdparty/chromium/services/service_manager/embedder/set_process_title_linux.cc.orig 2018-11-13 18:25:11 UTC -+++ src/3rdparty/chromium/services/service_manager/embedder/set_process_title_linux.cc -@@ -49,6 +49,8 @@ - extern char** environ; - - static char** g_main_argv = NULL; -+ -+#if !defined(OS_FREEBSD) - static char* g_orig_argv0 = NULL; - - void setproctitle(const char* fmt, ...) { -@@ -101,6 +103,7 @@ void setproctitle(const char* fmt, ...) { - va_end(ap); - g_main_argv[1] = NULL; - } -+#endif - - // A version of this built into glibc would not need this function, since - // it could stash the argv pointer in __libc_start_main(). But we need it. Index: www/qt5-webengine/files/patch-src_3rdparty_chromium_services_tracing_public_cpp_perfetto_trace__event__data__source.cc =================================================================== --- www/qt5-webengine/files/patch-src_3rdparty_chromium_services_tracing_public_cpp_perfetto_trace__event__data__source.cc +++ www/qt5-webengine/files/patch-src_3rdparty_chromium_services_tracing_public_cpp_perfetto_trace__event__data__source.cc @@ -1,11 +0,0 @@ ---- src/3rdparty/chromium/services/tracing/public/cpp/perfetto/trace_event_data_source.cc.orig 2020-03-16 14:04:24 UTC -+++ src/3rdparty/chromium/services/tracing/public/cpp/perfetto/trace_event_data_source.cc -@@ -102,7 +102,7 @@ void WriteMetadataProto(ChromeMetadataPacket* metadata - #endif // defined(OS_ANDROID) && defined(OFFICIAL_BUILD) - } - --#if defined(OS_LINUX) || defined(OS_ANDROID) || defined(OS_FUCHSIA) -+#if defined(OS_LINUX) || defined(OS_ANDROID) || defined(OS_FUCHSIA) || defined(OS_BSD) - // Linux, Android, and Fuchsia all use CLOCK_MONOTONIC. See crbug.com/166153 - // about efforts to unify base::TimeTicks across all platforms. - constexpr perfetto::protos::pbzero::ClockSnapshot::Clock::BuiltinClocks Index: www/qt5-webengine/files/patch-src_3rdparty_chromium_third__party_abseil-cpp_base_internal_unscaledcycleclock.cc =================================================================== --- www/qt5-webengine/files/patch-src_3rdparty_chromium_third__party_abseil-cpp_base_internal_unscaledcycleclock.cc +++ www/qt5-webengine/files/patch-src_3rdparty_chromium_third__party_abseil-cpp_base_internal_unscaledcycleclock.cc @@ -1,20 +0,0 @@ ---- src/3rdparty/chromium/third_party/abseil-cpp/absl/base/internal/unscaledcycleclock.cc.orig 2019-05-23 14:39:34.000000000 +0200 -+++ src/3rdparty/chromium/third_party/abseil-cpp/absl/base/internal/unscaledcycleclock.cc 2019-10-27 21:56:29.777821000 +0100 -@@ -20,7 +20,7 @@ - #include - #endif - --#if defined(__powerpc__) || defined(__ppc__) -+#if (defined(__powerpc__) || defined(__ppc__)) && defined(__GLIBC__) - #include - #endif - -@@ -53,7 +53,7 @@ - return base_internal::NominalCPUFrequency(); - } - --#elif defined(__powerpc__) || defined(__ppc__) -+#elif (defined(__powerpc__) || defined(__ppc__)) && defined(__GLIBC__) - - int64_t UnscaledCycleClock::Now() { - return __ppc_get_timebase(); Index: www/qt5-webengine/files/patch-src_3rdparty_chromium_third__party_angle_BUILD.gn =================================================================== --- www/qt5-webengine/files/patch-src_3rdparty_chromium_third__party_angle_BUILD.gn +++ www/qt5-webengine/files/patch-src_3rdparty_chromium_third__party_angle_BUILD.gn @@ -1,7 +1,7 @@ ---- src/3rdparty/chromium/third_party/angle/BUILD.gn.orig 2020-04-08 09:41:36 UTC +--- src/3rdparty/chromium/third_party/angle/BUILD.gn.orig 2020-11-07 01:22:36 UTC +++ src/3rdparty/chromium/third_party/angle/BUILD.gn -@@ -381,7 +381,8 @@ angle_static_library("angle_gpu_info_util") { - if (is_linux || is_fuchsia) { +@@ -354,7 +354,8 @@ angle_static_library("angle_gpu_info_util") { + if (is_linux) { sources += libangle_gpu_info_util_linux_sources - if (angle_use_x11) { @@ -10,7 +10,7 @@ sources += libangle_gpu_info_util_x11_sources deps += [ "src/third_party/libXNVCtrl:libXNVCtrl" ] defines += [ "GPU_INFO_USE_X11" ] -@@ -389,6 +390,7 @@ angle_static_library("angle_gpu_info_util") { +@@ -362,6 +363,7 @@ angle_static_library("angle_gpu_info_util") { "X11", "Xi", "Xext", @@ -18,14 +18,3 @@ ] } } -@@ -1107,10 +1109,6 @@ foreach(is_shared_library, - - if (is_linux) { - sources += util_linux_sources -- libs += [ -- "rt", -- "dl", -- ] - } - - if (is_mac) { Index: www/qt5-webengine/files/patch-src_3rdparty_chromium_third__party_angle_src_libANGLE_Display.cpp =================================================================== --- www/qt5-webengine/files/patch-src_3rdparty_chromium_third__party_angle_src_libANGLE_Display.cpp +++ www/qt5-webengine/files/patch-src_3rdparty_chromium_third__party_angle_src_libANGLE_Display.cpp @@ -1,6 +1,33 @@ ---- src/3rdparty/chromium/third_party/angle/src/libANGLE/Display.cpp.orig 2020-04-08 09:41:36 UTC +--- src/3rdparty/chromium/third_party/angle/src/libANGLE/Display.cpp.orig 2020-11-07 01:22:36 UTC +++ src/3rdparty/chromium/third_party/angle/src/libANGLE/Display.cpp -@@ -269,7 +269,7 @@ rx::DisplayImpl *CreateDisplayFromAttribs(const Attrib +@@ -54,7 +54,7 @@ + # include "libANGLE/renderer/gl/cgl/DisplayCGL.h" + # elif defined(ANGLE_PLATFORM_IOS) + # include "libANGLE/renderer/gl/eagl/DisplayEAGL.h" +-# elif defined(ANGLE_PLATFORM_LINUX) ++# elif defined(ANGLE_PLATFORM_POSIX) + # if defined(ANGLE_USE_OZONE) + # include "libANGLE/renderer/gl/egl/ozone/DisplayOzone.h" + # else +@@ -252,7 +252,7 @@ rx::DisplayImpl *CreateDisplayFromAttribs(EGLAttrib di + impl = new rx::DisplayCGL(state); + # elif defined(ANGLE_PLATFORM_IOS) + impl = new rx::DisplayEAGL(state); +-# elif defined(ANGLE_PLATFORM_LINUX) ++# elif defined(ANGLE_PLATFORM_POSIX) + # if defined(ANGLE_USE_OZONE) + // This might work but has never been tried, so disallow for now. + impl = nullptr; +@@ -284,7 +284,7 @@ rx::DisplayImpl *CreateDisplayFromAttribs(EGLAttrib di + #if defined(ANGLE_ENABLE_OPENGL) + # if defined(ANGLE_PLATFORM_WINDOWS) + impl = new rx::DisplayWGL(state); +-# elif defined(ANGLE_PLATFORM_LINUX) ++# elif defined(ANGLE_PLATFORM_POSIX) + # if defined(ANGLE_USE_OZONE) + impl = new rx::DisplayOzone(state); + # else +@@ -315,7 +315,7 @@ rx::DisplayImpl *CreateDisplayFromAttribs(EGLAttrib di { impl = rx::CreateVulkanWin32Display(state); } @@ -9,3 +36,12 @@ if (rx::IsVulkanXcbDisplayAvailable()) { impl = rx::CreateVulkanXcbDisplay(state); +@@ -1387,7 +1387,7 @@ static ClientExtensions GenerateClientExtensions() + extensions.x11Visual = true; + #endif + +-#if defined(ANGLE_PLATFORM_LINUX) && !defined(ANGLE_USE_OZONE) ++#if defined(ANGLE_PLATFORM_POSIX) && !defined(ANGLE_USE_OZONE) + extensions.platformANGLEDeviceTypeEGLANGLE = true; + #endif + Index: www/qt5-webengine/files/patch-src_3rdparty_chromium_third__party_angle_src_libANGLE_renderer_driver__utils.cpp =================================================================== --- www/qt5-webengine/files/patch-src_3rdparty_chromium_third__party_angle_src_libANGLE_renderer_driver__utils.cpp +++ www/qt5-webengine/files/patch-src_3rdparty_chromium_third__party_angle_src_libANGLE_renderer_driver__utils.cpp @@ -0,0 +1,52 @@ +--- src/3rdparty/chromium/third_party/angle/src/libANGLE/renderer/driver_utils.cpp.orig 2020-11-07 01:22:36 UTC ++++ src/3rdparty/chromium/third_party/angle/src/libANGLE/renderer/driver_utils.cpp +@@ -16,7 +16,7 @@ + # include + #endif + +-#if defined(ANGLE_PLATFORM_LINUX) ++#if defined(ANGLE_PLATFORM_POSIX) + # include + #endif + +@@ -206,7 +206,7 @@ OSVersion GetMacOSVersion() + } + #endif + +-#if defined(ANGLE_PLATFORM_LINUX) ++#if defined(ANGLE_PLATFORM_POSIX) + bool ParseLinuxOSVersion(const char *version, int *major, int *minor, int *patch) + { + errno = 0; // reset global error flag. +@@ -218,6 +218,14 @@ bool ParseLinuxOSVersion(const char *version, int *maj + } + + *minor = static_cast(strtol(next + 1, &next, 10)); ++#if defined(__FreeBSD__) ++ if (next == nullptr || *next != '-' || errno != 0) ++ { ++ return false; ++ } ++ ++ *patch = 0; ++#else + if (next == nullptr || *next != '.' || errno != 0) + { + return false; +@@ -228,6 +236,7 @@ bool ParseLinuxOSVersion(const char *version, int *maj + { + return false; + } ++#endif + + return true; + } +@@ -235,7 +244,7 @@ bool ParseLinuxOSVersion(const char *version, int *maj + + OSVersion GetLinuxOSVersion() + { +-#if defined(ANGLE_PLATFORM_LINUX) ++#if defined(ANGLE_PLATFORM_POSIX) + struct utsname uname_info; + if (uname(&uname_info) != 0) + { Index: www/qt5-webengine/files/patch-src_3rdparty_chromium_third__party_blink_renderer_bindings_scripts_bind__gen_style__format.py =================================================================== --- www/qt5-webengine/files/patch-src_3rdparty_chromium_third__party_blink_renderer_bindings_scripts_bind__gen_style__format.py +++ www/qt5-webengine/files/patch-src_3rdparty_chromium_third__party_blink_renderer_bindings_scripts_bind__gen_style__format.py @@ -0,0 +1,12 @@ +--- src/3rdparty/chromium/third_party/blink/renderer/bindings/scripts/bind_gen/style_format.py.orig 2020-11-07 01:22:36 UTC ++++ src/3rdparty/chromium/third_party/blink/renderer/bindings/scripts/bind_gen/style_format.py +@@ -29,6 +29,9 @@ def init(root_src_dir): + elif sys.platform.startswith(("cygwin", "win")): + platform = "win" + exe_suffix = ".exe" ++ elif sys.platform.startswith("freebsd"): ++ platform = "freebsd" ++ exe_suffix = "" + else: + assert False, "Unknown platform: {}".format(sys.platform) + buildtools_platform_dir = os.path.join(root_src_dir, "buildtools", Index: www/qt5-webengine/files/patch-src_3rdparty_chromium_third__party_blink_renderer_controller_blink__initializer.cc =================================================================== --- www/qt5-webengine/files/patch-src_3rdparty_chromium_third__party_blink_renderer_controller_blink__initializer.cc +++ www/qt5-webengine/files/patch-src_3rdparty_chromium_third__party_blink_renderer_controller_blink__initializer.cc @@ -0,0 +1,34 @@ +--- src/3rdparty/chromium/third_party/blink/renderer/controller/blink_initializer.cc.orig 2020-11-07 01:22:36 UTC ++++ src/3rdparty/chromium/third_party/blink/renderer/controller/blink_initializer.cc +@@ -65,11 +65,11 @@ + #include "third_party/blink/renderer/controller/oom_intervention_impl.h" + #endif + +-#if defined(OS_LINUX) ++#if defined(OS_LINUX) || defined(OS_BSD) + #include "third_party/blink/renderer/controller/memory_usage_monitor_posix.h" + #endif + +-#if defined(OS_LINUX) || defined(OS_ANDROID) || defined(OS_MACOSX) || \ ++#if defined(OS_LINUX) || defined(OS_ANDROID) || defined(OS_MACOSX) || defined(OS_BSD) || \ + defined(OS_WIN) + #include "third_party/blink/renderer/controller/highest_pmf_reporter.h" + #include "third_party/blink/renderer/controller/user_level_memory_pressure_signal_generator.h" +@@ -146,7 +146,7 @@ void InitializeCommon(Platform* platform, mojo::Binder + CrashMemoryMetricsReporterImpl::Instance(); + #endif + +-#if defined(OS_LINUX) || defined(OS_ANDROID) || defined(OS_MACOSX) || \ ++#if defined(OS_LINUX) || defined(OS_ANDROID) || defined(OS_MACOSX) || defined(OS_BSD) || \ + defined(OS_WIN) + // Initialize UserLevelMemoryPressureSignalGenerator so it starts monitoring. + if (UserLevelMemoryPressureSignalGenerator::Enabled()) +@@ -192,7 +192,7 @@ void BlinkInitializer::RegisterInterfaces(mojo::Binder + &CrashMemoryMetricsReporterImpl::Bind)), + main_thread->GetTaskRunner()); + #endif +-#if defined(OS_LINUX) ++#if defined(OS_LINUX) || defined(OS_BSD) + binders.Add(ConvertToBaseRepeatingCallback( + CrossThreadBindRepeating(&MemoryUsageMonitorPosix::Bind)), + main_thread->GetTaskRunner()); Index: www/qt5-webengine/files/patch-src_3rdparty_chromium_third__party_blink_renderer_controller_memory__usage__monitor__posix.h =================================================================== --- www/qt5-webengine/files/patch-src_3rdparty_chromium_third__party_blink_renderer_controller_memory__usage__monitor__posix.h +++ www/qt5-webengine/files/patch-src_3rdparty_chromium_third__party_blink_renderer_controller_memory__usage__monitor__posix.h @@ -0,0 +1,47 @@ +--- src/3rdparty/chromium/third_party/blink/renderer/controller/memory_usage_monitor_posix.h.orig 2020-11-07 01:22:36 UTC ++++ src/3rdparty/chromium/third_party/blink/renderer/controller/memory_usage_monitor_posix.h +@@ -12,7 +12,7 @@ + #include "third_party/blink/renderer/controller/controller_export.h" + #include "third_party/blink/renderer/controller/memory_usage_monitor.h" + +-#if defined(OS_LINUX) ++#if defined(OS_LINUX) || defined(OS_BSD) + #include "third_party/blink/public/mojom/memory_usage_monitor_linux.mojom-blink.h" + #endif + +@@ -21,7 +21,7 @@ namespace blink { + // MemoryUsageMonitor implementation for Android and Linux. + class CONTROLLER_EXPORT MemoryUsageMonitorPosix + : public MemoryUsageMonitor +-#if defined(OS_LINUX) ++#if defined(OS_LINUX) || defined(OS_BSD) + , + public mojom::blink::MemoryUsageMonitorLinux + #endif +@@ -29,7 +29,7 @@ class CONTROLLER_EXPORT MemoryUsageMonitorPosix + public: + MemoryUsageMonitorPosix() = default; + +-#if defined(OS_LINUX) ++#if defined(OS_LINUX) || defined(OS_BSD) + static void Bind( + mojo::PendingReceiver receiver); + #endif +@@ -47,7 +47,7 @@ class CONTROLLER_EXPORT MemoryUsageMonitorPosix + uint64_t* vm_size, + uint64_t* vm_hwm_size); + +-#if defined(OS_LINUX) ++#if defined(OS_LINUX) || defined(OS_BSD) + // mojom::MemoryUsageMonitorLinux implementations: + void SetProcFiles(base::File statm_file, base::File status_file) override; + #endif +@@ -65,7 +65,7 @@ class CONTROLLER_EXPORT MemoryUsageMonitorPosix + base::ScopedFD statm_fd_; + base::ScopedFD status_fd_; + +-#if defined(OS_LINUX) ++#if defined(OS_LINUX) || defined(OS_BSD) + mojo::Receiver receiver_{this}; + #endif + }; Index: www/qt5-webengine/files/patch-src_3rdparty_chromium_third__party_blink_renderer_controller_memory__usage__monitor__posix.cc =================================================================== --- www/qt5-webengine/files/patch-src_3rdparty_chromium_third__party_blink_renderer_controller_memory__usage__monitor__posix.cc +++ www/qt5-webengine/files/patch-src_3rdparty_chromium_third__party_blink_renderer_controller_memory__usage__monitor__posix.cc @@ -0,0 +1,11 @@ +--- src/3rdparty/chromium/third_party/blink/renderer/controller/memory_usage_monitor_posix.cc.orig 2020-11-07 01:22:36 UTC ++++ src/3rdparty/chromium/third_party/blink/renderer/controller/memory_usage_monitor_posix.cc +@@ -134,7 +134,7 @@ void MemoryUsageMonitorPosix::SetProcFiles(base::File + status_fd_.reset(status_file.TakePlatformFile()); + } + +-#if defined(OS_LINUX) ++#if defined(OS_LINUX) || defined(OS_BSD) + // static + void MemoryUsageMonitorPosix::Bind( + mojo::PendingReceiver receiver) { Index: www/qt5-webengine/files/patch-src_3rdparty_chromium_third__party_blink_renderer_platform_graphics_video__frame__submitter.cc =================================================================== --- www/qt5-webengine/files/patch-src_3rdparty_chromium_third__party_blink_renderer_platform_graphics_video__frame__submitter.cc +++ www/qt5-webengine/files/patch-src_3rdparty_chromium_third__party_blink_renderer_platform_graphics_video__frame__submitter.cc @@ -0,0 +1,11 @@ +--- src/3rdparty/chromium/third_party/blink/renderer/platform/graphics/video_frame_submitter.cc.orig 2020-11-07 01:22:36 UTC ++++ src/3rdparty/chromium/third_party/blink/renderer/platform/graphics/video_frame_submitter.cc +@@ -187,7 +187,7 @@ void VideoFrameSubmitter::OnBeginFrame( + if (viz::FrameTokenGT(pair.key, *next_frame_token_)) + continue; + +-#ifdef OS_LINUX ++#if defined(OS_LINUX) || defined(OS_BSD) + // TODO: On Linux failure flag is unreliable, and perfectly rendered frames + // are reported as failures all the time. + bool presentation_failure = false; Index: www/qt5-webengine/files/patch-src_3rdparty_chromium_third__party_pdfium_core_fxge_fx__ge__linux.cpp =================================================================== --- www/qt5-webengine/files/patch-src_3rdparty_chromium_third__party_pdfium_core_fxge_fx__ge__linux.cpp +++ www/qt5-webengine/files/patch-src_3rdparty_chromium_third__party_pdfium_core_fxge_fx__ge__linux.cpp @@ -7,8 +7,8 @@ - pInfo->AddPath("/usr/share/fonts"); - pInfo->AddPath("/usr/share/X11/fonts/Type1"); - pInfo->AddPath("/usr/share/X11/fonts/TTF"); -+ pInfo->AddPath("/usr/local/share/fonts/Type1"); -+ pInfo->AddPath("/usr/local/share/fonts/TTF"); ++ pInfo->AddPath("%%LOCALBASE%%/share/fonts/Type1"); ++ pInfo->AddPath("%%LOCALBASE%%/share/fonts/TTF"); pInfo->AddPath("/usr/local/share/fonts"); } return std::move(pInfo); Index: www/qt5-webengine/files/patch-src_3rdparty_chromium_third__party_pdfium_third__party_base_allocator_partition__allocator_page__allocator.cc =================================================================== --- www/qt5-webengine/files/patch-src_3rdparty_chromium_third__party_pdfium_third__party_base_allocator_partition__allocator_page__allocator.cc +++ www/qt5-webengine/files/patch-src_3rdparty_chromium_third__party_pdfium_third__party_base_allocator_partition__allocator_page__allocator.cc @@ -1,11 +0,0 @@ ---- src/3rdparty/chromium/third_party/pdfium/third_party/base/allocator/partition_allocator/page_allocator.cc.orig 2019-11-27 21:12:25 UTC -+++ src/3rdparty/chromium/third_party/pdfium/third_party/base/allocator/partition_allocator/page_allocator.cc -@@ -117,7 +117,7 @@ void* AllocPages(void* address, - uintptr_t align_base_mask = ~align_offset_mask; - DCHECK(!(reinterpret_cast(address) & align_offset_mask)); - --#if defined(OS_LINUX) && defined(ARCH_CPU_64_BITS) -+#if (defined(OS_LINUX) || defined(OS_BSD)) && defined(ARCH_CPU_64_BITS) - // On 64 bit Linux, we may need to adjust the address space limit for - // guarded allocations. - if (length >= kMinimumGuardedMemorySize) { Index: www/qt5-webengine/files/patch-src_3rdparty_chromium_third__party_pdfium_third__party_base_allocator_partition__allocator_page__allocator__internals__posix.h =================================================================== --- www/qt5-webengine/files/patch-src_3rdparty_chromium_third__party_pdfium_third__party_base_allocator_partition__allocator_page__allocator__internals__posix.h +++ www/qt5-webengine/files/patch-src_3rdparty_chromium_third__party_pdfium_third__party_base_allocator_partition__allocator_page__allocator__internals__posix.h @@ -1,38 +1,11 @@ ---- src/3rdparty/chromium/third_party/pdfium/third_party/base/allocator/partition_allocator/page_allocator_internals_posix.h.orig 2019-11-27 21:12:25 UTC +--- src/3rdparty/chromium/third_party/pdfium/third_party/base/allocator/partition_allocator/page_allocator_internals_posix.h.orig 2020-11-07 01:22:36 UTC +++ src/3rdparty/chromium/third_party/pdfium/third_party/base/allocator/partition_allocator/page_allocator_internals_posix.h -@@ -13,7 +13,7 @@ - #if defined(OS_MACOSX) - #include +@@ -16,7 +16,7 @@ + #if defined(OS_ANDROID) + #include #endif -#if defined(OS_LINUX) +#if defined(OS_LINUX) || defined(OS_BSD) #include #include -@@ -48,7 +48,7 @@ int GetAccessFlags(PageAccessibilityConfiguration acce - } - } - --#if defined(OS_LINUX) && defined(ARCH_CPU_64_BITS) -+#if (defined(OS_LINUX) || defined(OS_BSD)) && defined(ARCH_CPU_64_BITS) - - // Multiple guarded memory regions may exceed the process address space limit. - // This function will raise or lower the limit by |amount|. -@@ -68,7 +68,7 @@ bool AdjustAddressSpaceLimit(int64_t amount) { - // schemes that reduce that to 4 GiB. - constexpr size_t kMinimumGuardedMemorySize = 1ULL << 32; // 4 GiB - --#endif // defined(OS_LINUX) && defined(ARCH_CPU_64_BITS) -+#endif // (defined(OS_LINUX) || defined(OS_BSD)) && defined(ARCH_CPU_64_BITS) - - void* SystemAllocPagesInternal(void* hint, - size_t length, -@@ -134,7 +134,7 @@ void SetSystemPagesAccessInternal( - void FreePagesInternal(void* address, size_t length) { - CHECK(!munmap(address, length)); - --#if defined(OS_LINUX) && defined(ARCH_CPU_64_BITS) -+#if (defined(OS_LINUX) || defined(OS_BSD)) && defined(ARCH_CPU_64_BITS) - // Restore the address space limit. - if (length >= kMinimumGuardedMemorySize) { - CHECK(AdjustAddressSpaceLimit(-base::checked_cast(length))); Index: www/qt5-webengine/files/patch-src_3rdparty_chromium_third__party_pdfium_xfa_fgas_font_cfx__fontsourceenum__file.cpp =================================================================== --- www/qt5-webengine/files/patch-src_3rdparty_chromium_third__party_pdfium_xfa_fgas_font_cfx__fontsourceenum__file.cpp +++ www/qt5-webengine/files/patch-src_3rdparty_chromium_third__party_pdfium_xfa_fgas_font_cfx__fontsourceenum__file.cpp @@ -7,8 +7,8 @@ - "/usr/share/fonts", - "/usr/share/X11/fonts/Type1", - "/usr/share/X11/fonts/TTF", -+ "/usr/local/share/fonts/Type1", -+ "/usr/local/share/fonts/TTF", ++ "%%LOCALBASE%%/share/fonts/Type1", ++ "%%LOCALBASE%%/share/fonts/TTF", "/usr/local/share/fonts", #elif defined(OS_MACOSX) "~/Library/Fonts", Index: www/qt5-webengine/files/patch-src_3rdparty_chromium_third__party_perfetto_include_perfetto_base_build__config.h =================================================================== --- www/qt5-webengine/files/patch-src_3rdparty_chromium_third__party_perfetto_include_perfetto_base_build__config.h +++ www/qt5-webengine/files/patch-src_3rdparty_chromium_third__party_perfetto_include_perfetto_base_build__config.h @@ -1,4 +1,4 @@ ---- src/3rdparty/chromium/third_party/perfetto/include/perfetto/base/build_config.h.orig 2019-11-27 21:12:25 UTC +--- src/3rdparty/chromium/third_party/perfetto/include/perfetto/base/build_config.h.orig 2020-11-07 01:22:36 UTC +++ src/3rdparty/chromium/third_party/perfetto/include/perfetto/base/build_config.h @@ -28,6 +28,7 @@ #define PERFETTO_BUILDFLAG_DEFINE_PERFETTO_OS_ANDROID() 1 @@ -8,7 +8,7 @@ #define PERFETTO_BUILDFLAG_DEFINE_PERFETTO_OS_WIN() 0 #define PERFETTO_BUILDFLAG_DEFINE_PERFETTO_OS_WASM() 0 #define PERFETTO_BUILDFLAG_DEFINE_PERFETTO_OS_FUCHSIA() 0 -@@ -35,13 +36,15 @@ +@@ -37,6 +38,7 @@ #define PERFETTO_BUILDFLAG_DEFINE_PERFETTO_OS_ANDROID() 0 #define PERFETTO_BUILDFLAG_DEFINE_PERFETTO_OS_MACOSX() 1 #define PERFETTO_BUILDFLAG_DEFINE_PERFETTO_OS_LINUX() 0 @@ -16,16 +16,27 @@ #define PERFETTO_BUILDFLAG_DEFINE_PERFETTO_OS_WIN() 0 #define PERFETTO_BUILDFLAG_DEFINE_PERFETTO_OS_WASM() 0 #define PERFETTO_BUILDFLAG_DEFINE_PERFETTO_OS_FUCHSIA() 0 --#elif defined(__linux__) -+#elif defined(__linux__) || defined(__FreeBSD__) +@@ -50,15 +52,27 @@ #define PERFETTO_BUILDFLAG_DEFINE_PERFETTO_OS_ANDROID() 0 #define PERFETTO_BUILDFLAG_DEFINE_PERFETTO_OS_MACOSX() 0 #define PERFETTO_BUILDFLAG_DEFINE_PERFETTO_OS_LINUX() 1 -+#define PERFETTO_BUILDFLAG_DEFINE_PERFETTO_OS_FREEBSD() 1 ++#define PERFETTO_BUILDFLAG_DEFINE_PERFETTO_OS_FREEBSD() 0 #define PERFETTO_BUILDFLAG_DEFINE_PERFETTO_OS_WIN() 0 #define PERFETTO_BUILDFLAG_DEFINE_PERFETTO_OS_WASM() 0 #define PERFETTO_BUILDFLAG_DEFINE_PERFETTO_OS_FUCHSIA() 0 -@@ -49,6 +52,7 @@ + #define PERFETTO_BUILDFLAG_DEFINE_PERFETTO_OS_NACL() 0 + #define PERFETTO_BUILDFLAG_DEFINE_PERFETTO_OS_IOS() 0 ++#elif defined(__FreeBSD__) ++#define PERFETTO_BUILDFLAG_DEFINE_PERFETTO_OS_ANDROID() 0 ++#define PERFETTO_BUILDFLAG_DEFINE_PERFETTO_OS_MACOSX() 0 ++#define PERFETTO_BUILDFLAG_DEFINE_PERFETTO_OS_LINUX() 1 ++#define PERFETTO_BUILDFLAG_DEFINE_PERFETTO_OS_FREEBSD() 1 ++#define PERFETTO_BUILDFLAG_DEFINE_PERFETTO_OS_WIN() 0 ++#define PERFETTO_BUILDFLAG_DEFINE_PERFETTO_OS_WASM() 0 ++#define PERFETTO_BUILDFLAG_DEFINE_PERFETTO_OS_FUCHSIA() 0 ++#define PERFETTO_BUILDFLAG_DEFINE_PERFETTO_OS_NACL() 0 ++#define PERFETTO_BUILDFLAG_DEFINE_PERFETTO_OS_IOS() 0 + #elif defined(_WIN32) #define PERFETTO_BUILDFLAG_DEFINE_PERFETTO_OS_ANDROID() 0 #define PERFETTO_BUILDFLAG_DEFINE_PERFETTO_OS_MACOSX() 0 #define PERFETTO_BUILDFLAG_DEFINE_PERFETTO_OS_LINUX() 0 @@ -33,7 +44,7 @@ #define PERFETTO_BUILDFLAG_DEFINE_PERFETTO_OS_WIN() 1 #define PERFETTO_BUILDFLAG_DEFINE_PERFETTO_OS_WASM() 0 #define PERFETTO_BUILDFLAG_DEFINE_PERFETTO_OS_FUCHSIA() 0 -@@ -56,6 +60,7 @@ +@@ -68,6 +82,7 @@ #define PERFETTO_BUILDFLAG_DEFINE_PERFETTO_OS_ANDROID() 0 #define PERFETTO_BUILDFLAG_DEFINE_PERFETTO_OS_MACOSX() 0 #define PERFETTO_BUILDFLAG_DEFINE_PERFETTO_OS_LINUX() 0 @@ -41,7 +52,7 @@ #define PERFETTO_BUILDFLAG_DEFINE_PERFETTO_OS_WIN() 0 #define PERFETTO_BUILDFLAG_DEFINE_PERFETTO_OS_WASM() 1 #define PERFETTO_BUILDFLAG_DEFINE_PERFETTO_OS_FUCHSIA() 0 -@@ -63,6 +68,7 @@ +@@ -77,6 +92,7 @@ #define PERFETTO_BUILDFLAG_DEFINE_PERFETTO_OS_ANDROID() 0 #define PERFETTO_BUILDFLAG_DEFINE_PERFETTO_OS_MACOSX() 0 #define PERFETTO_BUILDFLAG_DEFINE_PERFETTO_OS_LINUX() 0 @@ -49,3 +60,11 @@ #define PERFETTO_BUILDFLAG_DEFINE_PERFETTO_OS_WIN() 0 #define PERFETTO_BUILDFLAG_DEFINE_PERFETTO_OS_WASM() 0 #define PERFETTO_BUILDFLAG_DEFINE_PERFETTO_OS_FUCHSIA() 1 +@@ -86,6 +102,7 @@ + #define PERFETTO_BUILDFLAG_DEFINE_PERFETTO_OS_ANDROID() 0 + #define PERFETTO_BUILDFLAG_DEFINE_PERFETTO_OS_MACOSX() 0 + #define PERFETTO_BUILDFLAG_DEFINE_PERFETTO_OS_LINUX() 0 ++#define PERFETTO_BUILDFLAG_DEFINE_PERFETTO_OS_FREEBSD() 0 + #define PERFETTO_BUILDFLAG_DEFINE_PERFETTO_OS_WIN() 0 + #define PERFETTO_BUILDFLAG_DEFINE_PERFETTO_OS_WASM() 0 + #define PERFETTO_BUILDFLAG_DEFINE_PERFETTO_OS_FUCHSIA() 0 Index: www/qt5-webengine/files/patch-src_3rdparty_chromium_third__party_perfetto_include_perfetto_base_thread__utils.h =================================================================== --- www/qt5-webengine/files/patch-src_3rdparty_chromium_third__party_perfetto_include_perfetto_base_thread__utils.h +++ www/qt5-webengine/files/patch-src_3rdparty_chromium_third__party_perfetto_include_perfetto_base_thread__utils.h @@ -0,0 +1,24 @@ +--- src/3rdparty/chromium/third_party/perfetto/include/perfetto/base/thread_utils.h.orig 2020-11-07 01:22:36 UTC ++++ src/3rdparty/chromium/third_party/perfetto/include/perfetto/base/thread_utils.h +@@ -33,6 +33,9 @@ + #include + #include + #endif ++#if PERFETTO_BUILDFLAG(PERFETTO_OS_FREEBSD) ++#include ++#endif + + namespace perfetto { + namespace base { +@@ -41,6 +44,11 @@ namespace base { + using PlatformThreadId = pid_t; + inline PlatformThreadId GetThreadId() { + return gettid(); ++} ++#elif PERFETTO_BUILDFLAG(PERFETTO_OS_FREEBSD) ++using PlatformThreadId = pid_t; ++inline PlatformThreadId GetThreadId() { ++ return pthread_getthreadid_np(); + } + #elif PERFETTO_BUILDFLAG(PERFETTO_OS_LINUX) + using PlatformThreadId = pid_t; Index: www/qt5-webengine/files/patch-src_3rdparty_chromium_third__party_perfetto_include_perfetto_ext_base_thread__utils.h =================================================================== --- www/qt5-webengine/files/patch-src_3rdparty_chromium_third__party_perfetto_include_perfetto_ext_base_thread__utils.h +++ www/qt5-webengine/files/patch-src_3rdparty_chromium_third__party_perfetto_include_perfetto_ext_base_thread__utils.h @@ -1,24 +0,0 @@ ---- src/3rdparty/chromium/third_party/perfetto/include/perfetto/ext/base/thread_utils.h.orig 2019-11-27 21:12:25 UTC -+++ src/3rdparty/chromium/third_party/perfetto/include/perfetto/ext/base/thread_utils.h -@@ -33,6 +33,9 @@ - #include - #include - #endif -+#if PERFETTO_BUILDFLAG(PERFETTO_OS_FREEBSD) -+#include -+#endif - - namespace perfetto { - namespace base { -@@ -41,6 +44,11 @@ namespace base { - using PlatformThreadID = pid_t; - inline PlatformThreadID GetThreadId() { - return gettid(); -+} -+#elif PERFETTO_BUILDFLAG(PERFETTO_OS_FREEBSD) -+using PlatformThreadID = int; -+inline PlatformThreadID GetThreadId() { -+ return pthread_getthreadid_np(); - } - #elif PERFETTO_BUILDFLAG(PERFETTO_OS_LINUX) - using PlatformThreadID = pid_t; Index: www/qt5-webengine/files/patch-src_3rdparty_chromium_third__party_perfetto_src_base_subprocess.cc =================================================================== --- www/qt5-webengine/files/patch-src_3rdparty_chromium_third__party_perfetto_src_base_subprocess.cc +++ www/qt5-webengine/files/patch-src_3rdparty_chromium_third__party_perfetto_src_base_subprocess.cc @@ -0,0 +1,24 @@ +--- src/3rdparty/chromium/third_party/perfetto/src/base/subprocess.cc.orig 2020-11-07 01:22:36 UTC ++++ src/3rdparty/chromium/third_party/perfetto/src/base/subprocess.cc +@@ -31,8 +31,8 @@ + #include "perfetto/base/time.h" + #include "perfetto/ext/base/utils.h" + +-#if PERFETTO_BUILDFLAG(PERFETTO_OS_LINUX) || \ +- PERFETTO_BUILDFLAG(PERFETTO_OS_ANDROID) ++#if !PERFETTO_BUILDFLAG(PERFETTO_OS_FREEBSD) && (PERFETTO_BUILDFLAG(PERFETTO_OS_LINUX) || \ ++ PERFETTO_BUILDFLAG(PERFETTO_OS_ANDROID)) + #include + #endif + +@@ -56,8 +56,8 @@ struct ChildProcessArgs { + // Don't add any dynamic allocation in this function. This will be invoked + // under a fork(), potentially in a state where the allocator lock is held. + void __attribute__((noreturn)) ChildProcess(ChildProcessArgs* args) { +-#if PERFETTO_BUILDFLAG(PERFETTO_OS_LINUX) || \ +- PERFETTO_BUILDFLAG(PERFETTO_OS_ANDROID) ++#if !PERFETTO_BUILDFLAG(PERFETTO_OS_FREEBSD) && (PERFETTO_BUILDFLAG(PERFETTO_OS_LINUX) || \ ++ PERFETTO_BUILDFLAG(PERFETTO_OS_ANDROID)) + // In no case we want a child process to outlive its parent process. This is + // relevant for tests, so that a test failure/crash doesn't leave child + // processes around that get reparented to init. Index: www/qt5-webengine/files/patch-src_3rdparty_chromium_third__party_perfetto_src_base_thread__task__runner.cc =================================================================== --- www/qt5-webengine/files/patch-src_3rdparty_chromium_third__party_perfetto_src_base_thread__task__runner.cc +++ www/qt5-webengine/files/patch-src_3rdparty_chromium_third__party_perfetto_src_base_thread__task__runner.cc @@ -0,0 +1,20 @@ +--- src/3rdparty/chromium/third_party/perfetto/src/base/thread_task_runner.cc.orig 2020-11-07 01:22:36 UTC ++++ src/3rdparty/chromium/third_party/perfetto/src/base/thread_task_runner.cc +@@ -27,7 +27,7 @@ + #include "perfetto/base/logging.h" + #include "perfetto/ext/base/unix_task_runner.h" + +-#if PERFETTO_BUILDFLAG(PERFETTO_OS_LINUX) || \ ++#if (PERFETTO_BUILDFLAG(PERFETTO_OS_LINUX) && !PERFETTO_BUILDFLAG(PERFETTO_OS_FREEBSD)) || \ + PERFETTO_BUILDFLAG(PERFETTO_OS_ANDROID) + #include + #endif +@@ -84,6 +84,8 @@ void ThreadTaskRunner::RunTaskThread( + if (!name_.empty()) { + #if PERFETTO_BUILDFLAG(PERFETTO_OS_MACOSX) + pthread_setname_np(name_.c_str()); ++#elif PERFETTO_BUILDFLAG(PERFETTO_OS_FREEBSD) ++ pthread_set_name_np(pthread_self(), name_.c_str()); + #elif PERFETTO_BUILDFLAG(PERFETTO_OS_LINUX) || \ + PERFETTO_BUILDFLAG(PERFETTO_OS_ANDROID) + prctl(PR_SET_NAME, name_.c_str()); Index: www/qt5-webengine/files/patch-src_3rdparty_chromium_third__party_perfetto_src_base_unix__socket.cc =================================================================== --- www/qt5-webengine/files/patch-src_3rdparty_chromium_third__party_perfetto_src_base_unix__socket.cc +++ www/qt5-webengine/files/patch-src_3rdparty_chromium_third__party_perfetto_src_base_unix__socket.cc @@ -1,12 +1,20 @@ ---- src/3rdparty/chromium/third_party/perfetto/src/base/unix_socket.cc.orig 2019-11-27 21:12:25 UTC +--- src/3rdparty/chromium/third_party/perfetto/src/base/unix_socket.cc.orig 2020-11-07 01:22:36 UTC +++ src/3rdparty/chromium/third_party/perfetto/src/base/unix_socket.cc -@@ -523,7 +523,8 @@ void UnixSocket::DoConnect(const std::string& socket_n +@@ -37,7 +37,7 @@ + #include "perfetto/ext/base/string_utils.h" + #include "perfetto/ext/base/utils.h" - void UnixSocket::ReadPeerCredentials() { - #if PERFETTO_BUILDFLAG(PERFETTO_OS_LINUX) || \ -- PERFETTO_BUILDFLAG(PERFETTO_OS_ANDROID) -+ PERFETTO_BUILDFLAG(PERFETTO_OS_ANDROID) || \ -+ PERFETTO_BUILDFLAG(PERFETTO_OS_FREEBSD) +-#if PERFETTO_BUILDFLAG(PERFETTO_OS_MACOSX) ++#if PERFETTO_BUILDFLAG(PERFETTO_OS_MACOSX) || PERFETTO_BUILDFLAG(PERFETTO_OS_FREEBSD) + #include + #endif + +@@ -601,7 +601,7 @@ void UnixSocket::ReadPeerCredentials() { + if (sock_raw_.family() != SockFamily::kUnix) + return; + +-#if PERFETTO_BUILDFLAG(PERFETTO_OS_LINUX) || \ ++#if (PERFETTO_BUILDFLAG(PERFETTO_OS_LINUX) && !PERFETTO_BUILDFLAG(PERFETTO_OS_FREEBSD)) || \ + PERFETTO_BUILDFLAG(PERFETTO_OS_ANDROID) struct ucred user_cred; socklen_t len = sizeof(user_cred); - int fd = sock_raw_.fd(); Index: www/qt5-webengine/files/patch-src_3rdparty_chromium_third__party_perfetto_src_tracing_core_tracing__service__impl.cc =================================================================== --- www/qt5-webengine/files/patch-src_3rdparty_chromium_third__party_perfetto_src_tracing_core_tracing__service__impl.cc +++ www/qt5-webengine/files/patch-src_3rdparty_chromium_third__party_perfetto_src_tracing_core_tracing__service__impl.cc @@ -1,12 +1,10 @@ ---- src/3rdparty/chromium/third_party/perfetto/src/tracing/core/tracing_service_impl.cc.orig 2019-11-27 21:12:25 UTC +--- src/3rdparty/chromium/third_party/perfetto/src/tracing/core/tracing_service_impl.cc.orig 2020-11-07 01:22:36 UTC +++ src/3rdparty/chromium/third_party/perfetto/src/tracing/core/tracing_service_impl.cc -@@ -2136,7 +2136,8 @@ void TracingServiceImpl::SnapshotClocks(std::vector -Date: Sat, 8 Feb 2020 21:26:53 -0500 -Subject: [PATCH] Fix compile error emitted by trunk clang - -../../third_party/perfetto/src/tracing/core/virtual_destructors.cc:33:35: -error: destructor cannot be declared using a type alias - 'perfetto::TracingService::ConsumerEndpoint' (aka - 'perfetto::ConsumerEndpoint') of the class name -TracingService::ConsumerEndpoint::~ConsumerEndpoint() = default; - -Bug: chromium:1050372 -Change-Id: Icc1a8cca06b72ee3322924dc0825ebb62086f730 - ---- src/3rdparty/chromium/third_party/perfetto/src/tracing/core/virtual_destructors.cc.orig 2020-08-24 08:13:26 UTC -+++ src/3rdparty/chromium/third_party/perfetto/src/tracing/core/virtual_destructors.cc -@@ -30,8 +30,8 @@ namespace perfetto { - Consumer::~Consumer() = default; - Producer::~Producer() = default; - TracingService::~TracingService() = default; --TracingService::ConsumerEndpoint::~ConsumerEndpoint() = default; --TracingService::ProducerEndpoint::~ProducerEndpoint() = default; -+ConsumerEndpoint::~ConsumerEndpoint() = default; -+ProducerEndpoint::~ProducerEndpoint() = default; - SharedMemory::~SharedMemory() = default; - SharedMemory::Factory::~Factory() = default; - SharedMemoryArbiter::~SharedMemoryArbiter() = default; Index: www/qt5-webengine/files/patch-src_3rdparty_chromium_third__party_skia_include_private_GrTypesPriv.h =================================================================== --- www/qt5-webengine/files/patch-src_3rdparty_chromium_third__party_skia_include_private_GrTypesPriv.h +++ www/qt5-webengine/files/patch-src_3rdparty_chromium_third__party_skia_include_private_GrTypesPriv.h @@ -1,12 +0,0 @@ ---- src/3rdparty/chromium/third_party/skia/include/private/GrTypesPriv.h.orig 2019-05-23 12:39:34 UTC -+++ src/3rdparty/chromium/third_party/skia/include/private/GrTypesPriv.h -@@ -65,9 +65,6 @@ enum GrPixelConfig { - static const int kGrPixelConfigCnt = kLast_GrPixelConfig + 1; - - // Aliases for pixel configs that match skia's byte order. --#ifndef SK_CPU_LENDIAN --#error "Skia gpu currently assumes little endian" --#endif - #if SK_PMCOLOR_BYTE_ORDER(B,G,R,A) - static const GrPixelConfig kSkia8888_GrPixelConfig = kBGRA_8888_GrPixelConfig; - #elif SK_PMCOLOR_BYTE_ORDER(R,G,B,A) Index: www/qt5-webengine/files/patch-src_3rdparty_chromium_third__party_webrtc_common__audio_wav__header.cc =================================================================== --- www/qt5-webengine/files/patch-src_3rdparty_chromium_third__party_webrtc_common__audio_wav__header.cc +++ www/qt5-webengine/files/patch-src_3rdparty_chromium_third__party_webrtc_common__audio_wav__header.cc @@ -1,30 +0,0 @@ ---- src/3rdparty/chromium/third_party/webrtc/common_audio/wav_header.cc.orig 2019-05-23 12:39:34 UTC -+++ src/3rdparty/chromium/third_party/webrtc/common_audio/wav_header.cc -@@ -86,7 +86,26 @@ static inline std::string ReadFourCC(uint32_t x) { - return std::string(reinterpret_cast(&x), 4); - } - #else --#error "Write be-to-le conversion functions" -+static inline void WriteLE16(uint16_t* f, uint16_t x) { -+ *f = __builtin_bswap16(x); -+} -+static inline void WriteLE32(uint32_t* f, uint32_t x) { -+ *f = __builtin_bswap32(x); -+} -+static inline void WriteFourCC(uint32_t* f, char a, char b, char c, char d) { -+ *f = static_cast(d) | static_cast(c) << 8 | -+ static_cast(b) << 16 | static_cast(a) << 24; -+} -+ -+static inline uint16_t ReadLE16(uint16_t x) { -+ return __builtin_bswap16(x); -+} -+static inline uint32_t ReadLE32(uint32_t x) { -+ return __builtin_bswap32(x); -+} -+static inline std::string ReadFourCC(uint32_t x) { -+ return std::string(reinterpret_cast(&x), 4); -+} - #endif - - static inline uint32_t RiffChunkSize(size_t bytes_in_payload) { Index: www/qt5-webengine/files/patch-src_3rdparty_chromium_third__party_webrtc_rtc__base_network.cc =================================================================== --- www/qt5-webengine/files/patch-src_3rdparty_chromium_third__party_webrtc_rtc__base_network.cc +++ www/qt5-webengine/files/patch-src_3rdparty_chromium_third__party_webrtc_rtc__base_network.cc @@ -1,29 +1,15 @@ ---- src/3rdparty/chromium/third_party/webrtc/rtc_base/network.cc.orig 2018-11-13 18:25:11 UTC +--- src/3rdparty/chromium/third_party/webrtc/rtc_base/network.cc.orig 2020-11-07 01:22:36 UTC +++ src/3rdparty/chromium/third_party/webrtc/rtc_base/network.cc -@@ -14,7 +14,7 @@ - // linux/if.h can't be included at the same time as the posix sys/if.h, and - // it's transitively required by linux/route.h, so include that version on - // linux instead of the standard posix one. --#if defined(WEBRTC_LINUX) -+#if defined(WEBRTC_LINUX) && !defined(WEBRTC_BSD) - #include - #include - #elif !defined(__native_client__) -@@ -764,7 +764,7 @@ bool BasicNetworkManager::CreateNetworks(bool include_ +@@ -222,7 +222,12 @@ AdapterType GetAdapterTypeFromName(const char* network + } + #endif + ++#if defined(WEBRTC_BSD) ++ // Treat all other network interface names as ethernet on BSD ++ return ADAPTER_TYPE_ETHERNET; ++#else + return ADAPTER_TYPE_UNKNOWN; ++#endif } - #endif // WEBRTC_WIN --#if defined(WEBRTC_LINUX) -+#if defined(WEBRTC_LINUX) && !defined(WEBRTC_BSD) - bool IsDefaultRoute(const std::string& network_name) { - FileStream fs; - if (!fs.Open("/proc/net/route", "r", nullptr)) { -@@ -805,7 +805,7 @@ bool BasicNetworkManager::IsIgnoredNetwork(const Netwo - strncmp(network.name().c_str(), "vboxnet", 7) == 0) { - return true; - } --#if defined(WEBRTC_LINUX) -+#if defined(WEBRTC_LINUX) && !defined(WEBRTC_BSD) - // Make sure this is a default route, if we're ignoring non-defaults. - if (ignore_non_default_routes_ && !IsDefaultRoute(network.name())) { - return true; + NetworkManager::NetworkManager() {} Index: www/qt5-webengine/files/patch-src_3rdparty_chromium_third__party_webrtc_rtc__base_physical__socket__server.cc =================================================================== --- www/qt5-webengine/files/patch-src_3rdparty_chromium_third__party_webrtc_rtc__base_physical__socket__server.cc +++ www/qt5-webengine/files/patch-src_3rdparty_chromium_third__party_webrtc_rtc__base_physical__socket__server.cc @@ -1,4 +1,4 @@ ---- src/3rdparty/chromium/third_party/webrtc/rtc_base/physical_socket_server.cc.orig 2019-10-21 08:14:54 UTC +--- src/3rdparty/chromium/third_party/webrtc/rtc_base/physical_socket_server.cc.orig 2020-11-07 01:22:36 UTC +++ src/3rdparty/chromium/third_party/webrtc/rtc_base/physical_socket_server.cc @@ -51,7 +51,7 @@ #include "rtc_base/null_socket_server.h" @@ -18,16 +18,16 @@ int64_t GetSocketRecvTimestamp(int socket) { struct timeval tv_ioctl; -@@ -290,7 +290,7 @@ int PhysicalSocket::GetOption(Option opt, int* value) - socklen_t optlen = sizeof(*value); - int ret = ::getsockopt(s_, slevel, sopt, (SockOptArg)value, &optlen); - if (ret != -1 && opt == OPT_DONTFRAGMENT) { +@@ -292,7 +292,7 @@ int PhysicalSocket::GetOption(Option opt, int* value) + return -1; + } + if (opt == OPT_DONTFRAGMENT) { -#if defined(WEBRTC_LINUX) && !defined(WEBRTC_ANDROID) +#if defined(WEBRTC_LINUX) && !defined(WEBRTC_ANDROID) && !defined(WEBRTC_BSD) *value = (*value != IP_PMTUDISC_DONT) ? 1 : 0; #endif - } -@@ -303,7 +303,7 @@ int PhysicalSocket::SetOption(Option opt, int value) { + } else if (opt == OPT_DSCP) { +@@ -310,7 +310,7 @@ int PhysicalSocket::SetOption(Option opt, int value) { if (TranslateOption(opt, &slevel, &sopt) == -1) return -1; if (opt == OPT_DONTFRAGMENT) { @@ -35,26 +35,8 @@ +#if defined(WEBRTC_LINUX) && !defined(WEBRTC_ANDROID) && !defined(WEBRTC_BSD) value = (value) ? IP_PMTUDISC_DO : IP_PMTUDISC_DONT; #endif - } -@@ -313,7 +313,7 @@ int PhysicalSocket::SetOption(Option opt, int value) { - int PhysicalSocket::Send(const void* pv, size_t cb) { - int sent = DoSend( - s_, reinterpret_cast(pv), static_cast(cb), --#if defined(WEBRTC_LINUX) && !defined(WEBRTC_ANDROID) -+#if defined(WEBRTC_LINUX) && !defined(WEBRTC_ANDROID) && !defined(WEBRTC_BSD) - // Suppress SIGPIPE. Without this, attempting to send on a socket whose - // other end is closed will result in a SIGPIPE signal being raised to - // our process, which by default will terminate the process, which we -@@ -342,7 +342,7 @@ int PhysicalSocket::SendTo(const void* buffer, - size_t len = addr.ToSockAddrStorage(&saddr); - int sent = - DoSendTo(s_, static_cast(buffer), static_cast(length), --#if defined(WEBRTC_LINUX) && !defined(WEBRTC_ANDROID) -+#if defined(WEBRTC_LINUX) && !defined(WEBRTC_ANDROID) && !defined(WEBRTC_BSD) - // Suppress SIGPIPE. See above for explanation. - MSG_NOSIGNAL, - #else -@@ -533,7 +533,7 @@ int PhysicalSocket::TranslateOption(Option opt, int* s + } else if (opt == OPT_DSCP) { +@@ -551,7 +551,7 @@ int PhysicalSocket::TranslateOption(Option opt, int* s *slevel = IPPROTO_IP; *sopt = IP_DONTFRAGMENT; break; Index: www/qt5-webengine/files/patch-src_3rdparty_chromium_third__party_zlib_arm__features.c =================================================================== --- www/qt5-webengine/files/patch-src_3rdparty_chromium_third__party_zlib_arm__features.c +++ www/qt5-webengine/files/patch-src_3rdparty_chromium_third__party_zlib_arm__features.c @@ -1,48 +0,0 @@ ---- src/3rdparty/chromium/third_party/zlib/arm_features.c.orig 2020-03-22 20:03:48 UTC -+++ src/3rdparty/chromium/third_party/zlib/arm_features.c -@@ -12,7 +12,7 @@ - int ZLIB_INTERNAL arm_cpu_enable_crc32 = 0; - int ZLIB_INTERNAL arm_cpu_enable_pmull = 0; - --#if defined(ARMV8_OS_ANDROID) || defined(ARMV8_OS_LINUX) || defined(ARMV8_OS_FUCHSIA) -+#if defined(ARMV8_OS_ANDROID) || defined(ARMV8_OS_LINUX) || defined(ARMV8_OS_FUCHSIA) || defined(ARMV8_OS_FREEBSD) - #include - #endif - -@@ -27,13 +27,22 @@ int ZLIB_INTERNAL arm_cpu_enable_pmull = 0; - #include - #elif defined(ARMV8_OS_WINDOWS) - #include -+#elif defined(ARMV8_OS_FREEBSD) -+#include -+#include -+#ifndef ID_AA64ISAR0_AES_VAL -+#define ID_AA64ISAR0_AES_VAL ID_AA64ISAR0_AES -+#endif -+#ifndef ID_AA64ISAR0_CRC32_VAL -+#define ID_AA64ISAR0_CRC32_VAL ID_AA64ISAR0_CRC32 -+#endif - #else - #error arm_features.c ARM feature detection in not defined for your platform - #endif - - static void _arm_check_features(void); - --#if defined(ARMV8_OS_ANDROID) || defined(ARMV8_OS_LINUX) || defined(ARMV8_OS_FUCHSIA) -+#if defined(ARMV8_OS_ANDROID) || defined(ARMV8_OS_LINUX) || defined(ARMV8_OS_FUCHSIA) || defined(ARMV8_OS_FREEBSD) - static pthread_once_t cpu_check_inited_once = PTHREAD_ONCE_INIT; - void ZLIB_INTERNAL arm_check_features(void) - { -@@ -86,5 +95,12 @@ static void _arm_check_features(void) - #elif defined(ARMV8_OS_WINDOWS) - arm_cpu_enable_crc32 = IsProcessorFeaturePresent(PF_ARM_V8_CRC32_INSTRUCTIONS_AVAILABLE); - arm_cpu_enable_pmull = IsProcessorFeaturePresent(PF_ARM_V8_CRYPTO_INSTRUCTIONS_AVAILABLE); -+#elif defined(ARMV8_OS_FREEBSD) -+ uint64_t id_aa64isar0; -+ id_aa64isar0 = READ_SPECIALREG(id_aa64isar0_el1); -+ if (ID_AA64ISAR0_AES_VAL(id_aa64isar0) == ID_AA64ISAR0_AES_PMULL) -+ arm_cpu_enable_pmull = 1; -+ if (ID_AA64ISAR0_CRC32_VAL(id_aa64isar0) == ID_AA64ISAR0_CRC32_BASE) -+ arm_cpu_enable_crc32 = 1; - #endif - } Index: www/qt5-webengine/files/patch-src_3rdparty_chromium_third__party_zlib_cpu__features.c =================================================================== --- www/qt5-webengine/files/patch-src_3rdparty_chromium_third__party_zlib_cpu__features.c +++ www/qt5-webengine/files/patch-src_3rdparty_chromium_third__party_zlib_cpu__features.c @@ -0,0 +1,55 @@ +--- src/3rdparty/chromium/third_party/zlib/cpu_features.c.orig 2020-11-07 01:22:36 UTC ++++ src/3rdparty/chromium/third_party/zlib/cpu_features.c +@@ -24,11 +24,20 @@ int ZLIB_INTERNAL x86_cpu_enable_simd = 0; + + #ifndef CPU_NO_SIMD + +-#if defined(ARMV8_OS_ANDROID) || defined(ARMV8_OS_LINUX) || defined(ARMV8_OS_FUCHSIA) ++#if defined(ARMV8_OS_ANDROID) || defined(ARMV8_OS_LINUX) || defined(ARMV8_OS_FUCHSIA) || defined(ARMV8_OS_FREEBSD) + #include + #endif + +-#if defined(ARMV8_OS_ANDROID) ++#if defined(ARMV8_OS_FREEBSD) ++#include ++#include ++#ifndef ID_AA64ISAR0_AES_VAL ++#define ID_AA64ISAR0_AES_VAL ID_AA64ISAR0_AES ++#endif ++#ifndef ID_AA64ISAR0_CRC32_VAL ++#define ID_AA64ISAR0_CRC32_VAL ID_AA64ISAR0_CRC32 ++#endif ++#elif defined(ARMV8_OS_ANDROID) + #include + #elif defined(ARMV8_OS_LINUX) + #include +@@ -49,7 +58,7 @@ int ZLIB_INTERNAL x86_cpu_enable_simd = 0; + static void _cpu_check_features(void); + #endif + +-#if defined(ARMV8_OS_ANDROID) || defined(ARMV8_OS_LINUX) || defined(ARMV8_OS_FUCHSIA) || defined(X86_NOT_WINDOWS) ++#if defined(ARMV8_OS_ANDROID) || defined(ARMV8_OS_LINUX) || defined(ARMV8_OS_FUCHSIA) || defined(X86_NOT_WINDOWS) || defined(ARMV8_OS_FREEBSD) + static pthread_once_t cpu_check_inited_once = PTHREAD_ONCE_INIT; + void ZLIB_INTERNAL cpu_check_features(void) + { +@@ -108,6 +117,13 @@ static void _cpu_check_features(void) + #elif defined(ARMV8_OS_WINDOWS) + arm_cpu_enable_crc32 = IsProcessorFeaturePresent(PF_ARM_V8_CRC32_INSTRUCTIONS_AVAILABLE); + arm_cpu_enable_pmull = IsProcessorFeaturePresent(PF_ARM_V8_CRYPTO_INSTRUCTIONS_AVAILABLE); ++#elif defined(ARMV8_OS_FREEBSD) ++ uint64_t id_aa64isar0; ++ id_aa64isar0 = READ_SPECIALREG(id_aa64isar0_el1); ++ if (ID_AA64ISAR0_AES_VAL(id_aa64isar0) == ID_AA64ISAR0_AES_PMULL) ++ arm_cpu_enable_pmull = 1; ++ if (ID_AA64ISAR0_CRC32_VAL(id_aa64isar0) == ID_AA64ISAR0_CRC32_BASE) ++ arm_cpu_enable_crc32 = 1; + #endif + } + #endif +@@ -145,4 +161,4 @@ static void _cpu_check_features(void) + } + #endif + #endif +-#endif +\ No newline at end of file ++#endif Index: www/qt5-webengine/files/patch-src_3rdparty_chromium_tools_perf_chrome__telemetry__build_BUILD.gn =================================================================== --- www/qt5-webengine/files/patch-src_3rdparty_chromium_tools_perf_chrome__telemetry__build_BUILD.gn +++ www/qt5-webengine/files/patch-src_3rdparty_chromium_tools_perf_chrome__telemetry__build_BUILD.gn @@ -1,11 +1,11 @@ ---- src/3rdparty/chromium/tools/perf/chrome_telemetry_build/BUILD.gn.orig 2018-11-13 18:25:11 UTC +--- src/3rdparty/chromium/tools/perf/chrome_telemetry_build/BUILD.gn.orig 2020-11-07 01:22:36 UTC +++ src/3rdparty/chromium/tools/perf/chrome_telemetry_build/BUILD.gn -@@ -44,7 +44,7 @@ group("telemetry_chrome_test") { +@@ -47,7 +47,7 @@ group("telemetry_chrome_test") { data_deps += [ "//chrome:reorder_imports" ] } - if (is_linux) { + if (is_linux && !is_bsd) { - data_deps += [ "//third_party/breakpad:dump_syms($host_toolchain)" ] - } - + data_deps += [ + "//third_party/breakpad:dump_syms($host_toolchain)", + "//third_party/crashpad/crashpad/tools:crashpad_database_util", Index: www/qt5-webengine/files/patch-src_3rdparty_chromium_tools_variations_fieldtrial__to__struct.py =================================================================== --- www/qt5-webengine/files/patch-src_3rdparty_chromium_tools_variations_fieldtrial__to__struct.py +++ www/qt5-webengine/files/patch-src_3rdparty_chromium_tools_variations_fieldtrial__to__struct.py @@ -1,10 +1,10 @@ ---- src/3rdparty/chromium/tools/variations/fieldtrial_to_struct.py.orig 2019-05-23 12:39:34 UTC +--- src/3rdparty/chromium/tools/variations/fieldtrial_to_struct.py.orig 2020-11-07 01:22:36 UTC +++ src/3rdparty/chromium/tools/variations/fieldtrial_to_struct.py -@@ -24,6 +24,7 @@ finally: - _platforms = [ - 'android', - 'android_webview', -+ 'freebsd', - 'chromeos', - 'fuchsia', - 'ios', +@@ -35,6 +35,7 @@ _platforms = [ + 'android_weblayer', + 'android_webview', + 'chromeos', ++ 'freebsd', + 'fuchsia', + 'ios', + 'linux', Index: www/qt5-webengine/files/patch-src_3rdparty_chromium_ui_base_resource_data__pack.cc =================================================================== --- www/qt5-webengine/files/patch-src_3rdparty_chromium_ui_base_resource_data__pack.cc +++ www/qt5-webengine/files/patch-src_3rdparty_chromium_ui_base_resource_data__pack.cc @@ -1,8 +1,8 @@ ---- src/3rdparty/chromium/ui/base/resource/data_pack.cc.orig 2019-10-27 17:39:58 UTC +--- src/3rdparty/chromium/ui/base/resource/data_pack.cc.orig 2020-11-07 01:22:36 UTC +++ src/3rdparty/chromium/ui/base/resource/data_pack.cc -@@ -154,16 +154,42 @@ class ScopedFileWriter { - DISALLOW_COPY_AND_ASSIGN(ScopedFileWriter); - }; +@@ -165,16 +165,42 @@ bool MmapHasGzipHeader(const base::MemoryMappedFile* m + return header_status == net::GZipHeader::COMPLETE_HEADER; + } +static inline uint16_t byteswap(uint16_t v) { return __builtin_bswap16(v); } +static inline uint32_t byteswap(uint32_t v) { return __builtin_bswap32(v); } @@ -45,7 +45,7 @@ uint16_t key = *reinterpret_cast(void_key); const Entry* entry = reinterpret_cast(void_entry); return key - entry->resource_id; -@@ -171,10 +197,11 @@ struct DataPack::Entry { +@@ -182,10 +208,11 @@ struct DataPack::Entry { }; struct DataPack::Alias { @@ -59,7 +59,7 @@ uint16_t key = *reinterpret_cast(void_key); const Alias* entry = reinterpret_cast(void_entry); return key - entry->resource_id; -@@ -284,7 +311,7 @@ bool DataPack::LoadImpl(std::unique_ptr sizeof(version)) @@ -68,7 +68,7 @@ size_t header_length = version == kFileFormatV4 ? kHeaderLengthV4 : kHeaderLengthV5; if (version == 0 || data_length < header_length) { -@@ -295,14 +322,14 @@ bool DataPack::LoadImpl(std::unique_ptr& resources, TextEncodingType text_encoding_type) { @@ -109,7 +109,7 @@ if (text_encoding_type != UTF8 && text_encoding_type != UTF16 && text_encoding_type != BINARY) { LOG(ERROR) << "Invalid text encoding type, got " << text_encoding_type -@@ -467,7 +497,7 @@ bool DataPack::WritePack(const base::FilePath& path, +@@ -511,7 +529,7 @@ bool DataPack::WritePack(const base::FilePath& path, if (!file.valid()) return false; @@ -118,7 +118,7 @@ // Build a list of final resource aliases, and an alias map at the same time. std::vector resource_ids; -@@ -494,13 +524,14 @@ bool DataPack::WritePack(const base::FilePath& path, +@@ -538,13 +556,14 @@ bool DataPack::WritePack(const base::FilePath& path, // These values are guaranteed to fit in a uint16_t due to the earlier // check of |resources_count|. @@ -137,7 +137,7 @@ file.Write(&entry_count, sizeof(entry_count)); file.Write(&alias_count, sizeof(alias_count)); -@@ -508,8 +539,8 @@ bool DataPack::WritePack(const base::FilePath& path, +@@ -552,8 +571,8 @@ bool DataPack::WritePack(const base::FilePath& path, // last item so we can compute the size of the list item. const uint32_t index_length = (entry_count + 1) * sizeof(Entry); const uint32_t alias_table_length = alias_count * sizeof(Alias); @@ -148,7 +148,7 @@ file.Write(&resource_id, sizeof(resource_id)); file.Write(&data_offset, sizeof(data_offset)); data_offset += resources.find(resource_id)->second.length(); -@@ -517,13 +548,13 @@ bool DataPack::WritePack(const base::FilePath& path, +@@ -561,13 +580,13 @@ bool DataPack::WritePack(const base::FilePath& path, // We place an extra entry after the last item that allows us to read the // size of the last item. @@ -159,8 +159,8 @@ // Write the aliases table, if any. Note: |aliases| is an std::map, // ensuring values are written in increasing order. -- for (const std::pair& alias : aliases) { -+ for (const std::pair alias : aliases) { +- for (const std::pair& alias : aliases) { ++ for (const std::pair& alias : aliases) { file.Write(&alias, sizeof(alias)); } Index: www/qt5-webengine/files/patch-src_3rdparty_chromium_ui_base_ui__base__features.cc =================================================================== --- www/qt5-webengine/files/patch-src_3rdparty_chromium_ui_base_ui__base__features.cc +++ www/qt5-webengine/files/patch-src_3rdparty_chromium_ui_base_ui__base__features.cc @@ -1,7 +1,7 @@ ---- src/3rdparty/chromium/ui/base/ui_base_features.cc.orig 2018-11-13 18:25:11 UTC +--- src/3rdparty/chromium/ui/base/ui_base_features.cc.orig 2020-11-07 01:22:36 UTC +++ src/3rdparty/chromium/ui/base/ui_base_features.cc -@@ -120,7 +120,7 @@ const base::Feature kPrecisionTouchpadScrollPhase{ - "PrecisionTouchpadScrollPhase", base::FEATURE_ENABLED_BY_DEFAULT}; +@@ -121,7 +121,7 @@ const base::Feature kPrecisionTouchpadLogging{ + "PrecisionTouchpadLogging", base::FEATURE_DISABLED_BY_DEFAULT}; #endif // defined(OS_WIN) -#if defined(OS_WIN) || defined(OS_MACOSX) || defined(OS_LINUX) @@ -9,12 +9,21 @@ // Enables stylus appearing as touch when in contact with digitizer. const base::Feature kDirectManipulationStylus = { "DirectManipulationStylus", -@@ -130,7 +130,7 @@ const base::Feature kDirectManipulationStylus = { +@@ -131,7 +131,7 @@ const base::Feature kDirectManipulationStylus = { base::FEATURE_DISABLED_BY_DEFAULT #endif }; -#endif // defined(OS_WIN) || defined(OS_MACOSX) || defined(OS_LINUX) +#endif // defined(OS_WIN) || defined(OS_MACOSX) || defined(OS_LINUX) || defined(OS_BSD) - const base::Feature kMash = {"Mash", base::FEATURE_DISABLED_BY_DEFAULT}; - + // Enables forced colors mode for web content. + const base::Feature kForcedColors{"ForcedColors", +@@ -157,7 +157,7 @@ bool IsEyeDropperEnabled() { + // crbug.com/1012106 for the Windows launch bug, and crbug.com/1012108 for the + // Mac launch bug. + const base::Feature kFormControlsRefresh = {"FormControlsRefresh", +-#if defined(OS_WIN) || defined(OS_CHROMEOS) || defined(OS_LINUX) || \ ++#if defined(OS_WIN) || defined(OS_CHROMEOS) || defined(OS_LINUX) || defined(OS_BSD) || \ + defined(OS_MACOSX) + base::FEATURE_ENABLED_BY_DEFAULT + #else Index: www/qt5-webengine/files/patch-src_3rdparty_chromium_ui_base_x_x11__shm__image__pool.cc =================================================================== --- www/qt5-webengine/files/patch-src_3rdparty_chromium_ui_base_x_x11__shm__image__pool.cc +++ www/qt5-webengine/files/patch-src_3rdparty_chromium_ui_base_x_x11__shm__image__pool.cc @@ -0,0 +1,43 @@ +--- src/3rdparty/chromium/ui/base/x/x11_shm_image_pool.cc.orig 2020-11-07 01:22:36 UTC ++++ src/3rdparty/chromium/ui/base/x/x11_shm_image_pool.cc +@@ -16,6 +16,7 @@ + #include "base/environment.h" + #include "base/location.h" + #include "base/strings/string_util.h" ++#include "base/system/sys_info.h" + #include "base/threading/thread_task_runner_handle.h" + #include "build/build_config.h" + #include "net/base/url_util.h" +@@ -44,10 +45,14 @@ constexpr float kShmResizeShrinkThreshold = + 1.0f / (kShmResizeThreshold * kShmResizeThreshold); + + std::size_t MaxShmSegmentSizeImpl() { ++#if defined(OS_BSD) ++ return base::SysInfo::MaxSharedMemorySize(); ++#else + struct shminfo info; + if (shmctl(0, IPC_INFO, reinterpret_cast(&info)) == -1) + return 0; + return info.shmmax; ++#endif + } + + std::size_t MaxShmSegmentSize() { +@@ -201,7 +206,7 @@ bool XShmImagePool::Resize(const gfx::Size& pixel_size + shmctl(state.shminfo_.shmid, IPC_RMID, nullptr); + return false; + } +-#if defined(OS_LINUX) ++#if defined(OS_LINUX) || defined(OS_BSD) + // On Linux, a shmid can still be attached after IPC_RMID if otherwise + // kept alive. Detach before XShmAttach to prevent a memory leak in case + // the process dies. +@@ -211,7 +216,7 @@ bool XShmImagePool::Resize(const gfx::Size& pixel_size + if (!XShmAttach(display_, &state.shminfo_)) + return false; + state.shmem_attached_to_server_ = true; +-#if !defined(OS_LINUX) ++#if (!defined(OS_LINUX) && !defined(OS_BSD)) + // The Linux-specific shmctl behavior above may not be portable, so we're + // forced to do IPC_RMID after the server has attached to the segment. + // XShmAttach is asynchronous, so we must also sync. Index: www/qt5-webengine/files/patch-src_3rdparty_chromium_ui_base_x_x11__shm__image__pool__base.cc =================================================================== --- www/qt5-webengine/files/patch-src_3rdparty_chromium_ui_base_x_x11__shm__image__pool__base.cc +++ www/qt5-webengine/files/patch-src_3rdparty_chromium_ui_base_x_x11__shm__image__pool__base.cc @@ -1,43 +0,0 @@ ---- src/3rdparty/chromium/ui/base/x/x11_shm_image_pool_base.cc.orig 2020-04-08 09:41:36 UTC -+++ src/3rdparty/chromium/ui/base/x/x11_shm_image_pool_base.cc -@@ -16,6 +16,7 @@ - #include "base/environment.h" - #include "base/location.h" - #include "base/strings/string_util.h" -+#include "base/system/sys_info.h" - #include "base/threading/thread_task_runner_handle.h" - #include "build/build_config.h" - #include "ui/events/platform/platform_event_dispatcher.h" -@@ -43,10 +44,14 @@ constexpr float kShmResizeShrinkThreshold = - 1.0f / (kShmResizeThreshold * kShmResizeThreshold); - - std::size_t MaxShmSegmentSizeImpl() { -+#if defined(OS_BSD) -+ return base::SysInfo::MaxSharedMemorySize(); -+#else - struct shminfo info; - if (shmctl(0, IPC_INFO, reinterpret_cast(&info)) == -1) - return 0; - return info.shmmax; -+#endif - } - - std::size_t MaxShmSegmentSize() { -@@ -172,7 +177,7 @@ bool XShmImagePoolBase::Resize(const gfx::Size& pixel_ - shmctl(state.shminfo_.shmid, IPC_RMID, 0); - return false; - } --#if defined(OS_LINUX) -+#if defined(OS_LINUX) || defined(OS_BSD) - // On Linux, a shmid can still be attached after IPC_RMID if otherwise - // kept alive. Detach before XShmAttach to prevent a memory leak in case - // the process dies. -@@ -182,7 +187,7 @@ bool XShmImagePoolBase::Resize(const gfx::Size& pixel_ - if (!XShmAttach(display_, &state.shminfo_)) - return false; - state.shmem_attached_to_server_ = true; --#if !defined(OS_LINUX) -+#if !defined(OS_LINUX) && !defined(OS_BSD) - // The Linux-specific shmctl behavior above may not be portable, so we're - // forced to do IPC_RMID after the server has attached to the segment. - // XShmAttach is asynchronous, so we must also sync. Index: www/qt5-webengine/files/patch-src_3rdparty_chromium_ui_compositor_host_host__context__factory__private.cc =================================================================== --- www/qt5-webengine/files/patch-src_3rdparty_chromium_ui_compositor_host_host__context__factory__private.cc +++ www/qt5-webengine/files/patch-src_3rdparty_chromium_ui_compositor_host_host__context__factory__private.cc @@ -1,11 +0,0 @@ ---- src/3rdparty/chromium/ui/compositor/host/host_context_factory_private.cc.orig 2020-03-16 14:04:24 UTC -+++ src/3rdparty/chromium/ui/compositor/host/host_context_factory_private.cc -@@ -31,7 +31,7 @@ namespace { - - static const char* kBrowser = "Browser"; - --#if defined(OS_LINUX) && !defined(OS_CHROMEOS) -+#if (defined(OS_LINUX) && !defined(OS_CHROMEOS)) || defined(OS_BSD) - class HostDisplayClient : public viz::HostDisplayClient { - public: - explicit HostDisplayClient(ui::Compositor* compositor) Index: www/qt5-webengine/files/patch-src_3rdparty_chromium_ui_events_keycodes_dom_keycode__converter.cc =================================================================== --- www/qt5-webengine/files/patch-src_3rdparty_chromium_ui_events_keycodes_dom_keycode__converter.cc +++ www/qt5-webengine/files/patch-src_3rdparty_chromium_ui_events_keycodes_dom_keycode__converter.cc @@ -1,11 +1,11 @@ ---- src/3rdparty/chromium/ui/events/keycodes/dom/keycode_converter.cc.orig 2018-11-13 18:25:11 UTC +--- src/3rdparty/chromium/ui/events/keycodes/dom/keycode_converter.cc.orig 2020-11-07 01:22:36 UTC +++ src/3rdparty/chromium/ui/events/keycodes/dom/keycode_converter.cc @@ -20,7 +20,7 @@ namespace { - // and DOM Level 3 |code| strings. #if defined(OS_WIN) - #define USB_KEYMAP(usb, evdev, xkb, win, mac, code, id) {usb, win, code} + #define DOM_CODE(usb, evdev, xkb, win, mac, code, id) \ + { usb, win, code } -#elif defined(OS_LINUX) +#elif defined(OS_LINUX) || defined(OS_BSD) - #define USB_KEYMAP(usb, evdev, xkb, win, mac, code, id) {usb, xkb, code} + #define DOM_CODE(usb, evdev, xkb, win, mac, code, id) \ + { usb, xkb, code } #elif defined(OS_MACOSX) - #define USB_KEYMAP(usb, evdev, xkb, win, mac, code, id) {usb, mac, code} Index: www/qt5-webengine/files/patch-src_3rdparty_chromium_ui_gfx_codec_jpeg__codec.cc =================================================================== --- www/qt5-webengine/files/patch-src_3rdparty_chromium_ui_gfx_codec_jpeg__codec.cc +++ www/qt5-webengine/files/patch-src_3rdparty_chromium_ui_gfx_codec_jpeg__codec.cc @@ -1,6 +1,6 @@ ---- src/3rdparty/chromium/ui/gfx/codec/jpeg_codec.cc.orig 2019-05-23 14:39:34.000000000 +0200 -+++ src/3rdparty/chromium/ui/gfx/codec/jpeg_codec.cc 2019-10-27 22:18:49.231847000 +0100 -@@ -207,16 +207,17 @@ +--- src/3rdparty/chromium/ui/gfx/codec/jpeg_codec.cc.orig 2020-11-07 01:22:36 UTC ++++ src/3rdparty/chromium/ui/gfx/codec/jpeg_codec.cc +@@ -207,6 +207,7 @@ bool JPEGCodec::Decode(const unsigned char* input, siz case JCS_GRAYSCALE: case JCS_RGB: case JCS_YCbCr: @@ -8,25 +8,13 @@ // Choose an output colorspace and return if it is an unsupported one. // Same as JPEGCodec::Encode(), libjpeg-turbo supports all input formats // used by Chromium (i.e. RGBA and BGRA) and we just map the input - // parameters to a colorspace. - if (format == FORMAT_RGBA || -- (format == FORMAT_SkBitmap && SK_R32_SHIFT == 0)) { -+ (format == FORMAT_SkBitmap && SK_PMCOLOR_BYTE_ORDER(R, G, B, A))) { - cinfo->out_color_space = JCS_EXT_RGBX; - cinfo->output_components = 4; - } else if (format == FORMAT_BGRA || -- (format == FORMAT_SkBitmap && SK_B32_SHIFT == 0)) { -+ (format == FORMAT_SkBitmap && SK_PMCOLOR_BYTE_ORDER(B, G, R, A))) { - cinfo->out_color_space = JCS_EXT_BGRX; - cinfo->output_components = 4; - } else { -@@ -224,6 +225,9 @@ +@@ -223,6 +224,9 @@ bool JPEGCodec::Decode(const unsigned char* input, siz + NOTREACHED() << "Invalid pixel format"; return false; } - break; +#else + cinfo.out_color_space = JCS_RGB; +#endif + break; case JCS_CMYK: case JCS_YCCK: - default: Index: www/qt5-webengine/files/patch-src_3rdparty_chromium_ui_gfx_gpu__memory__buffer.h =================================================================== --- www/qt5-webengine/files/patch-src_3rdparty_chromium_ui_gfx_gpu__memory__buffer.h +++ www/qt5-webengine/files/patch-src_3rdparty_chromium_ui_gfx_gpu__memory__buffer.h @@ -1,6 +1,6 @@ ---- src/3rdparty/chromium/ui/gfx/gpu_memory_buffer.h.orig 2019-11-27 21:12:25 UTC +--- src/3rdparty/chromium/ui/gfx/gpu_memory_buffer.h.orig 2020-11-07 01:22:36 UTC +++ src/3rdparty/chromium/ui/gfx/gpu_memory_buffer.h -@@ -16,7 +16,7 @@ +@@ -15,7 +15,7 @@ #include "ui/gfx/geometry/rect.h" #include "ui/gfx/gfx_export.h" @@ -9,10 +9,10 @@ #include "ui/gfx/native_pixmap_handle.h" #elif defined(OS_MACOSX) && !defined(OS_IOS) #include "ui/gfx/mac/io_surface.h" -@@ -65,7 +65,7 @@ struct GFX_EXPORT GpuMemoryBufferHandle { +@@ -69,7 +69,7 @@ struct GFX_EXPORT GpuMemoryBufferHandle { base::UnsafeSharedMemoryRegion region; - uint32_t offset; - int32_t stride; + uint32_t offset = 0; + int32_t stride = 0; -#if defined(OS_LINUX) || defined(OS_FUCHSIA) +#if defined(OS_LINUX) || defined(OS_FUCHSIA) || defined(OS_BSD) NativePixmapHandle native_pixmap_handle; Index: www/qt5-webengine/files/patch-src_3rdparty_chromium_ui_gfx_mojom_buffer__types__mojom__traits.h =================================================================== --- www/qt5-webengine/files/patch-src_3rdparty_chromium_ui_gfx_mojom_buffer__types__mojom__traits.h +++ www/qt5-webengine/files/patch-src_3rdparty_chromium_ui_gfx_mojom_buffer__types__mojom__traits.h @@ -1,29 +0,0 @@ ---- src/3rdparty/chromium/ui/gfx/mojom/buffer_types_mojom_traits.h.orig 2020-03-16 14:04:24 UTC -+++ src/3rdparty/chromium/ui/gfx/mojom/buffer_types_mojom_traits.h -@@ -194,7 +194,7 @@ struct StructTraits - struct StructTraits { -@@ -220,7 +220,7 @@ struct StructTraits - struct StructTraitsusage) && data.ReadFormat(&out->format); - } - --#if defined(OS_LINUX) || defined(USE_OZONE) -+#if defined(OS_LINUX) || defined(OS_BSD) || defined(USE_OZONE) - mojo::ScopedHandle StructTraits< - gfx::mojom::NativePixmapPlaneDataView, - gfx::NativePixmapPlane>::buffer_handle(gfx::NativePixmapPlane& plane) { --#if defined(OS_LINUX) -+#if defined(OS_LINUX) || defined(OS_BSD) - return mojo::WrapPlatformFile(plane.fd.release()); - #elif defined(OS_FUCHSIA) - return mojo::WrapPlatformHandle(mojo::PlatformHandle(std::move(plane.vmo))); --#endif // defined(OS_LINUX) -+#endif // defined(OS_LINUX) || defined(OS_BSD) - } - - bool StructTraits< -@@ -45,7 +45,7 @@ bool StructTraits< - - mojo::PlatformHandle handle = - mojo::UnwrapPlatformHandle(data.TakeBufferHandle()); --#if defined(OS_LINUX) -+#if defined(OS_LINUX) || defined(OS_BSD) - if (!handle.is_fd()) - return false; - out->fd = handle.TakeFD(); -@@ -53,7 +53,7 @@ bool StructTraits< - if (!handle.is_handle()) - return false; - out->vmo = zx::vmo(handle.TakeHandle()); --#endif // defined(OS_LINUX) -+#endif // defined(OS_LINUX) || defined(OS_BSD) - - return true; - } -@@ -62,7 +62,7 @@ bool StructTraits< - gfx::mojom::NativePixmapHandleDataView, - gfx::NativePixmapHandle>::Read(gfx::mojom::NativePixmapHandleDataView data, - gfx::NativePixmapHandle* out) { --#if defined(OS_LINUX) -+#if defined(OS_LINUX) || defined(OS_BSD) - out->modifier = data.modifier(); - #endif - -@@ -75,7 +75,7 @@ bool StructTraits< - - return data.ReadPlanes(&out->planes); - } --#endif // defined(OS_LINUX) || defined(USE_OZONE) -+#endif // defined(OS_LINUX) || defined(OS_BSD) || defined(USE_OZONE) - - gfx::mojom::GpuMemoryBufferPlatformHandlePtr StructTraits< - gfx::mojom::GpuMemoryBufferHandleDataView, -@@ -88,7 +88,7 @@ gfx::mojom::GpuMemoryBufferPlatformHandlePtr StructTra +@@ -33,7 +33,7 @@ gfx::mojom::GpuMemoryBufferPlatformHandlePtr StructTra return gfx::mojom::GpuMemoryBufferPlatformHandle::NewSharedMemoryHandle( std::move(handle.region)); case gfx::NATIVE_PIXMAP: @@ -64,7 +9,7 @@ return gfx::mojom::GpuMemoryBufferPlatformHandle::NewNativePixmapHandle( std::move(handle.native_pixmap_handle)); #else -@@ -164,7 +164,7 @@ bool StructTraitstype = gfx::SHARED_MEMORY_BUFFER; out->region = std::move(platform_handle->get_shared_memory_handle()); return true; Index: www/qt5-webengine/files/patch-src_3rdparty_chromium_ui_gfx_mojom_native__handle__types__mojom__traits.h =================================================================== --- www/qt5-webengine/files/patch-src_3rdparty_chromium_ui_gfx_mojom_native__handle__types__mojom__traits.h +++ www/qt5-webengine/files/patch-src_3rdparty_chromium_ui_gfx_mojom_native__handle__types__mojom__traits.h @@ -0,0 +1,36 @@ +--- src/3rdparty/chromium/ui/gfx/mojom/native_handle_types_mojom_traits.h.orig 2020-11-07 01:22:36 UTC ++++ src/3rdparty/chromium/ui/gfx/mojom/native_handle_types_mojom_traits.h +@@ -14,13 +14,13 @@ + #include "mojo/public/cpp/system/platform_handle.h" + #include "ui/gfx/mojom/native_handle_types.mojom-shared.h" + +-#if defined(OS_LINUX) || defined(USE_OZONE) ++#if defined(OS_LINUX) || defined(OS_BSD) || defined(USE_OZONE) + #include "ui/gfx/native_pixmap_handle.h" + #endif + + namespace mojo { + +-#if defined(OS_LINUX) || defined(USE_OZONE) ++#if defined(OS_LINUX) || defined(OS_BSD) || defined(USE_OZONE) + template <> + struct COMPONENT_EXPORT(GFX_NATIVE_HANDLE_TYPES_SHARED_MOJOM_TRAITS) + StructTraits::buffer_handle(gfx::NativePixmapPlane& plane) { +-#if defined(OS_LINUX) ++#if defined(OS_LINUX) || defined(OS_BSD) + return mojo::PlatformHandle(std::move(plane.fd)); + #elif defined(OS_FUCHSIA) + return mojo::PlatformHandle(std::move(plane.vmo)); +-#endif // defined(OS_LINUX) ++#endif // defined(OS_LINUX) || defined(OS_BSD) + } + + bool StructTraits< +@@ -28,7 +28,7 @@ bool StructTraits< + out->size = data.size(); + + mojo::PlatformHandle handle = data.TakeBufferHandle(); +-#if defined(OS_LINUX) ++#if defined(OS_LINUX) || defined(OS_BSD) + if (!handle.is_fd()) + return false; + out->fd = handle.TakeFD(); +@@ -36,7 +36,7 @@ bool StructTraits< + if (!handle.is_handle()) + return false; + out->vmo = zx::vmo(handle.TakeHandle()); +-#endif // defined(OS_LINUX) ++#endif // defined(OS_LINUX) || defined(OS_BSD) + + return true; + } +@@ -45,7 +45,7 @@ bool StructTraits< + gfx::mojom::NativePixmapHandleDataView, + gfx::NativePixmapHandle>::Read(gfx::mojom::NativePixmapHandleDataView data, + gfx::NativePixmapHandle* out) { +-#if defined(OS_LINUX) ++#if defined(OS_LINUX) || defined(OS_BSD) + out->modifier = data.modifier(); + #endif + +@@ -58,6 +58,6 @@ bool StructTraits< + + return data.ReadPlanes(&out->planes); + } +-#endif // defined(OS_LINUX) || defined(USE_OZONE) ++#endif // defined(OS_LINUX) || defined(OS_BSD) || defined(USE_OZONE) + + } // namespace mojo Index: www/qt5-webengine/files/patch-src_3rdparty_chromium_ui_views_controls_textfield_textfield.cc =================================================================== --- www/qt5-webengine/files/patch-src_3rdparty_chromium_ui_views_controls_textfield_textfield.cc +++ www/qt5-webengine/files/patch-src_3rdparty_chromium_ui_views_controls_textfield_textfield.cc @@ -1,18 +1,18 @@ ---- src/3rdparty/chromium/ui/views/controls/textfield/textfield.cc.orig 2018-11-13 18:25:11 UTC +--- src/3rdparty/chromium/ui/views/controls/textfield/textfield.cc.orig 2020-11-07 01:22:36 UTC +++ src/3rdparty/chromium/ui/views/controls/textfield/textfield.cc -@@ -59,7 +59,7 @@ +@@ -62,7 +62,7 @@ #include "base/win/win_util.h" #endif -#if defined(OS_LINUX) && !defined(OS_CHROMEOS) -+#if (defined(OS_LINUX) || defined(OS_BSD)) && !defined(OS_CHROMEOS) - #include "base/strings/utf_string_conversions.h" ++#if (defined(OS_LINUX) && !defined(OS_CHROMEOS)) || defined(OS_BSD) #include "ui/base/ime/linux/text_edit_command_auralinux.h" #include "ui/base/ime/linux/text_edit_key_bindings_delegate_auralinux.h" -@@ -156,14 +156,14 @@ ui::TextEditCommand GetCommandForKeyEvent(const ui::Ke - case ui::VKEY_BACK: - if (!control) + #endif +@@ -183,14 +183,14 @@ ui::TextEditCommand GetCommandForKeyEvent(const ui::Ke + #endif return ui::TextEditCommand::DELETE_BACKWARD; + } -#if defined(OS_LINUX) +#if defined(OS_LINUX) || defined(OS_BSD) // Only erase by line break on Linux and ChromeOS. @@ -26,7 +26,7 @@ // Only erase by line break on Linux and ChromeOS. if (shift && control) return ui::TextEditCommand::DELETE_TO_END_OF_LINE; -@@ -219,7 +219,7 @@ bool IsControlKeyModifier(int flags) { +@@ -258,7 +258,7 @@ bool IsControlKeyModifier(int flags) { // Control-modified key combination, but we cannot extend it to other platforms // as Control has different meanings and behaviors. // https://crrev.com/2580483002/#msg46 @@ -35,8 +35,8 @@ return flags & ui::EF_CONTROL_DOWN; #else return false; -@@ -669,7 +669,7 @@ bool Textfield::OnMousePressed(const ui::MouseEvent& e - ShowVirtualKeyboardIfEnabled(); +@@ -691,7 +691,7 @@ bool Textfield::OnMousePressed(const ui::MouseEvent& e + #endif } -#if defined(OS_LINUX) && !defined(OS_CHROMEOS) @@ -44,7 +44,7 @@ if (!handled && !had_focus && event.IsOnlyMiddleMouseButton()) RequestFocusWithPointer(ui::EventPointerType::POINTER_TYPE_MOUSE); #endif -@@ -713,7 +713,7 @@ bool Textfield::OnKeyPressed(const ui::KeyEvent& event +@@ -737,7 +737,7 @@ bool Textfield::OnKeyPressed(const ui::KeyEvent& event if (!textfield) return handled; @@ -53,7 +53,7 @@ ui::TextEditKeyBindingsDelegateAuraLinux* delegate = ui::GetTextEditKeyBindingsDelegate(); std::vector commands; -@@ -875,7 +875,7 @@ void Textfield::AboutToRequestFocusFromTabTraversal(bo +@@ -886,7 +886,7 @@ void Textfield::AboutToRequestFocusFromTabTraversal(bo } bool Textfield::SkipDefaultKeyEventProcessing(const ui::KeyEvent& event) { @@ -62,12 +62,12 @@ // Skip any accelerator handling that conflicts with custom keybindings. ui::TextEditKeyBindingsDelegateAuraLinux* delegate = ui::GetTextEditKeyBindingsDelegate(); -@@ -2071,7 +2071,7 @@ bool Textfield::PasteSelectionClipboard() { +@@ -2146,7 +2146,7 @@ bool Textfield::PasteSelectionClipboard() { } void Textfield::UpdateSelectionClipboard() { -#if defined(OS_LINUX) && !defined(OS_CHROMEOS) +#if (defined(OS_LINUX) || defined(OS_BSD)) && !defined(OS_CHROMEOS) if (text_input_type_ != ui::TEXT_INPUT_TYPE_PASSWORD) { - ui::ScopedClipboardWriter(ui::CLIPBOARD_TYPE_SELECTION) + ui::ScopedClipboardWriter(ui::ClipboardBuffer::kSelection) .WriteText(GetSelectedText()); Index: www/qt5-webengine/files/patch-src_3rdparty_chromium_ui_webui_resources_js_cr.js =================================================================== --- www/qt5-webengine/files/patch-src_3rdparty_chromium_ui_webui_resources_js_cr.js +++ www/qt5-webengine/files/patch-src_3rdparty_chromium_ui_webui_resources_js_cr.js @@ -1,14 +1,14 @@ ---- src/3rdparty/chromium/ui/webui/resources/js/cr.js.orig 2018-11-13 18:25:11 UTC +--- src/3rdparty/chromium/ui/webui/resources/js/cr.js.orig 2020-11-07 01:22:36 UTC +++ src/3rdparty/chromium/ui/webui/resources/js/cr.js -@@ -456,6 +456,11 @@ var cr = cr || function() { - return document; +@@ -430,6 +430,11 @@ var cr = cr || function(global) { + get isMac() { + return /Mac/.test(navigator.platform); }, - ++ + /** Whether this is on *BSD. */ + get isBSD() { + return /BSD/.test(navigator.userAgent); + }, -+ - /** Whether we are using a Mac or not. */ - get isMac() { - return /Mac/.test(navigator.platform); + + /** Whether this is on the Windows platform or not. */ + get isWindows() { Index: www/qt5-webengine/files/patch-src_3rdparty_chromium_v8_src_base_platform_platform-freebsd.cc =================================================================== --- www/qt5-webengine/files/patch-src_3rdparty_chromium_v8_src_base_platform_platform-freebsd.cc +++ www/qt5-webengine/files/patch-src_3rdparty_chromium_v8_src_base_platform_platform-freebsd.cc @@ -1,50 +1,21 @@ ---- src/3rdparty/chromium/v8/src/base/platform/platform-freebsd.cc.orig 2019-01-16 10:59:47 UTC +--- src/3rdparty/chromium/v8/src/base/platform/platform-freebsd.cc.orig 2020-11-07 01:22:36 UTC +++ src/3rdparty/chromium/v8/src/base/platform/platform-freebsd.cc -@@ -86,5 +86,47 @@ std::vector OS::GetSharedLib +@@ -6,6 +6,7 @@ + // parts, the implementation is in platform-posix.cc. - void OS::SignalCodeMovingGC() {} + #include ++#include + #include + #include + #include +@@ -81,8 +82,8 @@ std::vector OS::GetSharedLib + lib_name = std::string(path); + } + result.push_back(SharedLibraryAddress( +- lib_name, reinterpret_cast(map->kve_start), +- reinterpret_cast(map->kve_end))); ++ lib_name, static_cast(map->kve_start), ++ static_cast(map->kve_end))); + } -+#ifdef __arm__ -+ -+bool OS::ArmUsingHardFloat() { -+// GCC versions 4.6 and above define __ARM_PCS or __ARM_PCS_VFP to specify -+// the Floating Point ABI used (PCS stands for Procedure Call Standard). -+// We use these as well as a couple of other defines to statically determine -+// what FP ABI used. -+// GCC versions 4.4 and below don't support hard-fp. -+// GCC versions 4.5 may support hard-fp without defining __ARM_PCS or -+// __ARM_PCS_VFP. -+ -+#define GCC_VERSION \ -+ (__GNUC__ * 10000 + __GNUC_MINOR__ * 100 + __GNUC_PATCHLEVEL__) -+#if GCC_VERSION >= 40600 && !defined(__clang__) -+#if defined(__ARM_PCS_VFP) -+ return true; -+#else -+ return false; -+#endif -+ -+#elif GCC_VERSION < 40500 && !defined(__clang__) -+ return false; -+ -+#else -+#if defined(__ARM_PCS_VFP) -+ return true; -+#elif defined(__ARM_PCS) || defined(__SOFTFP__) || defined(__SOFTFP) || \ -+ !defined(__VFP_FP__) -+ return false; -+#else -+#error \ -+ "Your version of compiler does not report the FP ABI compiled for." \ -+ "Please report it on this issue" \ -+ "http://code.google.com/p/v8/issues/detail?id=2140" -+ -+#endif -+#endif -+#undef GCC_VERSION -+} -+ -+#endif // def __arm__ -+ - } // namespace base - } // namespace v8 + start += ssize; Index: www/qt5-webengine/files/patch-src_3rdparty_gn_build_gen.py =================================================================== --- www/qt5-webengine/files/patch-src_3rdparty_gn_build_gen.py +++ www/qt5-webengine/files/patch-src_3rdparty_gn_build_gen.py @@ -18,7 +18,7 @@ + cflags.extend(['-Wno-deprecated-register', '-Wno-parentheses-equality']) + ldflags.extend(['-pthread']) + libs.extend(['-lexecinfo', '-lkvm', '-lutil']) -+ include_dirs += ['/usr/local/include'] ++ include_dirs += ['%%LOCALBASE%%/include'] if platform.is_posix(): ldflags.append('-pthread') Index: www/qt5-webengine/files/patch-src_buildtools_config_linking.pri =================================================================== --- www/qt5-webengine/files/patch-src_buildtools_config_linking.pri +++ www/qt5-webengine/files/patch-src_buildtools_config_linking.pri @@ -0,0 +1,30 @@ +--- src/buildtools/config/linking.pri.orig 2020-11-07 01:22:36 UTC ++++ src/buildtools/config/linking.pri +@@ -1,6 +1,9 @@ + include($$QTWEBENGINE_OUT_ROOT/src/buildtools/qtbuildtools-config.pri) + QT_FOR_CONFIG += buildtools-private + ++# Do not pass --no-undefined to the linker because of environ(7) usage. ++freebsd: QMAKE_LFLAGS_NOUNDEF = ++ + linking_pri = $$OUT_PWD/$$getConfigDir()/$${TARGET}.pri + + !include($$linking_pri) { +@@ -34,7 +37,7 @@ if(macos|ios) { + } + } + +-linux { ++unix { + !static { + QMAKE_LFLAGS += @$${RSP_OBJECT_FILE} + QMAKE_LFLAGS += -Wl,--start-group @$${RSP_ARCHIVE_FILE} -Wl,--end-group +@@ -60,7 +63,7 @@ LIBS_PRIVATE += $$NINJA_LIB_DIRS $$NINJA_LIBS + + unix:qtConfig(webengine-noexecstack): \ + QMAKE_LFLAGS += -Wl,-z,noexecstack +-linux { ++unix { + # add chromium flags + for(flag, NINJA_LFLAGS) { + # filter out some flags Index: www/qt5-webengine/files/patch-src_buildtools_config_linux.pri =================================================================== --- www/qt5-webengine/files/patch-src_buildtools_config_linux.pri +++ www/qt5-webengine/files/patch-src_buildtools_config_linux.pri @@ -1,14 +0,0 @@ ---- src/buildtools/config/linux.pri.orig 2019-12-03 07:18:02 UTC -+++ src/buildtools/config/linux.pri -@@ -190,6 +190,11 @@ host_build { - } else { - gn_args += use_alsa=false - } -+ qtConfig(webengine-sndio) { -+ gn_args += use_sndio=true -+ } else { -+ gn_args += use_sndio=false -+ } - !packagesExist(libpci): gn_args += use_libpci=false - - qtConfig(webengine-ozone-x11) { Index: www/qt5-webengine/files/patch-src_buildtools_config_support.pri =================================================================== --- www/qt5-webengine/files/patch-src_buildtools_config_support.pri +++ www/qt5-webengine/files/patch-src_buildtools_config_support.pri @@ -1,10 +1,51 @@ ---- src/buildtools/config/support.pri.orig 2020-03-16 14:04:24 UTC +--- src/buildtools/config/support.pri.orig 2020-11-07 01:22:36 UTC +++ src/buildtools/config/support.pri -@@ -64,6 +64,7 @@ defineReplace(qtwebengine_checkError) { - linux:!qtwebengine_checkErrorForLinux():return(false) - win32:!qtwebengine_checkErrorForWindows():return(false) - macos:!qtwebengine_checkErrorForMacOS():return(false) -+ unix:!qtwebengine_checkErrorForLinux():return(false) +@@ -5,7 +5,7 @@ defineTest(qtwebengine_skipBuild) { - sanitizer: !qtConfig(webengine-sanitizer) { - qtwebengine_skipBuild("Chosen sanitizer configuration is not supported for QtWebEngine. Check config.log for details or use -feature-webengine-sanitizer to force build with the chosen sanitizer configuration.") + # this should match webengine-core-support + defineReplace(qtwebengine_checkWebEngineCoreError) { +- !linux:!win32:!macos { ++ !linux:!win32:!macos:!unix { + qtwebengine_skipBuild("QtWebEngine can be built only on Linux, Windows or macOS.") + return(false) + } +@@ -23,14 +23,14 @@ defineReplace(qtwebengine_checkWebEngineCoreError) { + !qtwebengine_checkForFlex(QtWebEngine):return(false) + !qtwebengine_checkForPython2(QtWebengine):return(false) + !qtwebengine_checkForSanitizer(QtWebEngine):return(false) +- linux:!qtwebengine_checkForPkgCfg(QtWebEngine):return(false) +- linux:!qtwebengine_checkForHostPkgCfg(QtWebEngine):return(false) ++ unix:!qtwebengine_checkForPkgCfg(QtWebEngine):return(false) ++ unix:!qtwebengine_checkForHostPkgCfg(QtWebEngine):return(false) + linux:!qtwebengine_checkForGlibc(QtWebEngine):return(false) +- linux:!qtwebengine_checkForKhronos(QtWebEngine):return(false) +- linux:!qtwebengine_checkForPackage(QtWebEngine,nss):return(false) +- linux:!qtwebengine_checkForPackage(QtWebEngine,dbus):return(false) +- linux:!qtwebengine_checkForPackage(QtWebEngine,fontconfig):return(false) +- linux:!qtwebengine_checkForQpaXcb(QtWebEngine):return(false) ++ unix:!qtwebengine_checkForKhronos(QtWebEngine):return(false) ++ unix:!qtwebengine_checkForPackage(QtWebEngine,nss):return(false) ++ unix:!qtwebengine_checkForPackage(QtWebEngine,dbus):return(false) ++ unix:!qtwebengine_checkForPackage(QtWebEngine,fontconfig):return(false) ++ unix:!qtwebengine_checkForQpaXcb(QtWebEngine):return(false) + win32:!qtwebengine_checkForCompiler64(QtWebEngine):return(false) + win32:!qtwebengine_checkForWinVersion(QtWebEngine):return(false) + return(true) +@@ -38,7 +38,7 @@ defineReplace(qtwebengine_checkWebEngineCoreError) { + + # this shuold match webengine-qtpdf-support + defineReplace(qtwebengine_checkPdfError) { +- !linux:!win32:!macos:!ios { ++ !linux:!win32:!macos:!ios:!unix { + qtwebengine_skipBuild("QtPdf can be built only on Linux, Windows, macOS or iOS.") + return(false) + } +@@ -54,6 +54,8 @@ defineReplace(qtwebengine_checkPdfError) { + !qtwebengine_checkForSanitizer(QtPdf):return(false) + linux:!qtwebengine_checkForPkgCfg(QtPdf):return(false) + linux:!qtwebengine_checkForHostPkgCfg(QtPdf):return(false) ++ unix:!qtwebengine_checkForPkgCfg(QtPdf):return(false) ++ unix:!qtwebengine_checkForHostPkgCfg(QtPdf):return(false) + win32:!qtwebengine_checkForWinVersion(QtPdf):return(false) + return(true) + } Index: www/qt5-webengine/files/patch-src_buildtools_configure.json =================================================================== --- www/qt5-webengine/files/patch-src_buildtools_configure.json +++ www/qt5-webengine/files/patch-src_buildtools_configure.json @@ -0,0 +1,52 @@ +--- src/buildtools/configure.json.orig 2020-11-07 01:22:36 UTC ++++ src/buildtools/configure.json +@@ -362,7 +362,7 @@ + "features": { + "webengine-core-support": { + "label": "Support Qt WebEngine Core", +- "condition": "(config.linux || config.win32 || config.macos) ++ "condition": "(config.unix || config.win32 || config.macos) + && !config.static + && module.gui + && features.webengine-submodule +@@ -374,21 +374,21 @@ + && features.webengine-flex + && features.webengine-python2 + && (!config.sanitizer || features.webengine-sanitizer) +- && (!config.linux || features.pkg-config) +- && (!config.linux || features.webengine-host-pkg-config) ++ && (!config.unix || features.pkg-config) ++ && (!config.unix || features.webengine-host-pkg-config) + && (!config.linux || features.webengine-system-glibc) +- && (!config.linux || features.webengine-system-khr) +- && (!config.linux || features.webengine-system-nss) +- && (!config.linux || features.webengine-system-dbus) +- && (!config.linux || features.webengine-system-fontconfig) +- && (!config.linux || !features.pkg-config || !features.xcb || features.webengine-ozone-x11) ++ && (!config.unix || features.webengine-system-khr) ++ && (!config.unix || features.webengine-system-nss) ++ && (!config.unix || features.webengine-system-dbus) ++ && (!config.unix || features.webengine-system-fontconfig) ++ && (!config.unix || !features.pkg-config || !features.xcb || features.webengine-ozone-x11) + && (!config.win32 || features.webengine-win-compiler64) + && (!config.win32 || features.webengine-winversion)", + "output": [ "privateFeature" ] + }, + "webengine-qtpdf-support": { + "label": "Support Qt Pdf", +- "condition": "(config.linux || config.win32 || config.macos || config.ios) ++ "condition": "(config.unix || config.win32 || config.macos || config.ios) + && module.gui + && features.webengine-submodule + && features.webengine-nowhitespace +@@ -399,8 +399,8 @@ + && features.webengine-flex + && features.webengine-python2 + && (!config.sanitizer || features.webengine-sanitizer) +- && (!config.linux || features.pkg-config) +- && (!config.linux || features.webengine-host-pkg-config) ++ && (!config.unix || features.pkg-config) ++ && (!config.unix || features.webengine-host-pkg-config) + && (!config.win32 || features.webengine-winversion)", + "output": [ "privateFeature" ] + }, Index: www/qt5-webengine/files/patch-src_core_config_linux.pri =================================================================== --- www/qt5-webengine/files/patch-src_core_config_linux.pri +++ www/qt5-webengine/files/patch-src_core_config_linux.pri @@ -0,0 +1,15 @@ +--- src/core/config/linux.pri.orig 2020-11-07 01:22:36 UTC ++++ src/core/config/linux.pri +@@ -20,6 +20,12 @@ qtConfig(webengine-embedded-build) { + gn_args += use_alsa=false + } + ++ qtConfig(webengine-sndio) { ++ gn_args += use_sndio=true ++ } else { ++ gn_args += use_sndio=false ++ } ++ + !packagesExist(libpci): gn_args += use_libpci=false + + qtConfig(webengine-ozone-x11) { Index: www/qt5-webengine/files/patch-src_core_core__module.pro =================================================================== --- www/qt5-webengine/files/patch-src_core_core__module.pro +++ www/qt5-webengine/files/patch-src_core_core__module.pro @@ -1,38 +1,6 @@ ---- src/core/core_module.pro.orig 2019-10-23 10:30:33 UTC +--- src/core/core_module.pro.orig 2020-11-07 01:22:36 UTC +++ src/core/core_module.pro -@@ -4,6 +4,9 @@ include(core_common.pri) - # Needed to set a CFBundleIdentifier - QMAKE_INFO_PLIST = Info_mac.plist - -+# Do not pass --no-undefined to the linker because of environ(7) usage. -+freebsd: QMAKE_LFLAGS_NOUNDEF = -+ - linking_pri = $$OUT_PWD/$$getConfigDir()/$${TARGET}.pri - - !include($$linking_pri) { -@@ -30,10 +33,10 @@ RSP_ARCHIVE_FILE = $$OUT_PWD/$$getConfigDir()/$${TARGE - for(archive, NINJA_ARCHIVES): RSP_A_CONTENT += $$archive - write_file($$RSP_ARCHIVE_FILE, RSP_A_CONTENT) - macos:LIBS_PRIVATE += -Wl,-filelist,$$shell_quote($$RSP_OBJECT_FILE) --linux:QMAKE_LFLAGS += @$${RSP_OBJECT_FILE} -+unix:QMAKE_LFLAGS += @$${RSP_OBJECT_FILE} - # QTBUG-58710 add main rsp file on windows - win32:QMAKE_LFLAGS += @$${RSP_OBJECT_FILE} --linux:QMAKE_LFLAGS += -Wl,--start-group @$${RSP_ARCHIVE_FILE} -Wl,--end-group -+unix:QMAKE_LFLAGS += -Wl,--start-group @$${RSP_ARCHIVE_FILE} -Wl,--end-group - else: LIBS_PRIVATE += $$NINJA_ARCHIVES - LIBS_PRIVATE += $$NINJA_LIB_DIRS $$NINJA_LIBS - # GN's LFLAGS doesn't always work across all the Linux configurations we support. -@@ -41,7 +44,7 @@ LIBS_PRIVATE += $$NINJA_LIB_DIRS $$NINJA_LIBS - - unix:qtConfig(webengine-noexecstack): \ - QMAKE_LFLAGS += -Wl,-z,noexecstack --linux { -+unix { - # add chromium flags - for(flag, NINJA_LFLAGS) { - # filter out some flags -@@ -91,7 +94,7 @@ win32 { +@@ -41,7 +41,7 @@ QMAKE_INFO_PLIST = Info_mac.plist # and doesn't let Chromium get access to libc symbols through dlsym. CONFIG -= bsymbolic_functions Index: www/qt5-webengine/files/patch-src_pdf_pdfcore.pro =================================================================== --- www/qt5-webengine/files/patch-src_pdf_pdfcore.pro +++ www/qt5-webengine/files/patch-src_pdf_pdfcore.pro @@ -1,18 +0,0 @@ ---- src/pdf/pdfcore.pro.orig 2020-03-16 14:04:24 UTC -+++ src/pdf/pdfcore.pro -@@ -32,13 +32,13 @@ for(object, NINJA_OBJECTS): RSP_CONTENT += $$object - write_file($$RSP_FILE, RSP_CONTENT) - - macos:LIBS_PRIVATE += -Wl,-filelist,$$shell_quote($$RSP_FILE) --linux:LIBS_PRIVATE += @$$RSP_FILE -+unix:LIBS_PRIVATE += @$$RSP_FILE - - # QTBUG-58710 add main rsp file on windows - win32:QMAKE_LFLAGS += @$$RSP_FILE - - !isEmpty(NINJA_ARCHIVES) { -- linux: LIBS_PRIVATE += -Wl,--start-group $$NINJA_ARCHIVES -Wl,--end-group -+ unix: LIBS_PRIVATE += -Wl,--start-group $$NINJA_ARCHIVES -Wl,--end-group - else: LIBS_PRIVATE += $$NINJA_ARCHIVES - } - Index: www/qt5-webengine/files/patch-src_tools_qwebengine__convert__dict_qwebengine__convert__dict.pro =================================================================== --- www/qt5-webengine/files/patch-src_tools_qwebengine__convert__dict_qwebengine__convert__dict.pro +++ www/qt5-webengine/files/patch-src_tools_qwebengine__convert__dict_qwebengine__convert__dict.pro @@ -1,11 +0,0 @@ ---- src/tools/qwebengine_convert_dict/qwebengine_convert_dict.pro.orig 2018-11-27 04:10:38 UTC -+++ src/tools/qwebengine_convert_dict/qwebengine_convert_dict.pro -@@ -12,7 +12,7 @@ isEmpty(NINJA_LFLAGS): error("Missing linker flags fro - isEmpty(NINJA_ARCHIVES): error("Missing archive files from QtWebEngineCore linking pri") - isEmpty(NINJA_LIBS): error("Missing library files from QtWebEngineCore linking pri") - OBJECTS = $$eval($$list($$NINJA_OBJECTS)) --linux { -+unix { - LIBS_PRIVATE = -Wl,--start-group $$NINJA_ARCHIVES -Wl,--end-group - } else { - LIBS_PRIVATE = $$NINJA_ARCHIVES