7
0
Files
nodejs-electron/harfbuzz-replace-chromium-scoped-type.patch

541 lines
22 KiB
Diff
Raw Normal View History

Accepting request 1059202 from home:dziobian:gulgul-ultron:19 - Update to 22.0.2 * ABI break: NODE_MODULE_VERSION is now 110. Native modules may need recompiling * Chromium to 108.0.5359.179 * Node v16.17.1 * V8 v10.8 * Added WebContents input-event event. * Deprecated BrowserWindow scroll-touch-* events. * The deprecated new-window event has been removed. * Added contextBridge.exposeInIsolatedWorld(worldId, key, api) to expose an API to an isolatedWorld within a renderer from a preload script. * Added webContents.close() method. * Added new UtilityProcess API to launch chromium child process with node integration. * Added new WebContents event content-bounds-updated. * Added support for navigator.mediaDevices.getDisplayMedia via a new session handler, ses.setDisplayMediaRequestHandler. * Added support for serialPort.forget() as well as a new event serial-port-revoked emitted when a given origin is revoked. - Drop patches applied upstream * argument_spec-missing-isnan-isinf.patch * chromium-103.0.5060.53-python3-do-not-use-deprecated-mode-U.patch * content_language_parser-missing-string.patch * gtk_ui_platform_stub-incomplete-type-LinuxInputMethodContext.patch * node-system-libs.patch * pending_beacon_dispatcher-virtual-functions-cannot-be-constexpr.patch * std_lib_extras-missing-intptr_t.patch * system-abseil-missing-shims.patch - Re-add electron_serial_delegate-ambiguous-Observer.patch due to upstream reintroducing the invalid code - Add patches to fix build errors * chromium-108-abseil-shims.patch * crashpad-elf_image_reader-ProgramHeaderTableSpecific-expected-unqualified-id.patch * document_loader-private-DecodedBodyData.patch * first_party_set_parser-IssueWithMetadata-no-known-conversion.patch * print_dialog_gtk-no-kEnableOopPrintDriversJobPrint.patch * swiftshader-LLVMJIT-AddressSanitizerPass-dead-code-remove.patch - Conditionally reverse upstream changes to fix build with old harfbuzz * harfbuzz-replace-chromium-scoped-type.patch - Switch to bundled libjxl on Fedora 36 due to system version being too old OBS-URL: https://build.opensuse.org/request/show/1059202 OBS-URL: https://build.opensuse.org/package/show/devel:languages:nodejs/nodejs-electron?expand=0&rev=57
2023-01-18 06:07:26 +00:00
From aa2ff2bee16776301bd840a4e18bdebdfb916822 Mon Sep 17 00:00:00 2001
From: Munira Tursunova <moonira@google.com>
Date: Tue, 04 Oct 2022 14:20:04 +0000
Subject: [PATCH] Replacing Chromium scoped types with HarfBuzz custom types.
Removed the Chromium side type HbScoped and move to the
HarfBuzz custom type.
Bug: 1363228
Change-Id: I9d390808953e2c36651533cbf5f4958beff2e14d
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/3927859
Reviewed-by: Dominik Röttsches <drott@chromium.org>
Reviewed-by: Rune Lillesveen <futhark@chromium.org>
Reviewed-by: Calder Kitagawa <ckitagawa@chromium.org>
Commit-Queue: Munira Tursunova <moonira@google.com>
Cr-Commit-Position: refs/heads/main@{#1054692}
---
diff --git a/components/paint_preview/common/BUILD.gn b/components/paint_preview/common/BUILD.gn
index 377dc92..c39757d 100644
--- a/components/paint_preview/common/BUILD.gn
+++ b/components/paint_preview/common/BUILD.gn
@@ -37,7 +37,6 @@
"//components/crash/core/common:crash_key_lib",
"//skia",
"//third_party:freetype_harfbuzz",
- "//third_party/harfbuzz-ng:hb_scoped_util",
"//ui/gfx/geometry",
"//url",
]
diff --git a/components/paint_preview/common/subset_font.cc b/components/paint_preview/common/subset_font.cc
index 8298861d5..147dfc3 100644
--- a/components/paint_preview/common/subset_font.cc
+++ b/components/paint_preview/common/subset_font.cc
@@ -7,6 +7,7 @@
// clang-format off
#include <hb.h>
#include <hb-subset.h>
+#include <hb-cplusplus.hh>
// clang-format on
#include <memory>
@@ -17,7 +18,6 @@
#include "base/numerics/safe_conversions.h"
#include "components/crash/core/common/crash_key.h"
Accepting request 1169276 from home:dziobian:gulgul-ultron:19 - Update to electron 29.3.1 * ABI break: NODE_MODULE_VERSION is now 121 * Chromium 122.0.6261.156 * Node 20.9.0 * V8 12.2 * The deprecated gpu-process-crashed event on app has been removed. * The deprecated renderer-process-crashed event on app and crashed event on WebContents and <webview> have been removed. * Added WebContentsView and BaseWindow, replacing the now-deprecated BrowserView APIs. * Added new webUtils.getPathForFile method to replace File.path augmentation. * see https://www.electronjs.org/blog/electron-29-0 and https://github.com/electron/electron/releases/tag/v29.0.0 for more * Security fixes for Angle (CVE-2024-3516) and Compositing (CVE-2024-3157) - Drop upstreamed patches * atspi.patch * chromium-117-blink-BUILD-mnemonic.patch * local_frame-local_frame_client-incomplete-WebBackgroundResourceFetchAssets.patch * node-upgrade-llhttp-to-8.patch * policy_templates-deterministic.patch * v8-hide-private-symbols.patch * web_local_frame_client-incomplete-WebBackgroundResourceFetchAssets.patch - Add patches to fix build errors * aarch64-Xclang.patch * absl2023-encapsulated_web_transport-StrCat.patch * boringssl-internal-addc-cxx.patch * chromium-122-avoid-SFINAE-TypeConverter.patch * chromium-122-BookmarkNode-missing-operator.patch * distributed_point_functions-aes_128_fixed_key_hash-missing-StrCat.patch * distributed_point_functions-evaluate_prg_hwy-signature.patch * fake_ssl_socket_client-Wlto-type-mismatch.patch * grid_sizing_tree-Wchanges-meaning.patch * hit_test_request-missing-optional.patch * InternalAllocator-too-many-initializers.patch * mt21_util-flax-vector-conversions.patch * plus_address_types-missing-optional.patch * race_network_request_write_buffer_manager-missing-optional.patch * resolution_monitor-missing-bitset.patch * script_promise_resolver-explicit-specialization.patch * search_engine_choice_service-missing-optional.patch * system-yuv.patch - Replace abseil-remove-unused-targets.patch with chromium-122-abseil-shims.patch - Remove dead code from third_party/ * remove-dawn.patch * remove-openscreen.patch * remove-password-manager-and-policy.patch * remove-puffin.patch * remove-rust.patch * remove AFL-2.0, BSD-Protection and IJG from licence list, because the relevant libraries (xdg-mime, bsdiff and iccjpeg) are no longer shipped. - Leap, Fedora: use bundled re2 * drop replace-StringPiece-with-string_view.patch - Fedora 38: use bundled abseil * drop pending_task_safety_flag-abseil-2022-nullability.patch * drop thread_annotations-fix-build-with-system-abseil.patch - Leap 15.5: Reverse upstream changes to build with old wayland * wayland-proto-31-cursor-shape.patch - Leap 15.5/6: Reverse upstream changes to build with old ffmpeg * Cr122-ffmpeg-new-channel-layout.patch - aarch64: reduce debuginfo due to linker OOM OBS-URL: https://build.opensuse.org/request/show/1169276 OBS-URL: https://build.opensuse.org/package/show/devel:languages:nodejs/nodejs-electron?expand=0&rev=141
2024-04-19 21:15:15 +00:00
#include "skia/ext/font_utils.h"
Accepting request 1059202 from home:dziobian:gulgul-ultron:19 - Update to 22.0.2 * ABI break: NODE_MODULE_VERSION is now 110. Native modules may need recompiling * Chromium to 108.0.5359.179 * Node v16.17.1 * V8 v10.8 * Added WebContents input-event event. * Deprecated BrowserWindow scroll-touch-* events. * The deprecated new-window event has been removed. * Added contextBridge.exposeInIsolatedWorld(worldId, key, api) to expose an API to an isolatedWorld within a renderer from a preload script. * Added webContents.close() method. * Added new UtilityProcess API to launch chromium child process with node integration. * Added new WebContents event content-bounds-updated. * Added support for navigator.mediaDevices.getDisplayMedia via a new session handler, ses.setDisplayMediaRequestHandler. * Added support for serialPort.forget() as well as a new event serial-port-revoked emitted when a given origin is revoked. - Drop patches applied upstream * argument_spec-missing-isnan-isinf.patch * chromium-103.0.5060.53-python3-do-not-use-deprecated-mode-U.patch * content_language_parser-missing-string.patch * gtk_ui_platform_stub-incomplete-type-LinuxInputMethodContext.patch * node-system-libs.patch * pending_beacon_dispatcher-virtual-functions-cannot-be-constexpr.patch * std_lib_extras-missing-intptr_t.patch * system-abseil-missing-shims.patch - Re-add electron_serial_delegate-ambiguous-Observer.patch due to upstream reintroducing the invalid code - Add patches to fix build errors * chromium-108-abseil-shims.patch * crashpad-elf_image_reader-ProgramHeaderTableSpecific-expected-unqualified-id.patch * document_loader-private-DecodedBodyData.patch * first_party_set_parser-IssueWithMetadata-no-known-conversion.patch * print_dialog_gtk-no-kEnableOopPrintDriversJobPrint.patch * swiftshader-LLVMJIT-AddressSanitizerPass-dead-code-remove.patch - Conditionally reverse upstream changes to fix build with old harfbuzz * harfbuzz-replace-chromium-scoped-type.patch - Switch to bundled libjxl on Fedora 36 due to system version being too old OBS-URL: https://build.opensuse.org/request/show/1059202 OBS-URL: https://build.opensuse.org/package/show/devel:languages:nodejs/nodejs-electron?expand=0&rev=57
2023-01-18 06:07:26 +00:00
-#include "third_party/harfbuzz-ng/utils/hb_scoped.h"
Accepting request 1169276 from home:dziobian:gulgul-ultron:19 - Update to electron 29.3.1 * ABI break: NODE_MODULE_VERSION is now 121 * Chromium 122.0.6261.156 * Node 20.9.0 * V8 12.2 * The deprecated gpu-process-crashed event on app has been removed. * The deprecated renderer-process-crashed event on app and crashed event on WebContents and <webview> have been removed. * Added WebContentsView and BaseWindow, replacing the now-deprecated BrowserView APIs. * Added new webUtils.getPathForFile method to replace File.path augmentation. * see https://www.electronjs.org/blog/electron-29-0 and https://github.com/electron/electron/releases/tag/v29.0.0 for more * Security fixes for Angle (CVE-2024-3516) and Compositing (CVE-2024-3157) - Drop upstreamed patches * atspi.patch * chromium-117-blink-BUILD-mnemonic.patch * local_frame-local_frame_client-incomplete-WebBackgroundResourceFetchAssets.patch * node-upgrade-llhttp-to-8.patch * policy_templates-deterministic.patch * v8-hide-private-symbols.patch * web_local_frame_client-incomplete-WebBackgroundResourceFetchAssets.patch - Add patches to fix build errors * aarch64-Xclang.patch * absl2023-encapsulated_web_transport-StrCat.patch * boringssl-internal-addc-cxx.patch * chromium-122-avoid-SFINAE-TypeConverter.patch * chromium-122-BookmarkNode-missing-operator.patch * distributed_point_functions-aes_128_fixed_key_hash-missing-StrCat.patch * distributed_point_functions-evaluate_prg_hwy-signature.patch * fake_ssl_socket_client-Wlto-type-mismatch.patch * grid_sizing_tree-Wchanges-meaning.patch * hit_test_request-missing-optional.patch * InternalAllocator-too-many-initializers.patch * mt21_util-flax-vector-conversions.patch * plus_address_types-missing-optional.patch * race_network_request_write_buffer_manager-missing-optional.patch * resolution_monitor-missing-bitset.patch * script_promise_resolver-explicit-specialization.patch * search_engine_choice_service-missing-optional.patch * system-yuv.patch - Replace abseil-remove-unused-targets.patch with chromium-122-abseil-shims.patch - Remove dead code from third_party/ * remove-dawn.patch * remove-openscreen.patch * remove-password-manager-and-policy.patch * remove-puffin.patch * remove-rust.patch * remove AFL-2.0, BSD-Protection and IJG from licence list, because the relevant libraries (xdg-mime, bsdiff and iccjpeg) are no longer shipped. - Leap, Fedora: use bundled re2 * drop replace-StringPiece-with-string_view.patch - Fedora 38: use bundled abseil * drop pending_task_safety_flag-abseil-2022-nullability.patch * drop thread_annotations-fix-build-with-system-abseil.patch - Leap 15.5: Reverse upstream changes to build with old wayland * wayland-proto-31-cursor-shape.patch - Leap 15.5/6: Reverse upstream changes to build with old ffmpeg * Cr122-ffmpeg-new-channel-layout.patch - aarch64: reduce debuginfo due to linker OOM OBS-URL: https://build.opensuse.org/request/show/1169276 OBS-URL: https://build.opensuse.org/package/show/devel:languages:nodejs/nodejs-electron?expand=0&rev=141
2024-04-19 21:15:15 +00:00
#include "third_party/skia/include/core/SkFontMgr.h"
Accepting request 1059202 from home:dziobian:gulgul-ultron:19 - Update to 22.0.2 * ABI break: NODE_MODULE_VERSION is now 110. Native modules may need recompiling * Chromium to 108.0.5359.179 * Node v16.17.1 * V8 v10.8 * Added WebContents input-event event. * Deprecated BrowserWindow scroll-touch-* events. * The deprecated new-window event has been removed. * Added contextBridge.exposeInIsolatedWorld(worldId, key, api) to expose an API to an isolatedWorld within a renderer from a preload script. * Added webContents.close() method. * Added new UtilityProcess API to launch chromium child process with node integration. * Added new WebContents event content-bounds-updated. * Added support for navigator.mediaDevices.getDisplayMedia via a new session handler, ses.setDisplayMediaRequestHandler. * Added support for serialPort.forget() as well as a new event serial-port-revoked emitted when a given origin is revoked. - Drop patches applied upstream * argument_spec-missing-isnan-isinf.patch * chromium-103.0.5060.53-python3-do-not-use-deprecated-mode-U.patch * content_language_parser-missing-string.patch * gtk_ui_platform_stub-incomplete-type-LinuxInputMethodContext.patch * node-system-libs.patch * pending_beacon_dispatcher-virtual-functions-cannot-be-constexpr.patch * std_lib_extras-missing-intptr_t.patch * system-abseil-missing-shims.patch - Re-add electron_serial_delegate-ambiguous-Observer.patch due to upstream reintroducing the invalid code - Add patches to fix build errors * chromium-108-abseil-shims.patch * crashpad-elf_image_reader-ProgramHeaderTableSpecific-expected-unqualified-id.patch * document_loader-private-DecodedBodyData.patch * first_party_set_parser-IssueWithMetadata-no-known-conversion.patch * print_dialog_gtk-no-kEnableOopPrintDriversJobPrint.patch * swiftshader-LLVMJIT-AddressSanitizerPass-dead-code-remove.patch - Conditionally reverse upstream changes to fix build with old harfbuzz * harfbuzz-replace-chromium-scoped-type.patch - Switch to bundled libjxl on Fedora 36 due to system version being too old OBS-URL: https://build.opensuse.org/request/show/1059202 OBS-URL: https://build.opensuse.org/package/show/devel:languages:nodejs/nodejs-electron?expand=0&rev=57
2023-01-18 06:07:26 +00:00
#include "third_party/skia/include/core/SkStream.h"
#include "third_party/skia/include/core/SkTypeface.h"
@@ -45,11 +45,11 @@
}
// Converts SkData to a hb_blob_t.
-HbScoped<hb_blob_t> MakeBlob(sk_sp<SkData> data) {
+hb::unique_ptr<hb_blob_t> MakeBlob(sk_sp<SkData> data) {
if (!data ||
!base::IsValueInRangeForNumericType<unsigned int, size_t>(data->size()))
- return nullptr;
- return HbScoped<hb_blob_t>(
+ return hb::unique_ptr<hb_blob_t>(nullptr);
+ return hb::unique_ptr<hb_blob_t>(
hb_blob_create(static_cast<const char*>(data->data()),
static_cast<unsigned int>(data->size()),
HB_MEMORY_MODE_READONLY, nullptr, nullptr));
@@ -72,8 +72,9 @@
family_name.c_str());
int ttc_index = 0;
sk_sp<SkData> data = StreamToData(typeface->openStream(&ttc_index));
- HbScoped<hb_face_t> face(hb_face_create(MakeBlob(data).get(), ttc_index));
- HbScoped<hb_subset_input_t> input(hb_subset_input_create_or_fail());
+ hb::unique_ptr<hb_face_t> face(
+ hb_face_create(MakeBlob(data).get(), ttc_index));
+ hb::unique_ptr<hb_subset_input_t> input(hb_subset_input_create_or_fail());
if (!face || !input) {
return nullptr;
}
@@ -102,14 +103,16 @@
hb_set_add(skip_subset, HB_TAG('G', 'S', 'U', 'B'));
hb_set_add(skip_subset, HB_TAG('G', 'P', 'O', 'S'));
- HbScoped<hb_face_t> subset_face(hb_subset_or_fail(face.get(), input.get()));
+ hb::unique_ptr<hb_face_t> subset_face(
+ hb_subset_or_fail(face.get(), input.get()));
if (!subset_face) {
return nullptr;
}
// Store the correct collection index for the subsetted font.
const int final_ttc_index = hb_face_get_index(subset_face.get());
- HbScoped<hb_blob_t> subset_blob(hb_face_reference_blob(subset_face.get()));
+ hb::unique_ptr<hb_blob_t> subset_blob(
+ hb_face_reference_blob(subset_face.get()));
if (!subset_blob) {
return nullptr;
}
diff --git a/third_party/blink/renderer/platform/BUILD.gn b/third_party/blink/renderer/platform/BUILD.gn
index 88cef3c..ae88e5a 100644
--- a/third_party/blink/renderer/platform/BUILD.gn
+++ b/third_party/blink/renderer/platform/BUILD.gn
@@ -1683,7 +1683,6 @@
"//third_party/blink/renderer/platform/wtf",
"//third_party/ced",
"//third_party/emoji-segmenter",
- "//third_party/harfbuzz-ng:hb_scoped_util",
"//third_party/icu",
"//third_party/libyuv",
"//third_party/one_euro_filter",
diff --git a/third_party/blink/renderer/platform/fonts/opentype/font_format_check.cc b/third_party/blink/renderer/platform/fonts/opentype/font_format_check.cc
index 7c7057b..d43668f1 100644
--- a/third_party/blink/renderer/platform/fonts/opentype/font_format_check.cc
+++ b/third_party/blink/renderer/platform/fonts/opentype/font_format_check.cc
@@ -7,10 +7,10 @@
// Include HarfBuzz to have a cross-platform way to retrieve table tags without
// having to rely on the platform being able to instantiate this font format.
#include <hb.h>
+#include <hb-cplusplus.hh>
#include "base/sys_byteorder.h"
#include "third_party/blink/renderer/platform/wtf/vector.h"
-#include "third_party/harfbuzz-ng/utils/hb_scoped.h"
#include "third_party/skia/include/core/SkTypeface.h"
namespace blink {
@@ -27,7 +27,8 @@
const unsigned int kMinCOLRHeaderSize = 14;
if (table_tags.size() && table_tags.Contains(kCOLRTag) &&
table_tags.Contains(HB_TAG('C', 'P', 'A', 'L'))) {
- HbScoped<hb_blob_t> table_blob(hb_face_reference_table(face, kCOLRTag));
+ hb::unique_ptr<hb_blob_t> table_blob(
+ hb_face_reference_table(face, kCOLRTag));
if (hb_blob_get_length(table_blob.get()) < kMinCOLRHeaderSize)
return FontFormatCheck::COLRVersion::kNoCOLR;
@@ -51,11 +52,11 @@
} // namespace
FontFormatCheck::FontFormatCheck(sk_sp<SkData> sk_data) {
- HbScoped<hb_blob_t> font_blob(
+ hb::unique_ptr<hb_blob_t> font_blob(
hb_blob_create(reinterpret_cast<const char*>(sk_data->bytes()),
base::checked_cast<unsigned>(sk_data->size()),
HB_MEMORY_MODE_READONLY, nullptr, nullptr));
- HbScoped<hb_face_t> face(hb_face_create(font_blob.get(), 0));
+ hb::unique_ptr<hb_face_t> face(hb_face_create(font_blob.get(), 0));
unsigned table_count = 0;
table_count = hb_face_get_table_tags(face.get(), 0, nullptr, nullptr);
diff --git a/third_party/blink/renderer/platform/fonts/opentype/open_type_caps_support.cc b/third_party/blink/renderer/platform/fonts/opentype/open_type_caps_support.cc
index 5e6d1f2..73b984a 100644
--- a/third_party/blink/renderer/platform/fonts/opentype/open_type_caps_support.cc
+++ b/third_party/blink/renderer/platform/fonts/opentype/open_type_caps_support.cc
@@ -5,10 +5,10 @@
// clang-format off
#include <hb.h>
#include <hb-aat.h>
+#include <hb-cplusplus.hh>
// clang-format on
#include "third_party/blink/renderer/platform/fonts/opentype/open_type_caps_support.h"
-#include "third_party/harfbuzz-ng/utils/hb_scoped.h"
namespace blink {
@@ -146,9 +146,9 @@
hb_face_t* const hb_face =
hb_font_get_face(harfbuzz_face_->GetScaledFont());
- HbScoped<hb_blob_t> morx_blob(
+ hb::unique_ptr<hb_blob_t> morx_blob(
hb_face_reference_table(hb_face, HB_TAG('m', 'o', 'r', 'x')));
- HbScoped<hb_blob_t> mort_blob(
+ hb::unique_ptr<hb_blob_t> mort_blob(
hb_face_reference_table(hb_face, HB_TAG('m', 'o', 'r', 't')));
// TODO(crbug.com/911149): Use hb_aat_layout_has_substitution() for
diff --git a/third_party/blink/renderer/platform/fonts/opentype/open_type_cpal_lookup.cc b/third_party/blink/renderer/platform/fonts/opentype/open_type_cpal_lookup.cc
index 86c289c..98cbd7a 100644
--- a/third_party/blink/renderer/platform/fonts/opentype/open_type_cpal_lookup.cc
+++ b/third_party/blink/renderer/platform/fonts/opentype/open_type_cpal_lookup.cc
@@ -6,11 +6,11 @@
#include "third_party/blink/renderer/platform/fonts/shaping/harfbuzz_face_from_typeface.h"
#include "third_party/blink/renderer/platform/wtf/std_lib_extras.h"
-#include "third_party/harfbuzz-ng/utils/hb_scoped.h"
#include "third_party/skia/include/core/SkStream.h"
// clang-format off
#include <hb.h>
+#include <hb-cplusplus.hh>
#include <hb-ot.h>
// clang-format on
@@ -28,7 +28,7 @@
if (!typeface || !typeface->getTableSize(kCpalTag))
return absl::nullopt;
- HbScoped<hb_face_t> face(HbFaceFromSkTypeface(typeface));
+ hb::unique_ptr<hb_face_t> face(HbFaceFromSkTypeface(typeface));
if (!face || !hb_ot_color_has_palettes(face.get()))
return absl::nullopt;
Accepting request 1119084 from home:dziobian:gulgul-ultron:19 - New upstream release 27.0.1 * Updated Chromium to 118.0.5993.89. * Fixed an issue where calling loadURL during some webContents url loading events could crash. * Fixed an issue where fully occluded windows would return an empty image from webContents.capturePage() * Fixed some redundant permission dialogs while screen sharing on Wayland. - Fix typo installing icon file to wrong folder. - Update to 27.0.0: * ABI break: NODE_MODULE_VERSION is now 118 * Chromium 118.0.5993.32 * Node 18.17.1 * V8 11.8 * The deprecated color scheme changed events in systemPreferences have been removed. * The systemPreferences.getAppLevelAppearance, systemPreferences.setAppLevelAppearance and systemPreferences.appLevelAppearance APIs have been removed, as well as the alternate-selected-control-text value for systemPreferences.getColor. * see https://www.electronjs.org/blog/electron-27-0 and https://www.electronjs.org/blog/electron-26-0 for new features - Drop upstreamed patches * absl-uint128-do-not-assume-abi.patch * cpu-missing-uint8_t.patch * electron-24-components-missing-headers.patch * mojom-python3.12-imp.patch * re2-11-StringPiece.patch * swiftshader-llvm17.patch - (Fedora) switch to bundled avif as Chromium no longer builds with avif 0.x * drop avif_image_decoder-AVIF_PIXEL_FORMAT_COUNT.patch * drop avif_image_decoder-libavif-1-mode.patch * drop avif_image_decoder-repetitionCount-clli.patch - Drop no longer relevant chromium-86-fix-vaapi-on-intel.patch - (Leap and Fedora) reverse upstream changes to build with re2 10 * replace-StringPiece-with-string_view.patch - (Fedora <39) reverse upstream changes to build with icu 71 * v8-icu73-alt_calendar.patch * v8-icu73-simple-case-folding.patch - Reverse upstream changes to build against old brotli * brotli-remove-shared-dictionary.patch - Add patches to fix build errors * absl-make_unique-missing-include.patch * autofill_i18n_parsing_expressions-constexpr.patch * chromium-117-blink-BUILD-mnemonic.patch * decoder_buffer_side_data-missing-uint8_t.patch * disable-tests.patch * keyboard_util-gcc12-invalid-constexpr.patch * kwallet_dbus-missing-uint8_t.patch * material_color_utilities-tones-missing-round.patch * page_content_annotations_common-remove-tflite.patch * partition_root-attribute.patch * perfetto-numeric_storage-double_t.patch * sensor_reading-missing-int64_t-size_t.patch * simple_font_data-freetype-include.patch * utf_string_conversion_utils-missing-numeric_limits.patch OBS-URL: https://build.opensuse.org/request/show/1119084 OBS-URL: https://build.opensuse.org/package/show/devel:languages:nodejs/nodejs-electron?expand=0&rev=103
2023-10-19 17:09:42 +00:00
@@ -49,7 +49,7 @@ absl::optional<uint16_t> OpenTypeCpalLoo
Vector<Color> OpenTypeCpalLookup::RetrieveColorRecords(
sk_sp<SkTypeface> typeface,
unsigned palette_index) {
- HbScoped<hb_face_t> face(HbFaceFromSkTypeface(typeface));
+ hb::unique_ptr<hb_face_t> face(HbFaceFromSkTypeface(typeface));
if (!face) {
return Vector<Color>();
Accepting request 1059202 from home:dziobian:gulgul-ultron:19 - Update to 22.0.2 * ABI break: NODE_MODULE_VERSION is now 110. Native modules may need recompiling * Chromium to 108.0.5359.179 * Node v16.17.1 * V8 v10.8 * Added WebContents input-event event. * Deprecated BrowserWindow scroll-touch-* events. * The deprecated new-window event has been removed. * Added contextBridge.exposeInIsolatedWorld(worldId, key, api) to expose an API to an isolatedWorld within a renderer from a preload script. * Added webContents.close() method. * Added new UtilityProcess API to launch chromium child process with node integration. * Added new WebContents event content-bounds-updated. * Added support for navigator.mediaDevices.getDisplayMedia via a new session handler, ses.setDisplayMediaRequestHandler. * Added support for serialPort.forget() as well as a new event serial-port-revoked emitted when a given origin is revoked. - Drop patches applied upstream * argument_spec-missing-isnan-isinf.patch * chromium-103.0.5060.53-python3-do-not-use-deprecated-mode-U.patch * content_language_parser-missing-string.patch * gtk_ui_platform_stub-incomplete-type-LinuxInputMethodContext.patch * node-system-libs.patch * pending_beacon_dispatcher-virtual-functions-cannot-be-constexpr.patch * std_lib_extras-missing-intptr_t.patch * system-abseil-missing-shims.patch - Re-add electron_serial_delegate-ambiguous-Observer.patch due to upstream reintroducing the invalid code - Add patches to fix build errors * chromium-108-abseil-shims.patch * crashpad-elf_image_reader-ProgramHeaderTableSpecific-expected-unqualified-id.patch * document_loader-private-DecodedBodyData.patch * first_party_set_parser-IssueWithMetadata-no-known-conversion.patch * print_dialog_gtk-no-kEnableOopPrintDriversJobPrint.patch * swiftshader-LLVMJIT-AddressSanitizerPass-dead-code-remove.patch - Conditionally reverse upstream changes to fix build with old harfbuzz * harfbuzz-replace-chromium-scoped-type.patch - Switch to bundled libjxl on Fedora 36 due to system version being too old OBS-URL: https://build.opensuse.org/request/show/1059202 OBS-URL: https://build.opensuse.org/package/show/devel:languages:nodejs/nodejs-electron?expand=0&rev=57
2023-01-18 06:07:26 +00:00
diff --git a/third_party/blink/renderer/platform/fonts/opentype/variable_axes_names.cc b/third_party/blink/renderer/platform/fonts/opentype/variable_axes_names.cc
index ebab0fa8..4ecd886 100644
--- a/third_party/blink/renderer/platform/fonts/opentype/variable_axes_names.cc
+++ b/third_party/blink/renderer/platform/fonts/opentype/variable_axes_names.cc
@@ -4,12 +4,12 @@
#include "third_party/blink/renderer/platform/fonts/opentype/variable_axes_names.h"
-#include "third_party/harfbuzz-ng/utils/hb_scoped.h"
#include "third_party/skia/include/core/SkStream.h"
#include "third_party/skia/include/core/SkTypeface.h"
// clang-format off
#include <hb.h>
+#include <hb-cplusplus.hh>
#include <hb-ot.h>
// clang-format on
@@ -23,11 +23,11 @@
return output;
sk_sp<SkData> sk_data =
SkData::MakeFromStream(stream.get(), stream->getLength());
- HbScoped<hb_blob_t> blob(
+ hb::unique_ptr<hb_blob_t> blob(
hb_blob_create(reinterpret_cast<const char*>(sk_data->bytes()),
base::checked_cast<unsigned>(sk_data->size()),
HB_MEMORY_MODE_READONLY, nullptr, nullptr));
- HbScoped<hb_face_t> face(hb_face_create(blob.get(), 0));
+ hb::unique_ptr<hb_face_t> face(hb_face_create(blob.get(), 0));
unsigned axes_count = hb_ot_var_get_axis_count(face.get());
std::unique_ptr<hb_ot_var_axis_info_t[]> axes =
std::make_unique<hb_ot_var_axis_info_t[]>(axes_count);
diff --git a/third_party/blink/renderer/platform/fonts/shaping/harfbuzz_face.cc b/third_party/blink/renderer/platform/fonts/shaping/harfbuzz_face.cc
index b4bb5a3..b6ee0a8f 100644
--- a/third_party/blink/renderer/platform/fonts/shaping/harfbuzz_face.cc
+++ b/third_party/blink/renderer/platform/fonts/shaping/harfbuzz_face.cc
@@ -32,6 +32,7 @@
// clang-format off
#include <hb.h>
+#include <hb-cplusplus.hh>
#include <hb-ot.h>
// clang-format on
@@ -52,7 +53,6 @@
#include "third_party/blink/renderer/platform/wtf/hash_map.h"
#include "third_party/blink/renderer/platform/wtf/math_extras.h"
Accepting request 1110783 from home:dziobian:gulgul-ultron:19 - Update to 25.8.0 * ABI break: NODE_MODULE_VERSION is now 116 * Chromium 114.0.5735.289 * Node 18.15.0 * V8 11.4 * Removed BrowserWindow scroll-touch-* events (since Electron 23) * Removed webContents.{de,in}crementCapturerCount(stayHidden, stayAwake) (since Electron 23) * Removed JXL image format support (since Electron 23) * API Changed: nativeImage.createThumbnailFromPath(path, size) (since Electron 24) - Use bundled vpx on Fedora ≤37 and Leap - Use bundled aom on Fedora and Leap - Drop support for Fedora 36 which is EOL - Drop upstreamed patches * CVE-2022-43548.patch * aggregatable_attribution_utils-do-not-assume-abseil-ABI.patch * angle-ShaderVars-missing-uint32_t.patch * blink-gcc13-missing-headers.patch * bluetooth_uuid-missing-uint8_t.patch * broker_file_permission-missing-uint64_t.patch * chromium-108-abseil-shims.patch * components-gcc13-missing-headers.patch * crashpad-elf_image_reader-ProgramHeaderTableSpecific-expected-unqualified-id.patch * d0aa9ad.patch * document_loader-private-DecodedBodyData.patch * effect_paint_property_node-Wchanges-meaning.patch * electron_serial_delegate-ambiguous-Observer.patch * extensions-gcc13-missing-headers.patch * first_party_set_parser-IssueWithMetadata-no-known-conversion.patch * gpu_feature_info-missing-uint32_t.patch * half_float-Wstrict-aliasing.patch * ipcz-buffer_id-Wnarrowing.patch * ipcz-safe_math-Wuninitialized.patch * net-gcc13-missing-headers.patch * net-third_party-quiche-gcc13-missing-headers.patch * one_writer_seqlock-missing-uintptr_t.patch * openscreen-gcc13-missing-headers.patch * passwords_counter-Wsubobject-linkage.patch * perfetto-uuid-missing-uint8_t.patch * print_dialog_gtk-no-kEnableOopPrintDriversJobPrint.patch * profiler-missing-uintptr_t.patch * reproducible-config.gypi.patch * select_file_dialog_linux_kde-Wodr.patch * shim_headers-fix-ninja.patch * static_constructors-Wstrict-aliasing.patch * string_hasher-type-pun-UB-causes-heap-corruption.patch * swiftshader-Constants-Wstrict-aliasing.patch * swiftshader-Half-Wstrict-aliasing.patch * swiftshader-LRUCache-missing-uint64_t.patch * target_property-missing-uint32_t.patch * ui-gcc13-missing-headers.patch * unzip-Wsubobject-linkage.patch * v8_initializer-PageAllocator-fpermissive.patch * vector_math_impl-Wstrict-aliasing.patch * web_contents_impl-Wsubobject-linkage.patch * webgl_image_conversion-Wstrict-aliasing.patch * webrtc-base64-missing-uint8_t.patch * xr_cube_map-Wstrict-aliasing.patch - Drop no longer relevant patches` * chromium-norar.patch * electron-13-fix-sql-virtualcursor-type.patch * enable-jxl.patch * system-jsoncpp.patch - Add patches to build with system libs * abseil-remove-unused-targets.patch * highway.gn * system-wayland.patch - Add patches to fix build errors * absl-uint128-do-not-assume-abi.patch * cpu-missing-uint8_t.patch * electron-24-components-missing-headers.patch * electron_api_app-GetPathConstant-non-constexpr.patch * electron_browser_context-missing-variant.patch * mojo_ukm_recorder-missing-WrapUnique.patch - Conditionally reverse upstream changes to build against stable avif * avif_image_decoder-repetitionCount-clli.patch - …and harfbuzz 4 * harfbuzz-replace-HbScopedPointer.patch - …and icu 69 * v8-regexp-parser-UCHAR_BASIC_EMOJI.patch - …and wayland 19 * wayland-WL-SINCE-VERSION.patch * wayland_data_drag_controller-WL_SURFACE_OFFSET_SINCE_VERSION.patch - Add backported chrome-gpu-does-not-load.patch OBS-URL: https://build.opensuse.org/request/show/1110783 OBS-URL: https://build.opensuse.org/package/show/devel:languages:nodejs/nodejs-electron?expand=0&rev=89
2023-09-13 04:57:45 +00:00
#include "third_party/blink/renderer/platform/wtf/text/character_names.h"
Accepting request 1059202 from home:dziobian:gulgul-ultron:19 - Update to 22.0.2 * ABI break: NODE_MODULE_VERSION is now 110. Native modules may need recompiling * Chromium to 108.0.5359.179 * Node v16.17.1 * V8 v10.8 * Added WebContents input-event event. * Deprecated BrowserWindow scroll-touch-* events. * The deprecated new-window event has been removed. * Added contextBridge.exposeInIsolatedWorld(worldId, key, api) to expose an API to an isolatedWorld within a renderer from a preload script. * Added webContents.close() method. * Added new UtilityProcess API to launch chromium child process with node integration. * Added new WebContents event content-bounds-updated. * Added support for navigator.mediaDevices.getDisplayMedia via a new session handler, ses.setDisplayMediaRequestHandler. * Added support for serialPort.forget() as well as a new event serial-port-revoked emitted when a given origin is revoked. - Drop patches applied upstream * argument_spec-missing-isnan-isinf.patch * chromium-103.0.5060.53-python3-do-not-use-deprecated-mode-U.patch * content_language_parser-missing-string.patch * gtk_ui_platform_stub-incomplete-type-LinuxInputMethodContext.patch * node-system-libs.patch * pending_beacon_dispatcher-virtual-functions-cannot-be-constexpr.patch * std_lib_extras-missing-intptr_t.patch * system-abseil-missing-shims.patch - Re-add electron_serial_delegate-ambiguous-Observer.patch due to upstream reintroducing the invalid code - Add patches to fix build errors * chromium-108-abseil-shims.patch * crashpad-elf_image_reader-ProgramHeaderTableSpecific-expected-unqualified-id.patch * document_loader-private-DecodedBodyData.patch * first_party_set_parser-IssueWithMetadata-no-known-conversion.patch * print_dialog_gtk-no-kEnableOopPrintDriversJobPrint.patch * swiftshader-LLVMJIT-AddressSanitizerPass-dead-code-remove.patch - Conditionally reverse upstream changes to fix build with old harfbuzz * harfbuzz-replace-chromium-scoped-type.patch - Switch to bundled libjxl on Fedora 36 due to system version being too old OBS-URL: https://build.opensuse.org/request/show/1059202 OBS-URL: https://build.opensuse.org/package/show/devel:languages:nodejs/nodejs-electron?expand=0&rev=57
2023-01-18 06:07:26 +00:00
-#include "third_party/harfbuzz-ng/utils/hb_scoped.h"
#include "third_party/skia/include/core/SkPaint.h"
#include "third_party/skia/include/core/SkPath.h"
#include "third_party/skia/include/core/SkPoint.h"
@@ -203,7 +203,7 @@
const hb_codepoint_t kInvalidCodepoint = static_cast<hb_codepoint_t>(-1);
hb_codepoint_t space = kInvalidCodepoint;
- HbScoped<hb_set_t> glyphs(hb_set_create());
+ hb::unique_ptr<hb_set_t> glyphs(hb_set_create());
// Check whether computing is needed and compute for gpos/gsub.
if (features & kKerning &&
@@ -391,8 +391,8 @@
}
// TODO(yosin): We should move |CreateFace()| to "harfbuzz_font_cache.cc".
-static HbScoped<hb_face_t> CreateFace(FontPlatformData* platform_data) {
- HbScoped<hb_face_t> face;
+static hb::unique_ptr<hb_face_t> CreateFace(FontPlatformData* platform_data) {
+ hb::unique_ptr<hb_face_t> face;
sk_sp<SkTypeface> typeface = sk_ref_sp(platform_data->Typeface());
CHECK(typeface);
@@ -402,8 +402,8 @@
// Fallback to table copies if there is no in-memory access.
if (!face) {
- face.reset(hb_face_create_for_tables(HarfBuzzSkiaGetTable, typeface.get(),
- nullptr));
+ face = hb::unique_ptr<hb_face_t>(hb_face_create_for_tables(
+ HarfBuzzSkiaGetTable, typeface.get(), nullptr));
}
DCHECK(face);
@@ -415,7 +415,7 @@
static scoped_refptr<HarfBuzzFontData> CreateHarfBuzzFontData(
hb_face_t* face,
SkTypeface* typeface) {
- HbScoped<hb_font_t> ot_font(hb_font_create(face));
+ hb::unique_ptr<hb_font_t> ot_font(hb_font_create(face));
hb_ot_font_set_funcs(ot_font.get());
int axis_count = typeface->getVariationDesignPosition(nullptr, 0);
@@ -445,7 +445,7 @@
FontPlatformData* platform_data) {
const auto& result = font_map_.insert(platform_data->UniqueID(), nullptr);
if (result.is_new_entry) {
- HbScoped<hb_face_t> face = CreateFace(platform_data);
+ hb::unique_ptr<hb_face_t> face = CreateFace(platform_data);
result.stored_value->value =
CreateHarfBuzzFontData(face.get(), platform_data->Typeface());
}
diff --git a/third_party/blink/renderer/platform/fonts/shaping/harfbuzz_face.h b/third_party/blink/renderer/platform/fonts/shaping/harfbuzz_face.h
index cbfb1c15..eb0dcb75 100644
--- a/third_party/blink/renderer/platform/fonts/shaping/harfbuzz_face.h
+++ b/third_party/blink/renderer/platform/fonts/shaping/harfbuzz_face.h
@@ -38,9 +38,9 @@
#include "third_party/blink/renderer/platform/wtf/allocator/allocator.h"
#include "third_party/blink/renderer/platform/wtf/ref_counted.h"
#include "third_party/blink/renderer/platform/wtf/text/character_names.h"
-#include "third_party/harfbuzz-ng/utils/hb_scoped.h"
#include <hb.h>
+#include <hb-cplusplus.hh>
namespace blink {
diff --git a/third_party/blink/renderer/platform/fonts/shaping/harfbuzz_face_from_typeface.cc b/third_party/blink/renderer/platform/fonts/shaping/harfbuzz_face_from_typeface.cc
index 4561bc9..a2d2eb1d 100644
--- a/third_party/blink/renderer/platform/fonts/shaping/harfbuzz_face_from_typeface.cc
+++ b/third_party/blink/renderer/platform/fonts/shaping/harfbuzz_face_from_typeface.cc
@@ -16,9 +16,8 @@
} // namespace
namespace blink {
-
-HbScoped<hb_face_t> HbFaceFromSkTypeface(sk_sp<SkTypeface> typeface) {
- HbScoped<hb_face_t> return_face(nullptr);
+hb::unique_ptr<hb_face_t> HbFaceFromSkTypeface(sk_sp<SkTypeface> typeface) {
+ hb::unique_ptr<hb_face_t> return_face(nullptr);
int ttc_index = 0;
// Have openStream() write the ttc index of this typeface within the stream to
@@ -28,7 +27,7 @@
if (tf_stream && tf_stream->getMemoryBase()) {
const void* tf_memory = tf_stream->getMemoryBase();
size_t tf_size = tf_stream->getLength();
- HbScoped<hb_blob_t> face_blob(hb_blob_create(
+ hb::unique_ptr<hb_blob_t> face_blob(hb_blob_create(
reinterpret_cast<const char*>(tf_memory),
base::checked_cast<unsigned int>(tf_size), HB_MEMORY_MODE_READONLY,
tf_stream.release(), DeleteTypefaceStream));
@@ -38,7 +37,8 @@
// See https://github.com/harfbuzz/harfbuzz/issues/248 .
unsigned int num_hb_faces = hb_face_count(face_blob.get());
if (0 < num_hb_faces && static_cast<unsigned>(ttc_index) < num_hb_faces) {
- return_face.reset(hb_face_create(face_blob.get(), ttc_index));
+ return_face =
+ hb::unique_ptr<hb_face_t>(hb_face_create(face_blob.get(), ttc_index));
}
}
return return_face;
diff --git a/third_party/blink/renderer/platform/fonts/shaping/harfbuzz_face_from_typeface.h b/third_party/blink/renderer/platform/fonts/shaping/harfbuzz_face_from_typeface.h
index 8817f06..f00d6f2 100644
--- a/third_party/blink/renderer/platform/fonts/shaping/harfbuzz_face_from_typeface.h
+++ b/third_party/blink/renderer/platform/fonts/shaping/harfbuzz_face_from_typeface.h
@@ -8,9 +8,8 @@
#include "third_party/blink/renderer/platform/platform_export.h"
#include "third_party/skia/include/core/SkTypeface.h"
-#include "third_party/harfbuzz-ng/utils/hb_scoped.h"
-
#include <hb.h>
+#include <hb-cplusplus.hh>
namespace blink {
@@ -25,7 +24,7 @@
// from copying all font tables on Mac into newly allocated memory, causing a
// potentially quite large allocations (in the megabytes range). See the
// implementation of SkTypeface_Mac::onOpenStream.
-PLATFORM_EXPORT HbScoped<hb_face_t> HbFaceFromSkTypeface(
+PLATFORM_EXPORT hb::unique_ptr<hb_face_t> HbFaceFromSkTypeface(
sk_sp<SkTypeface> typeface);
} // namespace blink
diff --git a/third_party/blink/renderer/platform/fonts/shaping/harfbuzz_font_cache.cc b/third_party/blink/renderer/platform/fonts/shaping/harfbuzz_font_cache.cc
index 763f3a3..c50910df 100644
--- a/third_party/blink/renderer/platform/fonts/shaping/harfbuzz_font_cache.cc
+++ b/third_party/blink/renderer/platform/fonts/shaping/harfbuzz_font_cache.cc
Accepting request 1110783 from home:dziobian:gulgul-ultron:19 - Update to 25.8.0 * ABI break: NODE_MODULE_VERSION is now 116 * Chromium 114.0.5735.289 * Node 18.15.0 * V8 11.4 * Removed BrowserWindow scroll-touch-* events (since Electron 23) * Removed webContents.{de,in}crementCapturerCount(stayHidden, stayAwake) (since Electron 23) * Removed JXL image format support (since Electron 23) * API Changed: nativeImage.createThumbnailFromPath(path, size) (since Electron 24) - Use bundled vpx on Fedora ≤37 and Leap - Use bundled aom on Fedora and Leap - Drop support for Fedora 36 which is EOL - Drop upstreamed patches * CVE-2022-43548.patch * aggregatable_attribution_utils-do-not-assume-abseil-ABI.patch * angle-ShaderVars-missing-uint32_t.patch * blink-gcc13-missing-headers.patch * bluetooth_uuid-missing-uint8_t.patch * broker_file_permission-missing-uint64_t.patch * chromium-108-abseil-shims.patch * components-gcc13-missing-headers.patch * crashpad-elf_image_reader-ProgramHeaderTableSpecific-expected-unqualified-id.patch * d0aa9ad.patch * document_loader-private-DecodedBodyData.patch * effect_paint_property_node-Wchanges-meaning.patch * electron_serial_delegate-ambiguous-Observer.patch * extensions-gcc13-missing-headers.patch * first_party_set_parser-IssueWithMetadata-no-known-conversion.patch * gpu_feature_info-missing-uint32_t.patch * half_float-Wstrict-aliasing.patch * ipcz-buffer_id-Wnarrowing.patch * ipcz-safe_math-Wuninitialized.patch * net-gcc13-missing-headers.patch * net-third_party-quiche-gcc13-missing-headers.patch * one_writer_seqlock-missing-uintptr_t.patch * openscreen-gcc13-missing-headers.patch * passwords_counter-Wsubobject-linkage.patch * perfetto-uuid-missing-uint8_t.patch * print_dialog_gtk-no-kEnableOopPrintDriversJobPrint.patch * profiler-missing-uintptr_t.patch * reproducible-config.gypi.patch * select_file_dialog_linux_kde-Wodr.patch * shim_headers-fix-ninja.patch * static_constructors-Wstrict-aliasing.patch * string_hasher-type-pun-UB-causes-heap-corruption.patch * swiftshader-Constants-Wstrict-aliasing.patch * swiftshader-Half-Wstrict-aliasing.patch * swiftshader-LRUCache-missing-uint64_t.patch * target_property-missing-uint32_t.patch * ui-gcc13-missing-headers.patch * unzip-Wsubobject-linkage.patch * v8_initializer-PageAllocator-fpermissive.patch * vector_math_impl-Wstrict-aliasing.patch * web_contents_impl-Wsubobject-linkage.patch * webgl_image_conversion-Wstrict-aliasing.patch * webrtc-base64-missing-uint8_t.patch * xr_cube_map-Wstrict-aliasing.patch - Drop no longer relevant patches` * chromium-norar.patch * electron-13-fix-sql-virtualcursor-type.patch * enable-jxl.patch * system-jsoncpp.patch - Add patches to build with system libs * abseil-remove-unused-targets.patch * highway.gn * system-wayland.patch - Add patches to fix build errors * absl-uint128-do-not-assume-abi.patch * cpu-missing-uint8_t.patch * electron-24-components-missing-headers.patch * electron_api_app-GetPathConstant-non-constexpr.patch * electron_browser_context-missing-variant.patch * mojo_ukm_recorder-missing-WrapUnique.patch - Conditionally reverse upstream changes to build against stable avif * avif_image_decoder-repetitionCount-clli.patch - …and harfbuzz 4 * harfbuzz-replace-HbScopedPointer.patch - …and icu 69 * v8-regexp-parser-UCHAR_BASIC_EMOJI.patch - …and wayland 19 * wayland-WL-SINCE-VERSION.patch * wayland_data_drag_controller-WL_SURFACE_OFFSET_SINCE_VERSION.patch - Add backported chrome-gpu-does-not-load.patch OBS-URL: https://build.opensuse.org/request/show/1110783 OBS-URL: https://build.opensuse.org/package/show/devel:languages:nodejs/nodejs-electron?expand=0&rev=89
2023-09-13 04:57:45 +00:00
@@ -5,12 +5,11 @@
Accepting request 1059202 from home:dziobian:gulgul-ultron:19 - Update to 22.0.2 * ABI break: NODE_MODULE_VERSION is now 110. Native modules may need recompiling * Chromium to 108.0.5359.179 * Node v16.17.1 * V8 v10.8 * Added WebContents input-event event. * Deprecated BrowserWindow scroll-touch-* events. * The deprecated new-window event has been removed. * Added contextBridge.exposeInIsolatedWorld(worldId, key, api) to expose an API to an isolatedWorld within a renderer from a preload script. * Added webContents.close() method. * Added new UtilityProcess API to launch chromium child process with node integration. * Added new WebContents event content-bounds-updated. * Added support for navigator.mediaDevices.getDisplayMedia via a new session handler, ses.setDisplayMediaRequestHandler. * Added support for serialPort.forget() as well as a new event serial-port-revoked emitted when a given origin is revoked. - Drop patches applied upstream * argument_spec-missing-isnan-isinf.patch * chromium-103.0.5060.53-python3-do-not-use-deprecated-mode-U.patch * content_language_parser-missing-string.patch * gtk_ui_platform_stub-incomplete-type-LinuxInputMethodContext.patch * node-system-libs.patch * pending_beacon_dispatcher-virtual-functions-cannot-be-constexpr.patch * std_lib_extras-missing-intptr_t.patch * system-abseil-missing-shims.patch - Re-add electron_serial_delegate-ambiguous-Observer.patch due to upstream reintroducing the invalid code - Add patches to fix build errors * chromium-108-abseil-shims.patch * crashpad-elf_image_reader-ProgramHeaderTableSpecific-expected-unqualified-id.patch * document_loader-private-DecodedBodyData.patch * first_party_set_parser-IssueWithMetadata-no-known-conversion.patch * print_dialog_gtk-no-kEnableOopPrintDriversJobPrint.patch * swiftshader-LLVMJIT-AddressSanitizerPass-dead-code-remove.patch - Conditionally reverse upstream changes to fix build with old harfbuzz * harfbuzz-replace-chromium-scoped-type.patch - Switch to bundled libjxl on Fedora 36 due to system version being too old OBS-URL: https://build.opensuse.org/request/show/1059202 OBS-URL: https://build.opensuse.org/package/show/devel:languages:nodejs/nodejs-electron?expand=0&rev=57
2023-01-18 06:07:26 +00:00
#include "third_party/blink/renderer/platform/fonts/shaping/harfbuzz_font_cache.h"
#include "third_party/blink/renderer/platform/fonts/shaping/harfbuzz_face.h"
#include "third_party/blink/renderer/platform/fonts/shaping/harfbuzz_font_data.h"
-#include "third_party/harfbuzz-ng/utils/hb_scoped.h"
namespace blink {
Accepting request 1110783 from home:dziobian:gulgul-ultron:19 - Update to 25.8.0 * ABI break: NODE_MODULE_VERSION is now 116 * Chromium 114.0.5735.289 * Node 18.15.0 * V8 11.4 * Removed BrowserWindow scroll-touch-* events (since Electron 23) * Removed webContents.{de,in}crementCapturerCount(stayHidden, stayAwake) (since Electron 23) * Removed JXL image format support (since Electron 23) * API Changed: nativeImage.createThumbnailFromPath(path, size) (since Electron 24) - Use bundled vpx on Fedora ≤37 and Leap - Use bundled aom on Fedora and Leap - Drop support for Fedora 36 which is EOL - Drop upstreamed patches * CVE-2022-43548.patch * aggregatable_attribution_utils-do-not-assume-abseil-ABI.patch * angle-ShaderVars-missing-uint32_t.patch * blink-gcc13-missing-headers.patch * bluetooth_uuid-missing-uint8_t.patch * broker_file_permission-missing-uint64_t.patch * chromium-108-abseil-shims.patch * components-gcc13-missing-headers.patch * crashpad-elf_image_reader-ProgramHeaderTableSpecific-expected-unqualified-id.patch * d0aa9ad.patch * document_loader-private-DecodedBodyData.patch * effect_paint_property_node-Wchanges-meaning.patch * electron_serial_delegate-ambiguous-Observer.patch * extensions-gcc13-missing-headers.patch * first_party_set_parser-IssueWithMetadata-no-known-conversion.patch * gpu_feature_info-missing-uint32_t.patch * half_float-Wstrict-aliasing.patch * ipcz-buffer_id-Wnarrowing.patch * ipcz-safe_math-Wuninitialized.patch * net-gcc13-missing-headers.patch * net-third_party-quiche-gcc13-missing-headers.patch * one_writer_seqlock-missing-uintptr_t.patch * openscreen-gcc13-missing-headers.patch * passwords_counter-Wsubobject-linkage.patch * perfetto-uuid-missing-uint8_t.patch * print_dialog_gtk-no-kEnableOopPrintDriversJobPrint.patch * profiler-missing-uintptr_t.patch * reproducible-config.gypi.patch * select_file_dialog_linux_kde-Wodr.patch * shim_headers-fix-ninja.patch * static_constructors-Wstrict-aliasing.patch * string_hasher-type-pun-UB-causes-heap-corruption.patch * swiftshader-Constants-Wstrict-aliasing.patch * swiftshader-Half-Wstrict-aliasing.patch * swiftshader-LRUCache-missing-uint64_t.patch * target_property-missing-uint32_t.patch * ui-gcc13-missing-headers.patch * unzip-Wsubobject-linkage.patch * v8_initializer-PageAllocator-fpermissive.patch * vector_math_impl-Wstrict-aliasing.patch * web_contents_impl-Wsubobject-linkage.patch * webgl_image_conversion-Wstrict-aliasing.patch * webrtc-base64-missing-uint8_t.patch * xr_cube_map-Wstrict-aliasing.patch - Drop no longer relevant patches` * chromium-norar.patch * electron-13-fix-sql-virtualcursor-type.patch * enable-jxl.patch * system-jsoncpp.patch - Add patches to build with system libs * abseil-remove-unused-targets.patch * highway.gn * system-wayland.patch - Add patches to fix build errors * absl-uint128-do-not-assume-abi.patch * cpu-missing-uint8_t.patch * electron-24-components-missing-headers.patch * electron_api_app-GetPathConstant-non-constexpr.patch * electron_browser_context-missing-variant.patch * mojo_ukm_recorder-missing-WrapUnique.patch - Conditionally reverse upstream changes to build against stable avif * avif_image_decoder-repetitionCount-clli.patch - …and harfbuzz 4 * harfbuzz-replace-HbScopedPointer.patch - …and icu 69 * v8-regexp-parser-UCHAR_BASIC_EMOJI.patch - …and wayland 19 * wayland-WL-SINCE-VERSION.patch * wayland_data_drag_controller-WL_SURFACE_OFFSET_SINCE_VERSION.patch - Add backported chrome-gpu-does-not-load.patch OBS-URL: https://build.opensuse.org/request/show/1110783 OBS-URL: https://build.opensuse.org/package/show/devel:languages:nodejs/nodejs-electron?expand=0&rev=89
2023-09-13 04:57:45 +00:00
HbFontCacheEntry::HbFontCacheEntry(hb_font_t* font)
- : hb_font_(HbScoped<hb_font_t>(font)),
+ : hb_font_(hb::unique_ptr<hb_font_t>(font)),
hb_font_data_(std::make_unique<HarfBuzzFontData>()) {}
HbFontCacheEntry::~HbFontCacheEntry() = default;
Accepting request 1059202 from home:dziobian:gulgul-ultron:19 - Update to 22.0.2 * ABI break: NODE_MODULE_VERSION is now 110. Native modules may need recompiling * Chromium to 108.0.5359.179 * Node v16.17.1 * V8 v10.8 * Added WebContents input-event event. * Deprecated BrowserWindow scroll-touch-* events. * The deprecated new-window event has been removed. * Added contextBridge.exposeInIsolatedWorld(worldId, key, api) to expose an API to an isolatedWorld within a renderer from a preload script. * Added webContents.close() method. * Added new UtilityProcess API to launch chromium child process with node integration. * Added new WebContents event content-bounds-updated. * Added support for navigator.mediaDevices.getDisplayMedia via a new session handler, ses.setDisplayMediaRequestHandler. * Added support for serialPort.forget() as well as a new event serial-port-revoked emitted when a given origin is revoked. - Drop patches applied upstream * argument_spec-missing-isnan-isinf.patch * chromium-103.0.5060.53-python3-do-not-use-deprecated-mode-U.patch * content_language_parser-missing-string.patch * gtk_ui_platform_stub-incomplete-type-LinuxInputMethodContext.patch * node-system-libs.patch * pending_beacon_dispatcher-virtual-functions-cannot-be-constexpr.patch * std_lib_extras-missing-intptr_t.patch * system-abseil-missing-shims.patch - Re-add electron_serial_delegate-ambiguous-Observer.patch due to upstream reintroducing the invalid code - Add patches to fix build errors * chromium-108-abseil-shims.patch * crashpad-elf_image_reader-ProgramHeaderTableSpecific-expected-unqualified-id.patch * document_loader-private-DecodedBodyData.patch * first_party_set_parser-IssueWithMetadata-no-known-conversion.patch * print_dialog_gtk-no-kEnableOopPrintDriversJobPrint.patch * swiftshader-LLVMJIT-AddressSanitizerPass-dead-code-remove.patch - Conditionally reverse upstream changes to fix build with old harfbuzz * harfbuzz-replace-chromium-scoped-type.patch - Switch to bundled libjxl on Fedora 36 due to system version being too old OBS-URL: https://build.opensuse.org/request/show/1059202 OBS-URL: https://build.opensuse.org/package/show/devel:languages:nodejs/nodejs-electron?expand=0&rev=57
2023-01-18 06:07:26 +00:00
diff --git a/third_party/blink/renderer/platform/fonts/shaping/harfbuzz_font_cache.h b/third_party/blink/renderer/platform/fonts/shaping/harfbuzz_font_cache.h
index 1b0accf..eaedd0b 100644
--- a/third_party/blink/renderer/platform/fonts/shaping/harfbuzz_font_cache.h
+++ b/third_party/blink/renderer/platform/fonts/shaping/harfbuzz_font_cache.h
Accepting request 1110783 from home:dziobian:gulgul-ultron:19 - Update to 25.8.0 * ABI break: NODE_MODULE_VERSION is now 116 * Chromium 114.0.5735.289 * Node 18.15.0 * V8 11.4 * Removed BrowserWindow scroll-touch-* events (since Electron 23) * Removed webContents.{de,in}crementCapturerCount(stayHidden, stayAwake) (since Electron 23) * Removed JXL image format support (since Electron 23) * API Changed: nativeImage.createThumbnailFromPath(path, size) (since Electron 24) - Use bundled vpx on Fedora ≤37 and Leap - Use bundled aom on Fedora and Leap - Drop support for Fedora 36 which is EOL - Drop upstreamed patches * CVE-2022-43548.patch * aggregatable_attribution_utils-do-not-assume-abseil-ABI.patch * angle-ShaderVars-missing-uint32_t.patch * blink-gcc13-missing-headers.patch * bluetooth_uuid-missing-uint8_t.patch * broker_file_permission-missing-uint64_t.patch * chromium-108-abseil-shims.patch * components-gcc13-missing-headers.patch * crashpad-elf_image_reader-ProgramHeaderTableSpecific-expected-unqualified-id.patch * d0aa9ad.patch * document_loader-private-DecodedBodyData.patch * effect_paint_property_node-Wchanges-meaning.patch * electron_serial_delegate-ambiguous-Observer.patch * extensions-gcc13-missing-headers.patch * first_party_set_parser-IssueWithMetadata-no-known-conversion.patch * gpu_feature_info-missing-uint32_t.patch * half_float-Wstrict-aliasing.patch * ipcz-buffer_id-Wnarrowing.patch * ipcz-safe_math-Wuninitialized.patch * net-gcc13-missing-headers.patch * net-third_party-quiche-gcc13-missing-headers.patch * one_writer_seqlock-missing-uintptr_t.patch * openscreen-gcc13-missing-headers.patch * passwords_counter-Wsubobject-linkage.patch * perfetto-uuid-missing-uint8_t.patch * print_dialog_gtk-no-kEnableOopPrintDriversJobPrint.patch * profiler-missing-uintptr_t.patch * reproducible-config.gypi.patch * select_file_dialog_linux_kde-Wodr.patch * shim_headers-fix-ninja.patch * static_constructors-Wstrict-aliasing.patch * string_hasher-type-pun-UB-causes-heap-corruption.patch * swiftshader-Constants-Wstrict-aliasing.patch * swiftshader-Half-Wstrict-aliasing.patch * swiftshader-LRUCache-missing-uint64_t.patch * target_property-missing-uint32_t.patch * ui-gcc13-missing-headers.patch * unzip-Wsubobject-linkage.patch * v8_initializer-PageAllocator-fpermissive.patch * vector_math_impl-Wstrict-aliasing.patch * web_contents_impl-Wsubobject-linkage.patch * webgl_image_conversion-Wstrict-aliasing.patch * webrtc-base64-missing-uint8_t.patch * xr_cube_map-Wstrict-aliasing.patch - Drop no longer relevant patches` * chromium-norar.patch * electron-13-fix-sql-virtualcursor-type.patch * enable-jxl.patch * system-jsoncpp.patch - Add patches to build with system libs * abseil-remove-unused-targets.patch * highway.gn * system-wayland.patch - Add patches to fix build errors * absl-uint128-do-not-assume-abi.patch * cpu-missing-uint8_t.patch * electron-24-components-missing-headers.patch * electron_api_app-GetPathConstant-non-constexpr.patch * electron_browser_context-missing-variant.patch * mojo_ukm_recorder-missing-WrapUnique.patch - Conditionally reverse upstream changes to build against stable avif * avif_image_decoder-repetitionCount-clli.patch - …and harfbuzz 4 * harfbuzz-replace-HbScopedPointer.patch - …and icu 69 * v8-regexp-parser-UCHAR_BASIC_EMOJI.patch - …and wayland 19 * wayland-WL-SINCE-VERSION.patch * wayland_data_drag_controller-WL_SURFACE_OFFSET_SINCE_VERSION.patch - Add backported chrome-gpu-does-not-load.patch OBS-URL: https://build.opensuse.org/request/show/1110783 OBS-URL: https://build.opensuse.org/package/show/devel:languages:nodejs/nodejs-electron?expand=0&rev=89
2023-09-13 04:57:45 +00:00
@@ -7,9 +7,9 @@
Accepting request 1059202 from home:dziobian:gulgul-ultron:19 - Update to 22.0.2 * ABI break: NODE_MODULE_VERSION is now 110. Native modules may need recompiling * Chromium to 108.0.5359.179 * Node v16.17.1 * V8 v10.8 * Added WebContents input-event event. * Deprecated BrowserWindow scroll-touch-* events. * The deprecated new-window event has been removed. * Added contextBridge.exposeInIsolatedWorld(worldId, key, api) to expose an API to an isolatedWorld within a renderer from a preload script. * Added webContents.close() method. * Added new UtilityProcess API to launch chromium child process with node integration. * Added new WebContents event content-bounds-updated. * Added support for navigator.mediaDevices.getDisplayMedia via a new session handler, ses.setDisplayMediaRequestHandler. * Added support for serialPort.forget() as well as a new event serial-port-revoked emitted when a given origin is revoked. - Drop patches applied upstream * argument_spec-missing-isnan-isinf.patch * chromium-103.0.5060.53-python3-do-not-use-deprecated-mode-U.patch * content_language_parser-missing-string.patch * gtk_ui_platform_stub-incomplete-type-LinuxInputMethodContext.patch * node-system-libs.patch * pending_beacon_dispatcher-virtual-functions-cannot-be-constexpr.patch * std_lib_extras-missing-intptr_t.patch * system-abseil-missing-shims.patch - Re-add electron_serial_delegate-ambiguous-Observer.patch due to upstream reintroducing the invalid code - Add patches to fix build errors * chromium-108-abseil-shims.patch * crashpad-elf_image_reader-ProgramHeaderTableSpecific-expected-unqualified-id.patch * document_loader-private-DecodedBodyData.patch * first_party_set_parser-IssueWithMetadata-no-known-conversion.patch * print_dialog_gtk-no-kEnableOopPrintDriversJobPrint.patch * swiftshader-LLVMJIT-AddressSanitizerPass-dead-code-remove.patch - Conditionally reverse upstream changes to fix build with old harfbuzz * harfbuzz-replace-chromium-scoped-type.patch - Switch to bundled libjxl on Fedora 36 due to system version being too old OBS-URL: https://build.opensuse.org/request/show/1059202 OBS-URL: https://build.opensuse.org/package/show/devel:languages:nodejs/nodejs-electron?expand=0&rev=57
2023-01-18 06:07:26 +00:00
#include "third_party/blink/renderer/platform/fonts/font_metrics.h"
#include "third_party/blink/renderer/platform/fonts/unicode_range_set.h"
-#include "third_party/harfbuzz-ng/utils/hb_scoped.h"
Accepting request 1110783 from home:dziobian:gulgul-ultron:19 - Update to 25.8.0 * ABI break: NODE_MODULE_VERSION is now 116 * Chromium 114.0.5735.289 * Node 18.15.0 * V8 11.4 * Removed BrowserWindow scroll-touch-* events (since Electron 23) * Removed webContents.{de,in}crementCapturerCount(stayHidden, stayAwake) (since Electron 23) * Removed JXL image format support (since Electron 23) * API Changed: nativeImage.createThumbnailFromPath(path, size) (since Electron 24) - Use bundled vpx on Fedora ≤37 and Leap - Use bundled aom on Fedora and Leap - Drop support for Fedora 36 which is EOL - Drop upstreamed patches * CVE-2022-43548.patch * aggregatable_attribution_utils-do-not-assume-abseil-ABI.patch * angle-ShaderVars-missing-uint32_t.patch * blink-gcc13-missing-headers.patch * bluetooth_uuid-missing-uint8_t.patch * broker_file_permission-missing-uint64_t.patch * chromium-108-abseil-shims.patch * components-gcc13-missing-headers.patch * crashpad-elf_image_reader-ProgramHeaderTableSpecific-expected-unqualified-id.patch * d0aa9ad.patch * document_loader-private-DecodedBodyData.patch * effect_paint_property_node-Wchanges-meaning.patch * electron_serial_delegate-ambiguous-Observer.patch * extensions-gcc13-missing-headers.patch * first_party_set_parser-IssueWithMetadata-no-known-conversion.patch * gpu_feature_info-missing-uint32_t.patch * half_float-Wstrict-aliasing.patch * ipcz-buffer_id-Wnarrowing.patch * ipcz-safe_math-Wuninitialized.patch * net-gcc13-missing-headers.patch * net-third_party-quiche-gcc13-missing-headers.patch * one_writer_seqlock-missing-uintptr_t.patch * openscreen-gcc13-missing-headers.patch * passwords_counter-Wsubobject-linkage.patch * perfetto-uuid-missing-uint8_t.patch * print_dialog_gtk-no-kEnableOopPrintDriversJobPrint.patch * profiler-missing-uintptr_t.patch * reproducible-config.gypi.patch * select_file_dialog_linux_kde-Wodr.patch * shim_headers-fix-ninja.patch * static_constructors-Wstrict-aliasing.patch * string_hasher-type-pun-UB-causes-heap-corruption.patch * swiftshader-Constants-Wstrict-aliasing.patch * swiftshader-Half-Wstrict-aliasing.patch * swiftshader-LRUCache-missing-uint64_t.patch * target_property-missing-uint32_t.patch * ui-gcc13-missing-headers.patch * unzip-Wsubobject-linkage.patch * v8_initializer-PageAllocator-fpermissive.patch * vector_math_impl-Wstrict-aliasing.patch * web_contents_impl-Wsubobject-linkage.patch * webgl_image_conversion-Wstrict-aliasing.patch * webrtc-base64-missing-uint8_t.patch * xr_cube_map-Wstrict-aliasing.patch - Drop no longer relevant patches` * chromium-norar.patch * electron-13-fix-sql-virtualcursor-type.patch * enable-jxl.patch * system-jsoncpp.patch - Add patches to build with system libs * abseil-remove-unused-targets.patch * highway.gn * system-wayland.patch - Add patches to fix build errors * absl-uint128-do-not-assume-abi.patch * cpu-missing-uint8_t.patch * electron-24-components-missing-headers.patch * electron_api_app-GetPathConstant-non-constexpr.patch * electron_browser_context-missing-variant.patch * mojo_ukm_recorder-missing-WrapUnique.patch - Conditionally reverse upstream changes to build against stable avif * avif_image_decoder-repetitionCount-clli.patch - …and harfbuzz 4 * harfbuzz-replace-HbScopedPointer.patch - …and icu 69 * v8-regexp-parser-UCHAR_BASIC_EMOJI.patch - …and wayland 19 * wayland-WL-SINCE-VERSION.patch * wayland_data_drag_controller-WL_SURFACE_OFFSET_SINCE_VERSION.patch - Add backported chrome-gpu-does-not-load.patch OBS-URL: https://build.opensuse.org/request/show/1110783 OBS-URL: https://build.opensuse.org/package/show/devel:languages:nodejs/nodejs-electron?expand=0&rev=89
2023-09-13 04:57:45 +00:00
#include <hb.h>
+#include <hb-cplusplus.hh>
#include <memory>
@@ -39,7 +39,7 @@ class HbFontCacheEntry : public RefCount
private:
explicit HbFontCacheEntry(hb_font_t* font);
- HbScoped<hb_font_t> hb_font_;
+ hb::unique_ptr<hb_font_t> hb_font_;
std::unique_ptr<HarfBuzzFontData> hb_font_data_;
};
Accepting request 1059202 from home:dziobian:gulgul-ultron:19 - Update to 22.0.2 * ABI break: NODE_MODULE_VERSION is now 110. Native modules may need recompiling * Chromium to 108.0.5359.179 * Node v16.17.1 * V8 v10.8 * Added WebContents input-event event. * Deprecated BrowserWindow scroll-touch-* events. * The deprecated new-window event has been removed. * Added contextBridge.exposeInIsolatedWorld(worldId, key, api) to expose an API to an isolatedWorld within a renderer from a preload script. * Added webContents.close() method. * Added new UtilityProcess API to launch chromium child process with node integration. * Added new WebContents event content-bounds-updated. * Added support for navigator.mediaDevices.getDisplayMedia via a new session handler, ses.setDisplayMediaRequestHandler. * Added support for serialPort.forget() as well as a new event serial-port-revoked emitted when a given origin is revoked. - Drop patches applied upstream * argument_spec-missing-isnan-isinf.patch * chromium-103.0.5060.53-python3-do-not-use-deprecated-mode-U.patch * content_language_parser-missing-string.patch * gtk_ui_platform_stub-incomplete-type-LinuxInputMethodContext.patch * node-system-libs.patch * pending_beacon_dispatcher-virtual-functions-cannot-be-constexpr.patch * std_lib_extras-missing-intptr_t.patch * system-abseil-missing-shims.patch - Re-add electron_serial_delegate-ambiguous-Observer.patch due to upstream reintroducing the invalid code - Add patches to fix build errors * chromium-108-abseil-shims.patch * crashpad-elf_image_reader-ProgramHeaderTableSpecific-expected-unqualified-id.patch * document_loader-private-DecodedBodyData.patch * first_party_set_parser-IssueWithMetadata-no-known-conversion.patch * print_dialog_gtk-no-kEnableOopPrintDriversJobPrint.patch * swiftshader-LLVMJIT-AddressSanitizerPass-dead-code-remove.patch - Conditionally reverse upstream changes to fix build with old harfbuzz * harfbuzz-replace-chromium-scoped-type.patch - Switch to bundled libjxl on Fedora 36 due to system version being too old OBS-URL: https://build.opensuse.org/request/show/1059202 OBS-URL: https://build.opensuse.org/package/show/devel:languages:nodejs/nodejs-electron?expand=0&rev=57
2023-01-18 06:07:26 +00:00
diff --git a/third_party/blink/renderer/platform/fonts/shaping/harfbuzz_font_data.h b/third_party/blink/renderer/platform/fonts/shaping/harfbuzz_font_data.h
index caf5d49..0d4b6f9 100644
--- a/third_party/blink/renderer/platform/fonts/shaping/harfbuzz_font_data.h
+++ b/third_party/blink/renderer/platform/fonts/shaping/harfbuzz_font_data.h
@@ -5,6 +5,8 @@
#ifndef THIRD_PARTY_BLINK_RENDERER_PLATFORM_FONTS_SHAPING_HARFBUZZ_FONT_DATA_H_
#define THIRD_PARTY_BLINK_RENDERER_PLATFORM_FONTS_SHAPING_HARFBUZZ_FONT_DATA_H_
+#include <hb-cplusplus.hh>
+
#include "base/check_op.h"
#include "third_party/blink/renderer/platform/fonts/font_platform_data.h"
#include "third_party/blink/renderer/platform/fonts/opentype/open_type_vertical_data.h"
@@ -81,7 +83,7 @@
return vertical_data_;
}
- HbScoped<hb_font_t> unscaled_font_;
+ hb::unique_ptr<hb_font_t> unscaled_font_;
SkFont font_;
// Capture these scaled fallback metrics from FontPlatformData so that a
diff --git a/third_party/harfbuzz-ng/BUILD.gn b/third_party/harfbuzz-ng/BUILD.gn
index 522e164d..4b64e1b 100644
--- a/third_party/harfbuzz-ng/BUILD.gn
+++ b/third_party/harfbuzz-ng/BUILD.gn
@@ -41,6 +41,7 @@
"src/src/hb-blob.h",
"src/src/hb-buffer.h",
"src/src/hb-common.h",
+ "src/src/hb-cplusplus.hh",
"src/src/hb-deprecated.h",
"src/src/hb-face.h",
"src/src/hb-font.h",
Accepting request 1110783 from home:dziobian:gulgul-ultron:19 - Update to 25.8.0 * ABI break: NODE_MODULE_VERSION is now 116 * Chromium 114.0.5735.289 * Node 18.15.0 * V8 11.4 * Removed BrowserWindow scroll-touch-* events (since Electron 23) * Removed webContents.{de,in}crementCapturerCount(stayHidden, stayAwake) (since Electron 23) * Removed JXL image format support (since Electron 23) * API Changed: nativeImage.createThumbnailFromPath(path, size) (since Electron 24) - Use bundled vpx on Fedora ≤37 and Leap - Use bundled aom on Fedora and Leap - Drop support for Fedora 36 which is EOL - Drop upstreamed patches * CVE-2022-43548.patch * aggregatable_attribution_utils-do-not-assume-abseil-ABI.patch * angle-ShaderVars-missing-uint32_t.patch * blink-gcc13-missing-headers.patch * bluetooth_uuid-missing-uint8_t.patch * broker_file_permission-missing-uint64_t.patch * chromium-108-abseil-shims.patch * components-gcc13-missing-headers.patch * crashpad-elf_image_reader-ProgramHeaderTableSpecific-expected-unqualified-id.patch * d0aa9ad.patch * document_loader-private-DecodedBodyData.patch * effect_paint_property_node-Wchanges-meaning.patch * electron_serial_delegate-ambiguous-Observer.patch * extensions-gcc13-missing-headers.patch * first_party_set_parser-IssueWithMetadata-no-known-conversion.patch * gpu_feature_info-missing-uint32_t.patch * half_float-Wstrict-aliasing.patch * ipcz-buffer_id-Wnarrowing.patch * ipcz-safe_math-Wuninitialized.patch * net-gcc13-missing-headers.patch * net-third_party-quiche-gcc13-missing-headers.patch * one_writer_seqlock-missing-uintptr_t.patch * openscreen-gcc13-missing-headers.patch * passwords_counter-Wsubobject-linkage.patch * perfetto-uuid-missing-uint8_t.patch * print_dialog_gtk-no-kEnableOopPrintDriversJobPrint.patch * profiler-missing-uintptr_t.patch * reproducible-config.gypi.patch * select_file_dialog_linux_kde-Wodr.patch * shim_headers-fix-ninja.patch * static_constructors-Wstrict-aliasing.patch * string_hasher-type-pun-UB-causes-heap-corruption.patch * swiftshader-Constants-Wstrict-aliasing.patch * swiftshader-Half-Wstrict-aliasing.patch * swiftshader-LRUCache-missing-uint64_t.patch * target_property-missing-uint32_t.patch * ui-gcc13-missing-headers.patch * unzip-Wsubobject-linkage.patch * v8_initializer-PageAllocator-fpermissive.patch * vector_math_impl-Wstrict-aliasing.patch * web_contents_impl-Wsubobject-linkage.patch * webgl_image_conversion-Wstrict-aliasing.patch * webrtc-base64-missing-uint8_t.patch * xr_cube_map-Wstrict-aliasing.patch - Drop no longer relevant patches` * chromium-norar.patch * electron-13-fix-sql-virtualcursor-type.patch * enable-jxl.patch * system-jsoncpp.patch - Add patches to build with system libs * abseil-remove-unused-targets.patch * highway.gn * system-wayland.patch - Add patches to fix build errors * absl-uint128-do-not-assume-abi.patch * cpu-missing-uint8_t.patch * electron-24-components-missing-headers.patch * electron_api_app-GetPathConstant-non-constexpr.patch * electron_browser_context-missing-variant.patch * mojo_ukm_recorder-missing-WrapUnique.patch - Conditionally reverse upstream changes to build against stable avif * avif_image_decoder-repetitionCount-clli.patch - …and harfbuzz 4 * harfbuzz-replace-HbScopedPointer.patch - …and icu 69 * v8-regexp-parser-UCHAR_BASIC_EMOJI.patch - …and wayland 19 * wayland-WL-SINCE-VERSION.patch * wayland_data_drag_controller-WL_SURFACE_OFFSET_SINCE_VERSION.patch - Add backported chrome-gpu-does-not-load.patch OBS-URL: https://build.opensuse.org/request/show/1110783 OBS-URL: https://build.opensuse.org/package/show/devel:languages:nodejs/nodejs-electron?expand=0&rev=89
2023-09-13 04:57:45 +00:00
@@ -409,11 +410,6 @@
Accepting request 1059202 from home:dziobian:gulgul-ultron:19 - Update to 22.0.2 * ABI break: NODE_MODULE_VERSION is now 110. Native modules may need recompiling * Chromium to 108.0.5359.179 * Node v16.17.1 * V8 v10.8 * Added WebContents input-event event. * Deprecated BrowserWindow scroll-touch-* events. * The deprecated new-window event has been removed. * Added contextBridge.exposeInIsolatedWorld(worldId, key, api) to expose an API to an isolatedWorld within a renderer from a preload script. * Added webContents.close() method. * Added new UtilityProcess API to launch chromium child process with node integration. * Added new WebContents event content-bounds-updated. * Added support for navigator.mediaDevices.getDisplayMedia via a new session handler, ses.setDisplayMediaRequestHandler. * Added support for serialPort.forget() as well as a new event serial-port-revoked emitted when a given origin is revoked. - Drop patches applied upstream * argument_spec-missing-isnan-isinf.patch * chromium-103.0.5060.53-python3-do-not-use-deprecated-mode-U.patch * content_language_parser-missing-string.patch * gtk_ui_platform_stub-incomplete-type-LinuxInputMethodContext.patch * node-system-libs.patch * pending_beacon_dispatcher-virtual-functions-cannot-be-constexpr.patch * std_lib_extras-missing-intptr_t.patch * system-abseil-missing-shims.patch - Re-add electron_serial_delegate-ambiguous-Observer.patch due to upstream reintroducing the invalid code - Add patches to fix build errors * chromium-108-abseil-shims.patch * crashpad-elf_image_reader-ProgramHeaderTableSpecific-expected-unqualified-id.patch * document_loader-private-DecodedBodyData.patch * first_party_set_parser-IssueWithMetadata-no-known-conversion.patch * print_dialog_gtk-no-kEnableOopPrintDriversJobPrint.patch * swiftshader-LLVMJIT-AddressSanitizerPass-dead-code-remove.patch - Conditionally reverse upstream changes to fix build with old harfbuzz * harfbuzz-replace-chromium-scoped-type.patch - Switch to bundled libjxl on Fedora 36 due to system version being too old OBS-URL: https://build.opensuse.org/request/show/1059202 OBS-URL: https://build.opensuse.org/package/show/devel:languages:nodejs/nodejs-electron?expand=0&rev=57
2023-01-18 06:07:26 +00:00
}
}
-source_set("hb_scoped_util") {
- sources = [ "utils/hb_scoped.h" ]
- deps = [ "//third_party:freetype_harfbuzz" ]
-}
-
Accepting request 1110783 from home:dziobian:gulgul-ultron:19 - Update to 25.8.0 * ABI break: NODE_MODULE_VERSION is now 116 * Chromium 114.0.5735.289 * Node 18.15.0 * V8 11.4 * Removed BrowserWindow scroll-touch-* events (since Electron 23) * Removed webContents.{de,in}crementCapturerCount(stayHidden, stayAwake) (since Electron 23) * Removed JXL image format support (since Electron 23) * API Changed: nativeImage.createThumbnailFromPath(path, size) (since Electron 24) - Use bundled vpx on Fedora ≤37 and Leap - Use bundled aom on Fedora and Leap - Drop support for Fedora 36 which is EOL - Drop upstreamed patches * CVE-2022-43548.patch * aggregatable_attribution_utils-do-not-assume-abseil-ABI.patch * angle-ShaderVars-missing-uint32_t.patch * blink-gcc13-missing-headers.patch * bluetooth_uuid-missing-uint8_t.patch * broker_file_permission-missing-uint64_t.patch * chromium-108-abseil-shims.patch * components-gcc13-missing-headers.patch * crashpad-elf_image_reader-ProgramHeaderTableSpecific-expected-unqualified-id.patch * d0aa9ad.patch * document_loader-private-DecodedBodyData.patch * effect_paint_property_node-Wchanges-meaning.patch * electron_serial_delegate-ambiguous-Observer.patch * extensions-gcc13-missing-headers.patch * first_party_set_parser-IssueWithMetadata-no-known-conversion.patch * gpu_feature_info-missing-uint32_t.patch * half_float-Wstrict-aliasing.patch * ipcz-buffer_id-Wnarrowing.patch * ipcz-safe_math-Wuninitialized.patch * net-gcc13-missing-headers.patch * net-third_party-quiche-gcc13-missing-headers.patch * one_writer_seqlock-missing-uintptr_t.patch * openscreen-gcc13-missing-headers.patch * passwords_counter-Wsubobject-linkage.patch * perfetto-uuid-missing-uint8_t.patch * print_dialog_gtk-no-kEnableOopPrintDriversJobPrint.patch * profiler-missing-uintptr_t.patch * reproducible-config.gypi.patch * select_file_dialog_linux_kde-Wodr.patch * shim_headers-fix-ninja.patch * static_constructors-Wstrict-aliasing.patch * string_hasher-type-pun-UB-causes-heap-corruption.patch * swiftshader-Constants-Wstrict-aliasing.patch * swiftshader-Half-Wstrict-aliasing.patch * swiftshader-LRUCache-missing-uint64_t.patch * target_property-missing-uint32_t.patch * ui-gcc13-missing-headers.patch * unzip-Wsubobject-linkage.patch * v8_initializer-PageAllocator-fpermissive.patch * vector_math_impl-Wstrict-aliasing.patch * web_contents_impl-Wsubobject-linkage.patch * webgl_image_conversion-Wstrict-aliasing.patch * webrtc-base64-missing-uint8_t.patch * xr_cube_map-Wstrict-aliasing.patch - Drop no longer relevant patches` * chromium-norar.patch * electron-13-fix-sql-virtualcursor-type.patch * enable-jxl.patch * system-jsoncpp.patch - Add patches to build with system libs * abseil-remove-unused-targets.patch * highway.gn * system-wayland.patch - Add patches to fix build errors * absl-uint128-do-not-assume-abi.patch * cpu-missing-uint8_t.patch * electron-24-components-missing-headers.patch * electron_api_app-GetPathConstant-non-constexpr.patch * electron_browser_context-missing-variant.patch * mojo_ukm_recorder-missing-WrapUnique.patch - Conditionally reverse upstream changes to build against stable avif * avif_image_decoder-repetitionCount-clli.patch - …and harfbuzz 4 * harfbuzz-replace-HbScopedPointer.patch - …and icu 69 * v8-regexp-parser-UCHAR_BASIC_EMOJI.patch - …and wayland 19 * wayland-WL-SINCE-VERSION.patch * wayland_data_drag_controller-WL_SURFACE_OFFSET_SINCE_VERSION.patch - Add backported chrome-gpu-does-not-load.patch OBS-URL: https://build.opensuse.org/request/show/1110783 OBS-URL: https://build.opensuse.org/package/show/devel:languages:nodejs/nodejs-electron?expand=0&rev=89
2023-09-13 04:57:45 +00:00
# Not all checkouts have a //base directory.
if (build_with_chromium) {
fuzzer_test("hb_shape_fuzzer") {
Accepting request 1059202 from home:dziobian:gulgul-ultron:19 - Update to 22.0.2 * ABI break: NODE_MODULE_VERSION is now 110. Native modules may need recompiling * Chromium to 108.0.5359.179 * Node v16.17.1 * V8 v10.8 * Added WebContents input-event event. * Deprecated BrowserWindow scroll-touch-* events. * The deprecated new-window event has been removed. * Added contextBridge.exposeInIsolatedWorld(worldId, key, api) to expose an API to an isolatedWorld within a renderer from a preload script. * Added webContents.close() method. * Added new UtilityProcess API to launch chromium child process with node integration. * Added new WebContents event content-bounds-updated. * Added support for navigator.mediaDevices.getDisplayMedia via a new session handler, ses.setDisplayMediaRequestHandler. * Added support for serialPort.forget() as well as a new event serial-port-revoked emitted when a given origin is revoked. - Drop patches applied upstream * argument_spec-missing-isnan-isinf.patch * chromium-103.0.5060.53-python3-do-not-use-deprecated-mode-U.patch * content_language_parser-missing-string.patch * gtk_ui_platform_stub-incomplete-type-LinuxInputMethodContext.patch * node-system-libs.patch * pending_beacon_dispatcher-virtual-functions-cannot-be-constexpr.patch * std_lib_extras-missing-intptr_t.patch * system-abseil-missing-shims.patch - Re-add electron_serial_delegate-ambiguous-Observer.patch due to upstream reintroducing the invalid code - Add patches to fix build errors * chromium-108-abseil-shims.patch * crashpad-elf_image_reader-ProgramHeaderTableSpecific-expected-unqualified-id.patch * document_loader-private-DecodedBodyData.patch * first_party_set_parser-IssueWithMetadata-no-known-conversion.patch * print_dialog_gtk-no-kEnableOopPrintDriversJobPrint.patch * swiftshader-LLVMJIT-AddressSanitizerPass-dead-code-remove.patch - Conditionally reverse upstream changes to fix build with old harfbuzz * harfbuzz-replace-chromium-scoped-type.patch - Switch to bundled libjxl on Fedora 36 due to system version being too old OBS-URL: https://build.opensuse.org/request/show/1059202 OBS-URL: https://build.opensuse.org/package/show/devel:languages:nodejs/nodejs-electron?expand=0&rev=57
2023-01-18 06:07:26 +00:00
diff --git a/third_party/harfbuzz-ng/utils/hb_scoped.h b/third_party/harfbuzz-ng/utils/hb_scoped.h
deleted file mode 100644
index 887f6b90..0000000
--- a/third_party/harfbuzz-ng/utils/hb_scoped.h
+++ /dev/null
@@ -1,60 +0,0 @@
-// Copyright 2020 The Chromium Authors. All rights reserved.
-// Use of this source code is governed by a BSD-style license that can be
-// found in the LICENSE file.
-
-#ifndef THIRD_PARTY_HARFBUZZ_NG_UTILS_HB_SCOPED_H_
-#define THIRD_PARTY_HARFBUZZ_NG_UTILS_HB_SCOPED_H_
-
-// clang-format off
-#include <hb.h>
-#include <hb-subset.h>
-// clang-format on
-
-#include <memory>
-#include <type_traits>
-
-template <typename T>
-struct always_false : std::false_type {};
-
-template <class T>
-struct HbSpecializedDeleter {
- inline void operator()(T* obj) {
- static_assert(always_false<T>::value,
- "HbScoped is only allowed for HarfBuzz types that have a "
- "deleter specialization.");
- }
-};
-
-// Defines a scoped pointer type HbScoped based on std::unique_ptr, using the
-// corresponsing HarfBuzz destructors to commonly used public HarfBuzz types.
-// The interface of HbScoped is the same as that of std::unique_ptr.
-//
-// void MyFunction() {
-// HbScoped<hb_blob_t> scoped_harfbuzz_blob(
-// hb_blob_create(mydata, mylength));
-//
-// DoSomethingWithBlob(scoped_harfbuzz_blob.get());
-// }
-//
-// When |scoped_harfbuzz_buffer| goes out of scope, hb_blob_destroy() is called
-// for the hb_blob_t* created from hb_blob_create().
-template <class T>
-using HbScoped = std::unique_ptr<T, HbSpecializedDeleter<T>>;
-
-#define SPECIALIZED_DELETER_FOR_HARFBUZZ_TYPE(TYPE, DESTRUCTOR) \
- template <> \
- struct HbSpecializedDeleter<TYPE> { \
- inline void operator()(TYPE* obj) { DESTRUCTOR(obj); } \
- };
-
-#define HB_TYPE_DESTRUCTOR_PAIRS_REPEAT(F) \
- F(hb_blob_t, hb_blob_destroy) \
- F(hb_buffer_t, hb_buffer_destroy) \
- F(hb_face_t, hb_face_destroy) \
- F(hb_font_t, hb_font_destroy) \
- F(hb_set_t, hb_set_destroy) \
- F(hb_subset_input_t, hb_subset_input_destroy)
-
-HB_TYPE_DESTRUCTOR_PAIRS_REPEAT(SPECIALIZED_DELETER_FOR_HARFBUZZ_TYPE)
-
-#endif // THIRD_PARTY_HARFBUZZ_NG_UTILS_HB_SCOPED_H_