Currently DisplayListRecorder has the following implementation: void drawLineForText(const FloatRect&, bool, bool, StrokeStyle) final { ASSERT_NOT_REACHED(); } This assertion fires when GPUProcess for DOM rendering is enabled: SHOULD NEVER BE REACHED /Volumes/Data/WebKit/OpenSource/WebKitBuild/Debug-iphonesimulator/WebCore.framework/PrivateHeaders/DisplayListRecorder.h(197) : virtual void WebCore::DisplayList::Recorder::drawLineForText(const WebCore::FloatRect &, bool, bool, WebCore::StrokeStyle) 1 0x769b62539 WTFCrash 2 0x74d5028ab WTFCrashWithInfo(int, char const*, char const*, int) 3 0x74f4ebe96 WebCore::DisplayList::Recorder::drawLineForText(WebCore::FloatRect const&, bool, bool, WebCore::StrokeStyle) 4 0x792665824 WebCore::TextDecorationPainter::paintLineThrough(WebCore::Color const&, float, WebCore::FloatPoint const&) 5 0x792664161 WebCore::TextDecorationPainter::paintForegroundDecorations(WebCore::FloatPoint const&) 6 0x79266289f WebCore::TextBoxPainter::paintForegroundDecorations(WebCore::TextDecorationPainter&, WebCore::FloatRect const&) 7 0x792661534 WebCore::TextBoxPainter::paintForegroundAndDecorations() 8 0x79266073f WebCore::TextBoxPainter::paint() 9 0x7917c3c85 WebCore::LayoutIntegration::LineLayout::paint(WebCore::PaintInfo&, WebCore::LayoutPoint const&) 10 0x792416094 WebCore::RenderBlockFlow::paintInlineChildren(WebCore::PaintInfo&, WebCore::LayoutPoint const&) 11 0x7923ed792 WebCore::RenderBlock::paintContents(WebCore::PaintInfo&, WebCore::LayoutPoint const&) 12 0x7923eeea2 WebCore::RenderBlock::paintObject(WebCore::PaintInfo&, WebCore::LayoutPoint const&) 13 0x7923ed0a3 WebCore::RenderBlock::paint(WebCore::PaintInfo&, WebCore::LayoutPoint const&) 14 0x7923edd14 WebCore::RenderBlock::paintChild(WebCore::RenderBox&, WebCore::PaintInfo&, WebCore::LayoutPoint const&, WebCore::PaintInfo&, bool, WebCore::RenderBlock::PaintBlockType) 15 0x7923ed950 WebCore::RenderBlock::paintChildren(WebCore::PaintInfo&, WebCore::LayoutPoint const&, WebCore::PaintInfo&, bool) 16 0x7923ed8b1 WebCore::RenderBlock::paintContents(WebCore::PaintInfo&, WebCore::LayoutPoint const&) 17 0x7923eeea2 WebCore::RenderBlock::paintObject(WebCore::PaintInfo&, WebCore::LayoutPoint const&) 18 0x7923ed0a3 WebCore::RenderBlock::paint(WebCore::PaintInfo&, WebCore::LayoutPoint const&) 19 0x7923edd14 WebCore::RenderBlock::paintChild(WebCore::RenderBox&, WebCore::PaintInfo&, WebCore::LayoutPoint const&, WebCore::PaintInfo&, bool, WebCore::RenderBlock::PaintBlockType) 20 0x7923ed950 WebCore::RenderBlock::paintChildren(WebCore::PaintInfo&, WebCore::LayoutPoint const&, WebCore::PaintInfo&, bool) 21 0x7923ed8b1 WebCore::RenderBlock::paintContents(WebCore::PaintInfo&, WebCore::LayoutPoint const&) 22 0x7923eeea2 WebCore::RenderBlock::paintObject(WebCore::PaintInfo&, WebCore::LayoutPoint const&) 23 0x7923ed0a3 WebCore::RenderBlock::paint(WebCore::PaintInfo&, WebCore::LayoutPoint const&) 24 0x79251ddda WebCore::RenderLayer::paintForegroundForFragmentsWithPhase(WebCore::PaintPhase, WTF::Vector<WebCore::LayerFragment, 1ul, WTF::CrashOnOverflow, 16ul, WTF::FastMalloc> const&, WebCore::GraphicsContext&, WebCore::RenderLayer::LayerPaintingInfo const&, WTF::OptionSet<WebCore::PaintBehavior>, WebCore::RenderObject*) 25 0x79251bbb5 WebCore::RenderLayer::paintForegroundForFragments(WTF::Vector<WebCore::LayerFragment, 1ul, WTF::CrashOnOverflow, 16ul, WTF::FastMalloc> const&, WebCore::GraphicsContext&, WebCore::GraphicsContext&, WebCore::LayoutRect const&, bool, WebCore::RenderLayer::LayerPaintingInfo const&, WTF::OptionSet<WebCore::PaintBehavior>, WebCore::RenderObject*) 26 0x792517493 WebCore::RenderLayer::paintLayerContents(WebCore::GraphicsContext&, WebCore::RenderLayer::LayerPaintingInfo const&, WTF::OptionSet<WebCore::RenderLayer::PaintLayerFlag>) 27 0x792516931 WebCore::RenderLayer::paintLayerContentsAndReflection(WebCore::GraphicsContext&, WebCore::RenderLayer::LayerPaintingInfo const&, WTF::OptionSet<WebCore::RenderLayer::PaintLayerFlag>) 28 0x79251585f WebCore::RenderLayer::paintLayerWithEffects(WebCore::GraphicsContext&, WebCore::RenderLayer::LayerPaintingInfo const&, WTF::OptionSet<WebCore::RenderLayer::PaintLayerFlag>) 29 0x792514bb7 WebCore::RenderLayer::paintLayer(WebCore::GraphicsContext&, WebCore::RenderLayer::LayerPaintingInfo const&, WTF::OptionSet<WebCore::RenderLayer::PaintLayerFlag>) 30 0x79251b566 WebCore::RenderLayer::paintList(WebCore::RenderLayer::LayerList, WebCore::GraphicsContext&, WebCore::RenderLayer::LayerPaintingInfo const&, WTF::OptionSet<WebCore::RenderLayer::PaintLayerFlag>) 31 0x7925175b9 WebCore::RenderLayer::paintLayerContents(WebCore::GraphicsContext&, WebCore::RenderLayer::LayerPaintingInfo const&, WTF::OptionSet<WebCore::RenderLayer::PaintLayerFlag>) com.apple.WebKit.WebContent.Development terminated (pid 39285) because the process crashed #CRASHED - com.apple.WebKit.WebContent.Development (pid 39285) LEAK: 2 WebProcessPool LEAK: 2 WebPageProxy
Created attachment 451607 [details] Patch
<rdar://problem/88863010>
Created attachment 451865 [details] Patch
Committed r289767 (247239@main): <https://commits.webkit.org/247239@main> All reviewed patches have been landed. Closing bug and clearing flags on attachment 451865 [details].