[LayoutNG] Ensure ChildNeedsLayoutOverflowRecalc flags are cleared after layout

It's expected that ChildNeedsLayoutOverflowRecalc flag is cleared
after layout, however that was not happening.

In LayoutNG the involved code is in NGBlockNode.
In CopyFragmentDataToLayoutBox() there is a call to
SetNeedsOverflowRecalc() that was setting
ChildNeedsLayoutOverflowRecalc flag on the container chain
and then clearing it just in the next line with the call to
ComputeLayoutOverflow().

To fix this we add a parameter to SetNeedsOverflowRecalc(),
which allows to specify if we want to recalc layout and visual overflow
or visual overflow only.
So we pass now OverflowRecalcType::kOnlyVisualOverflowRecalc
in the call to SetNeedsOverflowRecalc() to fix the issue.

An initial fix for this problem was landed at r702352
but reverted at r729750 as it was causing regressions.

BUG=941180,1041556
TEST=LayoutObjectTest.NeedsLayoutOverflowRecalc

Change-Id: I0c6fb92bd1abdbf883889ed0eff424b17a998f2a
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/1993804
Commit-Queue: Manuel Rego <rego@igalia.com>
Reviewed-by: Philip Rogers <pdr@chromium.org>
Cr-Commit-Position: refs/heads/master@{#731227}
8 files changed