Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Renderinline::offsetForInFlowPositionedInline causes a null-deref of …
…a laybox on repaint. https://bugs.webkit.org/show_bug.cgi?id=255552. rdar://107952390. Reviewed by Alan Baradlay. Line layout codepath invalidation is triggered by JS which issues a repaint on the newly inserted renderer. The newly inserted renderer is used for geometry computations and which calls offsetForInFlowPositionedInline in case of inline boxes. This tries to access the lineBoxes assocaited with the renderers but they invalidated by previous repaints. This leads to null deref of the lineboxes. * LayoutTests/fast/inline/layoutBox-null-deref-crash-on-repaint-expected.txt: Added. * LayoutTests/fast/inline/layoutBox-null-deref-crash-on-repaint.html: Added. * Source/WebCore/rendering/RenderBlockFlow.cpp: (WebCore::RenderBlockFlow::isLineLayoutPresent const): * Source/WebCore/rendering/RenderBlockFlow.h: * Source/WebCore/rendering/RenderInline.cpp: (WebCore::RenderInline::offsetForInFlowPositionedInline const): Originally-landed-as: 259548.678@safari-7615-branch (7c662f5). rdar://107952390 Canonical link: https://commits.webkit.org/266452@main
- Loading branch information