Always make a LayerClipRecorder when painting ancestor clipping mask layers. [chromium/src : master]

3 views
Skip to first unread message

Chris Harrelson (Gerrit)

unread,
Jul 5, 2017, 4:55:24 PM7/5/17
to blink-revi...@chromium.org, blink-rev...@chromium.org, blink-...@chromium.org, eae+bli...@chromium.org, jchaffraix...@chromium.org, leviw+re...@chromium.org, pdr+renderi...@chromium.org, szager+la...@chromium.org, zol...@webkit.org, chromium...@chromium.org, Dongseong Hwang

Chris Harrelson uploaded patch set #3 to this change.

View Change

Always make a LayerClipRecorder when painting ancestor clipping mask layers.

PaintLayerPainter::NeedsToClip applies heuristics to avoid issuing unnecessary
clips (which are quite costly in terms of raster time & memory). However,
the heuristic there for checking HasRadius on the ClipRect is not accurate
for ancestor clipping mask layers, which are painted in a different coordinate
space and mode than other layers.

Bug: 736248
Cq-Include-Trybots: master.tryserver.chromium.linux:linux_layout_tests_slimming_paint_v2
Change-Id: I5e91e3d2496c2992eb05304b0a6357d8aa055e3f
---
A third_party/WebKit/LayoutTests/compositing/overflow/composited-layer-under-border-radius-under-composited-layer-expected.png
A third_party/WebKit/LayoutTests/compositing/overflow/composited-layer-under-border-radius-under-composited-layer-expected.txt
A third_party/WebKit/LayoutTests/compositing/overflow/composited-layer-under-border-radius-under-composited-layer.html
M third_party/WebKit/Source/core/layout/compositing/CompositedLayerMapping.cpp
M third_party/WebKit/Source/core/layout/compositing/CompositedLayerMapping.h
M third_party/WebKit/Source/core/paint/PaintLayerPainter.cpp
M third_party/WebKit/Source/core/paint/PaintLayerPainter.h
7 files changed, 56 insertions(+), 16 deletions(-)

To view, visit change 559859. To unsubscribe, visit settings.

Gerrit-Project: chromium/src
Gerrit-Branch: master
Gerrit-MessageType: newpatchset
Gerrit-Change-Id: I5e91e3d2496c2992eb05304b0a6357d8aa055e3f
Gerrit-Change-Number: 559859
Gerrit-PatchSet: 3
Gerrit-Owner: Chris Harrelson <chri...@chromium.org>
Gerrit-Reviewer: Chris Harrelson <chri...@chromium.org>
Gerrit-CC: Dongseong Hwang <dongseo...@intel.com>

Chris Harrelson (Gerrit)

unread,
Jul 5, 2017, 4:56:51 PM7/5/17
to blink-revi...@chromium.org, blink-rev...@chromium.org, blink-...@chromium.org, eae+bli...@chromium.org, jchaffraix...@chromium.org, leviw+re...@chromium.org, pdr+renderi...@chromium.org, szager+la...@chromium.org, zol...@webkit.org, Xianda Sun, Stephen Chenney, chromium...@chromium.org, Dongseong Hwang

Chris Harrelson posted comments on this change.

View Change

Patch set 3:

Set Ready For Review

    To view, visit change 559859. To unsubscribe, visit settings.

    Gerrit-Project: chromium/src
    Gerrit-Branch: master
    Gerrit-MessageType: comment
    Gerrit-Change-Id: I5e91e3d2496c2992eb05304b0a6357d8aa055e3f
    Gerrit-Change-Number: 559859
    Gerrit-PatchSet: 3
    Gerrit-Owner: Chris Harrelson <chri...@chromium.org>
    Gerrit-Reviewer: Chris Harrelson <chri...@chromium.org>
    Gerrit-Reviewer: Stephen Chenney <sche...@chromium.org>
    Gerrit-Reviewer: Xianda Sun <su...@chromium.org>
    Gerrit-CC: Dongseong Hwang <dongseo...@intel.com>
    Gerrit-Comment-Date: Wed, 05 Jul 2017 20:56:46 +0000
    Gerrit-HasComments: No
    Gerrit-HasLabels: No

    Chris Harrelson (Gerrit)

    unread,
    Jul 5, 2017, 6:05:48 PM7/5/17
    to blink-revi...@chromium.org, blink-rev...@chromium.org, blink-...@chromium.org, eae+bli...@chromium.org, jchaffraix...@chromium.org, leviw+re...@chromium.org, pdr+renderi...@chromium.org, szager+la...@chromium.org, zol...@webkit.org, Commit Bot, Xianda Sun, Stephen Chenney, chromium...@chromium.org, Dongseong Hwang

    Chris Harrelson posted comments on this change.

    View Change

    Patch set 4:Commit-Queue +1

      To view, visit change 559859. To unsubscribe, visit settings.

      Gerrit-Project: chromium/src
      Gerrit-Branch: master
      Gerrit-MessageType: comment
      Gerrit-Change-Id: I5e91e3d2496c2992eb05304b0a6357d8aa055e3f
      Gerrit-Change-Number: 559859
      Gerrit-PatchSet: 4
      Gerrit-Owner: Chris Harrelson <chri...@chromium.org>
      Gerrit-Reviewer: Chris Harrelson <chri...@chromium.org>
      Gerrit-Reviewer: Stephen Chenney <sche...@chromium.org>
      Gerrit-Reviewer: Xianda Sun <su...@chromium.org>
      Gerrit-CC: Commit Bot <commi...@chromium.org>
      Gerrit-CC: Dongseong Hwang <dongseo...@intel.com>
      Gerrit-Comment-Date: Wed, 05 Jul 2017 22:05:45 +0000
      Gerrit-HasComments: No
      Gerrit-HasLabels: Yes

      Xianda Sun (Gerrit)

      unread,
      Jul 6, 2017, 10:38:41 AM7/6/17
      to Chris Harrelson, blink-revi...@chromium.org, blink-rev...@chromium.org, blink-...@chromium.org, eae+bli...@chromium.org, jchaffraix...@chromium.org, leviw+re...@chromium.org, pdr+renderi...@chromium.org, szager+la...@chromium.org, zol...@webkit.org, Commit Bot, Stephen Chenney, chromium...@chromium.org, Dongseong Hwang

      Xianda Sun posted comments on this change.

      View Change

      Patch set 4:Code-Review +1

        To view, visit change 559859. To unsubscribe, visit settings.

        Gerrit-Project: chromium/src
        Gerrit-Branch: master
        Gerrit-MessageType: comment
        Gerrit-Change-Id: I5e91e3d2496c2992eb05304b0a6357d8aa055e3f
        Gerrit-Change-Number: 559859
        Gerrit-PatchSet: 4
        Gerrit-Owner: Chris Harrelson <chri...@chromium.org>
        Gerrit-Reviewer: Chris Harrelson <chri...@chromium.org>
        Gerrit-Reviewer: Stephen Chenney <sche...@chromium.org>
        Gerrit-Reviewer: Xianda Sun <su...@chromium.org>
        Gerrit-CC: Commit Bot <commi...@chromium.org>
        Gerrit-CC: Dongseong Hwang <dongseo...@intel.com>
        Gerrit-Comment-Date: Thu, 06 Jul 2017 14:38:38 +0000
        Gerrit-HasComments: No
        Gerrit-HasLabels: Yes

        Chris Harrelson (Gerrit)

        unread,
        Jul 6, 2017, 1:11:30 PM7/6/17
        to blink-revi...@chromium.org, blink-rev...@chromium.org, blink-...@chromium.org, eae+bli...@chromium.org, jchaffraix...@chromium.org, leviw+re...@chromium.org, pdr+renderi...@chromium.org, szager+la...@chromium.org, zol...@webkit.org, Xianda Sun, Commit Bot, Stephen Chenney, chromium...@chromium.org, Dongseong Hwang

        Chris Harrelson posted comments on this change.

        View Change

        Patch set 4:Commit-Queue +2

          To view, visit change 559859. To unsubscribe, visit settings.

          Gerrit-Project: chromium/src
          Gerrit-Branch: master
          Gerrit-MessageType: comment
          Gerrit-Change-Id: I5e91e3d2496c2992eb05304b0a6357d8aa055e3f
          Gerrit-Change-Number: 559859
          Gerrit-PatchSet: 4
          Gerrit-Owner: Chris Harrelson <chri...@chromium.org>
          Gerrit-Reviewer: Chris Harrelson <chri...@chromium.org>
          Gerrit-Reviewer: Stephen Chenney <sche...@chromium.org>
          Gerrit-Reviewer: Xianda Sun <su...@chromium.org>
          Gerrit-CC: Commit Bot <commi...@chromium.org>
          Gerrit-CC: Dongseong Hwang <dongseo...@intel.com>
          Gerrit-Comment-Date: Thu, 06 Jul 2017 17:11:26 +0000
          Gerrit-HasComments: No
          Gerrit-HasLabels: Yes

          Commit Bot (Gerrit)

          unread,
          Jul 6, 2017, 1:16:42 PM7/6/17
          to Chris Harrelson, blink-revi...@chromium.org, blink-rev...@chromium.org, blink-...@chromium.org, eae+bli...@chromium.org, jchaffraix...@chromium.org, leviw+re...@chromium.org, pdr+renderi...@chromium.org, szager+la...@chromium.org, zol...@webkit.org, Xianda Sun, Stephen Chenney, chromium...@chromium.org, Dongseong Hwang

          Commit Bot merged this change.

          View Change

          Approvals: Xianda Sun: Looks good to me Chris Harrelson: Commit
          Always make a LayerClipRecorder when painting ancestor clipping mask layers.

          PaintLayerPainter::NeedsToClip applies heuristics to avoid issuing unnecessary
          clips (which are quite costly in terms of raster time & memory). However,
          the heuristic there for checking HasRadius on the ClipRect is not accurate
          for ancestor clipping mask layers, which are painted in a different coordinate
          space and mode than other layers.

          Bug: 736248
          Cq-Include-Trybots: master.tryserver.chromium.linux:linux_layout_tests_slimming_paint_v2
          Change-Id: I5e91e3d2496c2992eb05304b0a6357d8aa055e3f
          Reviewed-on: https://chromium-review.googlesource.com/559859
          Reviewed-by: Xianda Sun <su...@chromium.org>
          Commit-Queue: Chris Harrelson <chri...@chromium.org>
          Cr-Commit-Position: refs/heads/master@{#484644}
          ---
          M third_party/WebKit/LayoutTests/FlagExpectations/enable-slimming-paint-v2

          A third_party/WebKit/LayoutTests/compositing/overflow/composited-layer-under-border-radius-under-composited-layer-expected.png
          A third_party/WebKit/LayoutTests/compositing/overflow/composited-layer-under-border-radius-under-composited-layer-expected.txt
          A third_party/WebKit/LayoutTests/compositing/overflow/composited-layer-under-border-radius-under-composited-layer.html
          M third_party/WebKit/Source/core/layout/compositing/CompositedLayerMapping.cpp
          M third_party/WebKit/Source/core/layout/compositing/CompositedLayerMapping.h
          M third_party/WebKit/Source/core/paint/PaintLayerPainter.cpp
          M third_party/WebKit/Source/core/paint/PaintLayerPainter.h
          8 files changed, 57 insertions(+), 16 deletions(-)


          To view, visit change 559859. To unsubscribe, visit settings.

          Gerrit-Project: chromium/src
          Gerrit-Branch: master
          Gerrit-MessageType: merged
          Gerrit-Change-Id: I5e91e3d2496c2992eb05304b0a6357d8aa055e3f
          Gerrit-Change-Number: 559859
          Gerrit-PatchSet: 5
          Gerrit-Owner: Chris Harrelson <chri...@chromium.org>
          Gerrit-Reviewer: Chris Harrelson <chri...@chromium.org>
          Gerrit-Reviewer: Commit Bot <commi...@chromium.org>
          Gerrit-Reviewer: Stephen Chenney <sche...@chromium.org>
          Gerrit-Reviewer: Xianda Sun <su...@chromium.org>
          Reply all
          Reply to author
          Forward
          0 new messages