Date: Saturday, April 2, 2022 @ 10:28:46 Author: tensor5 Revision: 1180777
upgpkg: electron 18.0.1-1 Added: electron/trunk/webcodecs-stop-using-AudioOpusEncoder.patch Modified: electron/trunk/PKGBUILD electron/trunk/default_app-icon.patch electron/trunk/std-vector-non-const.patch Deleted: electron/trunk/breakpad-fix-for-non-constant-SIGSTKSZ.patch electron/trunk/downgrade-duplicate-peer-error-to-dvlog.patch electron/trunk/fix-build-break-with-system-libdrm.patch electron/trunk/sandbox-build-if-glibc-2.34-dynamic-stack-size-is-en.patch electron/trunk/use-FT_Done_MM_Var-in-CFX_Font-AdjustMMParams.patch ------------------------------------------------------------+ PKGBUILD | 32 +-- breakpad-fix-for-non-constant-SIGSTKSZ.patch | 35 --- default_app-icon.patch | 2 downgrade-duplicate-peer-error-to-dvlog.patch | 33 --- fix-build-break-with-system-libdrm.patch | 62 ------ sandbox-build-if-glibc-2.34-dynamic-stack-size-is-en.patch | 39 ---- std-vector-non-const.patch | 104 ++++++----- use-FT_Done_MM_Var-in-CFX_Font-AdjustMMParams.patch | 72 ------- webcodecs-stop-using-AudioOpusEncoder.patch | 49 +++++ 9 files changed, 119 insertions(+), 309 deletions(-) Modified: PKGBUILD =================================================================== --- PKGBUILD 2022-04-02 10:05:53 UTC (rev 1180776) +++ PKGBUILD 2022-04-02 10:28:46 UTC (rev 1180777) @@ -1,10 +1,10 @@ # Maintainer: Nicola Squartini <[email protected]> _use_suffix=0 -pkgver=17.2.0 -_commit=9d5f7c16734fe1734193ce9f80b1976c9b76854c -_chromiumver=98.0.4758.109 -_gcc_patchset=5 +pkgver=18.0.1 +_commit=72c48aa400ce39897dbce8a7bc5fae775dc01608 +_chromiumver=100.0.4896.60 +_gcc_patchset=4 # shellcheck disable=SC2034 pkgrel=1 @@ -54,28 +54,20 @@ 'jinja-python-3.10.patch' 'std-vector-non-const.patch' 'use-system-libraries-in-node.patch' - 'downgrade-duplicate-peer-error-to-dvlog.patch' - 'fix-build-break-with-system-libdrm.patch' - 'sandbox-build-if-glibc-2.34-dynamic-stack-size-is-en.patch' - 'breakpad-fix-for-non-constant-SIGSTKSZ.patch' - 'use-FT_Done_MM_Var-in-CFX_Font-AdjustMMParams.patch' + 'webcodecs-stop-using-AudioOpusEncoder.patch' 'sql-make-VirtualCursor-standard-layout-type.patch' ) # shellcheck disable=SC2034 sha256sums=('SKIP' 'SKIP' - 'f561145514e9d30a696a82f6a6a4eca06e664b58d7cda30dad9afb2cef341a4d' + 'a6120e7d4eb5e131b87b6ab3b922e0c6cd78e15501e54cfb2019875173688d80' '3953f532a3ea5fce19ee33600c6ead89dcd066df6a01d3c3ab4c24f96e46fca2' '4484200d90b76830b69eea3a471c103999a3ce86bb2c29e6c14c945bf4102bae' - '75bac9c4ad32ff9329399b8587f9772e208c009fd822cdfce61b2bd1ee9ac828' + 'dd2d248831dd4944d385ebf008426e66efe61d6fdf66f8932c963a12167947b4' '55dbe71dbc1f3ab60bf1fa79f7aea7ef1fe76436b1d7df48728a1f8227d2134e' - '4fbef42aaa7bf60d059f1a6b0a92dc997d475256110bd4df32c12de7f4f175a7' + '880abb38ea94058ad553eaec9989cb33aa3b10c54b44afcfddacef3e975152de' 'c70652a8b24c237bcfd27469de32797a2cb46d9f0d63d897bb6418314a25644c' - '291c6a6ad44c06ae8d1b13433f0c4e37d280c70fb06eaa97a1cc9b0dcc122aaa' - 'edf4d973ff197409d319bb6fbbaa529e53bc62347d26b0733c45a116a1b23f37' - 'f910be9370c880de6e1d61cc30383c069e421d7acf406166e4fbfad324fc7d61' - 'b4d28867c1fabde6c50a2cfa3f784730446c4d86e5191e0f0000fbf7b0f91ecf' - '9c9c280be968f06d269167943680fb72a26fbb05d8c15f60507e316e8a9075d5' + '064daaa2b9d95b96ec04d8ddebf4af441f92263d123365b58fe73966866080af' 'b94b2e88f63cfb7087486508b8139599c89f96d7a4181c61fec4b4e250ca327a' ) @@ -171,11 +163,7 @@ echo "Applying local patches..." # Upstream fixes - patch -Np1 -F3 -i ../downgrade-duplicate-peer-error-to-dvlog.patch - patch -Np1 -i ../fix-build-break-with-system-libdrm.patch - patch -Np1 -i ../sandbox-build-if-glibc-2.34-dynamic-stack-size-is-en.patch - patch -Np1 -d third_party//breakpad/breakpad <../breakpad-fix-for-non-constant-SIGSTKSZ.patch - patch -Np1 -d third_party/pdfium <../use-FT_Done_MM_Var-in-CFX_Font-AdjustMMParams.patch + patch -Np1 -i ../webcodecs-stop-using-AudioOpusEncoder.patch # https://chromium-review.googlesource.com/c/chromium/src/+/2862724 patch -Np1 -i ../sql-make-VirtualCursor-standard-layout-type.patch Deleted: breakpad-fix-for-non-constant-SIGSTKSZ.patch =================================================================== --- breakpad-fix-for-non-constant-SIGSTKSZ.patch 2022-04-02 10:05:53 UTC (rev 1180776) +++ breakpad-fix-for-non-constant-SIGSTKSZ.patch 2022-04-02 10:28:46 UTC (rev 1180777) @@ -1,35 +0,0 @@ -From 605c51ed96ad44b34c457bbca320e74e194c317e Mon Sep 17 00:00:00 2001 -From: David Faure <[email protected]> -Date: Wed, 15 Dec 2021 22:26:40 +0100 -Subject: [PATCH] Fix for non-constant SIGSTKSZ - -On glibc > 2.33, `SIGSTKSZ` might not be constant (in which case -it expands to a call to `sysconf` which returns a `long int`); see -https://sourceware.org/pipermail/libc-alpha/2020-October/118513.html - -Pass unsigned explicitly to std::max, to avoid relying on template -argument deduction. This works both with the old-style constant -`SIGSTKSZ` and the new configurable one. - -Initially based on https://chromium-review.googlesource.com/c/2776379 - -Change-Id: I9fc95337f973e871b84735ce822b5e11ba73ea8c -Reviewed-on: https://chromium-review.googlesource.com/c/breakpad/breakpad/+/3340721 -Reviewed-by: Mark Mentovai <[email protected]> ---- - src/client/linux/handler/exception_handler.cc | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/src/client/linux/handler/exception_handler.cc b/src/client/linux/handler/exception_handler.cc -index ca353c40..499be0a9 100644 ---- a/src/client/linux/handler/exception_handler.cc -+++ b/src/client/linux/handler/exception_handler.cc -@@ -138,7 +138,7 @@ void InstallAlternateStackLocked() { - // SIGSTKSZ may be too small to prevent the signal handlers from overrunning - // the alternative stack. Ensure that the size of the alternative stack is - // large enough. -- static const unsigned kSigStackSize = std::max(16384, SIGSTKSZ); -+ const unsigned kSigStackSize = std::max<unsigned>(16384, SIGSTKSZ); - - // Only set an alternative stack if there isn't already one, or if the current - // one is too small. Modified: default_app-icon.patch =================================================================== --- default_app-icon.patch 2022-04-02 10:05:53 UTC (rev 1180776) +++ default_app-icon.patch 2022-04-02 10:28:46 UTC (rev 1180777) @@ -1,6 +1,6 @@ --- a/electron/default_app/default_app.ts +++ b/electron/default_app/default_app.ts -@@ -59,7 +59,7 @@ +@@ -60,7 +60,7 @@ }; if (process.platform === 'linux') { Deleted: downgrade-duplicate-peer-error-to-dvlog.patch =================================================================== --- downgrade-duplicate-peer-error-to-dvlog.patch 2022-04-02 10:05:53 UTC (rev 1180776) +++ downgrade-duplicate-peer-error-to-dvlog.patch 2022-04-02 10:28:46 UTC (rev 1180777) @@ -1,33 +0,0 @@ -From 00604ca8ed6d669fb6cb3ae8bacd6028d5ef10ac Mon Sep 17 00:00:00 2001 -From: Stephen Roettger <[email protected]> -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 <[email protected]> -Commit-Queue: Stephen Röttger <[email protected]> -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; - } - Deleted: fix-build-break-with-system-libdrm.patch =================================================================== --- fix-build-break-with-system-libdrm.patch 2022-04-02 10:05:53 UTC (rev 1180776) +++ fix-build-break-with-system-libdrm.patch 2022-04-02 10:28:46 UTC (rev 1180777) @@ -1,62 +0,0 @@ -From 5b287e0be8d8d8475ec6ef81b16eaa61e19db078 Mon Sep 17 00:00:00 2001 -From: "Steinar H. Gunderson" <[email protected]> -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 -<[email protected]> (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 <[email protected]> -Commit-Queue: Steinar H Gunderson <[email protected]> -Auto-Submit: Steinar H Gunderson <[email protected]> -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 <[email protected]> - Andrei Borza <[email protected]> - Andrei Parvu <[email protected]> - Andrei Parvu <[email protected]> -+Andres Salomon <[email protected]> - Andreu Botella <[email protected]> - Andrew Boyarshin <[email protected]> - Andrew Brampton <[email protected]> -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 <drm_fourcc.h> - #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 Deleted: sandbox-build-if-glibc-2.34-dynamic-stack-size-is-en.patch =================================================================== --- sandbox-build-if-glibc-2.34-dynamic-stack-size-is-en.patch 2022-04-02 10:05:53 UTC (rev 1180776) +++ sandbox-build-if-glibc-2.34-dynamic-stack-size-is-en.patch 2022-04-02 10:28:46 UTC (rev 1180777) @@ -1,39 +0,0 @@ -From 28ac6a15411d01301e171b8a8b0019abd57589b9 Mon Sep 17 00:00:00 2001 -From: Stephan Hartmann <[email protected]> -Date: Mon, 7 Feb 2022 20:09:57 +0000 -Subject: [PATCH] sandbox: build if glibc 2.34+ dynamic stack size is enabled -MIME-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit - -Compilation of sandbox fails when using dynamic stack size in glibc -2.34 or newer. This is because the value is not a literal anymore but -obtained through sysconf. - -To avoid this, use memset to put zeros in the buffer. - -Change-Id: Ia479e0f799b77a10a00197aaaa0500e62546f458 -Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/3436947 -Reviewed-by: Jorge Lucangeli Obes <[email protected]> -Commit-Queue: José Dapena Paz <[email protected]> -Cr-Commit-Position: refs/heads/main@{#967943} ---- - sandbox/linux/services/credentials.cc | 5 ++++- - 1 file changed, 4 insertions(+), 1 deletion(-) - -diff --git a/sandbox/linux/services/credentials.cc b/sandbox/linux/services/credentials.cc -index ca6b5954798..c933eafd163 100644 ---- a/sandbox/linux/services/credentials.cc -+++ b/sandbox/linux/services/credentials.cc -@@ -100,7 +100,10 @@ bool ChrootToSafeEmptyDir() { - // TODO(crbug.com/1247458) Broken in MSan builds after LLVM f1bb30a4956f. - clone_flags |= CLONE_VM | CLONE_VFORK | CLONE_SETTLS; - -- char tls_buf[PTHREAD_STACK_MIN] = {0}; -+ // PTHREAD_STACK_MIN can be dynamic in glibc2.34+, so it is not possible to -+ // zeroify tls_buf assigning { 0 } -+ char tls_buf[PTHREAD_STACK_MIN]; -+ memset(tls_buf, 0, PTHREAD_STACK_MIN); - tls = tls_buf; - #endif - Modified: std-vector-non-const.patch =================================================================== --- std-vector-non-const.patch 2022-04-02 10:05:53 UTC (rev 1180776) +++ std-vector-non-const.patch 2022-04-02 10:28:46 UTC (rev 1180777) @@ -1,17 +1,15 @@ -diff --git a/patches/chromium/feat_add_data_parameter_to_processsingleton.patch b/patches/chromium/feat_add_data_parameter_to_processsingleton.patch -index 2bc279b5e..f15d952a2 100644 ---- a/patches/chromium/feat_add_data_parameter_to_processsingleton.patch -+++ b/patches/chromium/feat_add_data_parameter_to_processsingleton.patch -@@ -30,7 +30,7 @@ index eec994c4252f17d9c9c41e66d5dae6509ed98a18..e538c9b76da4d4435e10cd3848438446 +--- a/patches/chromium/feat_add_data_transfer_to_requestsingleinstancelock.patch ++++ b/patches/chromium/feat_add_data_transfer_to_requestsingleinstancelock.patch +@@ -46,7 +46,7 @@ base::RepeatingCallback<bool(const base::CommandLine& command_line, - const base::FilePath& current_directory)>; + const base::FilePath& current_directory, --+ const std::vector<const uint8_t> additional_data)>; -++ const std::vector<uint8_t> additional_data)>; +-+ const std::vector<const uint8_t> additional_data, +++ const std::vector<uint8_t> additional_data, + + const NotificationAckCallback& ack_callback)>; - #if defined(OS_WIN) - ProcessSingleton(const std::string& program_name, -@@ -68,7 +68,7 @@ index a04d139f958a7aaef9b96e8c29317ccf7c97f009..e77cebd31967d28f3cb0db78e7360115 + #if BUILDFLAG(IS_WIN) +@@ -112,7 +112,7 @@ // |reader| is for sending back ACK message. void HandleMessage(const std::string& current_dir, const std::vector<std::string>& argv, @@ -20,7 +18,7 @@ SocketReader* reader); private: -@@ -79,7 +79,7 @@ index a04d139f958a7aaef9b96e8c29317ccf7c97f009..e77cebd31967d28f3cb0db78e7360115 +@@ -133,7 +133,7 @@ - const std::string& current_dir, const std::vector<std::string>& argv, + const std::string& current_dir, + const std::vector<std::string>& argv, @@ -29,7 +27,7 @@ SocketReader* reader) { DCHECK(ui_task_runner_->BelongsToCurrentThread()); DCHECK(reader); -@@ -109,7 +109,7 @@ index a04d139f958a7aaef9b96e8c29317ccf7c97f009..e77cebd31967d28f3cb0db78e7360115 +@@ -195,7 +195,7 @@ + base::StringToSizeT(tokens[0], &num_args); + std::vector<std::string> command_line(tokens.begin() + 1, tokens.begin() + 1 + num_args); + @@ -38,16 +36,25 @@ + if (tokens.size() >= 3 + num_args) { + size_t additional_data_size; + base::StringToSizeT(tokens[1 + num_args], &additional_data_size); -@@ -118,7 +118,7 @@ index a04d139f958a7aaef9b96e8c29317ccf7c97f009..e77cebd31967d28f3cb0db78e7360115 +@@ -204,7 +204,7 @@ + std::string(1, kTokenDelimiter)); + const uint8_t* additional_data_bits = + reinterpret_cast<const uint8_t*>(remaining_args.c_str()); --+ additional_data = std::vector<const uint8_t>( -++ additional_data = std::vector<uint8_t>( - + additional_data_bits, additional_data_bits + additional_data_size); +-+ additional_data = std::vector<const uint8_t>(additional_data_bits, +++ additional_data = std::vector<uint8_t>(additional_data_bits, + + additional_data_bits + additional_data_size); + } + -@@ -184,7 +184,7 @@ index 19d5659d665321da54e05cee01be7da02e0c283b..600ff701b025ba190d05bc30994e3d3e +@@ -301,7 +301,7 @@ + +const DWORD kPipeTimeout = 10000; + +const DWORD kMaxMessageLength = 32 * 1024; + + +-+std::unique_ptr<std::vector<const uint8_t>> g_ack_data; +++std::unique_ptr<std::vector<uint8_t>> g_ack_data; + +base::OneShotTimer g_ack_timer; + +HANDLE g_write_ack_pipe; + +bool g_write_ack_callback_called = false; +@@ -314,7 +314,7 @@ base::CommandLine* parsed_command_line, - base::FilePath* current_directory) { + base::FilePath* current_directory, @@ -56,7 +63,7 @@ // We should have enough room for the shortest command (min_message_size) // and also be a multiple of wchar_t bytes. The shortest command - // possible is L"START\0\0" (empty current directory and command line). -@@ -225,7 +225,7 @@ index 19d5659d665321da54e05cee01be7da02e0c283b..600ff701b025ba190d05bc30994e3d3e +@@ -355,7 +355,7 @@ + msg.substr(fourth_null + 1, fifth_null - fourth_null); + const uint8_t* additional_data_bytes = + reinterpret_cast<const uint8_t*>(additional_data.c_str()); @@ -65,51 +72,58 @@ + additional_data_bytes + additional_data_length); + return true; -@@ -239,7 +239,7 @@ index 19d5659d665321da54e05cee01be7da02e0c283b..600ff701b025ba190d05bc30994e3d3e +@@ -365,7 +365,7 @@ + + +void StoreAck(const base::span<const uint8_t>* ack_data) { + + if (ack_data) { +-+ g_ack_data = std::make_unique<std::vector<const uint8_t>>(ack_data->begin(), +++ g_ack_data = std::make_unique<std::vector<uint8_t>>(ack_data->begin(), + + ack_data->end()); + + } else { + + g_ack_data = nullptr; +@@ -414,7 +414,7 @@ base::CommandLine parsed_command_line(base::CommandLine::NO_PROGRAM); base::FilePath current_directory; - if (!ParseCommandLine(cds, &parsed_command_line, ¤t_directory)) { -+ std::vector<const uint8_t> additional_data; ++ std::vector<uint8_t> additional_data; - + if (!ParseCommandLine(cds, &parsed_command_line, ¤t_directory, &additional_data)) { + + if (!ParseCommandLine(cds, &parsed_command_line, ¤t_directory, + + &additional_data)) { *result = TRUE; - return true; -diff --git a/shell/browser/api/electron_api_app.cc b/shell/browser/api/electron_api_app.cc -index 7328cedf9..9945a04b2 100644 --- a/shell/browser/api/electron_api_app.cc +++ b/shell/browser/api/electron_api_app.cc -@@ -517,10 +517,10 @@ bool NotificationCallbackWrapper( +@@ -519,12 +519,12 @@ const base::RepeatingCallback< void(const base::CommandLine& command_line, const base::FilePath& current_directory, -- const std::vector<const uint8_t> additional_data)>& callback, -+ const std::vector<uint8_t> additional_data)>& callback, +- const std::vector<const uint8_t> additional_data, ++ const std::vector<uint8_t> additional_data, + const ProcessSingleton::NotificationAckCallback& ack_callback)>& + callback, const base::CommandLine& cmd, const base::FilePath& cwd, -- const std::vector<const uint8_t> additional_data) { -+ const std::vector<uint8_t> additional_data) { +- const std::vector<const uint8_t> additional_data, ++ const std::vector<uint8_t> additional_data, + const ProcessSingleton::NotificationAckCallback& ack_callback) { // Make sure the callback is called after app gets ready. if (Browser::Get()->is_ready()) { - callback.Run(cmd, cwd, std::move(additional_data)); -@@ -1081,7 +1081,7 @@ std::string App::GetLocaleCountryCode() { - - void App::OnSecondInstance(const base::CommandLine& cmd, - const base::FilePath& cwd, -- const std::vector<const uint8_t> additional_data) { -+ const std::vector<uint8_t> additional_data) { +@@ -1118,7 +1118,7 @@ + void App::OnSecondInstance( + const base::CommandLine& cmd, + const base::FilePath& cwd, +- const std::vector<const uint8_t> additional_data, ++ const std::vector<uint8_t> additional_data, + const ProcessSingleton::NotificationAckCallback& ack_callback) { v8::Isolate* isolate = JavascriptEnvironment::GetIsolate(); v8::Locker locker(isolate); - v8::HandleScope handle_scope(isolate); -diff --git a/shell/browser/api/electron_api_app.h b/shell/browser/api/electron_api_app.h -index fd644ed95..838366041 100644 --- a/shell/browser/api/electron_api_app.h +++ b/shell/browser/api/electron_api_app.h -@@ -190,7 +190,7 @@ class App : public ElectronBrowserClient::Delegate, - std::string GetLocaleCountryCode(); - void OnSecondInstance(const base::CommandLine& cmd, - const base::FilePath& cwd, -- const std::vector<const uint8_t> additional_data); -+ const std::vector<uint8_t> additional_data); +@@ -197,7 +197,7 @@ + void OnSecondInstance( + const base::CommandLine& cmd, + const base::FilePath& cwd, +- const std::vector<const uint8_t> additional_data, ++ const std::vector<uint8_t> additional_data, + const ProcessSingleton::NotificationAckCallback& ack_callback); bool HasSingleInstanceLock() const; bool RequestSingleInstanceLock(gin::Arguments* args); - void ReleaseSingleInstanceLock(); Deleted: use-FT_Done_MM_Var-in-CFX_Font-AdjustMMParams.patch =================================================================== --- use-FT_Done_MM_Var-in-CFX_Font-AdjustMMParams.patch 2022-04-02 10:05:53 UTC (rev 1180776) +++ use-FT_Done_MM_Var-in-CFX_Font-AdjustMMParams.patch 2022-04-02 10:28:46 UTC (rev 1180777) @@ -1,72 +0,0 @@ -From cb0aad687f34629a42053d600cf2947282cea2c0 Mon Sep 17 00:00:00 2001 -From: Lei Zhang <[email protected]> -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 <[email protected]> -Commit-Queue: Lei Zhang <[email protected]> - -(cherry picked from commit ffeb67faf715475f6e463d65c368f556780adf19) ---- - 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 7a4e8eb24..0ef421fe7 100644 ---- a/core/fxge/cfx_font.cpp -+++ b/core/fxge/cfx_font.cpp -@@ -43,6 +43,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 !defined(OS_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 defined(OS_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); -+ } -+} -+ - #ifdef PDF_ENABLE_XFA - unsigned long FTStreamRead(FXFT_StreamRec* stream, - unsigned long offset, -@@ -640,14 +664,14 @@ void CFX_Font::AdjustMMParams(int glyph_index, - int 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; - } - int param = min_param + (max_param - min_param) * (dest_width - min_width) / - (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); - } - Added: webcodecs-stop-using-AudioOpusEncoder.patch =================================================================== --- webcodecs-stop-using-AudioOpusEncoder.patch (rev 0) +++ webcodecs-stop-using-AudioOpusEncoder.patch 2022-04-02 10:28:46 UTC (rev 1180777) @@ -0,0 +1,49 @@ +From 3bd46cb9a51773f103ef52b39d6407740eb0d60a Mon Sep 17 00:00:00 2001 +From: Eugene Zemtsov <[email protected]> +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 <[email protected]> +Auto-Submit: Eugene Zemtsov <[email protected]> +Reviewed-by: Dale Curtis <[email protected]> +Commit-Queue: Dale Curtis <[email protected]> +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<AudioEncoder> GpuMojoMediaClient::CreateAudioEncoder( + scoped_refptr<base::SequencedTaskRunner> 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<AudioOpusEncoder>(); +- auto encoding_runner = base::ThreadPool::CreateSequencedTaskRunner( +- {base::TaskPriority::USER_BLOCKING}); +- return std::make_unique<OffloadingAudioEncoder>(std::move(opus_encoder), +- std::move(encoding_runner), +- std::move(task_runner)); ++ return nullptr; + } + + VideoDecoderType GpuMojoMediaClient::GetDecoderImplementationType() {
