diff --git a/network/web/chromium-browser/actions.py b/network/web/chromium-browser/actions.py index afa095a01d..ab8f2f5d5d 100644 --- a/network/web/chromium-browser/actions.py +++ b/network/web/chromium-browser/actions.py @@ -19,7 +19,16 @@ def setup(): shelltools.export("LC_ALL", "C") #shelltools.export("JAVA_CMD", "/usr/bin/java_8") shelltools.system("mkdir -p third_party/node/linux/node-linux-x64/bin") + shelltools.system("mkdir -p third_party/rust-toolchain/bin") + shelltools.system("mkdir -p third_party/jdk/current/bin") + + # shelltools.system('echo "1.95.0" > third_party/rust-toolchain/VERSION') + shelltools.system("ln -s /usr/bin/node third_party/node/linux/node-linux-x64/bin/") + shelltools.system("ln -s /usr/bin/java third_party/jdk/current/bin/") + + shelltools.system("rm -f third_party/gperf/cipd/bin/gperf") + shelltools.system("ln -s /usr/bin/gperf third_party/gperf/cipd/bin/") shelltools.system("sed -i 's/OFFICIAL_BUILD/GOOGLE_CHROME_BUILD/' tools/generate_shim_headers/generate_shim_headers.py") @@ -37,24 +46,19 @@ def setup(): opt = 'custom_toolchain="//build/toolchain/linux/unbundle:default" \ host_toolchain="//build/toolchain/linux/unbundle:default" \ use_sysroot=false \ - enable_nacl=false \ - enable_nacl_nonsfi=false \ rtc_use_pipewire=true \ use_custom_libcxx=true \ clang_use_chrome_plugins=true \ is_official_build=true \ - fieldtrial_testing_like_official_build=true \ + disable_fieldtrial_testing_config=true \ + blink_enable_generated_code_formatting=false \ fatal_linker_warnings=false \ treat_warnings_as_errors=false \ - use_gnome_keyring=false\ - use_gold=false \ enable_hangout_services_extension=true \ enable_widevine=true \ - linux_use_bundled_binutils=false \ is_debug=false \ ffmpeg_branding="Chrome" \ google_api_key="AIzaSyDwr302FpOSkGRpLlUpPThNTDPbXcIn_FM" \ - remove_webcore_debug_symbols=true \ proprietary_codecs=true \ link_pulseaudio=true \ enable_swiftshader=false \ @@ -62,21 +66,20 @@ def setup(): closure_compile=false \ symbol_level=0 \ use_lld=true \ - thin_lto_enable_optimizations = true \ - chrome_pgo_phase=2 \ - enable_mse_mpeg2ts_stream_parser=true \ - enable_platform_dolby_vision=true \ - enable_platform_mpeg_h_audio=true \ - enable_platform_ac3_eac3_audio=true \ - enable_platform_hevc=true \ - use_aura=true \ - use_ozone=true \ + is_cfi=false \ + use_thin_lto=false \ + chrome_pgo_phase=0 \ + use_clang_modules=false \ + use_system_libffi=true \ use_dbus=true' + # remove_webcore_debug_symbols=true \ + # use_clang_modules=false \ + # fieldtrial_testing_like_official_build=true \ - + shelltools.system("/usr/bin/python3 tools/rust/update_rust.py") shelltools.system("/usr/bin/python3 tools/clang/scripts/update.py") - clangpath = "%s/chromium-%s/third_party/llvm-build/Release+Asserts/bin/" %(get.workDIR(), get.srcVERSION()) + clangpath = "%s/chromium-%s/third_party/llvm-build/Release+Asserts/bin" %(get.workDIR(), get.srcVERSION()) #clangpath = "/usr/bin" shelltools.export("CC", "%s/clang" %clangpath) @@ -96,6 +99,12 @@ def setup(): shelltools.system("out/Release/gn gen out/Release --args='%s'"% opt) + # import os + # os.makedirs("out/Release/gen/third_party/devtools-frontend/src/front_end/ui/components/code_highlighter/", exist_ok=True) + # # with open("out/Release/gen/third_party/devtools-frontend/src/front_end/ui/components/code_highlighter/css_files-tsconfig.json", "w") as f: + # f.write('{"extends": "../../../../../../tsconfig.json"}') + + def build(): #Sandbox for error must remain separate shelltools.system("ninja -C out/Release chrome") @@ -120,8 +129,8 @@ def install(): -e '//d' \ -e '/

/N;/

\n.*\(We invite\|Chromium supports Vorbis\)/,/<\/p>/d' \ -e '/^/malloc/' -e 's/\/free/' \ + third_party/blink/renderer/core/xml/*.cc \ + third_party/blink/renderer/core/xml/parser/xml_document_parser.cc \ + third_party/libxml/chromium/libxml_utils.cc") + + opt = 'custom_toolchain="//build/toolchain/linux/unbundle:default" \ + host_toolchain="//build/toolchain/linux/unbundle:default" \ + use_sysroot=false \ + enable_nacl=false \ + enable_nacl_nonsfi=false \ + rtc_use_pipewire=true \ + use_custom_libcxx=true \ + clang_use_chrome_plugins=true \ + is_official_build=true \ + fieldtrial_testing_like_official_build=true \ + fatal_linker_warnings=false \ + treat_warnings_as_errors=false \ + use_gnome_keyring=false\ + use_gold=false \ + enable_hangout_services_extension=true \ + enable_widevine=true \ + linux_use_bundled_binutils=false \ + is_debug=false \ + ffmpeg_branding="Chrome" \ + google_api_key="AIzaSyDwr302FpOSkGRpLlUpPThNTDPbXcIn_FM" \ + remove_webcore_debug_symbols=true \ + proprietary_codecs=true \ + link_pulseaudio=true \ + enable_swiftshader=false \ + use_vaapi=true \ + closure_compile=false \ + symbol_level=0 \ + use_lld=true \ + thin_lto_enable_optimizations = true \ + chrome_pgo_phase=2 \ + enable_mse_mpeg2ts_stream_parser=true \ + enable_platform_dolby_vision=true \ + enable_platform_mpeg_h_audio=true \ + enable_platform_ac3_eac3_audio=true \ + enable_platform_hevc=true \ + use_aura=true \ + use_ozone=true \ + use_dbus=true' + + + + shelltools.system("/usr/bin/python3 tools/clang/scripts/update.py") + clangpath = "%s/chromium-%s/third_party/llvm-build/Release+Asserts/bin/" %(get.workDIR(), get.srcVERSION()) + #clangpath = "/usr/bin" + + shelltools.export("CC", "%s/clang" %clangpath) + shelltools.export("CXX", "%s/clang++" %clangpath) + shelltools.export("AR", "%s/llvm-ar" %clangpath) + shelltools.export("NM", "nm" ) + shelltools.export("RANLIB", "ranlib" ) + + pisitools.cflags.add("-Wno-builtin-macro-redefined -Wno-unknown-warning-option -fdebug-types-section") + pisitools.cxxflags.add("-Wno-builtin-macro-redefined -Wno-unknown-warning-option -fdebug-types-section") + pisitools.ldflags.add(" -fuse-ld=lld") + shelltools.export("CPPFLAGS", "-D__DATE__= -D__TIME__= -D__TIMESTAMP__=") + + #shelltools.system("/usr/bin/python3 build/download_nacl_toolchains.py --packages nacl_x86_newlib,pnacl_newlib,pnacl_translator sync --extract") + shelltools.system("/usr/bin/python3 tools/update_pgo_profiles.py --target=linux update --gs-url-base=chromium-optimization-profiles/pgo_profiles") + shelltools.system("/usr/bin/python3 tools/gn/bootstrap/bootstrap.py --gn-gen-args '%s'"% opt) + shelltools.system("out/Release/gn gen out/Release --args='%s'"% opt) + + +def build(): + #Sandbox for error must remain separate + shelltools.system("ninja -C out/Release chrome") + shelltools.system("ninja -C out/Release chrome_sandbox") + shelltools.system("ninja -C out/Release chromedriver") + #shelltools.system("ninja -C out/Release widevinecdmadapter") + +def install(): + shelltools.cd("out/Release") + + #should be checked should for the missing folder "out/Release" + for vla in ["*.pak", "*.json", "chrome", "locales", "resources", "icudtl.dat", "mksnapshot", "chromedriver", "snapshot_blob.bin", "character_data_generator", \ + "libEGL.so", "libGLESv2.so", "libVk*.so", "v8_context_snapshot.bin", "MEIPreload", "chrome_crashpad_handler"]: + pisitools.insinto("/usr/lib/chromium-browser", "%s" % vla) + + pisitools.insinto("/usr/lib/chromium-browser", "chrome_sandbox", "chrome-sandbox") + pisitools.dosym("/usr/lib/chromium-browser/chrome", "/usr/bin/chromium-browser") + + shelltools.system("chmod -v 4755 %s/usr/lib/chromium-browser/chrome-sandbox" %get.installDIR()) + + shelltools.system("sed -ni \ + -e '//d' \ + -e '/

/N;/

\n.*\(We invite\|Chromium supports Vorbis\)/,/<\/p>/d' \ + -e '/^ -Date: Tue, 20 Jul 2021 21:54:09 +0000 -Subject: [PATCH] build: Add a TODO about a missing pnacl flag - -Change-Id: I1700d185a23afe4120e14c755782450b1bf89289 -Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/3041785 -Commit-Queue: Nico Weber -Commit-Queue: Hans Wennborg -Auto-Submit: Nico Weber -Reviewed-by: Hans Wennborg -Cr-Commit-Position: refs/heads/master@{#903659} ---- - build/config/compiler/BUILD.gn | 1 + - 1 file changed, 1 insertion(+) - -diff --git a/build/config/compiler/BUILD.gn b/build/config/compiler/BUILD.gn -index b6e095b705..ef6d1dfc12 100644 ---- a/build/config/compiler/BUILD.gn -+++ b/build/config/compiler/BUILD.gn -@@ -1217,6 +1217,7 @@ config("compiler_deterministic") { - # we build same files with same compile flag. - # Other paths are already given in relative, no need to normalize them. - if (is_nacl) { -+ # TODO(https://crbug.com/1231236): Use -ffile-compilation-dir= here. - cflags += [ - "-Xclang", - "-fdebug-compilation-dir", diff --git a/network/web/chromium-browser/files/add-clang-nomerge-attribute-to-CheckError.patch b/network/web/chromium-browser/files/add-clang-nomerge-attribute-to-CheckError.patch deleted file mode 100644 index 4154df66c6..0000000000 --- a/network/web/chromium-browser/files/add-clang-nomerge-attribute-to-CheckError.patch +++ /dev/null @@ -1,44 +0,0 @@ -From 9909f146b28d56c9c0411329a056ed959b33f76a Mon Sep 17 00:00:00 2001 -From: Zequan Wu -Date: Wed, 10 Feb 2021 03:26:00 +0000 -Subject: [PATCH] Reland "Add [[clang::nomerge]] attribute to ~CheckError()." - -This is a reland of 8860253376c38c090d585bda4b20b801e3aa3ce3 - -Original change's description: -> Add [[clang::nomerge]] attribute to ~CheckError(). -> -> To disable merging multiple ~CheckError() destructor for accurate crash logs. -> -> Bug: 1153188 -> Change-Id: If6d153661667a63f13b645f6d284eb3d5ea3a300 -> Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2611331 -> Commit-Queue: Nico Weber -> Auto-Submit: Zequan Wu -> Reviewed-by: Nico Weber -> Cr-Commit-Position: refs/heads/master@{#844989} - -Bug: 1153188 -Change-Id: I303c5ff9fb88f7a30663400622b327a910d0b108 -Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2686331 -Reviewed-by: Nico Weber -Commit-Queue: Nico Weber -Commit-Queue: Zequan Wu -Cr-Commit-Position: refs/heads/master@{#852453} ---- - base/check.h | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/base/check.h b/base/check.h -index c94ab68db90..17048e45539 100644 ---- a/base/check.h -+++ b/base/check.h -@@ -85,7 +85,7 @@ class BASE_EXPORT CheckError { - // Stream for adding optional details to the error message. - std::ostream& stream(); - -- ~CheckError(); -+ NOMERGE ~CheckError(); - - CheckError(const CheckError& other) = delete; - CheckError& operator=(const CheckError& other) = delete; diff --git a/network/web/chromium-browser/files/add-dependency-on-opus-in-webcodecs.patch b/network/web/chromium-browser/files/add-dependency-on-opus-in-webcodecs.patch deleted file mode 100644 index 12e1116faf..0000000000 --- a/network/web/chromium-browser/files/add-dependency-on-opus-in-webcodecs.patch +++ /dev/null @@ -1,43 +0,0 @@ -From b5b80df7dafba8cafa4c6c0ba2153dfda467dfc9 Mon Sep 17 00:00:00 2001 -From: Stephan Hartmann -Date: Wed, 27 Jan 2021 20:31:51 +0000 -Subject: [PATCH] add dependency on opus in webcodecs - -webcodecs uses opus, but dependency is missing. With unbundled -opus library build fails, because include path is incomplete. - -Bug: 1169758 -Change-Id: I01369364327461196a81002479636cf45017669a -Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2644623 -Reviewed-by: Dale Curtis -Commit-Queue: Dale Curtis -Cr-Commit-Position: refs/heads/master@{#847754} ---- - third_party/blink/renderer/modules/webcodecs/BUILD.gn | 1 + - third_party/blink/renderer/modules/webcodecs/DEPS | 1 + - 2 files changed, 2 insertions(+) - -diff --git a/third_party/blink/renderer/modules/webcodecs/BUILD.gn b/third_party/blink/renderer/modules/webcodecs/BUILD.gn -index fdf4ca0fafc72..01a7bf809ffca 100644 ---- a/third_party/blink/renderer/modules/webcodecs/BUILD.gn -+++ b/third_party/blink/renderer/modules/webcodecs/BUILD.gn -@@ -65,6 +65,7 @@ blink_modules_sources("webcodecs") { - "//media/mojo/clients", - "//media/mojo/mojom", - "//third_party/libyuv:libyuv", -+ "//third_party/opus", - ] - if (media_use_openh264) { - deps += [ "//third_party/openh264:encoder" ] -diff --git a/third_party/blink/renderer/modules/webcodecs/DEPS b/third_party/blink/renderer/modules/webcodecs/DEPS -index b8dd596da8caf..ea1919d12205a 100644 ---- a/third_party/blink/renderer/modules/webcodecs/DEPS -+++ b/third_party/blink/renderer/modules/webcodecs/DEPS -@@ -19,6 +19,7 @@ include_rules = [ - - "+third_party/libyuv", - "+third_party/openh264", -+ "+third_party/opus", - - "+ui/gfx/color_space.h", - "+ui/gfx/geometry/rect.h", diff --git a/network/web/chromium-browser/files/arch/chromium-138-nodejs-version-check.patch b/network/web/chromium-browser/files/arch/chromium-138-nodejs-version-check.patch new file mode 100644 index 0000000000..cc4b3b4b9e --- /dev/null +++ b/network/web/chromium-browser/files/arch/chromium-138-nodejs-version-check.patch @@ -0,0 +1,49 @@ +https://issues.chromium.org/issues/418397211 +From: Matt Jolly +Date: Tue, 25 Mar 2025 13:33:48 +1000 +Subject: [PATCH] Remove nodejs version check + +Added in https://github.com/chromium/chromium/commit/0ff8528999941d7182be6fc77aeb12a110a3cd86, +this change is only really useful for gclient checkouts and breaks the +ability for downstreams to provide their own, compatible, nodejs +version via the system package manager (or for use on arches other than +those that Google provides binaries for): + +[ERR_ASSERTION]: Failed NodeJS version check: Expected version 'v22.11.0', but found 'v22.13.1'. Did you run 'gclient sync' + +This is google development footgun protection, working around +poor development practices and gclient's inability to ensure +that the source tree is in a consistent state. We don't need it +here. + +Signed-off-by: Matt Jolly +--- a/third_party/node/node.gni ++++ b/third_party/node/node.gni +@@ -36,15 +36,5 @@ template("node") { + } + } + +- # Automatically add a dependency to ":check_version" to ensure NodeJS is +- # always running the expected version, except when the ':check_version' +- # target itself is running in which case it shouldn't depend on itself. +- if (get_label_info(":" + target_name, "label_no_toolchain") != +- "//third_party/node:check_version") { +- if (!defined(deps)) { +- deps = [] +- } +- deps += [ "//third_party/node:check_version" ] +- } + } + } +--- a/third_party/protobuf/proto_library.gni ++++ b/third_party/protobuf/proto_library.gni +@@ -562,7 +562,6 @@ template("proto_library") { + _protoc_gen_ts_path, + "//tools/protoc_wrapper/protoc-gen-ts_proto.py", + ] + _protoc_gen_ts_runtime_deps +- deps += [ "//third_party/node:check_version" ] + } + + if (_generate_with_plugin) { +-- +2.49.0 diff --git a/network/web/chromium-browser/files/arch/chromium-145-fix-SYS_SECCOMP.patch b/network/web/chromium-browser/files/arch/chromium-145-fix-SYS_SECCOMP.patch new file mode 100644 index 0000000000..0c1e06ca89 --- /dev/null +++ b/network/web/chromium-browser/files/arch/chromium-145-fix-SYS_SECCOMP.patch @@ -0,0 +1,11 @@ +https://bugs.gentoo.org/969846 +https://bugs.gentoo.org/969495 +https://crbug.com/456218403 +--- a/sandbox/linux/system_headers/linux_seccomp.h ++++ b/sandbox/linux/system_headers/linux_seccomp.h +@@ -7,4 +7,5 @@ + + #include ++#include + #include + diff --git a/network/web/chromium-browser/files/arch/chromium-146-build-with-wasm-rollup.patch b/network/web/chromium-browser/files/arch/chromium-146-build-with-wasm-rollup.patch new file mode 100644 index 0000000000..48316f7540 --- /dev/null +++ b/network/web/chromium-browser/files/arch/chromium-146-build-with-wasm-rollup.patch @@ -0,0 +1,117 @@ +--- a/third_party/devtools-frontend/src/front_end/Images/BUILD.gn ++++ b/third_party/devtools-frontend/src/front_end/Images/BUILD.gn +@@ -28,7 +28,7 @@ node_action("generate_css_vars") { + } + + node_action("optimize_images") { +- script = "node_modules/rollup/dist/bin/rollup" ++ script = "../../node/node_modules/@rollup/wasm-node/dist/bin/rollup" + + _bundled_entrypoint = target_gen_dir + "/Images.prebundle.js" + _output_file_location = target_gen_dir + "/Images.js" +--- a/third_party/devtools-frontend/src/front_end/models/live-metrics/web-vitals-injected/BUILD.gn ++++ b/third_party/devtools-frontend/src/front_end/models/live-metrics/web-vitals-injected/BUILD.gn +@@ -26,7 +26,7 @@ devtools_module("web-vitals-injected") { + } + + node_action("bundled_library") { +- script = "node_modules/rollup/dist/bin/rollup" ++ script = "../../node/node_modules/@rollup/wasm-node/dist/bin/rollup" + + _bundled_entrypoint = target_gen_dir + "/web-vitals-injected.js" + _output_file_location = target_gen_dir + "/web-vitals-injected.generated.js" +--- a/third_party/devtools-frontend/src/front_end/panels/recorder/injected/BUILD.gn ++++ b/third_party/devtools-frontend/src/front_end/panels/recorder/injected/BUILD.gn +@@ -55,7 +55,7 @@ devtools_entrypoint("bundle") { + } + + node_action("bundled_library") { +- script = "node_modules/rollup/dist/bin/rollup" ++ script = "../../node/node_modules/@rollup/wasm-node/dist/bin/rollup" + + _bundled_entrypoint = target_gen_dir + "/injected.js" + _output_file_location = target_gen_dir + "/injected.generated.js" +--- a/third_party/devtools-frontend/src/inspector_overlay/BUILD.gn ++++ b/third_party/devtools-frontend/src/inspector_overlay/BUILD.gn +@@ -36,7 +36,7 @@ action("build_inspector_overlay") { + "$target_gen_dir/tool_window_controls.css", + "$target_gen_dir/main.js", + devtools_location_prepend + "inspector_overlay/loadCSS.rollup.js", +- devtools_location_prepend + "node_modules/rollup/dist/bin/rollup", ++ devtools_location_prepend + "../../node/node_modules/@rollup/wasm-node/dist/bin/rollup", + ] + + outputs = [ "$resources_out_dir/main.js" ] +--- a/third_party/devtools-frontend/src/scripts/build/build_inspector_overlay.py ++++ b/third_party/devtools-frontend/src/scripts/build/build_inspector_overlay.py +@@ -56,7 +56,7 @@ def rollup(input_path, output_path, file + [devtools_paths.node_path(), + devtools_paths.rollup_path()] + + ['--format', 'iife', '-n', 'InspectorOverlay'] + ['--input', target] + +- ['--plugin', rollup_plugin, '--plugin', 'terser'], ++ ['--plugin', rollup_plugin, '--plugin', path.join(devtools_paths.node_modules_path(), '@rollup', 'plugin-terser', 'dist', 'cjs', 'index.js')], + stdout=subprocess.PIPE, + stderr=subprocess.PIPE, + universal_newlines=True, +--- a/third_party/devtools-frontend/src/scripts/build/ninja/bundle.gni ++++ b/third_party/devtools-frontend/src/scripts/build/ninja/bundle.gni +@@ -11,7 +11,7 @@ template("bundle") { + "You must define the 'entrypoint' for a bundle target") + + node_action(target_name) { +- script = "scripts/build/esbuild.js" ++ script = "../../node/node_modules/@rollup/wasm-node/dist/bin/rollup" + forward_variables_from(invoker, + [ + "visibility", +@@ -21,27 +21,23 @@ template("bundle") { + + inputs = [ + invoker.entrypoint, ++ devtools_location_prepend + "scripts/build/rollup.config.mjs", + devtools_location_prepend + "scripts/build/devtools_plugin.js", + devtools_location_prepend + "scripts/devtools_paths.js", + ] + +- _esbuild = devtools_location_prepend + "third_party/esbuild/esbuild" +- if (host_os == "win") { +- inputs += [ _esbuild + ".exe" ] +- } else { +- inputs += [ _esbuild ] +- } +- + args = [ ++ "--config", ++ rebase_path( ++ devtools_location_prepend + "scripts/build/rollup.config.mjs", ++ root_build_dir), ++ "--input", + rebase_path(invoker.entrypoint, root_build_dir), ++ "--file", + rebase_path(invoker.output_file_location, root_build_dir), + "--configSourcemaps", + ] + +- if (!is_debug) { +- args += [ "--minify" ] +- } +- + outputs = [ invoker.output_file_location ] + } + } +--- a/third_party/devtools-frontend/src/scripts/devtools_paths.py ++++ b/third_party/devtools-frontend/src/scripts/devtools_paths.py +@@ -64,8 +64,11 @@ def license_checker_path(): + + def rollup_path(): + return path.join( +- node_modules_path(), +- 'rollup', ++ third_party_path(), ++ 'node', ++ 'node_modules', ++ '@rollup', ++ 'wasm-node', + 'dist', + 'bin', + 'rollup', diff --git a/network/web/chromium-browser/files/arch/chromium-146-drop-unknown-clang-flag.patch b/network/web/chromium-browser/files/arch/chromium-146-drop-unknown-clang-flag.patch new file mode 100644 index 0000000000..28217c86dd --- /dev/null +++ b/network/web/chromium-browser/files/arch/chromium-146-drop-unknown-clang-flag.patch @@ -0,0 +1,23 @@ +--- a/build/config/compiler/BUILD.gn ++++ b/build/config/compiler/BUILD.gn +@@ -1903,20 +1903,4 @@ config("sanitize_c_array_bounds") { + config("sanitize_c_array_bounds") { + if (!is_ubsan && is_clang && !(is_asan && target_cpu == "x86")) { +- cflags = [ +- "-fsanitize=array-bounds", +- "-fsanitize-trap=array-bounds", +- +- # Some code users feature detection to determine if UBSAN (or any +- # sanitizer) is enabled, they then do expensive debug like operations. We +- # want to suppress this behaviour since we want to keep performance costs +- # as low as possible while having these checks. +- "-fsanitize-ignore-for-ubsan-feature=array-bounds", +- +- # Because we've enabled array-bounds sanitizing we also want to suppress +- # the related warning about "unsafe-buffer-usage-in-static-sized-array", +- # since we know that the array bounds sanitizing will catch any out-of- +- # bounds accesses. +- "-Wno-unsafe-buffer-usage-in-static-sized-array", +- ] + } + } diff --git a/network/web/chromium-browser/files/arch/chromium-147-revert-clang-no-lifetime-dse-flag.patch b/network/web/chromium-browser/files/arch/chromium-147-revert-clang-no-lifetime-dse-flag.patch new file mode 100644 index 0000000000..b6e261bc23 --- /dev/null +++ b/network/web/chromium-browser/files/arch/chromium-147-revert-clang-no-lifetime-dse-flag.patch @@ -0,0 +1,16 @@ +--- a/build/config/compiler/BUILD.gn.orig 2026-04-08 10:52:06.044206796 +0000 ++++ b/build/config/compiler/BUILD.gn 2026-04-08 10:54:23.302307784 +0000 +@@ -613,13 +613,6 @@ config("compiler") { + ] + } + +- # The performance improvement does not seem worth the risk. See +- # https://crbug.com/484082200 for background and https://crrev.com/c/7593035 +- # for discussion. +- if (!is_wasm) { +- cflags += [ "-fno-lifetime-dse" ] +- } +- + # TODO(hans): Remove this once Clang generates better optimized debug info + # by default. https://crbug.com/765793 + cflags += [ diff --git a/network/web/chromium-browser/files/arch/chromium-147-rust-1.95-bytemuck.patch b/network/web/chromium-browser/files/arch/chromium-147-rust-1.95-bytemuck.patch new file mode 100644 index 0000000000..2a9794fea0 --- /dev/null +++ b/network/web/chromium-browser/files/arch/chromium-147-rust-1.95-bytemuck.patch @@ -0,0 +1,21 @@ +The original patch got reverted upstream, but LaneCount and SupportedLaneCount no longer work in Rust 1.95.0 +--- a/third_party/rust/chromium_crates_io/vendor/bytemuck-v1/src/pod.rs ++++ b/third_party/rust/chromium_crates_io/vendor/bytemuck-v1/src/pod.rs +@@ -152,7 +152,6 @@ impl_unsafe_marker_for_simd!( + unsafe impl Pod for core::simd::Simd + where + T: core::simd::SimdElement + Pod, +- core::simd::LaneCount: core::simd::SupportedLaneCount, + { + } + +--- a/third_party/rust/chromium_crates_io/vendor/bytemuck-v1/src/zeroable.rs ++++ b/third_party/rust/chromium_crates_io/vendor/bytemuck-v1/src/zeroable.rs +@@ -231,7 +231,6 @@ impl_unsafe_marker_for_simd!( + unsafe impl Zeroable for core::simd::Simd + where + T: core::simd::SimdElement + Zeroable, +- core::simd::LaneCount: core::simd::SupportedLaneCount, + { + } + diff --git a/network/web/chromium-browser/files/arch/chromium-148-revert-clang-fsanitize-return-flag-1.patch b/network/web/chromium-browser/files/arch/chromium-148-revert-clang-fsanitize-return-flag-1.patch new file mode 100644 index 0000000000..a94e7f63dc --- /dev/null +++ b/network/web/chromium-browser/files/arch/chromium-148-revert-clang-fsanitize-return-flag-1.patch @@ -0,0 +1,10 @@ +--- b/build/config/BUILDCONFIG.gn ++++ a/build/config/BUILDCONFIG.gn +@@ -362,7 +362,6 @@ + "//build/config/compiler:no_unresolved_symbols", + "//build/config/compiler:runtime_library", + "//build/config/compiler:sanitize_c_array_bounds", +- "//build/config/compiler:sanitize_return", + "//build/config/compiler:thin_archive", + "//build/config/compiler:thinlto_optimize_default", + "//build/config/compiler:tot_warnings", diff --git a/network/web/chromium-browser/files/arch/chromium-148-revert-clang-fsanitize-return-flag-2.patch b/network/web/chromium-browser/files/arch/chromium-148-revert-clang-fsanitize-return-flag-2.patch new file mode 100644 index 0000000000..bdccd954f6 --- /dev/null +++ b/network/web/chromium-browser/files/arch/chromium-148-revert-clang-fsanitize-return-flag-2.patch @@ -0,0 +1,27 @@ +--- b/build/config/compiler/BUILD.gn ++++ a/build/config/compiler/BUILD.gn +@@ -1920,24 +1920,6 @@ + } + } + +-# Enable UBSan subset to ensure we always hit `return` statement in non-void +-# functions (https://crbug.com/489565636). This is equivalent to inserting +-# `NOTREACHED()` at the end of such functions. +-config("sanitize_return") { +- if (!is_ubsan && is_clang) { +- cflags = [ +- "-fsanitize=return", +- "-fsanitize-trap=return", +- +- # Some code users feature detection to determine if UBSAN (or any +- # sanitizer) is enabled, they then do expensive debug like operations. We +- # want to suppress this behaviour since we want to keep performance costs +- # as low as possible while having these checks. +- "-fsanitize-ignore-for-ubsan-feature=return", +- ] +- } +-} +- + config("rustc_revision") { + if (rustc_revision != "") { + # Similar to the `clang_revision` config, this is here so that all `.rs` diff --git a/network/web/chromium-browser/files/arch/compiler-rt-adjust-paths.patch b/network/web/chromium-browser/files/arch/compiler-rt-adjust-paths.patch new file mode 100644 index 0000000000..a5e47f0d30 --- /dev/null +++ b/network/web/chromium-browser/files/arch/compiler-rt-adjust-paths.patch @@ -0,0 +1,34 @@ +diff --git a/build/config/clang/BUILD.gn b/build/config/clang/BUILD.gn +index b171ee13ce7ed..d5b4e4fdcd0c8 100644 +--- a/build/config/clang/BUILD.gn ++++ b/build/config/clang/BUILD.gn +@@ -171,16 +171,21 @@ template("clang_lib") { + } else if (is_linux || is_chromeos) { + if (current_cpu == "x64") { + _dir = "x86_64-unknown-linux-gnu" ++ _suffix = "-x86_64" + } else if (current_cpu == "x86") { + _dir = "i386-unknown-linux-gnu" ++ _suffix = "-i386" + } else if (current_cpu == "arm") { + _dir = "armv7-unknown-linux-gnueabihf" + } else if (current_cpu == "arm64") { + _dir = "aarch64-unknown-linux-gnu" ++ _suffix = "-aarch64" + } else if (current_cpu == "loong64") { + _dir = "loongarch64-unknown-linux-gnu" ++ _suffix = "-loongarch64" + } else if (current_cpu == "riscv64") { + _dir = "riscv64-unknown-linux-gnu" ++ _suffix = "-riscv64" + } else if (current_cpu == "ppc64") { + _dir = "ppc64le-unknown-linux-gnu" + } else if (current_cpu == "s390x") { +@@ -188,6 +193,7 @@ template("clang_lib") { + } else { + assert(false) # Unhandled cpu type + } ++ _dir = "linux" + } else if (is_fuchsia) { + if (current_cpu == "x64") { + _dir = "x86_64-unknown-fuchsia" diff --git a/network/web/chromium-browser/files/arch/enable-widevine-arm64.patch b/network/web/chromium-browser/files/arch/enable-widevine-arm64.patch new file mode 100644 index 0000000000..29ca7d5853 --- /dev/null +++ b/network/web/chromium-browser/files/arch/enable-widevine-arm64.patch @@ -0,0 +1,11 @@ +--- a/third_party/widevine/cdm/widevine.gni 2026-02-15 16:29:15.620518832 +0800 ++++ b/third_party/widevine/cdm/widevine.gni 2026-02-15 16:29:43.721371706 +0800 +@@ -27,7 +27,7 @@ + library_widevine_cdm_available = + (is_chromeos && + (target_cpu == "x64" || target_cpu == "arm" || target_cpu == "arm64")) || +- (target_os == "linux" && target_cpu == "x64") || ++ (target_os == "linux" && (target_cpu == "x64" || target_cpu == "arm" || target_cpu == "arm64")) || + (target_os == "mac" && (target_cpu == "x64" || target_cpu == "arm64")) || + (target_os == "win" && + (target_cpu == "x86" || target_cpu == "x64" || target_cpu == "arm64")) diff --git a/network/web/chromium-browser/files/arch/glibc-2.42-baud-rate-fix.patch b/network/web/chromium-browser/files/arch/glibc-2.42-baud-rate-fix.patch new file mode 100644 index 0000000000..5cf8333d68 --- /dev/null +++ b/network/web/chromium-browser/files/arch/glibc-2.42-baud-rate-fix.patch @@ -0,0 +1,11 @@ +--- a/services/device/serial/serial_io_handler_posix.cc 2025-11-09 13:57:16.132379788 +0100 ++++ b/services/device/serial/serial_io_handler_posix.cc 2025-11-09 14:07:13.488376598 +0100 +@@ -51,7 +51,7 @@ + bool BitrateToSpeedConstant(int bitrate, speed_t* speed) { + #define BITRATE_TO_SPEED_CASE(x) \ + case x: \ +- *speed = B##x; \ ++ *speed = __B##x; \ + return true; + switch (bitrate) { + BITRATE_TO_SPEED_CASE(0) diff --git a/network/web/chromium-browser/files/arch/increase-fortify-level.patch b/network/web/chromium-browser/files/arch/increase-fortify-level.patch new file mode 100644 index 0000000000..1559b94ec5 --- /dev/null +++ b/network/web/chromium-browser/files/arch/increase-fortify-level.patch @@ -0,0 +1,13 @@ +diff --git a/build/config/compiler/BUILD.gn b/build/config/compiler/BUILD.gn +index eb329bc88fec..7c98dfddcf8a 100644 +--- a/build/config/compiler/BUILD.gn ++++ b/build/config/compiler/BUILD.gn +@@ -2054,7 +2054,7 @@ config("chromium_code") { + # Non-chromium code is not guaranteed to compile cleanly with + # _FORTIFY_SOURCE. Also, fortified build may fail when optimizations are + # disabled, so only do that for Release build. +- fortify_level = "2" ++ fortify_level = "3" + + # ChromeOS's toolchain supports a high-quality _FORTIFY_SOURCE=3 + # implementation with a few custom glibc patches. Use that if it's diff --git a/network/web/chromium-browser/files/arch/use-oauth2-client-switches-as-default.patch b/network/web/chromium-browser/files/arch/use-oauth2-client-switches-as-default.patch new file mode 100644 index 0000000000..578b88dab1 --- /dev/null +++ b/network/web/chromium-browser/files/arch/use-oauth2-client-switches-as-default.patch @@ -0,0 +1,21 @@ +diff --git a/google_apis/api_key_cache.cc b/google_apis/api_key_cache.cc +index bbb9420f40..690445534b 100644 +--- a/google_apis/api_key_cache.cc ++++ b/google_apis/api_key_cache.cc +@@ -235,14 +235,14 @@ ApiKeyCache::ApiKeyCache(const DefaultApiKeys& default_api_keys) { + + std::string default_client_id = CalculateKeyValue( + default_api_keys.google_default_client_id, +- STRINGIZE_NO_EXPANSION(GOOGLE_DEFAULT_CLIENT_ID), std::string(), nullptr, ++ STRINGIZE_NO_EXPANSION(GOOGLE_DEFAULT_CLIENT_ID), std::string(), ::switches::kOAuth2ClientID, + std::string(), environment.get(), command_line, gaia_config, + default_api_keys.allow_override_via_environment, + default_api_keys.allow_unset_values); + std::string default_client_secret = CalculateKeyValue( + default_api_keys.google_default_client_secret, + STRINGIZE_NO_EXPANSION(GOOGLE_DEFAULT_CLIENT_SECRET), std::string(), +- nullptr, std::string(), environment.get(), command_line, gaia_config, ++ ::switches::kOAuth2ClientSecret, std::string(), environment.get(), command_line, gaia_config, + default_api_keys.allow_override_via_environment, + default_api_keys.allow_unset_values); + diff --git a/network/web/chromium-browser/files/chromium-89-EnumTable-crash.patch b/network/web/chromium-browser/files/chromium-89-EnumTable-crash.patch deleted file mode 100644 index 89a50702df..0000000000 --- a/network/web/chromium-browser/files/chromium-89-EnumTable-crash.patch +++ /dev/null @@ -1,71 +0,0 @@ -diff --git a/components/cast_channel/enum_table.h b/components/cast_channel/enum_table.h -index e3130c7..2ad16ea 100644 ---- a/components/cast_channel/enum_table.h -+++ b/components/cast_channel/enum_table.h -@@ -212,7 +212,7 @@ class - - template - friend class EnumTable; -- DISALLOW_COPY_AND_ASSIGN(GenericEnumTableEntry); -+ DISALLOW_ASSIGN(GenericEnumTableEntry); - }; - - // Yes, these constructors really needs to be inlined. Even though they look -@@ -250,8 +250,7 @@ class EnumTable { - // Constructor for regular entries. - constexpr Entry(E value, base::StringPiece str) - : GenericEnumTableEntry(static_cast(value), str) {} -- -- DISALLOW_COPY_AND_ASSIGN(Entry); -+ DISALLOW_ASSIGN(Entry); - }; - - static_assert(sizeof(E) <= sizeof(int32_t), -@@ -306,15 +305,14 @@ class EnumTable { - if (is_sorted_) { - const std::size_t index = static_cast(value); - if (ANALYZER_ASSUME_TRUE(index < data_.size())) { -- const auto& entry = data_.begin()[index]; -+ const auto& entry = data_[index]; - if (ANALYZER_ASSUME_TRUE(entry.has_str())) - return entry.str(); - } - return base::nullopt; - } - return GenericEnumTableEntry::FindByValue( -- reinterpret_cast(data_.begin()), -- data_.size(), static_cast(value)); -+ &data_[0], data_.size(), static_cast(value)); - } - - // This overload of GetString is designed for cases where the argument is a -@@ -342,8 +340,7 @@ class EnumTable { - // enum value directly. - base::Optional GetEnum(base::StringPiece str) const { - auto* entry = GenericEnumTableEntry::FindByString( -- reinterpret_cast(data_.begin()), -- data_.size(), str); -+ &data_[0], data_.size(), str); - return entry ? static_cast(entry->value) : base::Optional(); - } - -@@ -358,7 +355,7 @@ class EnumTable { - // Align the data on a cache line boundary. - alignas(64) - #endif -- std::initializer_list data_; -+ const std::vector data_; - bool is_sorted_; - - constexpr EnumTable(std::initializer_list data, bool is_sorted) -@@ -370,8 +367,8 @@ class EnumTable { - - for (std::size_t i = 0; i < data.size(); i++) { - for (std::size_t j = i + 1; j < data.size(); j++) { -- const Entry& ei = data.begin()[i]; -- const Entry& ej = data.begin()[j]; -+ const Entry& ei = data[i]; -+ const Entry& ej = data[j]; - DCHECK(ei.value != ej.value) - << "Found duplicate enum values at indices " << i << " and " << j; - DCHECK(!(ei.has_str() && ej.has_str() && ei.str() == ej.str())) diff --git a/network/web/chromium-browser/files/chromium-91-java-only-allowed-in-android-builds.patch b/network/web/chromium-browser/files/chromium-91-java-only-allowed-in-android-builds.patch deleted file mode 100644 index 597c124d17..0000000000 --- a/network/web/chromium-browser/files/chromium-91-java-only-allowed-in-android-builds.patch +++ /dev/null @@ -1,17 +0,0 @@ -References: https://bugs.chromium.org/p/chromium/issues/detail?id=1192875 - -Index: chromium-91.0.4472.57/third_party/closure_compiler/compiler.py -=================================================================== ---- chromium-91.0.4472.57.orig/third_party/closure_compiler/compiler.py -+++ chromium-91.0.4472.57/third_party/closure_compiler/compiler.py -@@ -13,8 +13,7 @@ import subprocess - - - _CURRENT_DIR = os.path.join(os.path.dirname(__file__)) --_JAVA_PATH = os.path.join(_CURRENT_DIR, "..", "jdk", "current", "bin", "java") --assert os.path.isfile(_JAVA_PATH), "java only allowed in android builds" -+_JAVA_PATH = "java" - - class Compiler(object): - """Runs the Closure compiler on given source files to typecheck them - diff --git a/network/web/chromium-browser/files/chromium-92-EnumTable-crash.patch b/network/web/chromium-browser/files/chromium-92-EnumTable-crash.patch deleted file mode 100644 index 7fb7360e02..0000000000 --- a/network/web/chromium-browser/files/chromium-92-EnumTable-crash.patch +++ /dev/null @@ -1,71 +0,0 @@ -diff --git a/components/cast_channel/enum_table.h b/components/cast_channel/enum_table.h -index e3130c7..2ad16ea 100644 ---- a/components/cast_channel/enum_table.h -+++ b/components/cast_channel/enum_table.h -@@ -212,7 +212,7 @@ class - - template - friend class EnumTable; -- DISALLOW_COPY_AND_ASSIGN(GenericEnumTableEntry); -+ DISALLOW_ASSIGN(GenericEnumTableEntry); - }; - - // Yes, these constructors really needs to be inlined. Even though they look -@@ -250,8 +250,7 @@ class EnumTable { - // Constructor for regular entries. - constexpr Entry(E value, base::StringPiece str) - : GenericEnumTableEntry(static_cast(value), str) {} -- -- DISALLOW_COPY_AND_ASSIGN(Entry); -+ DISALLOW_ASSIGN(Entry); - }; - - static_assert(sizeof(E) <= sizeof(int32_t), -@@ -306,15 +305,14 @@ class EnumTable { - if (is_sorted_) { - const std::size_t index = static_cast(value); - if (ANALYZER_ASSUME_TRUE(index < data_.size())) { -- const auto& entry = data_.begin()[index]; -+ const auto& entry = data_[index]; - if (ANALYZER_ASSUME_TRUE(entry.has_str())) - return entry.str(); - } - return absl::nullopt; - } - return GenericEnumTableEntry::FindByValue( -- reinterpret_cast(data_.begin()), -- data_.size(), static_cast(value)); -+ &data_[0], data_.size(), static_cast(value)); - } - - // This overload of GetString is designed for cases where the argument is a -@@ -342,8 +340,7 @@ class EnumTable { - // enum value directly. - absl::optional GetEnum(base::StringPiece str) const { - auto* entry = GenericEnumTableEntry::FindByString( -- reinterpret_cast(data_.begin()), -- data_.size(), str); -+ &data_[0], data_.size(), str); - return entry ? static_cast(entry->value) : absl::optional(); - } - -@@ -358,7 +355,7 @@ class EnumTable { - // Align the data on a cache line boundary. - alignas(64) - #endif -- std::initializer_list data_; -+ const std::vector data_; - bool is_sorted_; - - constexpr EnumTable(std::initializer_list data, bool is_sorted) -@@ -370,8 +367,8 @@ class EnumTable { - - for (std::size_t i = 0; i < data.size(); i++) { - for (std::size_t j = i + 1; j < data.size(); j++) { -- const Entry& ei = data.begin()[i]; -- const Entry& ej = data.begin()[j]; -+ const Entry& ei = data[i]; -+ const Entry& ej = data[j]; - DCHECK(ei.value != ej.value) - << "Found duplicate enum values at indices " << i << " and " << j; - DCHECK(!(ei.has_str() && ej.has_str() && ei.str() == ej.str())) diff --git a/network/web/chromium-browser/files/chromium-buildname.patch b/network/web/chromium-browser/files/chromium-buildname.patch deleted file mode 100644 index 0d484c0076..0000000000 --- a/network/web/chromium-browser/files/chromium-buildname.patch +++ /dev/null @@ -1,13 +0,0 @@ -Index: chromium-73.0.3683.27/components/version_ui_strings.grdp -=================================================================== ---- chromium-73.0.3683.27.orig/components/version_ui_strings.grdp -+++ chromium-73.0.3683.27/components/version_ui_strings.grdp -@@ -4,7 +4,7 @@ - About Version - - -- Official Build -+ PisiLinux Build - - - Developer Build \ No newline at end of file diff --git a/network/web/chromium-browser/files/chromium89_build_fix.patch b/network/web/chromium-browser/files/chromium89_build_fix.patch deleted file mode 100644 index 834020c67a..0000000000 --- a/network/web/chromium-browser/files/chromium89_build_fix.patch +++ /dev/null @@ -1,54 +0,0 @@ ---- chromium-89.0.4389.90/base/third_party/libevent/evutil.h.orig 2021-03-13 02:57:15.000000000 +0300 -+++ chromium-89.0.4389.90/base/third_party/libevent/evutil.h 2021-03-18 22:45:10.144899935 +0300 -@@ -52,10 +52,10 @@ - #endif - #include - --#ifdef _EVENT_HAVE_UINT64_T -+/* #ifdef _EVENT_HAVE_UINT64_T */ - #define ev_uint64_t uint64_t - #define ev_int64_t int64_t --#elif defined(WIN32) -+#if defined(WIN32) - #define ev_uint64_t unsigned __int64 - #define ev_int64_t signed __int64 - #elif _EVENT_SIZEOF_LONG_LONG == 8 -@@ -68,9 +68,9 @@ - #error "No way to define ev_uint64_t" - #endif - --#ifdef _EVENT_HAVE_UINT32_T -+/* #ifdef _EVENT_HAVE_UINT32_T */ - #define ev_uint32_t uint32_t --#elif defined(WIN32) -+#if defined(WIN32) - #define ev_uint32_t unsigned int - #elif _EVENT_SIZEOF_LONG == 4 - #define ev_uint32_t unsigned long -@@ -80,9 +80,9 @@ - #error "No way to define ev_uint32_t" - #endif - --#ifdef _EVENT_HAVE_UINT16_T -+/* #ifdef _EVENT_HAVE_UINT16_T */ - #define ev_uint16_t uint16_t --#elif defined(WIN32) -+#if defined(WIN32) - #define ev_uint16_t unsigned short - #elif _EVENT_SIZEOF_INT == 2 - #define ev_uint16_t unsigned int -@@ -92,11 +92,12 @@ - #error "No way to define ev_uint16_t" - #endif - --#ifdef _EVENT_HAVE_UINT8_T -+/* #ifdef _EVENT_HAVE_UINT8_T */ - #define ev_uint8_t uint8_t -+/* - #else - #define ev_uint8_t unsigned char --#endif -+#endif */ - - int evutil_socketpair(int d, int type, int protocol, int sv[2]); - int evutil_make_socket_nonblocking(int sock); diff --git a/network/web/chromium-browser/files/downgrade-duplicate-peer-error-to-dvlog.patch b/network/web/chromium-browser/files/downgrade-duplicate-peer-error-to-dvlog.patch deleted file mode 100644 index 62d553e08c..0000000000 --- a/network/web/chromium-browser/files/downgrade-duplicate-peer-error-to-dvlog.patch +++ /dev/null @@ -1,33 +0,0 @@ -From 00604ca8ed6d669fb6cb3ae8bacd6028d5ef10ac Mon Sep 17 00:00:00 2001 -From: Stephen Roettger -Date: Thu, 20 Jan 2022 10:04:04 +0000 -Subject: [PATCH] Downgrade duplicate peer error to dvlog -MIME-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit - -Downgrading since this case can happen in non-error situations. There can be -duplicate introductions in flight in which case we simply drop the second one. - -Change-Id: I2c51b177913ccd9634e9bb6343d468101d9735ed -Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/3398794 -Reviewed-by: Ken Rockot -Commit-Queue: Stephen Röttger -Cr-Commit-Position: refs/heads/main@{#961389} ---- - mojo/core/node_controller.cc | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/mojo/core/node_controller.cc b/mojo/core/node_controller.cc -index 7cde7719687..81712676733 100644 ---- a/mojo/core/node_controller.cc -+++ b/mojo/core/node_controller.cc -@@ -594,7 +594,7 @@ void NodeController::AddPeer(const ports::NodeName& name, - } - - if (dropped_peers_.Contains(name)) { -- LOG(ERROR) << "Trying to re-add dropped peer " << name; -+ DVLOG(1) << "Trying to re-add dropped peer " << name; - return; - } - diff --git a/network/web/chromium-browser/files/extend-enable-accelerated-video-decode-flag.patch b/network/web/chromium-browser/files/extend-enable-accelerated-video-decode-flag.patch deleted file mode 100644 index 51e346fa43..0000000000 --- a/network/web/chromium-browser/files/extend-enable-accelerated-video-decode-flag.patch +++ /dev/null @@ -1,35 +0,0 @@ -From e48f18eba0eae199ba7bc8a6a09ebf39799447c1 Mon Sep 17 00:00:00 2001 -From: Ted Meyer -Date: Wed, 2 Jun 2021 05:35:22 +0000 -Subject: [PATCH] Extend enable-accelerated-video-decode flag for linux to m93 - -It appears that there is insistence that the flag be totally removed or -have its end-milestone increased, I can't just let it wait until the -feature is working again and then re-enable it. So i've moved it to 93. - -R=dalecurtis - -Fixed: 1207478 -Change-Id: I26a5e790cd390825516b4a4b6af88e89b2d4f4eb -Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2918478 -Reviewed-by: Dale Curtis -Reviewed-by: Ted Meyer -Commit-Queue: Ted Meyer -Cr-Commit-Position: refs/heads/master@{#888312} ---- - chrome/browser/flag-metadata.json | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/chrome/browser/flag-metadata.json b/chrome/browser/flag-metadata.json -index 67e0330436..34542671f2 100644 ---- a/chrome/browser/flag-metadata.json -+++ b/chrome/browser/flag-metadata.json -@@ -1193,7 +1193,7 @@ - { - "name": "enable-accelerated-video-decode", - "owners": [ "media-dev@chromium.org" ], -- "expiry_milestone": 90 -+ "expiry_milestone": 93 - }, - { - "name": "enable-accessibility-live-caption", diff --git a/network/web/chromium-browser/files/fix-build-break-with-system-libdrm.patch b/network/web/chromium-browser/files/fix-build-break-with-system-libdrm.patch deleted file mode 100644 index fe8eee6d1e..0000000000 --- a/network/web/chromium-browser/files/fix-build-break-with-system-libdrm.patch +++ /dev/null @@ -1,62 +0,0 @@ -From 5b287e0be8d8d8475ec6ef81b16eaa61e19db078 Mon Sep 17 00:00:00 2001 -From: "Steinar H. Gunderson" -Date: Tue, 25 Jan 2022 19:14:53 +0000 -Subject: [PATCH] Fix build break with system libdrm. - -This patch is submitted on behalf of Andres Salomon - (on Cc). Also adding him to src/AUTHORS -per policy, as he has signed the CLA. - -Original patch: -https://salsa.debian.org/dilinger/chromium/-/commit/2333c2fb985ac1ef3d7331776a7833d965c63302 - -Change-Id: I18bd60e2e80f2b9181e74ee7972c3f457ab33b10 -Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/3401704 -Reviewed-by: Andres Calderon Jaramillo -Commit-Queue: Steinar H Gunderson -Auto-Submit: Steinar H Gunderson -Cr-Commit-Position: refs/heads/main@{#963119} ---- - AUTHORS | 1 + - media/gpu/chromeos/BUILD.gn | 1 + - media/gpu/chromeos/video_decoder_pipeline.cc | 2 +- - 3 files changed, 3 insertions(+), 1 deletion(-) - -diff --git a/AUTHORS b/AUTHORS -index 0eba3de5065..50edd3f6b38 100644 ---- a/AUTHORS -+++ b/AUTHORS -@@ -93,6 +93,7 @@ Andreas Papacharalampous - Andrei Borza - Andrei Parvu - Andrei Parvu -+Andres Salomon - Andreu Botella - Andrew Boyarshin - Andrew Brampton -diff --git a/media/gpu/chromeos/BUILD.gn b/media/gpu/chromeos/BUILD.gn -index 7cb4c3ea39a..6fe21c15ecc 100644 ---- a/media/gpu/chromeos/BUILD.gn -+++ b/media/gpu/chromeos/BUILD.gn -@@ -25,6 +25,7 @@ source_set("chromeos") { - - deps = [ - "//base", -+ "//build/config/linux/libdrm", - "//media", - "//media/gpu:buildflags", - "//media/gpu:command_buffer_helper", -diff --git a/media/gpu/chromeos/video_decoder_pipeline.cc b/media/gpu/chromeos/video_decoder_pipeline.cc -index d2f154ea0d8..416b9434a8d 100644 ---- a/media/gpu/chromeos/video_decoder_pipeline.cc -+++ b/media/gpu/chromeos/video_decoder_pipeline.cc -@@ -28,8 +28,8 @@ - #include "third_party/abseil-cpp/absl/types/optional.h" - - #if BUILDFLAG(USE_VAAPI) -+#include - #include "media/gpu/vaapi/vaapi_video_decoder.h" --#include "third_party/libdrm/src/include/drm/drm_fourcc.h" - #elif BUILDFLAG(USE_V4L2_CODEC) - #include "media/gpu/v4l2/v4l2_video_decoder.h" - #else diff --git a/network/web/chromium-browser/files/fix-crash-in-ThemeService.patch b/network/web/chromium-browser/files/fix-crash-in-ThemeService.patch deleted file mode 100644 index b9fd1f7284..0000000000 --- a/network/web/chromium-browser/files/fix-crash-in-ThemeService.patch +++ /dev/null @@ -1,45 +0,0 @@ -From c2d0133f47afb59b4ce64e42215d1d053f15250a Mon Sep 17 00:00:00 2001 -From: Stephan Hartmann -Date: Tue, 13 Apr 2021 23:21:42 +0000 -Subject: [PATCH] fix crash in ThemeService - -ThemeSyncableService and ThemeService are owned by each other. On -destruction of ThemeService, ThemeSyncableService gets destructed as -well, but calls RemoveObserver of partly destructed ThemeService object. -To avoid already destructed |observers_| list, move it before -|theme_syncable_service_| definition. - -Bug: 1190561 -Change-Id: I4dc2c990d589071d97b7fa737afef54463c84751 -Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2821311 -Commit-Queue: Peter Kasting -Reviewed-by: Peter Kasting -Cr-Commit-Position: refs/heads/master@{#872164} ---- - chrome/browser/themes/theme_service.h | 6 ++++-- - 1 file changed, 4 insertions(+), 2 deletions(-) - -diff --git a/chrome/browser/themes/theme_service.h b/chrome/browser/themes/theme_service.h -index 592d40ae9de0f..337dfac9a040f 100644 ---- a/chrome/browser/themes/theme_service.h -+++ b/chrome/browser/themes/theme_service.h -@@ -299,6 +299,10 @@ class ThemeService : public KeyedService, - // The number of infobars currently displayed. - int number_of_reinstallers_ = 0; - -+ // Declared before |theme_syncable_service_|, because ThemeSyncableService -+ // removes itself from the |observers_| list on destruction. -+ base::ObserverList observers_; -+ - std::unique_ptr theme_syncable_service_; - - #if BUILDFLAG(ENABLE_EXTENSIONS) -@@ -320,8 +324,6 @@ class ThemeService : public KeyedService, - ScopedObserver - native_theme_observer_{this}; - -- base::ObserverList observers_; -- - base::WeakPtrFactory weak_ptr_factory_{this}; - - DISALLOW_COPY_AND_ASSIGN(ThemeService); diff --git a/network/web/chromium-browser/files/fix-tag-dragging-in-KWin.patch b/network/web/chromium-browser/files/fix-tag-dragging-in-KWin.patch deleted file mode 100644 index 226e925933..0000000000 --- a/network/web/chromium-browser/files/fix-tag-dragging-in-KWin.patch +++ /dev/null @@ -1,35 +0,0 @@ -From 52d0ad25ea695da44195e49f36e69fa81b55e670 Mon Sep 17 00:00:00 2001 -From: Tom Anderson -Date: Wed, 5 Jan 2022 21:11:03 +0000 -Subject: [PATCH] [X11] Fix tag dragging in KWin - -R=sky - -Bug: 1279532 -Change-Id: Iac166803e2149eef234045d922b630f0019c8073 -Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/3355376 -Auto-Submit: Thomas Anderson -Reviewed-by: Scott Violet -Commit-Queue: Thomas Anderson -Cr-Commit-Position: refs/heads/main@{#955869} ---- - ui/platform_window/x11/x11_topmost_window_finder.cc | 6 +++--- - 1 file changed, 3 insertions(+), 3 deletions(-) - -diff --git a/ui/platform_window/x11/x11_topmost_window_finder.cc b/ui/platform_window/x11/x11_topmost_window_finder.cc -index 50e75e17f0a..2e16393487b 100644 ---- a/ui/platform_window/x11/x11_topmost_window_finder.cc -+++ b/ui/platform_window/x11/x11_topmost_window_finder.cc -@@ -68,9 +68,9 @@ bool EnumerateAllWindows(ShouldStopIteratingCallback should_stop_iterating, - - void EnumerateTopLevelWindows( - ui::ShouldStopIteratingCallback should_stop_iterating) { -- // Some WMs parent 'top-level' windows in unnamed actual top-level windows -- // (ion WM), so extend the search depth to all children of top-level windows. -- const int kMaxSearchDepth = 1; -+ // WMs may reparent toplevel windows inside their own containers, so extend -+ // the search to all grandchildren of all toplevel windows. -+ const int kMaxSearchDepth = 2; - ui::EnumerateAllWindows(should_stop_iterating, kMaxSearchDepth); - } - diff --git a/network/web/chromium-browser/files/fix-tag-dragging-in-Mutter.patch b/network/web/chromium-browser/files/fix-tag-dragging-in-Mutter.patch deleted file mode 100644 index 01f2da5782..0000000000 --- a/network/web/chromium-browser/files/fix-tag-dragging-in-Mutter.patch +++ /dev/null @@ -1,46 +0,0 @@ -From 3806f28918ea23291749ff4775339075a5f394e8 Mon Sep 17 00:00:00 2001 -From: Tom Anderson -Date: Thu, 6 Jan 2022 00:59:40 +0000 -Subject: [PATCH] [X11] Fix tag dragging in Mutter - -We used to use a BFS to find the target window for tag dragging, but -this causes windows underneath (like the window for the desktop -wallpaper) to take precedence over nested windows. - -This CL switches to a DFS. - -R=sky - -Bug: 1279532 -Change-Id: Ib569e9270be60bcb4fff088517dfe295697608b0 -Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/3355470 -Reviewed-by: Scott Violet -Commit-Queue: Thomas Anderson -Auto-Submit: Thomas Anderson -Cr-Commit-Position: refs/heads/main@{#955976} ---- - ui/platform_window/x11/x11_topmost_window_finder.cc | 11 ++--------- - 1 file changed, 2 insertions(+), 9 deletions(-) - -diff --git a/ui/platform_window/x11/x11_topmost_window_finder.cc b/ui/platform_window/x11/x11_topmost_window_finder.cc -index 2e16393487b..e20bf0abf0e 100644 ---- a/ui/platform_window/x11/x11_topmost_window_finder.cc -+++ b/ui/platform_window/x11/x11_topmost_window_finder.cc -@@ -44,15 +44,8 @@ bool EnumerateChildren(ShouldStopIteratingCallback should_stop_iterating, - for (iter = windows.rbegin(); iter != windows.rend(); iter++) { - if (IsWindowNamed(*iter) && should_stop_iterating.Run(*iter)) - return true; -- } -- -- // If we're at this point, we didn't find the window we're looking for at the -- // current level, so we need to recurse to the next level. We use a second -- // loop because the recursion and call to XQueryTree are expensive and is only -- // needed for a small number of cases. -- if (++depth <= max_depth) { -- for (iter = windows.rbegin(); iter != windows.rend(); iter++) { -- if (EnumerateChildren(should_stop_iterating, *iter, max_depth, depth)) -+ if (depth < max_depth) { -+ if (EnumerateChildren(should_stop_iterating, *iter, max_depth, depth + 1)) - return true; - } - } diff --git a/network/web/chromium-browser/files/maldoca-depend-on-zlib-instead-of-headers-only.patch b/network/web/chromium-browser/files/maldoca-depend-on-zlib-instead-of-headers-only.patch deleted file mode 100644 index e1b438cdd7..0000000000 --- a/network/web/chromium-browser/files/maldoca-depend-on-zlib-instead-of-headers-only.patch +++ /dev/null @@ -1,31 +0,0 @@ -From 0aa878b7839141077071db97ba1cd30edf486827 Mon Sep 17 00:00:00 2001 -From: Stephan Hartmann -Date: Wed, 15 Sep 2021 17:14:14 +0000 -Subject: [PATCH] maldoca: depend on zlib instead of headers only - -There is no zlib_common_headers target for unbundled zlib -and in the end code links against zlib static library anyways. - -Bug: None -Change-Id: I50b8bb5b480770b637904de00aecc3a629f09471 -Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/3162976 -Reviewed-by: Daniel Rubery -Commit-Queue: Stephan Hartmann -Cr-Commit-Position: refs/heads/main@{#921717} ---- - third_party/maldoca/BUILD.gn | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/third_party/maldoca/BUILD.gn b/third_party/maldoca/BUILD.gn -index eeab2056b5..29a0a2ca49 100644 ---- a/third_party/maldoca/BUILD.gn -+++ b/third_party/maldoca/BUILD.gn -@@ -224,7 +224,7 @@ source_set("maldoca-ole") { - "//third_party/libxml", - "//third_party/protobuf:protobuf_lite", - "//third_party/re2", -- "//third_party/zlib:zlib_common_headers", -+ "//third_party/zlib:zlib", - "//third_party/zlib/google:zip", - ] - diff --git a/network/web/chromium-browser/files/ozone-x11-fix-VA-API.patch b/network/web/chromium-browser/files/ozone-x11-fix-VA-API.patch deleted file mode 100644 index 61d72bfb01..0000000000 --- a/network/web/chromium-browser/files/ozone-x11-fix-VA-API.patch +++ /dev/null @@ -1,671 +0,0 @@ -From a4de986102a45e29c3ef596f22704bdca244c26c Mon Sep 17 00:00:00 2001 -From: Maksim Sisov -Date: Fri, 17 Sep 2021 08:45:55 +0000 -Subject: [PATCH] ozone/x11: fix VA-API. - -This patch fixes VA-API usage with Ozone/X11 backend (which -is our default backend now as X11 has been deprecated - -crrev.com/c/3114071)). - -non-Ozone X11 is disabled now and Ozone is always used -on Linux. However, VA-API implementation is not Ozone friendly -yet and requires major refactoring. But given that VA-API -implementation on Linux worked only with X11, it's fine for -now to change USE_X11 and !IsUsingOzonePlatform to -BUILDFLAG(OZONE_PLATFORM_X11) and fail VA-API initialization -in VADisplayState::Initialize for Ozone/Linux other than -non-X11 backends. - -Bug: 1121948 -Change-Id: If85d289235e6d358103d9fa2bbe0f741fb599a26 -Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/3141878 -Commit-Queue: Maksim Sisov -Reviewed-by: Andres Calderon Jaramillo -Reviewed-by: Robert Kroeger -Reviewed-by: Xiaohan Wang -Reviewed-by: Alexander Dunaev -Cr-Commit-Position: refs/heads/main@{#922466} ---- - media/BUILD.gn | 3 - - media/gpu/BUILD.gn | 5 +- - media/gpu/args.gni | 13 +++- - media/gpu/vaapi/BUILD.gn | 8 +- - media/gpu/vaapi/va_stub_header.fragment | 6 +- - media/gpu/vaapi/vaapi_picture_factory.cc | 72 ++++++++---------- - .../vaapi_picture_native_pixmap_angle.cc | 2 - - media/gpu/vaapi/vaapi_picture_tfp.cc | 2 - - .../vaapi/vaapi_video_decode_accelerator.cc | 9 +-- - ...vaapi_video_decode_accelerator_unittest.cc | 11 +-- - media/gpu/vaapi/vaapi_wrapper.cc | 76 +++++++++---------- - media/gpu/vaapi/vaapi_wrapper.h | 8 +- - ui/ozone/platform/x11/ozone_platform_x11.cc | 3 + - ui/ozone/public/ozone_platform.h | 10 +++ - 14 files changed, 108 insertions(+), 120 deletions(-) - -diff --git a/media/BUILD.gn b/media/BUILD.gn -index dbee1d4338..d5c158c08f 100644 ---- a/media/BUILD.gn -+++ b/media/BUILD.gn -@@ -130,9 +130,6 @@ component("media") { - public_deps += [ "//media/base/mac" ] - } - -- if (use_x11) { -- deps += [ "//ui/base/x" ] -- } - if (use_ozone) { - deps += [ "//ui/ozone" ] - } -diff --git a/media/gpu/BUILD.gn b/media/gpu/BUILD.gn -index c7499485ac..3fedc78948 100644 ---- a/media/gpu/BUILD.gn -+++ b/media/gpu/BUILD.gn -@@ -20,6 +20,7 @@ buildflag_header("buildflags") { - "USE_VAAPI_IMAGE_CODECS=$use_vaapi_image_codecs", - "USE_V4L2_CODEC=$use_v4l2_codec", - "USE_LIBV4L2=$use_v4lplugin", -+ "USE_VAAPI_X11=$use_vaapi_x11", - ] - } - -@@ -215,9 +216,7 @@ component("gpu") { - "windows/supported_profile_helpers.cc", - "windows/supported_profile_helpers.h", - ] -- configs += [ -- "//third_party/khronos:khronos_headers", -- ] -+ configs += [ "//third_party/khronos:khronos_headers" ] - public_deps += [ "//media/base/win:media_foundation_util" ] - deps += [ - "//gpu/ipc/common:common", -diff --git a/media/gpu/args.gni b/media/gpu/args.gni -index 4004937949..2f53843918 100644 ---- a/media/gpu/args.gni -+++ b/media/gpu/args.gni -@@ -3,7 +3,15 @@ - # found in the LICENSE file. - - import("//build/config/chromeos/ui_mode.gni") --import("//build/config/ui.gni") -+import("//build/config/ozone.gni") -+ -+declare_args() { -+ # Indicates if X11 VA-API-based hardware acceleration is to be used. -+ # See also the comment near the |use_vaapi| arg. -+ use_vaapi_x11 = -+ is_linux && ozone_platform_x11 && !is_chromecast && !is_chromeos_lacros && -+ (target_cpu == "x86" || target_cpu == "x64") -+} - - declare_args() { - # Indicates if V4L plugin is used. -@@ -21,8 +29,7 @@ declare_args() { - # is typically the case on x86-based ChromeOS devices. - # VA-API should also be compiled by default on x11-using linux devices - # using x86/x64. -- use_vaapi = -- is_linux && use_x11 && (target_cpu == "x86" || target_cpu == "x64") -+ use_vaapi = use_vaapi_x11 - - # Indicates if ChromeOS protected media support exists. This is used - # to enable the CDM daemon in Chrome OS as well as support for -diff --git a/media/gpu/vaapi/BUILD.gn b/media/gpu/vaapi/BUILD.gn -index b11d2c60fa..0c2520dd6b 100644 ---- a/media/gpu/vaapi/BUILD.gn -+++ b/media/gpu/vaapi/BUILD.gn -@@ -17,7 +17,7 @@ assert(use_vaapi) - generate_stubs("libva_stubs") { - extra_header = "va_stub_header.fragment" - sigs = [ "va.sigs" ] -- if (use_x11) { -+ if (use_vaapi_x11) { - sigs += [ "va_x11.sigs" ] - } - if (is_chromeos_ash) { -@@ -131,14 +131,14 @@ source_set("vaapi") { - ] - } - -- if (use_x11 || use_ozone || use_egl) { -+ if (use_ozone || use_egl) { - sources += [ - "vaapi_picture_native_pixmap.cc", - "vaapi_picture_native_pixmap.h", - ] - } - -- if (use_x11) { -+ if (use_vaapi_x11) { - deps += [ "//ui/gfx/x" ] - sources += [ - "vaapi_picture_native_pixmap_angle.cc", -@@ -197,7 +197,7 @@ source_set("common") { - deps += [ "//ui/ozone" ] - } - -- if (use_x11) { -+ if (use_vaapi_x11) { - deps += [ "//ui/gfx/x" ] - } - -diff --git a/media/gpu/vaapi/va_stub_header.fragment b/media/gpu/vaapi/va_stub_header.fragment -index bed198484d..e8c46c5e81 100644 ---- a/media/gpu/vaapi/va_stub_header.fragment -+++ b/media/gpu/vaapi/va_stub_header.fragment -@@ -1,12 +1,14 @@ - // The extra include header needed in the generated stub file for defining - // various libva types. - -+#include "media/gpu/buildflags.h" -+ - extern "C" { - - #include - #include --#if defined(USE_X11) -+#if BUILDFLAG(USE_VAAPI_X11) - #include --#endif -+#endif // BUILDFLAG(USE_VAAPI_X11) - - } -diff --git a/media/gpu/vaapi/vaapi_picture_factory.cc b/media/gpu/vaapi/vaapi_picture_factory.cc -index 719035b87c..9c7d7387d2 100644 ---- a/media/gpu/vaapi/vaapi_picture_factory.cc -+++ b/media/gpu/vaapi/vaapi_picture_factory.cc -@@ -10,13 +10,13 @@ - #include "ui/base/ui_base_features.h" - #include "ui/gl/gl_bindings.h" - --#if defined(USE_X11) --#include "media/gpu/vaapi/vaapi_picture_native_pixmap_angle.h" --#include "media/gpu/vaapi/vaapi_picture_tfp.h" --#endif - #if defined(USE_OZONE) - #include "media/gpu/vaapi/vaapi_picture_native_pixmap_ozone.h" --#endif -+#endif // defined(USE_OZONE) -+#if BUILDFLAG(USE_VAAPI_X11) -+#include "media/gpu/vaapi/vaapi_picture_native_pixmap_angle.h" -+#include "media/gpu/vaapi/vaapi_picture_tfp.h" -+#endif // BUILDFLAG(USE_VAAPI_X11) - #if defined(USE_EGL) - #include "media/gpu/vaapi/vaapi_picture_native_pixmap_egl.h" - #endif -@@ -46,15 +46,13 @@ VaapiPictureFactory::VaapiPictureFactory() { - vaapi_impl_pairs_.insert( - std::make_pair(gl::kGLImplementationEGLGLES2, - VaapiPictureFactory::kVaapiImplementationDrm)); --#if defined(USE_X11) -+#if BUILDFLAG(USE_VAAPI_X11) - vaapi_impl_pairs_.insert( - std::make_pair(gl::kGLImplementationEGLANGLE, - VaapiPictureFactory::kVaapiImplementationAngle)); -- if (!features::IsUsingOzonePlatform()) { -- vaapi_impl_pairs_.insert( -- std::make_pair(gl::kGLImplementationDesktopGL, -- VaapiPictureFactory::kVaapiImplementationX11)); -- } -+ vaapi_impl_pairs_.insert( -+ std::make_pair(gl::kGLImplementationDesktopGL, -+ VaapiPictureFactory::kVaapiImplementationX11)); - #endif - - DeterminePictureCreationAndDownloadingMechanism(); -@@ -96,19 +94,19 @@ VaapiPictureFactory::GetVaapiImplementation(gl::GLImplementation gl_impl) { - } - - uint32_t VaapiPictureFactory::GetGLTextureTarget() { --#if defined(USE_OZONE) -- if (features::IsUsingOzonePlatform()) -- return GL_TEXTURE_EXTERNAL_OES; --#endif -+#if BUILDFLAG(USE_VAAPI_X11) - return GL_TEXTURE_2D; -+#else -+ return GL_TEXTURE_EXTERNAL_OES; -+#endif - } - - gfx::BufferFormat VaapiPictureFactory::GetBufferFormat() { --#if defined(USE_OZONE) -- if (features::IsUsingOzonePlatform()) -- return gfx::BufferFormat::YUV_420_BIPLANAR; --#endif -+#if BUILDFLAG(USE_VAAPI_X11) - return gfx::BufferFormat::RGBX_8888; -+#else -+ return gfx::BufferFormat::YUV_420_BIPLANAR; -+#endif - } - - void VaapiPictureFactory::DeterminePictureCreationAndDownloadingMechanism() { -@@ -116,51 +114,43 @@ void VaapiPictureFactory::DeterminePictureCreationAndDownloadingMechanism() { - #if defined(USE_OZONE) - // We can be called without GL initialized, which is valid if we use Ozone. - case kVaapiImplementationNone: -- if (features::IsUsingOzonePlatform()) { -- create_picture_cb_ = base::BindRepeating( -- &CreateVaapiPictureNativeImpl); -- needs_vpp_for_downloading_ = true; -- } -- -- // This is reached by unit tests which don't require create_picture_cb_ -- // to be initialized or called. -+ create_picture_cb_ = base::BindRepeating( -+ &CreateVaapiPictureNativeImpl); -+ needs_vpp_for_downloading_ = true; - break; - #endif // defined(USE_OZONE) --#if defined(USE_X11) -+#if BUILDFLAG(USE_VAAPI_X11) - case kVaapiImplementationX11: -- DCHECK(!features::IsUsingOzonePlatform()); - create_picture_cb_ = - base::BindRepeating(&CreateVaapiPictureNativeImpl); - // Neither VaapiTFPPicture or VaapiPictureNativePixmapAngle needs the VPP. - needs_vpp_for_downloading_ = false; - break; - case kVaapiImplementationAngle: -- DCHECK(!features::IsUsingOzonePlatform()); - create_picture_cb_ = base::BindRepeating( - &CreateVaapiPictureNativeImpl); - // Neither VaapiTFPPicture or VaapiPictureNativePixmapAngle needs the VPP. - needs_vpp_for_downloading_ = false; - break; --#endif // defined(USE_X11) -+#endif // BUILDFLAG(USE_VAAPI_X11) - case kVaapiImplementationDrm: - #if defined(USE_OZONE) -- if (features::IsUsingOzonePlatform()) { -- create_picture_cb_ = base::BindRepeating( -- &CreateVaapiPictureNativeImpl); -- needs_vpp_for_downloading_ = true; -- break; -- } --#endif // defined(USE_OZONE) --#if defined(USE_EGL) -+ create_picture_cb_ = base::BindRepeating( -+ &CreateVaapiPictureNativeImpl); -+ needs_vpp_for_downloading_ = true; -+ break; -+#elif defined(USE_EGL) - create_picture_cb_ = base::BindRepeating( - &CreateVaapiPictureNativeImpl); - needs_vpp_for_downloading_ = true; - break; --#endif // defined(USE_EGL) -+#else - // ozone or egl must be used to use the DRM implementation. -- NOTREACHED(); -+ FALLTHROUGH; -+#endif - default: - NOTREACHED(); -+ break; - } - } - -diff --git a/media/gpu/vaapi/vaapi_picture_native_pixmap_angle.cc b/media/gpu/vaapi/vaapi_picture_native_pixmap_angle.cc -index 9de0c93b44..e5b9908490 100644 ---- a/media/gpu/vaapi/vaapi_picture_native_pixmap_angle.cc -+++ b/media/gpu/vaapi/vaapi_picture_native_pixmap_angle.cc -@@ -6,7 +6,6 @@ - - #include "media/gpu/vaapi/va_surface.h" - #include "media/gpu/vaapi/vaapi_wrapper.h" --#include "ui/base/ui_base_features.h" - #include "ui/gfx/x/connection.h" - #include "ui/gfx/x/future.h" - #include "ui/gfx/x/xproto.h" -@@ -92,7 +91,6 @@ Status VaapiPictureNativePixmapAngle::Allocate(gfx::BufferFormat format) { - if (!make_context_current_cb_ || !make_context_current_cb_.Run()) - return StatusCode::kVaapiBadContext; - -- DCHECK(!features::IsUsingOzonePlatform()); - auto image = - base::MakeRefCounted(visible_size_, format); - if (!image) -diff --git a/media/gpu/vaapi/vaapi_picture_tfp.cc b/media/gpu/vaapi/vaapi_picture_tfp.cc -index 3f7e221d8a..11914e3640 100644 ---- a/media/gpu/vaapi/vaapi_picture_tfp.cc -+++ b/media/gpu/vaapi/vaapi_picture_tfp.cc -@@ -6,7 +6,6 @@ - - #include "media/gpu/vaapi/va_surface.h" - #include "media/gpu/vaapi/vaapi_wrapper.h" --#include "ui/base/ui_base_features.h" - #include "ui/gfx/x/connection.h" - #include "ui/gfx/x/future.h" - #include "ui/gl/gl_bindings.h" -@@ -37,7 +36,6 @@ VaapiTFPPicture::VaapiTFPPicture( - connection_(x11::Connection::Get()), - x_pixmap_(x11::Pixmap::None) { - DCHECK_CALLED_ON_VALID_SEQUENCE(sequence_checker_); -- DCHECK(!features::IsUsingOzonePlatform()); - DCHECK(texture_id); - DCHECK(client_texture_id); - } -diff --git a/media/gpu/vaapi/vaapi_video_decode_accelerator.cc b/media/gpu/vaapi/vaapi_video_decode_accelerator.cc -index 7514fe4fdd..e4cd7c8d89 100644 ---- a/media/gpu/vaapi/vaapi_video_decode_accelerator.cc -+++ b/media/gpu/vaapi/vaapi_video_decode_accelerator.cc -@@ -184,12 +184,6 @@ bool VaapiVideoDecodeAccelerator::Initialize(const Config& config, - Client* client) { - DCHECK(task_runner_->BelongsToCurrentThread()); - --#if defined(USE_X11) -- // TODO(crbug/1116701): implement decode acceleration when running with Ozone. -- if (features::IsUsingOzonePlatform()) -- return false; --#endif -- - vaapi_picture_factory_ = std::make_unique(); - - if (config.is_encrypted()) { -@@ -1213,12 +1207,11 @@ VaapiVideoDecodeAccelerator::GetSupportedProfiles() { - - VaapiVideoDecodeAccelerator::BufferAllocationMode - VaapiVideoDecodeAccelerator::DecideBufferAllocationMode() { --#if defined(USE_X11) -+#if BUILDFLAG(USE_VAAPI_X11) - // The IMPORT mode is used for Android on Chrome OS, so this doesn't apply - // here. - DCHECK_NE(output_mode_, VideoDecodeAccelerator::Config::OutputMode::IMPORT); - // TODO(crbug/1116701): get video decode acceleration working with ozone. -- DCHECK(!features::IsUsingOzonePlatform()); - // For H.264 on older devices, another +1 is experimentally needed for - // high-to-high resolution changes. - // TODO(mcasas): Figure out why and why only H264, see crbug.com/912295 and -diff --git a/media/gpu/vaapi/vaapi_video_decode_accelerator_unittest.cc b/media/gpu/vaapi/vaapi_video_decode_accelerator_unittest.cc -index 5b9a543386..826bb103b1 100644 ---- a/media/gpu/vaapi/vaapi_video_decode_accelerator_unittest.cc -+++ b/media/gpu/vaapi/vaapi_video_decode_accelerator_unittest.cc -@@ -17,7 +17,6 @@ - #include "media/gpu/vaapi/vaapi_wrapper.h" - #include "testing/gmock/include/gmock/gmock.h" - #include "testing/gtest/include/gtest/gtest.h" --#include "ui/base/ui_base_features.h" - - using base::test::RunClosure; - using ::testing::_; -@@ -416,12 +415,10 @@ TEST_P(VaapiVideoDecodeAcceleratorTest, SupportedPlatforms) { - mock_vaapi_picture_factory_->GetVaapiImplementation( - gl::kGLImplementationEGLGLES2)); - --#if defined(USE_X11) -- if (!features::IsUsingOzonePlatform()) { -- EXPECT_EQ(VaapiPictureFactory::kVaapiImplementationX11, -- mock_vaapi_picture_factory_->GetVaapiImplementation( -- gl::kGLImplementationDesktopGL)); -- } -+#if BUILDFLAG(USE_VAAPI_X11) -+ EXPECT_EQ(VaapiPictureFactory::kVaapiImplementationX11, -+ mock_vaapi_picture_factory_->GetVaapiImplementation( -+ gl::kGLImplementationDesktopGL)); - #endif - } - -diff --git a/media/gpu/vaapi/vaapi_wrapper.cc b/media/gpu/vaapi/vaapi_wrapper.cc -index 754d258848..e528b0f84d 100644 ---- a/media/gpu/vaapi/vaapi_wrapper.cc -+++ b/media/gpu/vaapi/vaapi_wrapper.cc -@@ -65,7 +65,7 @@ - #include "ui/gl/gl_bindings.h" - #include "ui/gl/gl_implementation.h" - --#if defined(USE_X11) -+#if BUILDFLAG(USE_VAAPI_X11) - typedef XID Drawable; - - extern "C" { -@@ -73,7 +73,7 @@ extern "C" { - } - - #include "ui/gfx/x/connection.h" // nogncheck --#endif -+#endif // BUILDFLAG(USE_VAAPI_X11) - - #if defined(USE_OZONE) - #include "ui/ozone/public/ozone_platform.h" -@@ -87,14 +87,14 @@ using media_gpu_vaapi::kModuleVa_prot; - - using media_gpu_vaapi::kModuleVa; - using media_gpu_vaapi::kModuleVa_drm; --#if defined(USE_X11) -+#if BUILDFLAG(USE_VAAPI_X11) - using media_gpu_vaapi::kModuleVa_x11; --#endif -+#endif // BUILDFLAG(USE_VAAPI_X11) - using media_gpu_vaapi::InitializeStubs; - using media_gpu_vaapi::IsVaInitialized; --#if defined(USE_X11) -+#if BUILDFLAG(USE_VAAPI_X11) - using media_gpu_vaapi::IsVa_x11Initialized; --#endif -+#endif // BUILDFLAG(USE_VAAPI_X11) - using media_gpu_vaapi::IsVa_drmInitialized; - using media_gpu_vaapi::StubPathMap; - -@@ -559,10 +559,20 @@ VADisplayState::VADisplayState() - bool VADisplayState::Initialize() { - base::AutoLock auto_lock(va_lock_); - -+#if defined(USE_OZONE) && defined(OS_LINUX) -+ // TODO(crbug.com/1116701): add vaapi support for other Ozone platforms on -+ // Linux. See comment in OzonePlatform::PlatformProperties::supports_vaapi -+ // for more details. This will also require revisiting everything that's -+ // guarded by USE_VAAPI_X11. For example, if USE_VAAPI_X11 is true, but the -+ // user chooses the Wayland backend for Ozone at runtime, then many things (if -+ // not all) that we do for X11 won't apply. -+ if (!ui::OzonePlatform::GetInstance()->GetPlatformProperties().supports_vaapi) -+ return false; -+#endif -+ - bool libraries_initialized = IsVaInitialized() && IsVa_drmInitialized(); --#if defined(USE_X11) -- if (!features::IsUsingOzonePlatform()) -- libraries_initialized = libraries_initialized && IsVa_x11Initialized(); -+#if BUILDFLAG(USE_VAAPI_X11) -+ libraries_initialized = libraries_initialized && IsVa_x11Initialized(); - #endif - if (!libraries_initialized) - return false; -@@ -577,34 +587,25 @@ bool VADisplayState::Initialize() { - return success; - } - --#if defined(USE_X11) -+#if BUILDFLAG(USE_VAAPI_X11) - - absl::optional GetVADisplayStateX11(const base::ScopedFD& drm_fd) { -- bool use_drm_as_fallback = false; - switch (gl::GetGLImplementation()) { - case gl::kGLImplementationEGLGLES2: - return vaGetDisplayDRM(drm_fd.get()); - - case gl::kGLImplementationNone: -- use_drm_as_fallback = true; -- FALLTHROUGH; - - case gl::kGLImplementationDesktopGL: { -- if (!features::IsUsingOzonePlatform()) { -- VADisplay display = -- vaGetDisplay(x11::Connection::Get()->GetXlibDisplay()); -- if (vaDisplayIsValid(display)) -- return display; -- return vaGetDisplayDRM(drm_fd.get()); -- } -- break; -+ VADisplay display = -+ vaGetDisplay(x11::Connection::Get()->GetXlibDisplay()); -+ if (vaDisplayIsValid(display)) -+ return display; -+ return vaGetDisplayDRM(drm_fd.get()); - } - -- case gl::kGLImplementationEGLANGLE: { -- if (!features::IsUsingOzonePlatform()) -- return vaGetDisplay(x11::Connection::Get()->GetXlibDisplay()); -- break; -- } -+ case gl::kGLImplementationEGLANGLE: -+ return vaGetDisplay(x11::Connection::Get()->GetXlibDisplay()); - - default: - LOG(WARNING) << "VAAPI video acceleration not available for " -@@ -612,10 +613,6 @@ absl::optional GetVADisplayStateX11(const base::ScopedFD& drm_fd) { - gl::GetGLImplementationParts()); - return absl::nullopt; - } -- -- if (use_drm_as_fallback) -- return vaGetDisplayDRM(drm_fd.get()); -- return absl::nullopt; - } - - #else -@@ -633,11 +630,11 @@ absl::optional GetVADisplayState(const base::ScopedFD& drm_fd) { - } - } - --#endif // defined(USE_X11) -+#endif // BUILDFLAG(USE_VAAPI_X11) - - bool VADisplayState::InitializeVaDisplay_Locked() { - absl::optional display = --#if defined(USE_X11) -+#if BUILDFLAG(USE_VAAPI_X11) - GetVADisplayStateX11(drm_fd_); - #else - GetVADisplayState(drm_fd_); -@@ -702,10 +699,9 @@ bool VADisplayState::InitializeOnce() { - if (!InitializeVaDisplay_Locked() || !InitializeVaDriver_Locked()) - return false; - --#if defined(USE_X11) -+#if BUILDFLAG(USE_VAAPI_X11) - if (gl::GetGLImplementation() == gl::kGLImplementationEGLANGLE && - implementation_type_ == VAImplementation::kIntelIHD) { -- DCHECK(!features::IsUsingOzonePlatform()); - constexpr char libva_driver_impl_env[] = "LIBVA_DRIVER_NAME"; - // TODO(crbug/1116703) The libva intel-media driver has a known segfault in - // vaPutSurface, so until this is fixed, fall back to the i965 driver. There -@@ -722,7 +718,7 @@ bool VADisplayState::InitializeOnce() { - if (!InitializeVaDisplay_Locked() || !InitializeVaDriver_Locked()) - return false; - } --#endif // USE_X11 -+#endif // BUILDFLAG(USE_VAAPI_X11) - - return true; - } -@@ -2452,11 +2448,10 @@ bool VaapiWrapper::MapAndCopyAndExecute( - return Execute_Locked(va_surface_id, va_buffer_ids); - } - --#if defined(USE_X11) -+#if BUILDFLAG(USE_VAAPI_X11) - bool VaapiWrapper::PutSurfaceIntoPixmap(VASurfaceID va_surface_id, - x11::Pixmap x_pixmap, - gfx::Size dest_size) { -- DCHECK(!features::IsUsingOzonePlatform()); - base::AutoLock auto_lock(*va_lock_); - - VAStatus va_res = vaSyncSurface(va_display_, va_surface_id); -@@ -2470,7 +2465,7 @@ bool VaapiWrapper::PutSurfaceIntoPixmap(VASurfaceID va_surface_id, - VA_SUCCESS_OR_RETURN(va_res, VaapiFunctions::kVAPutSurface, false); - return true; - } --#endif // USE_X11 -+#endif // BUILDFLAG(USE_VAAPI_X11) - - std::unique_ptr VaapiWrapper::CreateVaImage( - VASurfaceID va_surface_id, -@@ -2844,9 +2839,8 @@ void VaapiWrapper::PreSandboxInitialization() { - - paths[kModuleVa].push_back(std::string("libva.so.") + va_suffix); - paths[kModuleVa_drm].push_back(std::string("libva-drm.so.") + va_suffix); --#if defined(USE_X11) -- if (!features::IsUsingOzonePlatform()) -- paths[kModuleVa_x11].push_back(std::string("libva-x11.so.") + va_suffix); -+#if BUILDFLAG(USE_VAAPI_X11) -+ paths[kModuleVa_x11].push_back(std::string("libva-x11.so.") + va_suffix); - #endif - #if BUILDFLAG(IS_CHROMEOS_ASH) - paths[kModuleVa_prot].push_back(std::string("libva.so.") + va_suffix); -diff --git a/media/gpu/vaapi/vaapi_wrapper.h b/media/gpu/vaapi/vaapi_wrapper.h -index 0e3da53624..88ffcd0799 100644 ---- a/media/gpu/vaapi/vaapi_wrapper.h -+++ b/media/gpu/vaapi/vaapi_wrapper.h -@@ -36,9 +36,9 @@ - #include "third_party/abseil-cpp/absl/types/optional.h" - #include "ui/gfx/geometry/size.h" - --#if defined(USE_X11) -+#if BUILDFLAG(USE_VAAPI_X11) - #include "ui/gfx/x/xproto.h" // nogncheck --#endif // USE_X11 -+#endif // BUILDFLAG(USE_VAAPI_X11) - - namespace gfx { - enum class BufferFormat; -@@ -426,13 +426,13 @@ class MEDIA_GPU_EXPORT VaapiWrapper - const std::vector>& va_buffers) - WARN_UNUSED_RESULT; - --#if defined(USE_X11) -+#if BUILDFLAG(USE_VAAPI_X11) - // Put data from |va_surface_id| into |x_pixmap| of size - // |dest_size|, converting/scaling to it. - bool PutSurfaceIntoPixmap(VASurfaceID va_surface_id, - x11::Pixmap x_pixmap, - gfx::Size dest_size) WARN_UNUSED_RESULT; --#endif // USE_X11 -+#endif // BUILDFLAG(USE_VAAPI_X11) - - // Creates a ScopedVAImage from a VASurface |va_surface_id| and map it into - // memory with the given |format| and |size|. If |format| is not equal to the -diff --git a/ui/ozone/platform/x11/ozone_platform_x11.cc b/ui/ozone/platform/x11/ozone_platform_x11.cc -index 8889828e0f..963dc7a0cd 100644 ---- a/ui/ozone/platform/x11/ozone_platform_x11.cc -+++ b/ui/ozone/platform/x11/ozone_platform_x11.cc -@@ -208,6 +208,9 @@ class OzonePlatformX11 : public OzonePlatform, - properties->supports_global_application_menus = true; - properties->app_modal_dialogs_use_event_blocker = true; - properties->fetch_buffer_formats_for_gmb_on_gpu = true; -+#if defined(OS_LINUX) -+ properties->supports_vaapi = true; -+#endif - - initialised = true; - } -diff --git a/ui/ozone/public/ozone_platform.h b/ui/ozone/public/ozone_platform.h -index df95f07486..2d7f44bbfa 100644 ---- a/ui/ozone/public/ozone_platform.h -+++ b/ui/ozone/public/ozone_platform.h -@@ -15,6 +15,7 @@ - #include "base/macros.h" - #include "base/message_loop/message_pump_type.h" - #include "base/single_thread_task_runner.h" -+#include "build/build_config.h" - #include "mojo/public/cpp/bindings/binder_map.h" - #include "ui/gfx/buffer_types.h" - #include "ui/gfx/native_widget_types.h" -@@ -154,6 +155,15 @@ class COMPONENT_EXPORT(OZONE) OzonePlatform { - // Determines whether buffer formats should be fetched on GPU and passed - // back via gpu extra info. - bool fetch_buffer_formats_for_gmb_on_gpu = false; -+ -+#if defined(OS_LINUX) -+ // TODO(crbug.com/1116701): add vaapi support for other Ozone platforms on -+ // Linux. At the moment, VA-API Linux implementation supports only X11 -+ // backend. This implementation must be refactored to support Ozone -+ // properly. As a temporary solution, VA-API on Linux checks if vaapi is -+ // supported (which implicitly means that it is Ozone/X11). -+ bool supports_vaapi = false; -+#endif - }; - - // Groups platform properties that can only be known at run time. diff --git a/network/web/chromium-browser/files/patches/chromium-78-protobuf-RepeatedPtrField-export.patch b/network/web/chromium-browser/files/patches/chromium-78-protobuf-RepeatedPtrField-export.patch deleted file mode 100644 index ddb9e80eef..0000000000 --- a/network/web/chromium-browser/files/patches/chromium-78-protobuf-RepeatedPtrField-export.patch +++ /dev/null @@ -1,13 +0,0 @@ -diff --git a/third_party/protobuf/src/google/protobuf/repeated_field.h b/third_party/protobuf/src/google/protobuf/repeated_field.h -index b5b193c..4434854 100644 ---- a/third_party/protobuf/src/google/protobuf/repeated_field.h -+++ b/third_party/protobuf/src/google/protobuf/repeated_field.h -@@ -804,7 +804,7 @@ class StringTypeHandler { - // RepeatedPtrField is like RepeatedField, but used for repeated strings or - // Messages. - template --class RepeatedPtrField final : private internal::RepeatedPtrFieldBase { -+class PROTOBUF_EXPORT RepeatedPtrField final : private internal::RepeatedPtrFieldBase { - public: - RepeatedPtrField(); - explicit RepeatedPtrField(Arena* arena); diff --git a/network/web/chromium-browser/files/patches/chromium-98-compiler.patch b/network/web/chromium-browser/files/patches/chromium-98-compiler.patch deleted file mode 100644 index 2556ee1025..0000000000 --- a/network/web/chromium-browser/files/patches/chromium-98-compiler.patch +++ /dev/null @@ -1,220 +0,0 @@ -From 307a0f63dd9b118f4b8470ed3d7567e81fdb7a6d Mon Sep 17 00:00:00 2001 -From: Mike Gilbert -Date: Fri, 3 Dec 2021 09:50:31 +0000 -Subject: [PATCH] Disable various compiler configs - ---- - build/config/compiler/BUILD.gn | 105 ++++++--------------------------- - 1 file changed, 17 insertions(+), 88 deletions(-) - -diff --git a/build/config/compiler/BUILD.gn b/build/config/compiler/BUILD.gn -index 5365544..e6d9b56 100644 ---- a/build/config/compiler/BUILD.gn -+++ b/build/config/compiler/BUILD.gn -@@ -291,9 +291,7 @@ config("compiler") { - - configs += [ - # See the definitions below. -- ":clang_revision", - ":rustc_revision", -- ":compiler_cpu_abi", - ":compiler_codegen", - ":compiler_deterministic", - ] -@@ -534,31 +532,6 @@ config("compiler") { - ldflags += [ "-Wl,-z,keep-text-section-prefix" ] - } - -- if (is_clang && !is_nacl && current_os != "zos") { -- cflags += [ "-fcrash-diagnostics-dir=" + clang_diagnostic_dir ] -- -- # TODO(hans): Remove this once Clang generates better optimized debug info -- # by default. https://crbug.com/765793 -- cflags += [ -- "-mllvm", -- "-instcombine-lower-dbg-declare=0", -- ] -- if (!is_debug && use_thin_lto && is_a_target_toolchain) { -- if (is_win) { -- ldflags += [ "-mllvm:-instcombine-lower-dbg-declare=0" ] -- } else { -- ldflags += [ "-Wl,-mllvm,-instcombine-lower-dbg-declare=0" ] -- } -- } -- -- # TODO(crbug.com/1235145): Investigate why/if this should be needed. -- if (is_win) { -- cflags += [ "/clang:-ffp-contract=off" ] -- } else { -- cflags += [ "-ffp-contract=off" ] -- } -- } -- - # C11/C++11 compiler flags setup. - # --------------------------- - if (is_linux || is_chromeos || is_android || (is_nacl && is_clang) || -@@ -1231,45 +1204,6 @@ config("compiler_deterministic") { - } - } - -- # Makes builds independent of absolute file path. -- if (is_clang && strip_absolute_paths_from_debug_symbols) { -- # If debug option is given, clang includes $cwd in debug info by default. -- # For such build, this flag generates reproducible obj files even we use -- # different build directory like "out/feature_a" and "out/feature_b" if -- # we build same files with same compile flag. -- # Other paths are already given in relative, no need to normalize them. -- if (is_nacl) { -- # TODO(https://crbug.com/1231236): Use -ffile-compilation-dir= here. -- cflags += [ -- "-Xclang", -- "-fdebug-compilation-dir", -- "-Xclang", -- ".", -- ] -- } else { -- # -ffile-compilation-dir is an alias for both -fdebug-compilation-dir= -- # and -fcoverage-compilation-dir=. -- cflags += [ "-ffile-compilation-dir=." ] -- } -- if (!is_win) { -- # We don't use clang -cc1as on Windows (yet? https://crbug.com/762167) -- asmflags = [ "-Wa,-fdebug-compilation-dir,." ] -- } -- -- if (is_win && use_lld) { -- if (symbol_level == 2 || (is_clang && using_sanitizer)) { -- # Absolutize source file paths for PDB. Pass the real build directory -- # if the pdb contains source-level debug information and if linker -- # reproducibility is not critical. -- ldflags += [ "/PDBSourcePath:" + rebase_path(root_build_dir) ] -- } else { -- # Use a fake fixed base directory for paths in the pdb to make the pdb -- # output fully deterministic and independent of the build directory. -- ldflags += [ "/PDBSourcePath:o:\fake\prefix" ] -- } -- } -- } -- - # Tells the compiler not to use absolute paths when passing the default - # paths to the tools it invokes. We don't want this because we don't - # really need it and it can mess up the goma cache entries. -@@ -1556,7 +1490,7 @@ config("chromium_code") { - defines = [ "_HAS_NODISCARD" ] - } - } else { -- cflags = [ "-Wall" ] -+ cflags = [] - if (treat_warnings_as_errors) { - cflags += [ "-Werror" ] - -@@ -1565,10 +1499,6 @@ config("chromium_code") { - # well. - ldflags = [ "-Werror" ] - } -- if (is_clang) { -- # Enable extra warnings for chromium_code when we control the compiler. -- cflags += [ "-Wextra" ] -- } - - # In Chromium code, we define __STDC_foo_MACROS in order to get the - # C99 macros on Mac and Linux. -@@ -1577,15 +1507,6 @@ config("chromium_code") { - "__STDC_FORMAT_MACROS", - ] - -- if (!is_debug && !using_sanitizer && current_cpu != "s390x" && -- current_cpu != "s390" && current_cpu != "ppc64" && -- current_cpu != "mips" && current_cpu != "mips64") { -- # Non-chromium code is not guaranteed to compile cleanly with -- # _FORTIFY_SOURCE. Also, fortified build may fail when optimizations are -- # disabled, so only do that for Release build. -- defines += [ "_FORTIFY_SOURCE=2" ] -- } -- - if (is_mac) { - cflags_objc = [ "-Wobjc-missing-property-synthesis" ] - cflags_objcc = [ "-Wobjc-missing-property-synthesis" ] -@@ -1988,7 +1909,8 @@ config("default_stack_frames") { - } - - # Default "optimization on" config. --config("optimize") { -+config("optimize") { } -+config("xoptimize") { - if (is_win) { - if (chrome_pgo_phase != 2) { - # Favor size over speed, /O1 must be before the common flags. -@@ -2026,7 +1948,8 @@ config("optimize") { - } - - # Turn off optimizations. --config("no_optimize") { -+config("no_optimize") { } -+config("xno_optimize") { - if (is_win) { - cflags = [ - "/Od", # Disable optimization. -@@ -2066,7 +1989,8 @@ config("no_optimize") { - # Turns up the optimization level. On Windows, this implies whole program - # optimization and link-time code generation which is very expensive and should - # be used sparingly. --config("optimize_max") { -+config("optimize_max") { } -+config("xoptimize_max") { - if (is_nacl && is_nacl_irt) { - # The NaCl IRT is a special case and always wants its own config. - # Various components do: -@@ -2099,7 +2023,8 @@ config("optimize_max") { - # - # TODO(crbug.com/621335) - rework how all of these configs are related - # so that we don't need this disclaimer. --config("optimize_speed") { -+config("optimize_speed") { } -+config("xoptimize_speed") { - if (is_nacl && is_nacl_irt) { - # The NaCl IRT is a special case and always wants its own config. - # Various components do: -@@ -2125,7 +2050,8 @@ config("optimize_speed") { - } - } - --config("optimize_fuzzing") { -+config("optimize_fuzzing") { } -+config("xoptimize_fuzzing") { - cflags = [ "-O1" ] + common_optimize_on_cflags - rustflags = [ "-Copt-level=1" ] - ldflags = common_optimize_on_ldflags -@@ -2245,7 +2171,8 @@ config("win_pdbaltpath") { - } - - # Full symbols. --config("symbols") { -+config("symbols") { } -+config("xsymbols") { - if (is_win) { - if (is_clang) { - cflags = [ "/Z7" ] # Debug information in the .obj files. -@@ -2369,7 +2296,8 @@ config("symbols") { - # Minimal symbols. - # This config guarantees to hold symbol for stack trace which are shown to user - # when crash happens in unittests running on buildbot. --config("minimal_symbols") { -+config("minimal_symbols") { } -+config("xminimal_symbols") { - if (is_win) { - # Functions, files, and line tables only. - cflags = [] -@@ -2438,7 +2366,8 @@ config("minimal_symbols") { - # This configuration contains function names only. That is, the compiler is - # told to not generate debug information and the linker then just puts function - # names in the final debug information. --config("no_symbols") { -+config("no_symbols") { } -+config("xno_symbols") { - if (is_win) { - ldflags = [ "/DEBUG" ] - --- -2.32.0 - diff --git a/network/web/chromium-browser/files/patches/chromium-99-AutofillAssistantModelExecutor-NoDestructor.patch b/network/web/chromium-browser/files/patches/chromium-99-AutofillAssistantModelExecutor-NoDestructor.patch deleted file mode 100644 index 58b76a747b..0000000000 --- a/network/web/chromium-browser/files/patches/chromium-99-AutofillAssistantModelExecutor-NoDestructor.patch +++ /dev/null @@ -1,32 +0,0 @@ -From f1befebb6cea78950b5a8133bf3e65d56889d353 Mon Sep 17 00:00:00 2001 -From: Jose Dapena Paz -Date: Thu, 20 Jan 2022 09:38:13 +0100 -Subject: [PATCH] GCC: use braces initialization for NoDestructor in AutofillAssistantModelExecutor - -Fix build with GCC failing to resolve initialization of NoDestructor -with initializer list. - -Bug: 819294 -Change-Id: I5fe8d30b4aefdddd71ff7b220eeffcd838308f5a ---- - -diff --git a/components/autofill_assistant/content/renderer/autofill_assistant_model_executor.cc b/components/autofill_assistant/content/renderer/autofill_assistant_model_executor.cc -index 033205b..670376e 100644 ---- a/components/autofill_assistant/content/renderer/autofill_assistant_model_executor.cc -+++ b/components/autofill_assistant/content/renderer/autofill_assistant_model_executor.cc -@@ -156,13 +156,13 @@ - // TODO(b/204841212): Implement this with use of ModelMetadata. - absl::optional AutofillAssistantModelExecutor::Postprocess( - const std::vector& output_tensors) { -- static const base::NoDestructor> output_roles( -+ static const base::NoDestructor> output_roles{ - {"UNKNOWN_ROLE", "NAME_FIRST", "NAME_LAST", "NAME_FULL", "ADDRESS_LINE1", - "ADDRESS_LINE2", "CITY", "STATE", "COUNTRY", "POSTAL_CODE", - "CREDIT_CARD_NUMBER", "CREDIT_CARD_EXP_MONTH", - "CREDIT_CARD_VERIFICATION_CODE", "ORGANIZATION", - "CREDIT_CARD_EXPIRATION", "PHONE_NUMBER", "USERNAME_OR_EMAIL", -- "CREDIT_CARD_EXP_YEAR"}); -+ "CREDIT_CARD_EXP_YEAR"}}; - - DCHECK_GE(output_tensors.size(), 1u); - std::vector data; diff --git a/network/web/chromium-browser/files/pipewire-do-not-typecheck-the-portal-session_handle.patch b/network/web/chromium-browser/files/pipewire-do-not-typecheck-the-portal-session_handle.patch deleted file mode 100644 index e1f15b4ab3..0000000000 --- a/network/web/chromium-browser/files/pipewire-do-not-typecheck-the-portal-session_handle.patch +++ /dev/null @@ -1,44 +0,0 @@ -From 408e4da26f1b782005ab10307c83892055d7ef45 Mon Sep 17 00:00:00 2001 -From: Robert Mader -Date: Mon, 20 Sep 2021 15:15:31 +0200 -Subject: [PATCH] Pipewire: Do not typecheck the portal session_handle -MIME-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit - -Desktop sharing via Pipewire will break for clients updating to -xdg-desktop-portal 1.10 due to a bug fix in the API implementation[1]. - -This ports over a fix from OBS Studio[2] that also is used in the -downstream Firefox WebRTC copy[3]. - -1: https://github.com/flatpak/xdg-desktop-portal/pull/609 -2: https://github.com/obsproject/obs-studio/pull/5294 -3: https://phabricator.services.mozilla.com/D126053 -Bug: webrtc:13192 -Change-Id: I497dd1bb53cc39dee3732c2e0014e2e36a7afb6c -Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/232329 -Reviewed-by: Erik Språng -Reviewed-by: Tommi -Commit-Queue: Tommi -Cr-Commit-Position: refs/heads/main@{#35153} ---- - modules/desktop_capture/linux/base_capturer_pipewire.cc | 5 +++-- - 1 file changed, 3 insertions(+), 2 deletions(-) - -diff --git a/modules/desktop_capture/linux/base_capturer_pipewire.cc b/modules/desktop_capture/linux/base_capturer_pipewire.cc -index 2d5e973..45229b2 100644 ---- a/third_party/webrtc/modules/desktop_capture/linux/base_capturer_pipewire.cc -+++ b/third_party/webrtc/modules/desktop_capture/linux/base_capturer_pipewire.cc -@@ -801,8 +801,9 @@ void BaseCapturerPipeWire::OnSessionRequestResponseSignal( - Scoped response_data; - g_variant_get(parameters, "(u@a{sv})", &portal_response, - response_data.receive()); -- g_variant_lookup(response_data.get(), "session_handle", "s", -- &that->session_handle_); -+ Scoped session_handle( -+ g_variant_lookup_value(response_data.get(), "session_handle", nullptr)); -+ that->session_handle_ = g_variant_dup_string(session_handle.get(), nullptr); - - if (!that->session_handle_ || portal_response) { - RTC_LOG(LS_ERROR) diff --git a/network/web/chromium-browser/files/pisilinux/fix_build_with_newer_gcc.patch b/network/web/chromium-browser/files/pisilinux/fix_build_with_newer_gcc.patch deleted file mode 100644 index ab172404b7..0000000000 Binary files a/network/web/chromium-browser/files/pisilinux/fix_build_with_newer_gcc.patch and /dev/null differ diff --git a/network/web/chromium-browser/files/pisilinux/gfx_jpeg_codec.patch b/network/web/chromium-browser/files/pisilinux/gfx_jpeg_codec.patch deleted file mode 100644 index 0e28e4da39..0000000000 Binary files a/network/web/chromium-browser/files/pisilinux/gfx_jpeg_codec.patch and /dev/null differ diff --git a/network/web/chromium-browser/files/pisilinux/last_commit_position.patch b/network/web/chromium-browser/files/pisilinux/last_commit_position.patch deleted file mode 100644 index 1bc89526f7..0000000000 Binary files a/network/web/chromium-browser/files/pisilinux/last_commit_position.patch and /dev/null differ diff --git a/network/web/chromium-browser/files/replace-blacklist-with-ignorelist.patch b/network/web/chromium-browser/files/replace-blacklist-with-ignorelist.patch deleted file mode 100644 index 1cc3a501f1..0000000000 --- a/network/web/chromium-browser/files/replace-blacklist-with-ignorelist.patch +++ /dev/null @@ -1,196 +0,0 @@ -From 9d080c0934b848ee4a05013c78641e612fcc1e03 Mon Sep 17 00:00:00 2001 -From: Dylan Cutler -Date: Wed, 26 May 2021 16:39:52 +0000 -Subject: [PATCH] Reland "Replace 'blacklist' with 'ignorelist' in - ./tools/msan/." - -This is a reland of 3b6263f2eece1264b052dfdcbc03b851d5abfb48 - -Relanding now that https://chromium-review.googlesource.com/c/chromiumos/overlays/chromiumos-overlay/+/2897974 is merged - -Original change's description: -> Replace 'blacklist' with 'ignorelist' in ./tools/msan/. -> -> Bug: 1097272, 1097268 -> Change-Id: Id5c8227a5bfb1ffaec82d3168b609085b10c8297 -> Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2867730 -> Commit-Queue: Dylan Cutler -> Reviewed-by: Nico Weber -> Reviewed-by: Jonathan Metzman -> Cr-Commit-Position: refs/heads/master@{#883035} - -Bug: 1097272 -Bug: 1097268 -Change-Id: I11a5bc8972680c95fb1dab95ed3b707ed76f4667 -Cq-Include-Trybots: luci.chromium.try:chromeos-amd64-generic-cfi-thin-lto-rel -Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2911096 -Commit-Queue: Dylan Cutler -Reviewed-by: Nico Weber -Cr-Commit-Position: refs/heads/master@{#886773} ---- - build/config/sanitizers/BUILD.gn | 44 ++++++++++---------- - build_overrides/build.gni | 14 +++---- - tools/msan/{blacklist.txt => ignorelist.txt} | 0 - 3 files changed, 29 insertions(+), 29 deletions(-) - rename tools/msan/{blacklist.txt => ignorelist.txt} (100%) - -diff --git a/build/config/sanitizers/BUILD.gn b/build/config/sanitizers/BUILD.gn -index aaaad023474d..55b388a43743 100644 ---- a/build/config/sanitizers/BUILD.gn -+++ b/build/config/sanitizers/BUILD.gn -@@ -272,11 +272,11 @@ config("asan_flags") { - if (is_asan) { - cflags += [ "-fsanitize=address" ] - if (is_win) { -- if (!defined(asan_win_blacklist_path)) { -- asan_win_blacklist_path = -+ if (!defined(asan_win_blocklist_path)) { -+ asan_win_blocklist_path = - rebase_path("//tools/memory/asan/blocklist_win.txt", root_build_dir) - } -- cflags += [ "-fsanitize-blacklist=$asan_win_blacklist_path" ] -+ cflags += [ "-fsanitize-ignorelist=$asan_win_blocklist_path" ] - } - } - } -@@ -306,13 +306,13 @@ config("link_shared_library") { - config("cfi_flags") { - cflags = [] - if (is_cfi && current_toolchain == default_toolchain) { -- if (!defined(cfi_blacklist_path)) { -- cfi_blacklist_path = -+ if (!defined(cfi_ignorelist_path)) { -+ cfi_ignorelist_path = - rebase_path("//tools/cfi/ignores.txt", root_build_dir) - } - cflags += [ - "-fsanitize=cfi-vcall", -- "-fsanitize-blacklist=$cfi_blacklist_path", -+ "-fsanitize-ignorelist=$cfi_ignorelist_path", - ] - - if (use_cfi_cast) { -@@ -409,14 +409,14 @@ config("msan_flags") { - if (is_msan) { - assert(is_linux || is_chromeos, - "msan only supported on linux x86_64/ChromeOS") -- if (!defined(msan_blacklist_path)) { -- msan_blacklist_path = -- rebase_path("//tools/msan/blacklist.txt", root_build_dir) -+ if (!defined(msan_ignorelist_path)) { -+ msan_ignorelist_path = -+ rebase_path("//tools/msan/ignorelist.txt", root_build_dir) - } - cflags = [ - "-fsanitize=memory", - "-fsanitize-memory-track-origins=$msan_track_origins", -- "-fsanitize-blacklist=$msan_blacklist_path", -+ "-fsanitize-ignorelist=$msan_ignorelist_path", - ] - } - } -@@ -424,13 +424,13 @@ config("msan_flags") { - config("tsan_flags") { - if (is_tsan) { - assert(is_linux || is_chromeos, "tsan only supported on linux x86_64") -- if (!defined(tsan_blacklist_path)) { -- tsan_blacklist_path = -+ if (!defined(tsan_ignorelist_path)) { -+ tsan_ignorelist_path = - rebase_path("//tools/memory/tsan_v2/ignores.txt", root_build_dir) - } - cflags = [ - "-fsanitize=thread", -- "-fsanitize-blacklist=$tsan_blacklist_path", -+ "-fsanitize-ignorelist=$tsan_ignorelist_path", - ] - } - } -@@ -438,8 +438,8 @@ config("tsan_flags") { - config("ubsan_flags") { - cflags = [] - if (is_ubsan) { -- if (!defined(ubsan_blacklist_path)) { -- ubsan_blacklist_path = -+ if (!defined(ubsan_ignorelist_path)) { -+ ubsan_ignorelist_path = - rebase_path("//tools/ubsan/ignorelist.txt", root_build_dir) - } - cflags += [ -@@ -456,7 +456,7 @@ config("ubsan_flags") { - "-fsanitize=signed-integer-overflow", - "-fsanitize=unreachable", - "-fsanitize=vla-bound", -- "-fsanitize-blacklist=$ubsan_blacklist_path", -+ "-fsanitize-ignorelist=$ubsan_ignorelist_path", - ] - - # Chromecast ubsan builds fail to compile with these -@@ -486,8 +486,8 @@ config("ubsan_no_recover") { - - config("ubsan_security_flags") { - if (is_ubsan_security) { -- if (!defined(ubsan_security_blacklist_path)) { -- ubsan_security_blacklist_path = -+ if (!defined(ubsan_security_ignorelist_path)) { -+ ubsan_security_ignorelist_path = - rebase_path("//tools/ubsan/security_ignorelist.txt", root_build_dir) - } - cflags = [ -@@ -495,7 +495,7 @@ config("ubsan_security_flags") { - "-fsanitize=shift", - "-fsanitize=signed-integer-overflow", - "-fsanitize=vla-bound", -- "-fsanitize-blacklist=$ubsan_security_blacklist_path", -+ "-fsanitize-ignorelist=$ubsan_security_ignorelist_path", - ] - } - } -@@ -508,13 +508,13 @@ config("ubsan_null_flags") { - - config("ubsan_vptr_flags") { - if (is_ubsan_vptr) { -- if (!defined(ubsan_vptr_blacklist_path)) { -- ubsan_vptr_blacklist_path = -+ if (!defined(ubsan_vptr_ignorelist_path)) { -+ ubsan_vptr_ignorelist_path = - rebase_path("//tools/ubsan/vptr_ignorelist.txt", root_build_dir) - } - cflags = [ - "-fsanitize=vptr", -- "-fsanitize-blacklist=$ubsan_vptr_blacklist_path", -+ "-fsanitize-ignorelist=$ubsan_vptr_ignorelist_path", - ] - } - } -diff --git a/build_overrides/build.gni b/build_overrides/build.gni -index 82627b03653f..f3e563ab701b 100644 ---- a/build_overrides/build.gni -+++ b/build_overrides/build.gni -@@ -42,15 +42,15 @@ declare_args() { - # Allows different projects to specify their own suppression/ignore lists for - # sanitizer tools. - # asan_suppressions_file = "path/to/asan_suppressions.cc" --# asan_win_blacklist_path = "path/to/asan/blocklist_win.txt" -+# asan_win_ignorelist_path = "path/to/asan/blocklist_win.txt" - # lsan_suppressions_file = "path/to/lsan_suppressions.cc" - # tsan_suppressions_file = "path/to/tsan_suppressions.cc" --# tsan_blacklist_path = "path/to/tsan/ignores.txt" --# msan_blacklist_path = "path/to/msan/blacklist.txt" --# ubsan_blacklist_path = "path/to/ubsan/blacklist.txt" --# ubsan_vptr_blacklist_path = "path/to/ubsan/vptr_blacklist.txt" --# ubsan_security_blacklist_path = "path/to/ubsan/security_blacklist.txt" --# cfi_blacklist_path = "path/to/cfi/ignores.txt" -+# tsan_ignorelist_path = "path/to/tsan/ignores.txt" -+# msan_ignorelist_path = "path/to/msan/ignorelist.txt" -+# ubsan_ignorelist_path = "path/to/ubsan/ignorelist.txt" -+# ubsan_vptr_ignorelist_path = "path/to/ubsan/vptr_ignorelist.txt" -+# ubsan_security_ignorelist_path = "path/to/ubsan/security_ignorelist.txt" -+# cfi_ignorelist_path = "path/to/cfi/ignores.txt" - - declare_args() { - # Android 32-bit non-component, non-clang builds cannot have symbol_level=2 -diff --git a/tools/msan/blacklist.txt b/tools/msan/ignorelist.txt -similarity index 100% -rename from tools/msan/blacklist.txt -rename to tools/msan/ignorelist.txt diff --git a/network/web/chromium-browser/files/sql-make-VirtualCursor-standard-layout-type.patch b/network/web/chromium-browser/files/sql-make-VirtualCursor-standard-layout-type.patch deleted file mode 100644 index 3364d41ee0..0000000000 --- a/network/web/chromium-browser/files/sql-make-VirtualCursor-standard-layout-type.patch +++ /dev/null @@ -1,238 +0,0 @@ -From 144479ad7b4287bee4067f95e4218f614798a865 Mon Sep 17 00:00:00 2001 -From: Stephan Hartmann -Date: Sun, 16 Jan 2022 19:15:26 +0000 -Subject: [PATCH] sql: make VirtualCursor standard layout type - -sql::recover::VirtualCursor needs to be a standard layout type, but -has members of type std::unique_ptr. However, std::unique_ptr is not -guaranteed to be standard layout. Compiling with clang combined with -gcc-11 libstdc++ fails because of this. - -Bug: 1189788 -Change-Id: Ia6dc388cc5ef1c0f2afc75f8ca45b9f12687ca9c ---- - sql/recover_module/btree.cc | 18 ++++++++++++------ - sql/recover_module/btree.h | 21 +++++++++++++++------ - sql/recover_module/cursor.cc | 24 ++++++++++++------------ - sql/recover_module/cursor.h | 2 +- - sql/recover_module/pager.cc | 5 ++--- - sql/recover_module/pager.h | 6 +++--- - 6 files changed, 45 insertions(+), 31 deletions(-) - -diff --git a/sql/recover_module/btree.cc b/sql/recover_module/btree.cc -index cc9420e5c05..f12d8fa32a2 100644 ---- a/sql/recover_module/btree.cc -+++ b/sql/recover_module/btree.cc -@@ -136,16 +136,22 @@ static_assert(std::is_trivially_destructible::value, - "Move the destructor to the .cc file if it's non-trival"); - #endif // !DCHECK_IS_ON() - --LeafPageDecoder::LeafPageDecoder(DatabasePageReader* db_reader) noexcept -- : page_id_(db_reader->page_id()), -- db_reader_(db_reader), -- cell_count_(ComputeCellCount(db_reader)), -- next_read_index_(0), -- last_record_size_(0) { -+LeafPageDecoder::LeafPageDecoder() noexcept = default; -+ -+void LeafPageDecoder::Initialize(DatabasePageReader* db_reader) { -+ page_id_ = db_reader->page_id(); -+ db_reader_ = db_reader; -+ cell_count_ = ComputeCellCount(db_reader); -+ next_read_index_ = 0; -+ last_record_size_ = 0; - DCHECK(IsOnValidPage(db_reader)); - DCHECK(DatabasePageReader::IsValidPageId(page_id_)); - } - -+void LeafPageDecoder::Reset() { -+ db_reader_ = nullptr; -+} -+ - bool LeafPageDecoder::TryAdvance() { - DCHECK_CALLED_ON_VALID_SEQUENCE(sequence_checker_); - DCHECK(CanAdvance()); -diff --git a/sql/recover_module/btree.h b/sql/recover_module/btree.h -index eaa087a5c52..df0e0c937c0 100644 ---- a/sql/recover_module/btree.h -+++ b/sql/recover_module/btree.h -@@ -101,9 +101,7 @@ class LeafPageDecoder { - public: - // Creates a decoder for a DatabasePageReader's last read page. - // -- // |db_reader| must have been used to read an inner page of a table B-tree. -- // |db_reader| must outlive this instance. -- explicit LeafPageDecoder(DatabasePageReader* db_reader) noexcept; -+ LeafPageDecoder() noexcept; - ~LeafPageDecoder() noexcept = default; - - LeafPageDecoder(const LeafPageDecoder&) = delete; -@@ -151,6 +149,17 @@ class LeafPageDecoder { - // read as long as CanAdvance() returns true. - bool TryAdvance(); - -+ // Initialize with DatabasePageReader -+ // |db_reader| must have been used to read an inner page of a table B-tree. -+ // |db_reader| must outlive this instance. -+ void Initialize(DatabasePageReader* db_reader); -+ -+ // Reset internal DatabasePageReader -+ void Reset(); -+ -+ // True if DatabasePageReader is valid -+ bool IsValid() { return (db_reader_ != nullptr); } -+ - // True if the given reader may point to an inner page in a table B-tree. - // - // The last ReadPage() call on |db_reader| must have succeeded. -@@ -164,14 +173,14 @@ class LeafPageDecoder { - static int ComputeCellCount(DatabasePageReader* db_reader); - - // The number of the B-tree page this reader is reading. -- const int64_t page_id_; -+ int64_t page_id_; - // Used to read the tree page. - // - // Raw pointer usage is acceptable because this instance's owner is expected - // to ensure that the DatabasePageReader outlives this. -- DatabasePageReader* const db_reader_; -+ DatabasePageReader* db_reader_; - // Caches the ComputeCellCount() value for this reader's page. -- const int cell_count_ = ComputeCellCount(db_reader_); -+ int cell_count_; - - // The reader's cursor state. - // -diff --git a/sql/recover_module/cursor.cc b/sql/recover_module/cursor.cc -index 4f827edf1b4..240de4999fe 100644 ---- a/sql/recover_module/cursor.cc -+++ b/sql/recover_module/cursor.cc -@@ -28,7 +28,7 @@ VirtualCursor::~VirtualCursor() { - int VirtualCursor::First() { - DCHECK_CALLED_ON_VALID_SEQUENCE(sequence_checker_); - inner_decoders_.clear(); -- leaf_decoder_ = nullptr; -+ leaf_decoder_.Reset(); - - AppendPageDecoder(table_->root_page_id()); - return Next(); -@@ -38,18 +38,18 @@ int VirtualCursor::Next() { - DCHECK_CALLED_ON_VALID_SEQUENCE(sequence_checker_); - record_reader_.Reset(); - -- while (!inner_decoders_.empty() || leaf_decoder_.get()) { -- if (leaf_decoder_.get()) { -- if (!leaf_decoder_->CanAdvance()) { -+ while (!inner_decoders_.empty() || leaf_decoder_.IsValid()) { -+ if (leaf_decoder_.IsValid()) { -+ if (!leaf_decoder_.CanAdvance()) { - // The leaf has been exhausted. Remove it from the DFS stack. -- leaf_decoder_ = nullptr; -+ leaf_decoder_.Reset(); - continue; - } -- if (!leaf_decoder_->TryAdvance()) -+ if (!leaf_decoder_.TryAdvance()) - continue; - -- if (!payload_reader_.Initialize(leaf_decoder_->last_record_size(), -- leaf_decoder_->last_record_offset())) { -+ if (!payload_reader_.Initialize(leaf_decoder_.last_record_size(), -+ leaf_decoder_.last_record_offset())) { - continue; - } - if (!record_reader_.Initialize()) -@@ -101,13 +101,13 @@ int VirtualCursor::ReadColumn(int column_index, - int64_t VirtualCursor::RowId() { - DCHECK_CALLED_ON_VALID_SEQUENCE(sequence_checker_); - DCHECK(record_reader_.IsInitialized()); -- DCHECK(leaf_decoder_.get()); -- return leaf_decoder_->last_record_rowid(); -+ DCHECK(leaf_decoder_.IsValid()); -+ return leaf_decoder_.last_record_rowid(); - } - - void VirtualCursor::AppendPageDecoder(int page_id) { - DCHECK_CALLED_ON_VALID_SEQUENCE(sequence_checker_); -- DCHECK(leaf_decoder_.get() == nullptr) -+ DCHECK(!leaf_decoder_.IsValid()) - << __func__ - << " must only be called when the current path has no leaf decoder"; - -@@ -115,7 +115,7 @@ void VirtualCursor::AppendPageDecoder(int page_id) { - return; - - if (LeafPageDecoder::IsOnValidPage(&db_reader_)) { -- leaf_decoder_ = std::make_unique(&db_reader_); -+ leaf_decoder_.Initialize(&db_reader_); - return; - } - -diff --git a/sql/recover_module/cursor.h b/sql/recover_module/cursor.h -index 845b7852648..cc4e85f83f9 100644 ---- a/sql/recover_module/cursor.h -+++ b/sql/recover_module/cursor.h -@@ -130,7 +130,7 @@ class VirtualCursor { - std::vector> inner_decoders_; - - // Decodes the leaf page containing records. -- std::unique_ptr leaf_decoder_; -+ LeafPageDecoder leaf_decoder_; - - SEQUENCE_CHECKER(sequence_checker_); - }; -diff --git a/sql/recover_module/pager.cc b/sql/recover_module/pager.cc -index 58e75de2704..69d98cef98d 100644 ---- a/sql/recover_module/pager.cc -+++ b/sql/recover_module/pager.cc -@@ -23,8 +23,7 @@ static_assert(DatabasePageReader::kMaxPageId <= std::numeric_limits::max(), - "ints are not appropriate for representing page IDs"); - - DatabasePageReader::DatabasePageReader(VirtualTable* table) -- : page_data_(std::make_unique(table->page_size())), -- table_(table) { -+ : page_data_(table->page_size()), table_(table) { - DCHECK(table != nullptr); - DCHECK(IsValidPageSize(table->page_size())); - } -@@ -58,7 +57,7 @@ int DatabasePageReader::ReadPage(int page_id) { - "The |read_offset| computation above may overflow"); - - int sqlite_status = -- RawRead(sqlite_file, read_size, read_offset, page_data_.get()); -+ RawRead(sqlite_file, read_size, read_offset, page_data_.data()); - - // |page_id_| needs to be set to kInvalidPageId if the read failed. - // Otherwise, future ReadPage() calls with the previous |page_id_| value -diff --git a/sql/recover_module/pager.h b/sql/recover_module/pager.h -index 07cac3cb989..d08f0932fab 100644 ---- a/sql/recover_module/pager.h -+++ b/sql/recover_module/pager.h -@@ -6,8 +6,8 @@ - #define SQL_RECOVER_MODULE_PAGER_H_ - - #include --#include - #include -+#include - - #include "base/check_op.h" - #include "base/memory/raw_ptr.h" -@@ -72,7 +72,7 @@ class DatabasePageReader { - DCHECK_CALLED_ON_VALID_SEQUENCE(sequence_checker_); - DCHECK_NE(page_id_, kInvalidPageId) - << "Successful ReadPage() required before accessing pager state"; -- return page_data_.get(); -+ return page_data_.data(); - } - - // The number of bytes in the page read by the last ReadPage() call. -@@ -139,7 +139,7 @@ class DatabasePageReader { - int page_id_ = kInvalidPageId; - // Stores the bytes of the last page successfully read by ReadPage(). - // The content is undefined if the last call to ReadPage() did not succeed. -- const std::unique_ptr page_data_; -+ std::vector page_data_; - // Raw pointer usage is acceptable because this instance's owner is expected - // to ensure that the VirtualTable outlives this. - const raw_ptr table_; diff --git a/network/web/chromium-browser/files/unexpire-accelerated-video-decode-flag.patch b/network/web/chromium-browser/files/unexpire-accelerated-video-decode-flag.patch deleted file mode 100644 index da3a4a5e91..0000000000 --- a/network/web/chromium-browser/files/unexpire-accelerated-video-decode-flag.patch +++ /dev/null @@ -1,11 +0,0 @@ ---- chrome/browser/flag-metadata.json.orig 2021-09-21 18:34:38.740426608 +0000 -+++ chrome/browser/flag-metadata.json 2021-09-21 18:35:09.392000797 +0000 -@@ -1285,7 +1285,7 @@ - { - "name": "enable-accelerated-video-decode", - "owners": [ "media-dev@chromium.org" ], -- "expiry_milestone": 93 -+ "expiry_milestone": 99 - }, - { - "name": "enable-accessibility-live-caption", diff --git a/network/web/chromium-browser/files/use-FT_Done_MM_Var-in-CFX_Font-AdjustMMParams.patch b/network/web/chromium-browser/files/use-FT_Done_MM_Var-in-CFX_Font-AdjustMMParams.patch deleted file mode 100644 index 0faf894a8e..0000000000 --- a/network/web/chromium-browser/files/use-FT_Done_MM_Var-in-CFX_Font-AdjustMMParams.patch +++ /dev/null @@ -1,71 +0,0 @@ -From ffeb67faf715475f6e463d65c368f556780adf19 Mon Sep 17 00:00:00 2001 -From: Lei Zhang -Date: Mon, 31 Jan 2022 22:42:35 +0000 -Subject: [PATCH] Use FT_Done_MM_Var() in CFX_Font::AdjustMMParams() when - possible. - -When FreeType has FT_Done_MM_Var(), use that to free memory in -CFX_Font::AdjustMMParams() to avoid mismatched alloc/free functions. - -Bug: pdfium:1400 -Change-Id: I044540893103921fc64cdd53fcd628cfebf2c9db -Reviewed-on: https://pdfium-review.googlesource.com/c/pdfium/+/90130 -Reviewed-by: Nigi -Commit-Queue: Lei Zhang ---- - core/fxge/cfx_font.cpp | 28 ++++++++++++++++++++++++++-- - 1 file changed, 26 insertions(+), 2 deletions(-) - -diff --git a/core/fxge/cfx_font.cpp b/core/fxge/cfx_font.cpp -index c08fe9608..8b3a72700 100644 ---- a/core/fxge/cfx_font.cpp -+++ b/core/fxge/cfx_font.cpp -@@ -44,6 +44,30 @@ struct OUTLINE_PARAMS { - float m_CoordUnit; - }; - -+// TODO(crbug.com/pdfium/1400): When FT_Done_MM_Var() is more likely to be -+// available to all users in the future, remove FreeMMVar() and use -+// FT_Done_MM_Var() directly. -+// -+// Use weak symbols to check if FT_Done_MM_Var() is available at runtime. -+#if !BUILDFLAG(IS_WIN) -+extern "C" __attribute__((weak)) decltype(FT_Done_MM_Var) FT_Done_MM_Var; -+#endif -+ -+void FreeMMVar(FXFT_FaceRec* rec, FXFT_MM_VarPtr variation_desc) { -+#if BUILDFLAG(IS_WIN) -+ // Assume `use_system_freetype` GN var is never set on Windows. -+ constexpr bool has_ft_done_mm_var_func = true; -+#else -+ static const bool has_ft_done_mm_var_func = !!FT_Done_MM_Var; -+#endif -+ if (has_ft_done_mm_var_func) { -+ FT_Done_MM_Var(CFX_GEModule::Get()->GetFontMgr()->GetFTLibrary(), -+ variation_desc); -+ } else { -+ FXFT_Free(rec, variation_desc); -+ } -+} -+ - FX_RECT FXRectFromFTPos(FT_Pos left, FT_Pos top, FT_Pos right, FT_Pos bottom) { - return FX_RECT(pdfium::base::checked_cast(left), - pdfium::base::checked_cast(top), -@@ -645,7 +669,7 @@ void CFX_Font::AdjustMMParams(int glyph_index, - FT_Pos max_width = FXFT_Get_Glyph_HoriAdvance(m_Face->GetRec()) * 1000 / - FXFT_Get_Face_UnitsPerEM(m_Face->GetRec()); - if (max_width == min_width) { -- FXFT_Free(m_Face->GetRec(), pMasters); -+ FreeMMVar(m_Face->GetRec(), pMasters); - return; - } - FT_Pos param = min_param + (max_param - min_param) * -@@ -653,7 +677,7 @@ void CFX_Font::AdjustMMParams(int glyph_index, - (max_width - min_width); - coords[1] = param; - } -- FXFT_Free(m_Face->GetRec(), pMasters); -+ FreeMMVar(m_Face->GetRec(), pMasters); - FT_Set_MM_Design_Coordinates(m_Face->GetRec(), 2, coords); - } - diff --git a/network/web/chromium-browser/files/use-ffile-compilation-dir.patch b/network/web/chromium-browser/files/use-ffile-compilation-dir.patch deleted file mode 100644 index eb14513c99..0000000000 --- a/network/web/chromium-browser/files/use-ffile-compilation-dir.patch +++ /dev/null @@ -1,65 +0,0 @@ -From 34a955823630096f5b01c2b01d51c1ea59d22763 Mon Sep 17 00:00:00 2001 -From: Zequan Wu -Date: Tue, 20 Jul 2021 14:13:50 +0000 -Subject: [PATCH] Use -ffile-compilation-dir= instead of - -fdebug-compilation-dir= - -Bug: 1010267 -Change-Id: If2b4ead8535a76490eb466a38e3d8fed6ea91079 -Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2770738 -Auto-Submit: Zequan Wu -Commit-Queue: Nico Weber -Reviewed-by: Nico Weber -Cr-Commit-Position: refs/heads/master@{#903456} ---- - build/config/compiler/BUILD.gn | 18 ++++++++++++------ - build/config/compiler/compiler.gni | 7 ++----- - 2 files changed, 14 insertions(+), 11 deletions(-) - -diff --git a/build/config/compiler/BUILD.gn b/build/config/compiler/BUILD.gn -index ede07d111c..6db16c1cdd 100644 ---- a/build/config/compiler/BUILD.gn -+++ b/build/config/compiler/BUILD.gn -@@ -1216,12 +1216,18 @@ config("compiler_deterministic") { - # different build directory like "out/feature_a" and "out/feature_b" if - # we build same files with same compile flag. - # Other paths are already given in relative, no need to normalize them. -- cflags += [ -- "-Xclang", -- "-fdebug-compilation-dir", -- "-Xclang", -- ".", -- ] -+ if (is_nacl) { -+ cflags += [ -+ "-Xclang", -+ "-fdebug-compilation-dir", -+ "-Xclang", -+ ".", -+ ] -+ } else { -+ # -ffile-compilation-dir is an alias for both -fdebug-compilation-dir= -+ # and -fcoverage-compilation-dir=. -+ cflags += [ "-ffile-compilation-dir=." ] -+ } - if (!is_win) { - # We don't use clang -cc1as on Windows (yet? https://crbug.com/762167) - asmflags = [ "-Wa,-fdebug-compilation-dir,." ] -diff --git a/build/config/compiler/compiler.gni b/build/config/compiler/compiler.gni -index 8c259c360a..642319b4f4 100644 ---- a/build/config/compiler/compiler.gni -+++ b/build/config/compiler/compiler.gni -@@ -225,11 +225,8 @@ declare_args() { - # deterministic builds to reduce compile times, so this is less relevant for - # official builders. - strip_absolute_paths_from_debug_symbols_default = -- # TODO(crbug.com/1010267): remove '!use_clang_coverage', coverage build has -- # dependency to absolute path of source files. -- !use_clang_coverage && -- (is_android || is_fuchsia || is_nacl || (is_win && use_lld) || is_linux || -- is_chromeos || (is_apple && !enable_dsyms)) -+ is_android || is_fuchsia || is_nacl || (is_win && use_lld) || is_linux || -+ is_chromeos || (is_apple && !enable_dsyms) - - # If the platform uses stripped absolute paths by default, then we don't expose - # it as a configuration option. If this is causing problems, please file a bug. diff --git a/network/web/chromium-browser/files/use-oauth2-client-switches-as-default.patch b/network/web/chromium-browser/files/use-oauth2-client-switches-as-default.patch deleted file mode 100644 index 9d9c57bfb0..0000000000 --- a/network/web/chromium-browser/files/use-oauth2-client-switches-as-default.patch +++ /dev/null @@ -1,17 +0,0 @@ -diff -upr chromium-89.0.4389.58.orig/google_apis/google_api_keys.cc chromium-89.0.4389.58/google_apis/google_api_keys.cc ---- chromium-89.0.4389.58.orig/google_apis/google_api_keys.cc 2021-02-24 22:37:18.494007649 +0000 -+++ chromium-89.0.4389.58/google_apis/google_api_keys.cc 2021-02-24 22:35:00.865777600 +0000 -@@ -154,11 +154,11 @@ class APIKeyCache { - - std::string default_client_id = CalculateKeyValue( - GOOGLE_DEFAULT_CLIENT_ID, -- STRINGIZE_NO_EXPANSION(GOOGLE_DEFAULT_CLIENT_ID), nullptr, -+ STRINGIZE_NO_EXPANSION(GOOGLE_DEFAULT_CLIENT_ID), ::switches::kOAuth2ClientID, - std::string(), environment.get(), command_line, gaia_config); - std::string default_client_secret = CalculateKeyValue( - GOOGLE_DEFAULT_CLIENT_SECRET, -- STRINGIZE_NO_EXPANSION(GOOGLE_DEFAULT_CLIENT_SECRET), nullptr, -+ STRINGIZE_NO_EXPANSION(GOOGLE_DEFAULT_CLIENT_SECRET), ::switches::kOAuth2ClientSecret, - std::string(), environment.get(), command_line, gaia_config); - - // We currently only allow overriding the baked-in values for the diff --git a/network/web/chromium-browser/files/wayland-egl.patch b/network/web/chromium-browser/files/wayland-egl.patch deleted file mode 100644 index 58a079862f..0000000000 --- a/network/web/chromium-browser/files/wayland-egl.patch +++ /dev/null @@ -1,22 +0,0 @@ ---- a/ui/gl/gl_image_native_pixmap.cc 2020-05-18 11:40:06.000000000 -0700 -+++ b/ui/gl/gl_image_native_pixmap.cc 2020-05-22 02:07:16.007770442 -0700 -@@ -288,6 +288,8 @@ - std::move(scoped_fd)); - } - -+ handle.planes[0].size = size_.GetArea(); -+ - return handle; - #endif // !defined(OS_FUCHSIA) - } ---- a/gpu/command_buffer/service/error_state.cc 2020-05-18 11:39:22.000000000 -0700 -+++ b/gpu/command_buffer/service/error_state.cc 2020-05-22 13:43:09.181180388 -0700 -@@ -115,6 +115,8 @@ - // buffer. - error = GL_NO_ERROR; - } -+ if (error == GL_INVALID_ENUM) -+ error = GL_NO_ERROR; - return error; - } - diff --git a/network/web/chromium-browser/files/webcodecs-stop-using-AudioOpusEncoder.patch b/network/web/chromium-browser/files/webcodecs-stop-using-AudioOpusEncoder.patch deleted file mode 100644 index 32957d32fa..0000000000 --- a/network/web/chromium-browser/files/webcodecs-stop-using-AudioOpusEncoder.patch +++ /dev/null @@ -1,49 +0,0 @@ -From 3bd46cb9a51773f103ef52b39d6407740eb0d60a Mon Sep 17 00:00:00 2001 -From: Eugene Zemtsov -Date: Thu, 24 Feb 2022 23:17:20 +0000 -Subject: [PATCH] webcodecs: Stop using AudioOpusEncoder as backed for mojo - audio encoder - -AudioOpusEncoder was only used here for testing. Let's not let it get -comfortable. We'll use MF AAC encoder here when we have it. (Soon...) - -Bug: 1259883 -Change-Id: Ia1819395c8c8fd6d403d4b8558c12f9a1bf7e761 -Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/3489449 -Commit-Queue: Eugene Zemtsov -Auto-Submit: Eugene Zemtsov -Reviewed-by: Dale Curtis -Commit-Queue: Dale Curtis -Cr-Commit-Position: refs/heads/main@{#974895} ---- - media/mojo/services/gpu_mojo_media_client.cc | 10 +--------- - 1 file changed, 1 insertion(+), 9 deletions(-) - -diff --git a/media/mojo/services/gpu_mojo_media_client.cc b/media/mojo/services/gpu_mojo_media_client.cc -index 8f83a4d6cf6..40cdaff8d3a 100644 ---- a/media/mojo/services/gpu_mojo_media_client.cc -+++ b/media/mojo/services/gpu_mojo_media_client.cc -@@ -13,7 +13,6 @@ - #include "build/chromeos_buildflags.h" - #include "gpu/ipc/service/gpu_channel.h" - #include "media/audio/audio_features.h" --#include "media/audio/audio_opus_encoder.h" - #include "media/base/audio_decoder.h" - #include "media/base/cdm_factory.h" - #include "media/base/media_switches.h" -@@ -119,14 +118,7 @@ std::unique_ptr GpuMojoMediaClient::CreateAudioEncoder( - scoped_refptr task_runner) { - if (!base::FeatureList::IsEnabled(features::kPlatformAudioEncoder)) - return nullptr; -- // TODO(crbug.com/1259883) Right now Opus encoder is all we have, later on -- // we'll create a real platform encoder here. -- auto opus_encoder = std::make_unique(); -- auto encoding_runner = base::ThreadPool::CreateSequencedTaskRunner( -- {base::TaskPriority::USER_BLOCKING}); -- return std::make_unique(std::move(opus_encoder), -- std::move(encoding_runner), -- std::move(task_runner)); -+ return nullptr; - } - - VideoDecoderType GpuMojoMediaClient::GetDecoderImplementationType() { diff --git a/network/web/chromium-browser/files/x11-ozone-fix-two-edge-cases.patch b/network/web/chromium-browser/files/x11-ozone-fix-two-edge-cases.patch deleted file mode 100644 index 9c4c4755ae..0000000000 --- a/network/web/chromium-browser/files/x11-ozone-fix-two-edge-cases.patch +++ /dev/null @@ -1,135 +0,0 @@ -From 5e3a738b1204941aab9f15c0eb3d06e20fefd96e Mon Sep 17 00:00:00 2001 -From: Scott Violet -Date: Mon, 8 Mar 2021 21:07:39 +0000 -Subject: [PATCH] x11/ozone: fix two edge cases - -WindowTreeHost::OnHostMovedInPixels() may trigger a nested message -loop (tab dragging), which when the stack unravels means this may -be deleted. This adds an early out if this happens. - -X11WholeScreenMoveLoop has a similar issue, in so far as notifying -the delegate may delete this. - -BUG=1185482 -TEST=WindowTreeHostPlatform.DeleteHostFromOnHostMovedInPixels - -Change-Id: Ieca1c90b3e4358da50b332abe2941fdbb50c5c25 -Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2743555 -Reviewed-by: Thomas Anderson -Commit-Queue: Scott Violet -Cr-Commit-Position: refs/heads/master@{#860852} ---- - ui/aura/window_tree_host_platform.cc | 10 ++++- - ui/aura/window_tree_host_platform_unittest.cc | 40 ++++++++++++++++++- - ui/base/x/x11_whole_screen_move_loop.cc | 4 ++ - 3 files changed, 51 insertions(+), 3 deletions(-) - -diff --git a/ui/aura/window_tree_host_platform.cc b/ui/aura/window_tree_host_platform.cc -index ce8395fe07..7589542026 100644 ---- a/ui/aura/window_tree_host_platform.cc -+++ b/ui/aura/window_tree_host_platform.cc -@@ -214,13 +214,21 @@ void WindowTreeHostPlatform::OnBoundsChanged(const gfx::Rect& new_bounds) { - float current_scale = compositor()->device_scale_factor(); - float new_scale = ui::GetScaleFactorForNativeView(window()); - gfx::Rect old_bounds = bounds_in_pixels_; -+ auto weak_ref = GetWeakPtr(); - bounds_in_pixels_ = new_bounds; -- if (bounds_in_pixels_.origin() != old_bounds.origin()) -+ if (bounds_in_pixels_.origin() != old_bounds.origin()) { - OnHostMovedInPixels(bounds_in_pixels_.origin()); -+ // Changing the bounds may destroy this. -+ if (!weak_ref) -+ return; -+ } - if (bounds_in_pixels_.size() != old_bounds.size() || - current_scale != new_scale) { - pending_size_ = gfx::Size(); - OnHostResizedInPixels(bounds_in_pixels_.size()); -+ // Changing the size may destroy this. -+ if (!weak_ref) -+ return; - } - DCHECK_GT(on_bounds_changed_recursion_depth_, 0); - if (--on_bounds_changed_recursion_depth_ == 0) { -diff --git a/ui/aura/window_tree_host_platform_unittest.cc b/ui/aura/window_tree_host_platform_unittest.cc -index eda14e2f0c..4de039c88a 100644 ---- a/ui/aura/window_tree_host_platform_unittest.cc -+++ b/ui/aura/window_tree_host_platform_unittest.cc -@@ -34,7 +34,7 @@ class TestWindowTreeHost : public WindowTreeHostPlatform { - // OnHostWill/DidProcessBoundsChange. Additionally, this triggers a bounds - // change from within OnHostResized(). Such a scenario happens in production - // code. --class TestWindowTreeHostObserver : public aura::WindowTreeHostObserver { -+class TestWindowTreeHostObserver : public WindowTreeHostObserver { - public: - TestWindowTreeHostObserver(WindowTreeHostPlatform* host, - ui::PlatformWindow* platform_window) -@@ -51,7 +51,7 @@ class TestWindowTreeHostObserver : public aura::WindowTreeHostObserver { - return on_host_will_process_bounds_change_count_; - } - -- // aura::WindowTreeHostObserver: -+ // WindowTreeHostObserver: - void OnHostResized(WindowTreeHost* host) override { - if (!should_change_bounds_in_on_resized_) - return; -@@ -92,5 +92,41 @@ TEST_F(WindowTreeHostPlatformTest, HostWillProcessBoundsChangeRecursion) { - EXPECT_EQ(1, observer.on_host_will_process_bounds_change_count()); - } - -+// Deletes WindowTreeHostPlatform from OnHostMovedInPixels(). -+class DeleteHostWindowTreeHostObserver : public WindowTreeHostObserver { -+ public: -+ explicit DeleteHostWindowTreeHostObserver( -+ std::unique_ptr host) -+ : host_(std::move(host)) { -+ host_->AddObserver(this); -+ } -+ ~DeleteHostWindowTreeHostObserver() override = default; -+ -+ TestWindowTreeHost* host() { return host_.get(); } -+ -+ // WindowTreeHostObserver: -+ void OnHostMovedInPixels(WindowTreeHost* host, -+ const gfx::Point& new_origin_in_pixels) override { -+ host_->RemoveObserver(this); -+ host_.reset(); -+ } -+ -+ private: -+ std::unique_ptr host_; -+ -+ DISALLOW_COPY_AND_ASSIGN(DeleteHostWindowTreeHostObserver); -+}; -+ -+// Verifies WindowTreeHostPlatform can be safely deleted when calling -+// OnHostMovedInPixels(). -+// Regression test for https://crbug.com/1185482 -+TEST_F(WindowTreeHostPlatformTest, DeleteHostFromOnHostMovedInPixels) { -+ std::unique_ptr host = -+ std::make_unique(); -+ DeleteHostWindowTreeHostObserver observer(std::move(host)); -+ observer.host()->SetBoundsInPixels(gfx::Rect(1, 2, 3, 4)); -+ EXPECT_EQ(nullptr, observer.host()); -+} -+ - } // namespace - } // namespace aura -diff --git a/ui/base/x/x11_whole_screen_move_loop.cc b/ui/base/x/x11_whole_screen_move_loop.cc -index 5ed215db66..db678799db 100644 ---- a/ui/base/x/x11_whole_screen_move_loop.cc -+++ b/ui/base/x/x11_whole_screen_move_loop.cc -@@ -78,9 +78,13 @@ X11WholeScreenMoveLoop::~X11WholeScreenMoveLoop() { - void X11WholeScreenMoveLoop::DispatchMouseMovement() { - if (!last_motion_in_screen_) - return; -+ auto weak_ref = weak_factory_.GetWeakPtr(); - delegate_->OnMouseMovement(last_motion_in_screen_->root_location(), - last_motion_in_screen_->flags(), - last_motion_in_screen_->time_stamp()); -+ // The delegate may delete this during dispatch. -+ if (!weak_ref) -+ return; - last_motion_in_screen_.reset(); - } - diff --git a/network/web/chromium-browser/pspec.xml b/network/web/chromium-browser/pspec.xml index bc0f2f6b8b..e48980a973 100644 --- a/network/web/chromium-browser/pspec.xml +++ b/network/web/chromium-browser/pspec.xml @@ -13,8 +13,9 @@ app:gui

A WebKit powered web browser Chromium-browser is an open-source web browser, powered by WebKit. - https://gsdview.appspot.com/chromium-browser-official/chromium-130.0.6723.70.tar.xz + https://commondatastorage.googleapis.com/chromium-browser-official/chromium-148.0.7778.178-lite.tar.xz + rust alsa-lib-devel at-spi2-atk-devel atk-devel @@ -100,23 +101,41 @@ jre8-openjdk-headless pipewire-devel libevent-devel + python3-httplib2 + python3-pyparsing + python3-six + arch/chromium-138-nodejs-version-check.patch + arch/chromium-145-fix-SYS_SECCOMP.patch + arch/chromium-146-build-with-wasm-rollup.patch + arch/chromium-146-drop-unknown-clang-flag.patch + arch/chromium-147-revert-clang-no-lifetime-dse-flag.patch + arch/chromium-147-rust-1.95-bytemuck.patch + arch/chromium-148-revert-clang-fsanitize-return-flag-1.patch + arch/chromium-148-revert-clang-fsanitize-return-flag-2.patch + + arch/increase-fortify-level.patch + + arch/use-oauth2-client-switches-as-default.patch + arch/glibc-2.42-baud-rate-fix.patch + + - sql-make-VirtualCursor-standard-layout-type.patch - use-oauth2-client-switches-as-default.patch + + - chromium-91-java-only-allowed-in-android-builds.patch - chromium-buildname.patch - wayland-egl.patch + + + - patches/chromium-78-protobuf-RepeatedPtrField-export.patch + @@ -201,7 +220,14 @@ - + + 2026-05-22 + 148.0.7778.178 + Version bump. + Pisi Linux Community + admin@pisilinux.org + + 2024-12-11 130.0.6723.70 Version Bump