With async scrolling enabled, this MathML test asserts
authorcommit-queue@webkit.org <commit-queue@webkit.org@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Wed, 24 Apr 2019 17:19:18 +0000 (17:19 +0000)
committercommit-queue@webkit.org <commit-queue@webkit.org@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Wed, 24 Apr 2019 17:19:18 +0000 (17:19 +0000)
commit2d843ee884c2918e80a5221a241a3187f7c457a6
tree93e302abb3c2fdb8ae464201ce3b5fcc0121bc71
parent3a857cd076c66e160040b92b1209c7e0b5f78fb4
With async scrolling enabled, this MathML test asserts
https://bugs.webkit.org/show_bug.cgi?id=196123

Source/WebCore:

This patch ensures that updateScrollInfoAfterLayout() is called during MathML layout. This
fixes assertions when async scrolling is enabled and MathML elements have non-visible overflow.

Patch by Frederic Wang <fwang@igalia.com> on 2019-04-24
Reviewed by Rob Buis.

Test: mathml/mathml-overflow-crash.html

* rendering/mathml/RenderMathMLBlock.cpp:
(WebCore::RenderMathMLBlock::layoutBlock):
(WebCore::RenderMathMLBlock::layoutInvalidMarkup):
* rendering/mathml/RenderMathMLFraction.cpp:
(WebCore::RenderMathMLFraction::layoutBlock):
* rendering/mathml/RenderMathMLMath.cpp:
(WebCore::RenderMathMLMath::layoutBlock):
* rendering/mathml/RenderMathMLMenclose.cpp:
(WebCore::RenderMathMLMenclose::layoutBlock):
* rendering/mathml/RenderMathMLOperator.cpp:
(WebCore::RenderMathMLOperator::layoutBlock):
* rendering/mathml/RenderMathMLPadded.cpp:
(WebCore::RenderMathMLPadded::layoutBlock):
* rendering/mathml/RenderMathMLRoot.cpp:
(WebCore::RenderMathMLRoot::layoutBlock):
* rendering/mathml/RenderMathMLRow.cpp:
(WebCore::RenderMathMLRow::layoutBlock):
* rendering/mathml/RenderMathMLScripts.cpp:
(WebCore::RenderMathMLScripts::layoutBlock):
* rendering/mathml/RenderMathMLSpace.cpp:
(WebCore::RenderMathMLSpace::layoutBlock):
* rendering/mathml/RenderMathMLToken.cpp:
(WebCore::RenderMathMLToken::layoutBlock):
* rendering/mathml/RenderMathMLUnderOver.cpp:
(WebCore::RenderMathMLUnderOver::layoutBlock):

LayoutTests:

Patch by Frederic Wang <fwang@igalia.com> on 2019-04-24
Reviewed by Rob Buis.

Add a test for each MathML layoutBlock functions/classes.

* mathml/mathml-overflow-crash-expected.txt: Added.
* mathml/mathml-overflow-crash.html: Added.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@244595 268f45cc-cd09-0410-ab3c-d52691b4dbfc
16 files changed:
LayoutTests/ChangeLog
LayoutTests/mathml/mathml-overflow-crash-expected.txt [new file with mode: 0644]
LayoutTests/mathml/mathml-overflow-crash.html [new file with mode: 0644]
Source/WebCore/ChangeLog
Source/WebCore/rendering/mathml/RenderMathMLBlock.cpp
Source/WebCore/rendering/mathml/RenderMathMLFraction.cpp
Source/WebCore/rendering/mathml/RenderMathMLMath.cpp
Source/WebCore/rendering/mathml/RenderMathMLMenclose.cpp
Source/WebCore/rendering/mathml/RenderMathMLOperator.cpp
Source/WebCore/rendering/mathml/RenderMathMLPadded.cpp
Source/WebCore/rendering/mathml/RenderMathMLRoot.cpp
Source/WebCore/rendering/mathml/RenderMathMLRow.cpp
Source/WebCore/rendering/mathml/RenderMathMLScripts.cpp
Source/WebCore/rendering/mathml/RenderMathMLSpace.cpp
Source/WebCore/rendering/mathml/RenderMathMLToken.cpp
Source/WebCore/rendering/mathml/RenderMathMLUnderOver.cpp