forked from pool/nodejs-electron
- New upstream release 30.2.0 * Node 20.15.0 * Enabled the Windows Control Overlay API on Linux. * Expose systemPreferences to utilityProcess. * Fixed a focus issue when calling BrowserWindow.setTopBrowserView. * Fixed an issue where fetch-dependent interfaces could be missing in Web Workers with nodeIntegrationInWorker enabled. * Fixed an issue where control could fail to return properly after saving a dialog using showOpenDialogSync on Linux. * Fixes an issue where the user-specified default path did not work in some circumstances when using Linux dialogs. * Fixes potentially incorrect exit code in UtilityProcess. * (Leap 15.5) Fix heap buffer overflow in libaom (CVE-2024-5493 bsc#1225690) * Security fixes for V8: CVE-2024-6100, CVE-2024-6101 (bsc#1226504) * Fix use after free in Swiftshader (CVE-2024-6291 bsc#1226933) - Update to 30.1.2 XXXFIXMEXXX * ABI break: NODE_MODULE_VERSION is now 123 * Chromium 124.0.6367.243 * Node 20.14.0 * V8 12.4 * Added WebContentsView and BaseWindow, replacing the now-deprecated BrowserView APIs. * cross-origin iframes now use Permission Policy to access features * Removed: The --disable-color-correct-rendering switch * The inputFieldType property in the context-menu params has been removed * Removed: process.getIOCounters() * see https://www.electronjs.org/blog/electron-30-0 and https://github.com/electron/electron/releases/tag/v30.0.0 for more - Fedora: use bundled simdutf as the system version is too old - Drop no longer needed patches * chromium-122-avoid-SFINAE-TypeConverter.patch * chromium-122-BookmarkNode-missing-operator.patch * chromium-98-EnumTable-crash.patch * chromium-gcc11.patch * CVE-2024-30260-undici-clear-proxy-authorization.patch * CVE-2024-30261-undici-fetch-integrity.patch * ElectronDesktopWindowTreeHostLinux-OnWindowTiledStateChanged-crash.patch * grid_sizing_tree-Wchanges-meaning.patch * hit_test_request-missing-optional.patch * InternalAllocator-too-many-initializers.patch * material_color_utilities-tones-missing-round.patch * nested-nested-nested-nested-nested-nested-regex-patterns.patch * perfetto-numeric_storage-double_t.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 * text_break_iterator-icu74-breakAllLineBreakClassTable-should-be-consistent.patch * v8-instance-type-inl-constexpr-used-before-its-definition.patch - Drop no longer needed -Wno-error=narrowing from CXXFLAGS - Add patches to fix build * chromium-124-shims.patch * enable_stack_trace_line_numbers-symbol_level.patch * angle-FramebufferVk-powf.patch * licenses.py-FileNotFoundError.patch * span_reader-missing-optional.patch * bitset-missing-uint8_t-memcpy.patch * temporal_scalability_id_extractor-missing-bitset.patch * gpu_adapter_info-missing-optional.patch * first_party_sets_handler_database_helper-missing-optional.patch * async_iterable-forwarding.patch * preview_cancel_reason-missing-string.patch * script_streamer-atomic-include.patch - Add -Wno-packed-not-aligned -Wno-address to CXXFLAGS to suppress build logspam - Add libaom_av1_encoder-aom37-AV1E_SET_MAX_CONSEC_FRAME_DROP_CBR.patch to build with old libaom - Add backported DesktopNativeWidgetAura-HandleActivationChanged-crash.patch - Revert upstream changes which introduce a use-after-free bug causing crashes (bsc#1224178 deb#1067886) * bad-font-gc0000.patch * bad-font-gc000.patch * bad-font-gc00.patch * bad-font-gc0.patch * bad-font-gc11.patch * bad-font-gc1.patch * bad-font-gc2.patch * bad-font-gc3.patch OBS-URL: https://build.opensuse.org/request/show/1187058 OBS-URL: https://build.opensuse.org/package/show/devel:languages:nodejs/nodejs-electron?expand=0&rev=159
426 lines
18 KiB
Diff
426 lines
18 KiB
Diff
Revert the following commit:
|
|
|
|
|
|
commit cc6c0b2a9e1dbc96f3ebed713dc71960a29dc4f1
|
|
Author: Ian Kilpatrick <ikilpatrick@chromium.org>
|
|
Date: Tue Mar 5 20:27:13 2024 +0000
|
|
|
|
Reland "[gc] Make FontFamily immutable."
|
|
|
|
This reverts commit 748ed11510ec5bb09cc8b92f67f1f62964f023fa.
|
|
|
|
Reason for revert: Previous patch which caused MSAN issue was reapplied.
|
|
|
|
Original change's description:
|
|
> Revert "[gc] Make FontFamily immutable."
|
|
>
|
|
> This reverts commit ca3d3085d8b01fc74623d639c615fc57842cd26d.
|
|
>
|
|
> Reason for revert: crrev.com/c/5328767 is the reason for failure on some tests on MSAN. Please see crbug.com/327969288 for more details.
|
|
>
|
|
> Original change's description:
|
|
> > [gc] Make FontFamily immutable.
|
|
> >
|
|
> > Previously we'd build up font-family lists front to back, but would
|
|
> > need to mutate them to do so. Instead just build them backwards.
|
|
> >
|
|
> > This removes a bunch of problematic APIs (like AppendFamily - which
|
|
> > doesn't append), and simplifies the code.
|
|
> >
|
|
> > This will help avoid atomic write barriers once converted to oilpan.
|
|
> >
|
|
> > Bug: 41490008
|
|
> > Change-Id: Icfcec2d0a1716585cf42985616c02b42b6647943
|
|
> > Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/5322929
|
|
> > Commit-Queue: Ian Kilpatrick <ikilpatrick@chromium.org>
|
|
> > Reviewed-by: Dominik Röttsches <drott@chromium.org>
|
|
> > Cr-Commit-Position: refs/heads/main@{#1267168}
|
|
>
|
|
> Bug: 41490008, 327969288
|
|
> Change-Id: Ic69a5707d00cc98b97dcae3f4b8207b452ce5cbd
|
|
> Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/5333950
|
|
> Bot-Commit: Rubber Stamper <rubber-stamper@appspot.gserviceaccount.com>
|
|
> Commit-Queue: Taiyo Mizuhashi <taiyo@chromium.org>
|
|
> Owners-Override: Taiyo Mizuhashi <taiyo@chromium.org>
|
|
> Cr-Commit-Position: refs/heads/main@{#1267674}
|
|
|
|
Bug: 41490008, 327969288
|
|
Change-Id: If1d395e324b0be15488ef5410e9bcdb219bb19c6
|
|
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/5344844
|
|
Commit-Queue: Ian Kilpatrick <ikilpatrick@chromium.org>
|
|
Bot-Commit: Rubber Stamper <rubber-stamper@appspot.gserviceaccount.com>
|
|
Cr-Commit-Position: refs/heads/main@{#1268654}
|
|
|
|
--- a/third_party/blink/renderer/core/css/css_font_face.cc
|
|
+++ b/third_party/blink/renderer/core/css/css_font_face.cc
|
|
@@ -216,8 +216,9 @@ bool CSSFontFace::MaybeLoadFont(const Fo
|
|
|
|
void CSSFontFace::Load() {
|
|
FontDescription font_description;
|
|
- font_description.SetFamily(
|
|
- FontFamily(font_face_->family(), FontFamily::Type::kFamilyName));
|
|
+ FontFamily font_family;
|
|
+ font_family.SetFamily(font_face_->family(), FontFamily::Type::kFamilyName);
|
|
+ font_description.SetFamily(font_family);
|
|
Load(font_description);
|
|
}
|
|
|
|
--- a/third_party/blink/renderer/core/css/font_face_set_document.cc
|
|
+++ b/third_party/blink/renderer/core/css/font_face_set_document.cc
|
|
@@ -195,10 +195,13 @@ bool FontFaceSetDocument::ResolveFontSty
|
|
ComputedStyleBuilder builder =
|
|
GetDocument()->GetStyleResolver().CreateComputedStyleBuilder();
|
|
|
|
- FontDescription default_font_description;
|
|
- default_font_description.SetFamily(FontFamily(
|
|
+ FontFamily font_family;
|
|
+ font_family.SetFamily(
|
|
FontFaceSet::DefaultFontFamily(),
|
|
- FontFamily::InferredTypeFor(FontFaceSet::DefaultFontFamily())));
|
|
+ FontFamily::InferredTypeFor(FontFaceSet::DefaultFontFamily()));
|
|
+
|
|
+ FontDescription default_font_description;
|
|
+ default_font_description.SetFamily(font_family);
|
|
default_font_description.SetSpecifiedSize(FontFaceSet::kDefaultFontSize);
|
|
default_font_description.SetComputedSize(FontFaceSet::kDefaultFontSize);
|
|
|
|
--- a/third_party/blink/renderer/core/css/font_face_set_worker.cc
|
|
+++ b/third_party/blink/renderer/core/css/font_face_set_worker.cc
|
|
@@ -84,10 +84,13 @@ bool FontFaceSetWorker::ResolveFontStyle
|
|
return false;
|
|
}
|
|
|
|
- FontDescription default_font_description;
|
|
- default_font_description.SetFamily(FontFamily(
|
|
+ FontFamily font_family;
|
|
+ font_family.SetFamily(
|
|
FontFaceSet::DefaultFontFamily(),
|
|
- FontFamily::InferredTypeFor(FontFaceSet::DefaultFontFamily())));
|
|
+ FontFamily::InferredTypeFor(FontFaceSet::DefaultFontFamily()));
|
|
+
|
|
+ FontDescription default_font_description;
|
|
+ default_font_description.SetFamily(font_family);
|
|
default_font_description.SetSpecifiedSize(FontFaceSet::kDefaultFontSize);
|
|
default_font_description.SetComputedSize(FontFaceSet::kDefaultFontSize);
|
|
|
|
--- a/third_party/blink/renderer/core/css/resolver/font_builder.cc
|
|
+++ b/third_party/blink/renderer/core/css/resolver/font_builder.cc
|
|
@@ -54,9 +54,11 @@ void FontBuilder::DidChangeWritingMode()
|
|
}
|
|
|
|
FontFamily FontBuilder::StandardFontFamily() const {
|
|
+ FontFamily family;
|
|
const AtomicString& standard_font_family = StandardFontFamilyName();
|
|
- return FontFamily(standard_font_family,
|
|
- FontFamily::InferredTypeFor(standard_font_family));
|
|
+ family.SetFamily(standard_font_family,
|
|
+ FontFamily::InferredTypeFor(standard_font_family));
|
|
+ return family;
|
|
}
|
|
|
|
AtomicString FontBuilder::StandardFontFamilyName() const {
|
|
--- a/third_party/blink/renderer/core/css/resolver/style_builder_converter.cc
|
|
+++ b/third_party/blink/renderer/core/css/resolver/style_builder_converter.cc
|
|
@@ -379,8 +379,8 @@ FontDescription::FamilyDescription Style
|
|
|
|
if (const auto* system_font =
|
|
DynamicTo<cssvalue::CSSPendingSystemFontValue>(value)) {
|
|
- desc.family = FontFamily(system_font->ResolveFontFamily(),
|
|
- FontFamily::Type::kFamilyName);
|
|
+ desc.family.SetFamily(system_font->ResolveFontFamily(),
|
|
+ FontFamily::Type::kFamilyName);
|
|
return desc;
|
|
}
|
|
|
|
@@ -410,8 +410,10 @@ FontDescription::FamilyDescription Style
|
|
// Take the previous value and wrap it in a `SharedFontFamily` adding to
|
|
// the linked list.
|
|
if (has_value) {
|
|
- next =
|
|
- SharedFontFamily::Create(family_name, family_type, std::move(next));
|
|
+ scoped_refptr<SharedFontFamily> shared = SharedFontFamily::Create();
|
|
+ shared->SetFamily(family_name, family_type);
|
|
+ shared->AppendFamily(next);
|
|
+ next = shared;
|
|
}
|
|
family_name = next_family_name;
|
|
family_type = is_generic ? FontFamily::Type::kGenericFamily
|
|
@@ -442,7 +444,8 @@ FontDescription::FamilyDescription Style
|
|
}
|
|
#endif
|
|
|
|
- desc.family = FontFamily(family_name, family_type, std::move(next));
|
|
+ desc.family.SetFamily(family_name, family_type);
|
|
+ desc.family.AppendFamily(next);
|
|
return desc;
|
|
}
|
|
|
|
--- a/third_party/blink/renderer/core/html/canvas/canvas_font_cache.cc
|
|
+++ b/third_party/blink/renderer/core/html/canvas/canvas_font_cache.cc
|
|
@@ -29,9 +29,11 @@ const int defaultFontSize = 10;
|
|
|
|
const ComputedStyle* CreateDefaultFontStyle(const Document& document) {
|
|
const AtomicString& default_font_family = font_family_names::kSansSerif;
|
|
+ FontFamily font_family;
|
|
+ font_family.SetFamily(default_font_family,
|
|
+ FontFamily::InferredTypeFor(default_font_family));
|
|
FontDescription default_font_description;
|
|
- default_font_description.SetFamily(FontFamily(
|
|
- default_font_family, FontFamily::InferredTypeFor(default_font_family)));
|
|
+ default_font_description.SetFamily(font_family);
|
|
default_font_description.SetSpecifiedSize(defaultFontSize);
|
|
default_font_description.SetComputedSize(defaultFontSize);
|
|
ComputedStyleBuilder builder =
|
|
--- a/third_party/blink/renderer/core/page/drag_image.cc
|
|
+++ b/third_party/blink/renderer/core/page/drag_image.cc
|
|
@@ -127,9 +127,11 @@ static Font DeriveDragLabelFont(int size
|
|
const AtomicString& family =
|
|
LayoutThemeFontProvider::SystemFontFamily(CSSValueID::kNone);
|
|
|
|
+ FontFamily font_family;
|
|
+ font_family.SetFamily(family, FontFamily::InferredTypeFor(family));
|
|
+
|
|
FontDescription description;
|
|
- description.SetFamily(
|
|
- FontFamily(family, FontFamily::InferredTypeFor(family)));
|
|
+ description.SetFamily(font_family);
|
|
description.SetWeight(font_weight);
|
|
description.SetSpecifiedSize(size);
|
|
description.SetComputedSize(size);
|
|
--- a/third_party/blink/renderer/core/paint/embedded_object_painter.cc
|
|
+++ b/third_party/blink/renderer/core/paint/embedded_object_painter.cc
|
|
@@ -32,9 +32,11 @@ static Font ReplacementTextFont(const Do
|
|
const float size = LayoutThemeFontProvider::SystemFontSize(
|
|
CSSValueID::kWebkitSmallControl, document);
|
|
|
|
+ FontFamily font_family;
|
|
+ font_family.SetFamily(family, FontFamily::InferredTypeFor(family));
|
|
+
|
|
FontDescription font_description;
|
|
- font_description.SetFamily(
|
|
- FontFamily(family, FontFamily::InferredTypeFor(family)));
|
|
+ font_description.SetFamily(font_family);
|
|
font_description.SetWeight(kBoldWeightValue);
|
|
font_description.SetSpecifiedSize(size);
|
|
font_description.SetComputedSize(size);
|
|
--- a/third_party/blink/renderer/platform/exported/web_font_description.cc
|
|
+++ b/third_party/blink/renderer/platform/exported/web_font_description.cc
|
|
@@ -49,10 +49,13 @@ WebFontDescription::WebFontDescription(c
|
|
}
|
|
|
|
WebFontDescription::operator FontDescription() const {
|
|
+ FontFamily font_family;
|
|
+ font_family.SetFamily(family, family_is_generic
|
|
+ ? FontFamily::Type::kGenericFamily
|
|
+ : FontFamily::Type::kFamilyName);
|
|
+
|
|
FontDescription desc;
|
|
- desc.SetFamily(FontFamily(family, family_is_generic
|
|
- ? FontFamily::Type::kGenericFamily
|
|
- : FontFamily::Type::kFamilyName));
|
|
+ desc.SetFamily(font_family);
|
|
desc.SetGenericFamily(
|
|
static_cast<FontDescription::GenericFamilyType>(generic_family));
|
|
desc.SetSpecifiedSize(size);
|
|
--- a/third_party/blink/renderer/platform/fonts/font_description.h
|
|
+++ b/third_party/blink/renderer/platform/fonts/font_description.h
|
|
@@ -195,6 +195,7 @@ class PLATFORM_EXPORT FontDescription {
|
|
FamilyDescription GetFamilyDescription() const {
|
|
return FamilyDescription(GenericFamily(), Family());
|
|
}
|
|
+ FontFamily& FirstFamily() { return family_list_; }
|
|
const FontFamily& FirstFamily() const { return family_list_; }
|
|
Size GetSize() const {
|
|
return Size(KeywordSize(), SpecifiedSize(), IsAbsoluteSize());
|
|
@@ -450,6 +451,10 @@ class PLATFORM_EXPORT FontDescription {
|
|
return fields_.subpixel_ascent_descent_;
|
|
}
|
|
|
|
+ void SetHashCategory(HashCategory category) {
|
|
+ fields_.hash_category_ = category;
|
|
+ }
|
|
+
|
|
HashCategory GetHashCategory() const {
|
|
return static_cast<HashCategory>(fields_.hash_category_);
|
|
}
|
|
--- a/third_party/blink/renderer/platform/fonts/font_fallback_list.cc
|
|
+++ b/third_party/blink/renderer/platform/fonts/font_fallback_list.cc
|
|
@@ -178,8 +178,9 @@ const FontData* FontFallbackList::GetFon
|
|
|
|
if (font_selector_) {
|
|
// Try the user's preferred standard font.
|
|
- FontFamily font_family(font_family_names::kWebkitStandard,
|
|
- FontFamily::Type::kGenericFamily);
|
|
+ FontFamily font_family;
|
|
+ font_family.SetFamily(font_family_names::kWebkitStandard,
|
|
+ FontFamily::Type::kGenericFamily);
|
|
if (const FontData* data =
|
|
font_selector_->GetFontData(font_description, font_family)) {
|
|
return data;
|
|
--- a/third_party/blink/renderer/platform/fonts/font_family.cc
|
|
+++ b/third_party/blink/renderer/platform/fonts/font_family.cc
|
|
@@ -49,6 +49,20 @@ bool operator==(const FontFamily& a, con
|
|
return true;
|
|
}
|
|
|
|
+wtf_size_t FontFamily::CountNames() const {
|
|
+ wtf_size_t count = 0;
|
|
+ for (const FontFamily* font_family = this; font_family;
|
|
+ font_family = font_family->Next())
|
|
+ ++count;
|
|
+ return count;
|
|
+}
|
|
+
|
|
+void FontFamily::AppendFamily(AtomicString family_name, Type family_type) {
|
|
+ scoped_refptr<SharedFontFamily> appended_family = SharedFontFamily::Create();
|
|
+ appended_family->SetFamily(family_name, family_type);
|
|
+ AppendFamily(appended_family);
|
|
+}
|
|
+
|
|
String FontFamily::ToString() const {
|
|
StringBuilder builder;
|
|
builder.Append(family_name_);
|
|
--- a/third_party/blink/renderer/platform/fonts/font_family.h
|
|
+++ b/third_party/blink/renderer/platform/fonts/font_family.h
|
|
@@ -39,18 +39,16 @@ class PLATFORM_EXPORT FontFamily {
|
|
DISALLOW_NEW();
|
|
|
|
public:
|
|
- // https://drafts.csswg.org/css-fonts/#font-family-prop
|
|
- enum class Type : uint8_t { kFamilyName, kGenericFamily };
|
|
-
|
|
- FontFamily(const AtomicString& family_name,
|
|
- Type family_type,
|
|
- scoped_refptr<SharedFontFamily> next = nullptr)
|
|
- : family_name_(family_name),
|
|
- next_(std::move(next)),
|
|
- family_type_(family_type) {}
|
|
FontFamily() = default;
|
|
~FontFamily();
|
|
|
|
+ // https://drafts.csswg.org/css-fonts/#font-family-prop
|
|
+ enum class Type : uint8_t { kFamilyName, kGenericFamily };
|
|
+
|
|
+ void SetFamily(const AtomicString& family_name, Type family_type) {
|
|
+ family_name_ = family_name;
|
|
+ family_type_ = family_type;
|
|
+ }
|
|
// Return this font family's name. Note that it is never quoted nor escaped.
|
|
// For web-exposed serialization, please rely instead on the functions
|
|
// ComputedStyleUtils::ValueForFontFamily(const FontFamily&) and
|
|
@@ -59,8 +57,13 @@ class PLATFORM_EXPORT FontFamily {
|
|
const AtomicString& FamilyName() const { return family_name_; }
|
|
bool FamilyIsGeneric() const { return family_type_ == Type::kGenericFamily; }
|
|
|
|
+ // Returns number of linked `FontFamily` including `this`, so return value is
|
|
+ // greater than or equal to 1. When `Next()` is `nullptr`, return value is 1.
|
|
+ wtf_size_t CountNames() const;
|
|
const FontFamily* Next() const;
|
|
|
|
+ void AppendFamily(scoped_refptr<SharedFontFamily>);
|
|
+ void AppendFamily(AtomicString family_name, Type family_type);
|
|
scoped_refptr<SharedFontFamily> ReleaseNext();
|
|
|
|
bool IsPrewarmed() const { return is_prewarmed_; }
|
|
@@ -93,19 +96,12 @@ class PLATFORM_EXPORT SharedFontFamily :
|
|
SharedFontFamily(const SharedFontFamily&) = delete;
|
|
SharedFontFamily& operator=(const SharedFontFamily&) = delete;
|
|
|
|
- static scoped_refptr<SharedFontFamily> Create(
|
|
- const AtomicString& family_name,
|
|
- Type family_type,
|
|
- scoped_refptr<SharedFontFamily> next = nullptr) {
|
|
- return base::AdoptRef(
|
|
- new SharedFontFamily(family_name, family_type, std::move(next)));
|
|
+ static scoped_refptr<SharedFontFamily> Create() {
|
|
+ return base::AdoptRef(new SharedFontFamily);
|
|
}
|
|
|
|
private:
|
|
- SharedFontFamily(const AtomicString& family_name,
|
|
- Type family_type,
|
|
- scoped_refptr<SharedFontFamily> next)
|
|
- : FontFamily(family_name, family_type, std::move(next)) {}
|
|
+ SharedFontFamily() = default;
|
|
};
|
|
|
|
PLATFORM_EXPORT bool operator==(const FontFamily&, const FontFamily&);
|
|
@@ -125,6 +121,10 @@ inline const FontFamily* FontFamily::Nex
|
|
return next_.get();
|
|
}
|
|
|
|
+inline void FontFamily::AppendFamily(scoped_refptr<SharedFontFamily> family) {
|
|
+ next_ = std::move(family);
|
|
+}
|
|
+
|
|
inline scoped_refptr<SharedFontFamily> FontFamily::ReleaseNext() {
|
|
return std::move(next_);
|
|
}
|
|
--- a/third_party/blink/renderer/platform/graphics/placeholder_image.cc
|
|
+++ b/third_party/blink/renderer/platform/graphics/placeholder_image.cc
|
|
@@ -85,18 +85,23 @@ void DrawCenteredIcon(cc::PaintCanvas* c
|
|
}
|
|
|
|
FontDescription CreatePlaceholderFontDescription(float scale_factor) {
|
|
- scoped_refptr<SharedFontFamily> arial = SharedFontFamily::Create(
|
|
- font_family_names::kArial, FontFamily::Type::kFamilyName);
|
|
- scoped_refptr<SharedFontFamily> helvetica = SharedFontFamily::Create(
|
|
- font_family_names::kHelvetica, FontFamily::Type::kFamilyName, arial);
|
|
- scoped_refptr<SharedFontFamily> helvetica_neue =
|
|
- SharedFontFamily::Create(font_family_names::kHelveticaNeue,
|
|
- FontFamily::Type::kFamilyName, helvetica);
|
|
- FontFamily roboto(font_family_names::kRoboto, FontFamily::Type::kFamilyName,
|
|
- helvetica_neue);
|
|
-
|
|
FontDescription description;
|
|
- description.SetFamily(roboto);
|
|
+ description.FirstFamily().SetFamily(font_family_names::kRoboto,
|
|
+ FontFamily::Type::kFamilyName);
|
|
+
|
|
+ scoped_refptr<SharedFontFamily> helvetica_neue = SharedFontFamily::Create();
|
|
+ helvetica_neue->SetFamily(font_family_names::kHelveticaNeue,
|
|
+ FontFamily::Type::kFamilyName);
|
|
+ scoped_refptr<SharedFontFamily> helvetica = SharedFontFamily::Create();
|
|
+ helvetica->SetFamily(font_family_names::kHelvetica,
|
|
+ FontFamily::Type::kFamilyName);
|
|
+ scoped_refptr<SharedFontFamily> arial = SharedFontFamily::Create();
|
|
+ arial->SetFamily(font_family_names::kArial, FontFamily::Type::kFamilyName);
|
|
+
|
|
+ helvetica->AppendFamily(std::move(arial));
|
|
+ helvetica_neue->AppendFamily(std::move(helvetica));
|
|
+ description.FirstFamily().AppendFamily(std::move(helvetica_neue));
|
|
+
|
|
description.SetGenericFamily(FontDescription::kSansSerifFamily);
|
|
description.SetComputedSize(scale_factor * kFontSize);
|
|
description.SetWeight(FontSelectionValue(500));
|
|
--- a/third_party/blink/renderer/platform/testing/font_test_helpers.cc
|
|
+++ b/third_party/blink/renderer/platform/testing/font_test_helpers.cc
|
|
@@ -127,9 +127,11 @@ Font CreateTestFont(const AtomicString&
|
|
size_t data_size,
|
|
float size,
|
|
const FontDescription::VariantLigatures* ligatures) {
|
|
+ FontFamily family;
|
|
+ family.SetFamily(family_name, FontFamily::Type::kFamilyName);
|
|
+
|
|
FontDescription font_description;
|
|
- font_description.SetFamily(
|
|
- FontFamily(family_name, FontFamily::Type::kFamilyName));
|
|
+ font_description.SetFamily(family);
|
|
font_description.SetSpecifiedSize(size);
|
|
font_description.SetComputedSize(size);
|
|
if (ligatures)
|
|
@@ -143,9 +145,11 @@ Font CreateTestFont(const AtomicString&
|
|
float size,
|
|
const FontDescription::VariantLigatures* ligatures,
|
|
void (*init_font_description)(FontDescription*)) {
|
|
+ FontFamily family;
|
|
+ family.SetFamily(family_name, FontFamily::Type::kFamilyName);
|
|
+
|
|
FontDescription font_description;
|
|
- font_description.SetFamily(
|
|
- FontFamily(family_name, FontFamily::Type::kFamilyName));
|
|
+ font_description.SetFamily(family);
|
|
font_description.SetSpecifiedSize(size);
|
|
font_description.SetComputedSize(size);
|
|
if (ligatures)
|