Commit f2bbbf41 authored by Aleks Totic's avatar Aleks Totic Committed by Commit Bot

[LayoutNG] Fix overflow:scroll inline-block painting

display:inline-block with text children gets painted as AtomicInline.

NGBoxFragmentPainter::PaintAllPhasesAtomically was setting overflow
clip for all painting phases, cutting off anything outside content box.
It also was not painting scrollbars.

Bug: 841587
Cq-Include-Trybots: luci.chromium.try:linux_layout_tests_layout_ng;luci.chromium.try:linux_layout_tests_slimming_paint_v2;master.tryserver.blink:linux_trusty_blink_rel
Change-Id: Iff05c8ba1bed18ae53d679a5b5e81c7f6d409276
Reviewed-on: https://chromium-review.googlesource.com/1099998
Commit-Queue: Aleks Totic <atotic@chromium.org>
Reviewed-by: default avatarKoji Ishii <kojii@chromium.org>
Reviewed-by: default avatarEmil A Eklund <eae@chromium.org>
Cr-Commit-Position: refs/heads/master@{#567344}
parent c1f0724d
...@@ -399,7 +399,6 @@ crbug.com/591099 fast/borders/bidi-002.html [ Failure ] ...@@ -399,7 +399,6 @@ crbug.com/591099 fast/borders/bidi-002.html [ Failure ]
crbug.com/591099 fast/borders/bidi-012.html [ Failure ] crbug.com/591099 fast/borders/bidi-012.html [ Failure ]
crbug.com/591099 fast/borders/border-image-border-radius.html [ Failure ] crbug.com/591099 fast/borders/border-image-border-radius.html [ Failure ]
crbug.com/714962 fast/borders/border-image-outset-split-inline.html [ Failure ] crbug.com/714962 fast/borders/border-image-outset-split-inline.html [ Failure ]
crbug.com/714962 fast/borders/border-inner-bleed.html [ Failure ]
crbug.com/714962 fast/borders/border-styles-split.html [ Failure ] crbug.com/714962 fast/borders/border-styles-split.html [ Failure ]
crbug.com/591099 fast/borders/inline-mask-overlay-image-outset-vertical-rl.html [ Failure ] crbug.com/591099 fast/borders/inline-mask-overlay-image-outset-vertical-rl.html [ Failure ]
crbug.com/591099 fast/box-decoration-break/box-decoration-break-rendering.html [ Failure ] crbug.com/591099 fast/box-decoration-break/box-decoration-break-rendering.html [ Failure ]
...@@ -518,7 +517,6 @@ crbug.com/591099 fast/gradients/list-item-gradient.html [ Failure ] ...@@ -518,7 +517,6 @@ crbug.com/591099 fast/gradients/list-item-gradient.html [ Failure ]
crbug.com/591099 fast/gradients/unprefixed-list-item-gradient.html [ Failure ] crbug.com/591099 fast/gradients/unprefixed-list-item-gradient.html [ Failure ]
crbug.com/591099 fast/inline-block/14498-positionForCoordinates.html [ Failure ] crbug.com/591099 fast/inline-block/14498-positionForCoordinates.html [ Failure ]
crbug.com/591099 fast/inline-block/baseline-vertical.html [ Failure ] crbug.com/591099 fast/inline-block/baseline-vertical.html [ Failure ]
crbug.com/714962 fast/inline-block/tricky-baseline.html [ Failure ]
crbug.com/591099 fast/inline-block/vertical-align-top-and-bottom-2.html [ Failure ] crbug.com/591099 fast/inline-block/vertical-align-top-and-bottom-2.html [ Failure ]
crbug.com/714962 fast/inline/continuation-outlines-with-layers-2.html [ Failure ] crbug.com/714962 fast/inline/continuation-outlines-with-layers-2.html [ Failure ]
crbug.com/591099 fast/inline/continuation-outlines-with-layers.html [ Failure ] crbug.com/591099 fast/inline/continuation-outlines-with-layers.html [ Failure ]
......
...@@ -540,19 +540,22 @@ void NGBoxFragmentPainter::PaintAllPhasesAtomically( ...@@ -540,19 +540,22 @@ void NGBoxFragmentPainter::PaintAllPhasesAtomically(
PaintInfo info(paint_info); PaintInfo info(paint_info);
NGBoxClipper box_clipper(box_fragment_, info);
info.phase = PaintPhase::kBlockBackground; info.phase = PaintPhase::kBlockBackground;
PaintObject(info, paint_offset); PaintObject(info, paint_offset);
info.phase = PaintPhase::kFloat; info.phase = PaintPhase::kFloat;
PaintObject(info, paint_offset); PaintObject(info, paint_offset);
{
NGBoxClipper box_clipper(box_fragment_, info);
info.phase = PaintPhase::kForeground; info.phase = PaintPhase::kForeground;
PaintObject(info, paint_offset); PaintObject(info, paint_offset);
}
info.phase = PaintPhase::kOutline; info.phase = PaintPhase::kOutline;
PaintObject(info, paint_offset); PaintObject(info, paint_offset);
info.phase = PaintPhase::kBlockBackground;
PaintOverflowControlsIfNeeded(info, paint_offset);
} }
void NGBoxFragmentPainter::PaintLineBoxChildren( void NGBoxFragmentPainter::PaintLineBoxChildren(
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment