Bug 221377
| Summary: | [WPE] Missing hyphenation support | ||
|---|---|---|---|
| Product: | WebKit | Reporter: | Lauro Moura <lmoura> |
| Component: | WPE WebKit | Assignee: | Claudio Saavedra <csaavedra> |
| Status: | RESOLVED FIXED | ||
| Severity: | Normal | CC: | abstractmachines, bugs-noreply, csaavedra |
| Priority: | P2 | ||
| Version: | WebKit Nightly Build | ||
| Hardware: | Unspecified | ||
| OS: | Unspecified | ||
| See Also: | https://bugs.webkit.org/show_bug.cgi?id=305841 | ||
Lauro Moura
fast/text/hyphenation-unknown-locale.html
Crashes in Hyphenation.cpp lastHyphenLocation, ASSERT_NOT_REACHED. (trace below)
GTK enables usage of libhyphen, while WPE does not, falling back to this stub.
Should WPE expose an option to use libhyphen, like GTK?
Skipping in debug mode while this is sorted out.
Top of trace:
Thread 1 (Thread 0x7f85b92e79c0 (LWP 55)):
#0 WTFCrash() () at ../../Source/WTF/wtf/Assertions.cpp:295
#1 0x00007f85cd6f3e5f in CRASH_WITH_INFO(...) () at DerivedSources/ForwardingHeaders/wtf/Assertions.h:713
#2 0x00007f85d17dcd49 in WebCore::lastHyphenLocation(WTF::StringView, unsigned long, WTF::AtomString const&) () at ../../Source/WebCore/platform/text/Hyphenation.cpp:43
#3 0x00007f85d1ad0283 in WebCore::maxWordFragmentWidth(WebCore::RenderText&, WebCore::RenderStyle const&, WebCore::FontCascade const&, WTF::StringView, unsigned int, unsigned int, unsigned int&, WTF::Ha
shSet<WebCore::Font const*, WTF::DefaultHash<WebCore::Font const*>, WTF::HashTraits<WebCore::Font const*> >&, WebCore::GlyphOverflow&) (renderer=..., style=..., font=..., word=..., minimumPrefixLength=0,
minimumSuffixLength=0, suffixStart=@0x7ffdc1c7e9e0: 0, fallbackFonts=..., glyphOverflow=...) at ../../Source/WebCore/rendering/RenderText.cpp:932
#4 0x00007f85d1ad1153 in WebCore::RenderText::computePreferredLogicalWidths(float, WTF::HashSet<WebCore::Font const*, WTF::DefaultHash<WebCore::Font const*>, WTF::HashTraits<WebCore::Font const*> >&, We
bCore::GlyphOverflow&) (this=0x7f8572f1cdf0, leadWidth=0, fallbackFonts=..., glyphOverflow=...) at ../../Source/WebCore/rendering/RenderText.cpp:1102
#5 0x00007f85d1ad3028 in WebCore::RenderText::width(unsigned int, unsigned int, WebCore::FontCascade const&, float, WTF::HashSet<WebCore::Font const*, WTF::DefaultHash<WebCore::Font const*>, WTF::HashTraits<WebCore::Font const*> >*, WebCore::GlyphOverflow*) const (this=0x7f8572f1cdf0, from=0, len=1, f=..., xPos=0, fallbackFonts=0x7ffdc1c7f258, glyphOverflow=0x7ffdc1c7ebf0) at ../../Source/WebCore/rendering/RenderText.cpp:1541
#6 0x00007f85d1b4f89f in WebCore::textWidth(WebCore::RenderText&, unsigned int, unsigned int, WebCore::FontCascade const&, float, bool, bool, WTF::HashSet<WebCore::Font const*, WTF::DefaultHash<WebCore::Font const*>, WTF::HashTraits<WebCore::Font const*> >&, WebCore::TextLayout*) (text=..., from=0, len=1, font=..., xPos=0, isFixedPitch=false, collapseWhiteSpace=true, fallbackFonts=..., layout=0x0) at ../../Source/WebCore/rendering/line/BreakingContext.h:559
#7 0x00007f85d1b5303f in WebCore::BreakingContext::handleText(WTF::Vector<WebCore::WordMeasurement, 64ul, WTF::CrashOnOverflow, 16ul, WTF::FastMalloc>&, bool&, unsigned int&) (this=0x7ffdc1c7eea0, wordMeasurements=..., hyphenated=@0x7ffdc1c7f108: false, consecutiveHyphenatedLines=@0x7ffdc1c7f000: 0) at ../../Source/WebCore/rendering/line/BreakingContext.h:1049
#8 0x00007f85d1b4590b in WebCore::LineBreaker::nextLineBreak(WebCore::BidiResolverWithIsolate<WebCore::InlineIterator, WebCore::BidiRun, WebCore::BidiIsolatedRun>&, WebCore::LineInfo&, WebCore::RenderTextInfo&, WebCore::FloatingObject*, unsigned int, WTF::Vector<WebCore::WordMeasurement, 64ul, WTF::CrashOnOverflow, 16ul, WTF::FastMalloc>&) (this=0x7ffdc1c7f100, resolver=..., lineInfo=..., renderTextInfo=..., lastFloatFromPreviousLine=0x0, consecutiveHyphenatedLines=0, wordMeasurements=...) at ../../Source/WebCore/rendering/line/LineBreaker.cpp:110
#9 0x00007f85d181922f in WebCore::ComplexLineLayout::layoutRunsAndFloatsInRange(WebCore::LineLayoutState&, WebCore::BidiResolverWithIsolate<WebCore::InlineIterator, WebCore::BidiRun, WebCore::BidiIsolatedRun>&, WebCore::InlineIterator const&, WebCore::BidiStatus const&, unsigned int) (this=0x7f8518470108, layoutState=..., resolver=..., cleanLineStart=..., cleanLineBidiStatus=..., consecutiveHyphenatedLines=0) at ../../Source/WebCore/rendering/ComplexLineLayout.cpp:1416
#10 0x00007f85d1818e5d in WebCore::ComplexLineLayout::layoutRunsAndFloats(WebCore::LineLayoutState&, bool) (this=0x7f8518470108, layoutState=..., hasInlineChild=true) at ../../Source/WebCore/rendering/ComplexLineLayout.cpp:1369
#11 0x00007f85d181b47d in WebCore::ComplexLineLayout::layoutLineBoxes(bool, WebCore::LayoutUnit&, WebCore::LayoutUnit&) (this=0x7f8518470108, relayoutChildren=false, repaintLogicalTop=..., repaintLogicalBottom=...) at ../../Source/WebCore/rendering/ComplexLineLayout.cpp:1776
#12 0x00007f85d18c2d0c in WebCore::RenderBlockFlow::layoutInlineChildren(bool, WebCore::LayoutUnit&, WebCore::LayoutUnit&) (this=0x7f85b8a6d7a0, relayoutChildren=false, repaintLogicalTop=..., repaintLogicalBottom=...) at ../../Source/WebCore/rendering/RenderBlockFlow.cpp:704
#13 0x00007f85d18c2035 in WebCore::RenderBlockFlow::layoutBlock(bool, WebCore::LayoutUnit) (this=0x7f85b8a6d7a0, relayoutChildren=false, pageLogicalHeight=...) at ../../Source/WebCore/rendering/RenderBlockFlow.cpp:523
| Attachments | ||
|---|---|---|
| Add attachment proposed patch, testcase, etc. |
Claudio Saavedra
I am going to reuse this bug since the patch I have to add support for libhyphen makes this test pass.
Claudio Saavedra
*** Bug 258166 has been marked as a duplicate of this bug. ***
Claudio Saavedra
Pull request: https://github.com/WebKit/WebKit/pull/56638
EWS
Committed 305816@main (fc62d6a59485): <https://commits.webkit.org/305816@main>
Reviewed commits have been landed. Closing PR #56638 and removing active labels.