Bug 236464 - [GPU Process] Implement GraphicsContext::drawLineForText() in terms of GraphicsContext::drawLinesForText()
Summary: [GPU Process] Implement GraphicsContext::drawLineForText() in terms of Graphi...
Status: RESOLVED FIXED
Alias: None
Product: WebKit
Classification: Unclassified
Component: Layout and Rendering (show other bugs)
Version: WebKit Nightly Build
Hardware: Unspecified Unspecified
: P2 Normal
Assignee: Said Abou-Hallawa
URL:
Keywords: InRadar
Depends on:
Blocks: 236508 236547
  Show dependency treegraph
 
Reported: 2022-02-10 14:35 PST by Said Abou-Hallawa
Modified: 2022-02-14 14:49 PST (History)
5 users (show)

See Also:


Attachments
Patch (3.63 KB, patch)
2022-02-10 14:56 PST, Said Abou-Hallawa
no flags Details | Formatted Diff | Diff
Patch (3.54 KB, patch)
2022-02-14 00:02 PST, Said Abou-Hallawa
no flags Details | Formatted Diff | Diff

Note You need to log in before you can comment on or make changes to this bug.
Description Said Abou-Hallawa 2022-02-10 14:35:03 PST
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
Comment 1 Said Abou-Hallawa 2022-02-10 14:56:33 PST
Created attachment 451607 [details]
Patch
Comment 2 Radar WebKit Bug Importer 2022-02-12 19:54:48 PST
<rdar://problem/88863010>
Comment 3 Said Abou-Hallawa 2022-02-14 00:02:37 PST
Created attachment 451865 [details]
Patch
Comment 4 EWS 2022-02-14 14:49:52 PST
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].