diff --git a/third_party/WebKit/LayoutTests/TestExpectations b/third_party/WebKit/LayoutTests/TestExpectations index d51b6145c022ae..3e9f119b5673ea 100644 --- a/third_party/WebKit/LayoutTests/TestExpectations +++ b/third_party/WebKit/LayoutTests/TestExpectations @@ -1020,6 +1020,9 @@ crbug.com/492664 external/wpt/css/css-writing-modes-3/clip-rect-vrl-006.xht [ Fa crbug.com/492664 external/wpt/css/css-writing-modes-3/clip-rect-vrl-008.xht [ Failure ] crbug.com/492664 external/wpt/css/css-writing-modes-3/line-box-direction-vrl-009.xht [ Failure ] +crbug.com/749760 compositing/overflow/relpos-under-abspos-border-radius.html [ Failure ] +crbug.com/749760 virtual/prefer_compositing_to_lcd_text/compositing/overflow/relpos-under-abspos-border-radius.html [ Failure ] + crbug.com/637255 [ Win10 ] media/video-transformed.html [ Pass Failure ] # These tests pass but images do not match because tests are stricter than the spec. diff --git a/third_party/WebKit/LayoutTests/compositing/overflow/relpos-under-abspos-border-radius-expected.html b/third_party/WebKit/LayoutTests/compositing/overflow/relpos-under-abspos-border-radius-expected.html new file mode 100644 index 00000000000000..3f83170e464004 --- /dev/null +++ b/third_party/WebKit/LayoutTests/compositing/overflow/relpos-under-abspos-border-radius-expected.html @@ -0,0 +1,5 @@ + +
+
+
+
diff --git a/third_party/WebKit/LayoutTests/compositing/overflow/relpos-under-abspos-border-radius.html b/third_party/WebKit/LayoutTests/compositing/overflow/relpos-under-abspos-border-radius.html new file mode 100644 index 00000000000000..bffeb1162a086b --- /dev/null +++ b/third_party/WebKit/LayoutTests/compositing/overflow/relpos-under-abspos-border-radius.html @@ -0,0 +1,8 @@ + + +
+
+
+
+
+
diff --git a/third_party/WebKit/Source/core/paint/PaintLayerPainter.cpp b/third_party/WebKit/Source/core/paint/PaintLayerPainter.cpp index 1cfc624b5223f1..f5b138e0f3cc88 100644 --- a/third_party/WebKit/Source/core/paint/PaintLayerPainter.cpp +++ b/third_party/WebKit/Source/core/paint/PaintLayerPainter.cpp @@ -434,6 +434,8 @@ PaintResult PaintLayerPainter::PaintLayerContents( paint_layer_.ConvertToLayerCoords(local_painting_info.root_layer, offset_to_clipper); local_painting_info.paint_dirty_rect.MoveBy(offset_to_clipper); + // Overflow clip of the compositing container is irrelevant. + respect_overflow_clip = kIgnoreOverflowClip; } // TODO(trchen): We haven't decided how to handle visual fragmentation with @@ -509,9 +511,7 @@ PaintResult PaintLayerPainter::PaintLayerContents( fragment.foreground_rect.Move(negative_offset); fragment.pagination_offset.Move(negative_offset); } - } - - if (should_paint_content) { + } else if (should_paint_content) { // TODO(wangxianzhu): This is for old slow scrolling. Implement similar // optimization for slimming paint v2. should_paint_content = AtLeastOneFragmentIntersectsDamageRect(