RESOLVED FIXED 173617
REGRESSION(r218371): Reeder's default font is Times instead of San Francisco
https://bugs.webkit.org/show_bug.cgi?id=173617
Summary REGRESSION(r218371): Reeder's default font is Times instead of San Francisco
Mark Lam
Reported 2017-06-20 13:16:21 PDT
We're hitting an ASSERT_NOT_REACHED() in platformFontWithFamilySpecialCase(): /Volumes/Data/ws2/OpenSource/Source/WebCore/platform/graphics/mac/FontCacheMac.mm(95) : RetainPtr<CTFontRef> WebCore::platformFontWithFamilySpecialCase(const WTF::AtomicString &, WebCore::FontSelectionRequest, float) 1 0x106c30a4d WTFCrash 2 0x10aca2fea WebCore::platformFontWithFamilySpecialCase(WTF::AtomicString const&, WebCore::FontSelectionRequest, float) 3 0x10ac8ff86 WebCore::fontWithFamily(WTF::AtomicString const&, WebCore::FontDescription const&, WebCore::FontTaggedSettings<int> const*, WebCore::FontVariantSettings const*, WebCore::FontSelectionSpecifiedCapabilities, float) 4 0x10ac8f6a3 WebCore::FontCache::createFontPlatformData(WebCore::FontDescription const&, WTF::AtomicString const&, WebCore::FontTaggedSettings<int> const*, WebCore::FontVariantSettings const*, WebCore::FontSelectionSpecifiedCapabilities) 5 0x10ac7aae7 WebCore::FontCache::getCachedFontPlatformData(WebCore::FontDescription const&, WTF::AtomicString const&, WebCore::FontTaggedSettings<int> const*, WebCore::FontVariantSettings const*, WebCore::FontSelectionSpecifiedCapabilities, bool) 6 0x10ac7b7a8 WebCore::FontCache::fontForFamily(WebCore::FontDescription const&, WTF::AtomicString const&, WebCore::FontTaggedSettings<int> const*, WebCore::FontVariantSettings const*, WebCore::FontSelectionSpecifiedCapabilities, bool) 7 0x10a7c17c3 WebCore::CSSFontFaceSource::load(WebCore::CSSFontSelector*) 8 0x10a795f9b WebCore::CSSFontFace::pump(WebCore::ExternalResourceDownloadPolicy) 9 0x10a7973be WebCore::CSSFontFace::font(WebCore::FontDescription const&, bool, bool, WebCore::ExternalResourceDownloadPolicy) 10 0x10a89754f WebCore::CSSFontAccessor::font(WebCore::ExternalResourceDownloadPolicy) const 11 0x10ace73f3 WebCore::FontRanges::Range::font(WebCore::ExternalResourceDownloadPolicy) const 12 0x10ace77ea WebCore::FontRanges::glyphDataForCharacter(int, WebCore::ExternalResourceDownloadPolicy) const 13 0x10acbe6d0 WebCore::FontCascadeFonts::glyphDataForNormalVariant(int, WebCore::FontCascadeDescription const&) 14 0x10acbeabb WebCore::FontCascadeFonts::glyphDataForCharacter(int, WebCore::FontCascadeDescription const&, WebCore::FontVariant) 15 0x10aca7998 WebCore::FontCascade::glyphDataForCharacter(int, bool, WebCore::FontVariant) const 16 0x10d061e76 unsigned int WebCore::WidthIterator::advanceInternal<WebCore::SurrogatePairAwareTextIterator>(WebCore::SurrogatePairAwareTextIterator&, WebCore::GlyphBuffer*) 17 0x10d06017d WebCore::WidthIterator::advance(unsigned int, WebCore::GlyphBuffer*) 18 0x10aca6fc2 WebCore::FontCascade::floatWidthForSimpleText(WebCore::TextRun const&, WTF::HashSet<WebCore::Font const*, WTF::PtrHash<WebCore::Font const*>, WTF::HashTraits<WebCore::Font const*> >*, WebCore::GlyphOverflow*) const 19 0x10aca6ce1 WebCore::FontCascade::width(WebCore::TextRun const&, WTF::HashSet<WebCore::Font const*, WTF::PtrHash<WebCore::Font const*>, WTF::HashTraits<WebCore::Font const*> >*, WebCore::GlyphOverflow*) const 20 0x10c76fae7 WebCore::RenderText::widthFromCache(WebCore::FontCascade const&, unsigned int, unsigned int, float, WTF::HashSet<WebCore::Font const*, WTF::PtrHash<WebCore::Font const*>, WTF::HashTraits<WebCore::Font const*> >*, WebCore::GlyphOverflow*, WebCore::RenderStyle const&) const 21 0x10c77145b WebCore::RenderText::computePreferredLogicalWidths(float, WTF::HashSet<WebCore::Font const*, WTF::PtrHash<WebCore::Font const*>, WTF::HashTraits<WebCore::Font const*> >&, WebCore::GlyphOverflow&) 22 0x10c770884 WebCore::RenderText::computePreferredLogicalWidths(float) 23 0x10c770145 WebCore::RenderText::trimmedPrefWidths(float, float&, bool&, float&, bool&, bool&, bool&, float&, float&, float&, float&, bool&) 24 0x10c48fc70 WebCore::RenderBlockFlow::computeInlinePreferredLogicalWidths(WebCore::LayoutUnit&, WebCore::LayoutUnit&) const 25 0x10c48ebf0 WebCore::RenderBlockFlow::computeIntrinsicLogicalWidths(WebCore::LayoutUnit&, WebCore::LayoutUnit&) const 26 0x10c461524 WebCore::RenderBlock::computePreferredLogicalWidths() 27 0x10c4d9f61 WebCore::RenderBox::minPreferredLogicalWidth() const 28 0x10c4d71dc WebCore::RenderBox::computeLogicalWidthInRegionUsing(WebCore::SizeType, WebCore::Length, WebCore::LayoutUnit, WebCore::RenderBlock const&, WebCore::RenderRegion*) const 29 0x10c4e2463 WebCore::RenderBox::computeLogicalWidthInRegion(WebCore::RenderBox::LogicalExtentComputedValues&, WebCore::RenderRegion*) const 30 0x10c4e1c11 WebCore::RenderBox::updateLogicalWidth() 31 0x10c4530b3 WebCore::RenderBlock::recomputeLogicalWidth()
Attachments
Patch (10.72 KB, patch)
2017-06-30 04:11 PDT, Myles C. Maxfield
no flags
Patch (11.11 KB, patch)
2017-06-30 04:15 PDT, Myles C. Maxfield
no flags
Patch (11.07 KB, patch)
2017-06-30 04:16 PDT, Myles C. Maxfield
simon.fraser: review+
Mark Lam
Comment 1 2017-06-20 13:17:00 PDT
This happens every time I load up facebook.com with a debug build.
Myles C. Maxfield
Comment 2 2017-06-30 03:57:57 PDT
Myles C. Maxfield
Comment 3 2017-06-30 04:11:52 PDT
Myles C. Maxfield
Comment 4 2017-06-30 04:15:26 PDT
Myles C. Maxfield
Comment 5 2017-06-30 04:16:24 PDT
Simon Fraser (smfr)
Comment 6 2017-06-30 08:38:54 PDT
Comment on attachment 314258 [details] Patch View in context: https://bugs.webkit.org/attachment.cgi?id=314258&action=review > Source/WebCore/platform/graphics/mac/FontCacheMac.mm:86 > + // The special cases in this function need to match the behavior in FontDescriptionCocoa.cpp. On systems where > + // USE_PLATFORM_SYSTEM_FALLBACK_LIST is set to true, this code is used when src:local(special-cased-name) is > + // specified inside an @font-face block, and the code in FontDescriptionCocoa.cpp is used for regular (element > + // style) lookups. > + // FIXME: Currently, an @font-face block corresponds to a single item in the font-family: fallback list, which > + // means that "src:local(system-ui)" can't follow the Core Text cascade list (the way it does for regular lookups). > + // These two behaviors should be unified, which would hopefully allow us to delete this duplicate code. Maybe have this comment in just one place, and in the other say "// FIXME: see comment in ..."
Myles C. Maxfield
Comment 7 2017-07-01 16:29:21 PDT
Note You need to log in before you can comment on or make changes to this bug.