Paint all collapsed borders of a row (or table) as one display item [chromium/src : master]

2 views
Skip to first unread message

Xianzhu Wang (Gerrit)

unread,
Jun 23, 2017, 12:44:20 AM6/23/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, Commit Bot

Xianzhu Wang uploaded patch set #6 to this change.

View Change

Paint all collapsed borders of a row (or table) as one display item

In normal cases and SPv2, paint all collapsed borders of a row
as one display item. If any row or section is composited, let the
table paint all collapsed borders.

- This reduces number of display items for collapsed borders, which can
improve performance of painting and rasterization. This is a trade-off
between number of display items and area of re-rasterization.

- Simplify code for collapsed border painting and invalidation.

- In the future we can implement more sophisticated collapsed border
algorithm to improve performance of common cases (e.g. paint the whole
top border of a row as one drawing operation).

Bug: 663208
Cq-Include-Trybots: master.tryserver.chromium.linux:linux_layout_tests_slimming_paint_v2
Change-Id: I0d71c0f62c89b028739ea374e033a8e844822250
---
D third_party/WebKit/LayoutTests/flag-specific/enable-slimming-paint-v2/paint/invalidation/table/collapsed-border-cell-resize-expected.txt
A third_party/WebKit/LayoutTests/paint/invalidation/table/collapsed-border-cell-resize-composited-cell-expected.html
A third_party/WebKit/LayoutTests/paint/invalidation/table/collapsed-border-cell-resize-composited-cell.html
A third_party/WebKit/LayoutTests/paint/invalidation/table/collapsed-border-cell-resize-composited-row-expected.html
A third_party/WebKit/LayoutTests/paint/invalidation/table/collapsed-border-cell-resize-composited-row.html
A third_party/WebKit/LayoutTests/paint/invalidation/table/collapsed-border-cell-resize-composited-section-expected.html
A third_party/WebKit/LayoutTests/paint/invalidation/table/collapsed-border-cell-resize-composited-section.html
M third_party/WebKit/LayoutTests/paint/invalidation/table/collapsed-border-cell-resize-expected.html
D third_party/WebKit/LayoutTests/paint/invalidation/table/collapsed-border-cell-resize-expected.txt
M third_party/WebKit/LayoutTests/paint/invalidation/table/collapsed-border-cell-resize.html
M third_party/WebKit/Source/core/layout/CollapsedBorderValue.h
M third_party/WebKit/Source/core/layout/LayoutTable.cpp
M third_party/WebKit/Source/core/layout/LayoutTable.h
M third_party/WebKit/Source/core/layout/LayoutTableCell.cpp
M third_party/WebKit/Source/core/layout/LayoutTableCell.h
M third_party/WebKit/Source/core/layout/LayoutTableRow.cpp
M third_party/WebKit/Source/core/layout/LayoutTableRow.h
M third_party/WebKit/Source/core/paint/CollapsedBorderPainter.cpp
M third_party/WebKit/Source/core/paint/CollapsedBorderPainter.h
M third_party/WebKit/Source/core/paint/TableCellPaintInvalidator.cpp
M third_party/WebKit/Source/core/paint/TableCellPaintInvalidator.h
M third_party/WebKit/Source/core/paint/TableCellPainter.h
M third_party/WebKit/Source/core/paint/TablePainter.cpp
M third_party/WebKit/Source/core/paint/TablePainter.h
M third_party/WebKit/Source/core/paint/TablePainterTest.cpp
M third_party/WebKit/Source/core/paint/TableRowPainter.cpp
M third_party/WebKit/Source/core/paint/TableRowPainter.h
M third_party/WebKit/Source/core/paint/TableSectionPainter.cpp
28 files changed, 340 insertions(+), 268 deletions(-)

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

Gerrit-Project: chromium/src
Gerrit-Branch: master
Gerrit-MessageType: newpatchset
Gerrit-Change-Id: I0d71c0f62c89b028739ea374e033a8e844822250
Gerrit-Change-Number: 540178
Gerrit-PatchSet: 6
Gerrit-Owner: Xianzhu Wang <wangx...@chromium.org>
Gerrit-Reviewer: Xianzhu Wang <wangx...@chromium.org>
Gerrit-CC: Commit Bot <commi...@chromium.org>
Gerrit-CC: Dongseong Hwang <dongseo...@intel.com>

Xianzhu Wang (Gerrit)

unread,
Jun 23, 2017, 1:05:54 PM6/23/17
to blink-revi...@chromium.org, blink-rev...@chromium.org, blink-...@chromium.org, eae+bli...@chromium.org, jchaffraix...@chromium.org, leviw+re...@chromium.org, mac-r...@chromium.org, pdr+renderi...@chromium.org, szager+la...@chromium.org, zol...@webkit.org, Commit Bot, chromium...@chromium.org, Dongseong Hwang

Xianzhu Wang posted comments on this change.

View Change

Patch set 7:Commit-Queue +1

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

    Gerrit-Project: chromium/src
    Gerrit-Branch: master
    Gerrit-MessageType: comment
    Gerrit-Change-Id: I0d71c0f62c89b028739ea374e033a8e844822250
    Gerrit-Change-Number: 540178
    Gerrit-PatchSet: 7
    Gerrit-Owner: Xianzhu Wang <wangx...@chromium.org>
    Gerrit-Reviewer: Xianzhu Wang <wangx...@chromium.org>
    Gerrit-CC: Commit Bot <commi...@chromium.org>
    Gerrit-CC: Dongseong Hwang <dongseo...@intel.com>
    Gerrit-Comment-Date: Fri, 23 Jun 2017 17:05:51 +0000
    Gerrit-HasComments: No
    Gerrit-HasLabels: Yes

    Xianzhu Wang (Gerrit)

    unread,
    Jun 23, 2017, 3:58:00 PM6/23/17
    to blink-revi...@chromium.org, blink-rev...@chromium.org, blink-...@chromium.org, eae+bli...@chromium.org, jchaffraix...@chromium.org, leviw+re...@chromium.org, mac-r...@chromium.org, pdr+renderi...@chromium.org, szager+la...@chromium.org, zol...@webkit.org, Commit Bot, chromium...@chromium.org, Dongseong Hwang

    Xianzhu Wang posted comments on this change.

    View Change

    Patch set 8:Commit-Queue +1

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

      Gerrit-Project: chromium/src
      Gerrit-Branch: master
      Gerrit-MessageType: comment
      Gerrit-Change-Id: I0d71c0f62c89b028739ea374e033a8e844822250
      Gerrit-Change-Number: 540178
      Gerrit-PatchSet: 8
      Gerrit-Owner: Xianzhu Wang <wangx...@chromium.org>
      Gerrit-Reviewer: Xianzhu Wang <wangx...@chromium.org>
      Gerrit-CC: Commit Bot <commi...@chromium.org>
      Gerrit-CC: Dongseong Hwang <dongseo...@intel.com>
      Gerrit-Comment-Date: Fri, 23 Jun 2017 19:57:57 +0000
      Gerrit-HasComments: No
      Gerrit-HasLabels: Yes

      Xianzhu Wang (Gerrit)

      unread,
      Jun 23, 2017, 4:16:43 PM6/23/17
      to blink-revi...@chromium.org, blink-rev...@chromium.org, blink-...@chromium.org, eae+bli...@chromium.org, jchaffraix...@chromium.org, leviw+re...@chromium.org, mac-r...@chromium.org, pdr+renderi...@chromium.org, szager+la...@chromium.org, zol...@webkit.org, Chris harrelson, Commit Bot, chromium...@chromium.org, Dongseong Hwang

      Xianzhu Wang posted comments on this change.

      View Change

      Patch set 8:

      (2 comments)

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

      Gerrit-Project: chromium/src
      Gerrit-Branch: master
      Gerrit-MessageType: comment
      Gerrit-Change-Id: I0d71c0f62c89b028739ea374e033a8e844822250
      Gerrit-Change-Number: 540178
      Gerrit-PatchSet: 8
      Gerrit-Owner: Xianzhu Wang <wangx...@chromium.org>
      Gerrit-Reviewer: Chris harrelson <chri...@chromium.org>
      Gerrit-Reviewer: Xianzhu Wang <wangx...@chromium.org>
      Gerrit-CC: Commit Bot <commi...@chromium.org>
      Gerrit-CC: Dongseong Hwang <dongseo...@intel.com>
      Gerrit-Comment-Date: Fri, 23 Jun 2017 20:16:40 +0000
      Gerrit-HasComments: Yes
      Gerrit-HasLabels: No

      Xianzhu Wang (Gerrit)

      unread,
      Jun 23, 2017, 4:16:44 PM6/23/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, mac-r...@chromium.org, pdr+renderi...@chromium.org, szager+la...@chromium.org, zol...@webkit.org

      Xianzhu Wang would like Chris harrelson to review this change.

      View Change

      Paint all collapsed borders of a row (or table) as one display item

      In normal cases and SPv2, paint all collapsed borders of a row
      as one display item. If any row or section is composited, let the
      table paint all collapsed borders.

      - This reduces number of display items for collapsed borders, which can
      improve performance of painting and rasterization. This is a trade-off
      between number of display items and area of re-rasterization.

      - Simplify code for collapsed border painting and invalidation.

      - In the future we can implement more sophisticated collapsed border
      algorithm to improve performance of common cases (e.g. paint the whole
      top border of a row as one drawing operation).

      Bug: 663208
      Cq-Include-Trybots: master.tryserver.chromium.linux:linux_layout_tests_slimming_paint_v2
      Change-Id: I0d71c0f62c89b028739ea374e033a8e844822250
      ---
      D third_party/WebKit/LayoutTests/flag-specific/enable-slimming-paint-v2/paint/invalidation/table/collapsed-border-cell-resize-expected.txt
      D third_party/WebKit/LayoutTests/paint/invalidation/table-cell-collapsed-border-expected.txt
      M third_party/WebKit/LayoutTests/paint/invalidation/table-outer-border-expected.txt
      M third_party/WebKit/LayoutTests/paint/invalidation/table-section-repaint-expected.txt
      M third_party/WebKit/LayoutTests/paint/invalidation/table/border-collapse-change-collapse-to-separate-expected.txt
      M third_party/WebKit/LayoutTests/paint/invalidation/table/border-collapse-change-separate-to-collapse-expected.txt
      M third_party/WebKit/LayoutTests/paint/invalidation/table/cached-cell-append-expected.txt
      M third_party/WebKit/LayoutTests/paint/invalidation/table/cached-change-cell-border-color-expected.txt
      M third_party/WebKit/LayoutTests/paint/invalidation/table/cached-change-cell-border-width-expected.txt
      M third_party/WebKit/LayoutTests/paint/invalidation/table/cached-change-col-border-color-expected.txt
      M third_party/WebKit/LayoutTests/paint/invalidation/table/cached-change-col-border-width-expected.txt
      M third_party/WebKit/LayoutTests/paint/invalidation/table/cached-change-colgroup-border-color-expected.txt
      M third_party/WebKit/LayoutTests/paint/invalidation/table/cached-change-colgroup-border-width-expected.txt
      M third_party/WebKit/LayoutTests/paint/invalidation/table/cached-change-row-border-color-expected.txt
      M third_party/WebKit/LayoutTests/paint/invalidation/table/cached-change-row-border-width-expected.txt
      M third_party/WebKit/LayoutTests/paint/invalidation/table/cached-change-table-border-color-expected.txt
      M third_party/WebKit/LayoutTests/paint/invalidation/table/cached-change-table-border-width-expected.txt
      M third_party/WebKit/LayoutTests/paint/invalidation/table/cached-change-tbody-border-color-expected.txt
      M third_party/WebKit/LayoutTests/paint/invalidation/table/cached-change-tbody-border-width-expected.txt

      A third_party/WebKit/LayoutTests/paint/invalidation/table/collapsed-border-cell-resize-composited-cell-expected.html
      A third_party/WebKit/LayoutTests/paint/invalidation/table/collapsed-border-cell-resize-composited-cell.html
      A third_party/WebKit/LayoutTests/paint/invalidation/table/collapsed-border-cell-resize-composited-row-expected.html
      A third_party/WebKit/LayoutTests/paint/invalidation/table/collapsed-border-cell-resize-composited-row.html
      A third_party/WebKit/LayoutTests/paint/invalidation/table/collapsed-border-cell-resize-composited-section-expected.html
      A third_party/WebKit/LayoutTests/paint/invalidation/table/collapsed-border-cell-resize-composited-section.html
      M third_party/WebKit/LayoutTests/paint/invalidation/table/collapsed-border-cell-resize-expected.html
      D third_party/WebKit/LayoutTests/paint/invalidation/table/collapsed-border-cell-resize-expected.txt
      M third_party/WebKit/LayoutTests/paint/invalidation/table/collapsed-border-cell-resize.html
      M third_party/WebKit/LayoutTests/platform/linux/paint/invalidation/composited-table-row-expected.txt
      D third_party/WebKit/LayoutTests/platform/linux/paint/invalidation/table-cell-collapsed-border-expected.txt
      M third_party/WebKit/LayoutTests/platform/linux/paint/invalidation/table-collapsed-border-expected.txt
      M third_party/WebKit/LayoutTests/platform/linux/paint/invalidation/table/cached-change-cell-sl-border-color-expected.txt
      M third_party/WebKit/LayoutTests/platform/linux/virtual/disable-spinvalidation/paint/invalidation/composited-table-row-expected.txt
      M third_party/WebKit/LayoutTests/platform/linux/virtual/disable-spinvalidation/paint/invalidation/table-collapsed-border-expected.txt
      M third_party/WebKit/LayoutTests/platform/linux/virtual/disable-spinvalidation/paint/invalidation/table/cached-change-cell-sl-border-color-expected.txt
      M third_party/WebKit/LayoutTests/platform/mac/paint/invalidation/composited-table-row-expected.txt
      A third_party/WebKit/LayoutTests/platform/mac/paint/invalidation/table-cell-collapsed-border-expected.txt
      M third_party/WebKit/LayoutTests/platform/mac/paint/invalidation/table-collapsed-border-expected.txt
      M third_party/WebKit/LayoutTests/platform/mac/paint/invalidation/table/cached-change-cell-sl-border-color-expected.txt
      M third_party/WebKit/LayoutTests/platform/mac/virtual/disable-spinvalidation/paint/invalidation/composited-table-row-expected.txt
      A third_party/WebKit/LayoutTests/platform/mac/virtual/disable-spinvalidation/paint/invalidation/table-cell-collapsed-border-expected.txt
      M third_party/WebKit/LayoutTests/platform/mac/virtual/disable-spinvalidation/paint/invalidation/table-collapsed-border-expected.txt
      M third_party/WebKit/LayoutTests/platform/mac/virtual/disable-spinvalidation/paint/invalidation/table/cached-change-cell-sl-border-color-expected.txt
      M third_party/WebKit/LayoutTests/platform/win/paint/invalidation/composited-table-row-expected.txt
      M third_party/WebKit/LayoutTests/platform/win/paint/invalidation/table-cell-collapsed-border-expected.txt
      M third_party/WebKit/LayoutTests/platform/win/paint/invalidation/table-collapsed-border-expected.txt
      M third_party/WebKit/LayoutTests/platform/win/paint/invalidation/table/cached-change-cell-sl-border-color-expected.txt
      M third_party/WebKit/LayoutTests/platform/win/virtual/disable-spinvalidation/paint/invalidation/composited-table-row-expected.txt
      M third_party/WebKit/LayoutTests/platform/win/virtual/disable-spinvalidation/paint/invalidation/table-cell-collapsed-border-expected.txt
      M third_party/WebKit/LayoutTests/platform/win/virtual/disable-spinvalidation/paint/invalidation/table-collapsed-border-expected.txt
      M third_party/WebKit/LayoutTests/platform/win/virtual/disable-spinvalidation/paint/invalidation/table/cached-change-cell-sl-border-color-expected.txt
      D third_party/WebKit/LayoutTests/virtual/disable-spinvalidation/paint/invalidation/table-outer-border-expected.txt
      D third_party/WebKit/LayoutTests/virtual/disable-spinvalidation/paint/invalidation/table-section-repaint-expected.txt
      D third_party/WebKit/LayoutTests/virtual/disable-spinvalidation/paint/invalidation/table/border-collapse-change-separate-to-collapse-expected.txt
      D third_party/WebKit/LayoutTests/virtual/disable-spinvalidation/paint/invalidation/table/cached-change-row-border-width-expected.txt

      M third_party/WebKit/Source/core/layout/CollapsedBorderValue.h
      M third_party/WebKit/Source/core/layout/LayoutTable.cpp
      M third_party/WebKit/Source/core/layout/LayoutTable.h
      M third_party/WebKit/Source/core/layout/LayoutTableCell.cpp
      M third_party/WebKit/Source/core/layout/LayoutTableCell.h
      M third_party/WebKit/Source/core/layout/LayoutTableCellTest.cpp

      M third_party/WebKit/Source/core/layout/LayoutTableRow.cpp
      M third_party/WebKit/Source/core/layout/LayoutTableRow.h
      M third_party/WebKit/Source/core/paint/CollapsedBorderPainter.cpp
      M third_party/WebKit/Source/core/paint/CollapsedBorderPainter.h
      M third_party/WebKit/Source/core/paint/TableCellPaintInvalidator.cpp
      M third_party/WebKit/Source/core/paint/TableCellPaintInvalidator.h
      M third_party/WebKit/Source/core/paint/TableCellPainter.h
      M third_party/WebKit/Source/core/paint/TablePainter.cpp
      M third_party/WebKit/Source/core/paint/TablePainter.h
      M third_party/WebKit/Source/core/paint/TablePainterTest.cpp
      M third_party/WebKit/Source/core/paint/TableRowPainter.cpp
      M third_party/WebKit/Source/core/paint/TableRowPainter.h
      M third_party/WebKit/Source/core/paint/TableSectionPainter.cpp
      74 files changed, 1,532 insertions(+), 1,538 deletions(-)


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

      Gerrit-Project: chromium/src
      Gerrit-Branch: master
      Gerrit-MessageType: newchange

      Chris harrelson (Gerrit)

      unread,
      Jun 23, 2017, 9:14:19 PM6/23/17
      to Xianzhu Wang, blink-revi...@chromium.org, blink-rev...@chromium.org, blink-...@chromium.org, eae+bli...@chromium.org, jchaffraix...@chromium.org, leviw+re...@chromium.org, mac-r...@chromium.org, pdr+renderi...@chromium.org, szager+la...@chromium.org, zol...@webkit.org, Commit Bot, chromium...@chromium.org, Dongseong Hwang

      Chris harrelson posted comments on this change.

      View Change

      Patch set 8:

      (6 comments)

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

      Gerrit-Project: chromium/src
      Gerrit-Branch: master
      Gerrit-MessageType: comment
      Gerrit-Change-Id: I0d71c0f62c89b028739ea374e033a8e844822250
      Gerrit-Change-Number: 540178
      Gerrit-PatchSet: 8
      Gerrit-Owner: Xianzhu Wang <wangx...@chromium.org>
      Gerrit-Reviewer: Chris harrelson <chri...@chromium.org>
      Gerrit-Reviewer: Xianzhu Wang <wangx...@chromium.org>
      Gerrit-CC: Commit Bot <commi...@chromium.org>
      Gerrit-CC: Dongseong Hwang <dongseo...@intel.com>
      Gerrit-Comment-Date: Sat, 24 Jun 2017 01:14:16 +0000
      Gerrit-HasComments: Yes
      Gerrit-HasLabels: No

      Xianzhu Wang (Gerrit)

      unread,
      Jun 24, 2017, 2:05:55 PM6/24/17
      to blink-revi...@chromium.org, blink-rev...@chromium.org, blink-...@chromium.org, eae+bli...@chromium.org, jchaffraix...@chromium.org, leviw+re...@chromium.org, mac-r...@chromium.org, pdr+renderi...@chromium.org, szager+la...@chromium.org, zol...@webkit.org, Chris harrelson, Commit Bot, chromium...@chromium.org, Dongseong Hwang

      Xianzhu Wang posted comments on this change.

      View Change

      Patch set 8:

      (7 comments)

        • Patch Set #8, Line 336: bool LayoutTableRow::PaintedOutputOfObjectHasNoEffectRegardlessOfSize() const {

          Is this an optimization that is of independent value?

        • This is required to avoid wrong optimization. For the following table
          <table style="border-collapse: collapse">
          <tr><td style="border: ..."></td></tr>
          </table>,
          without this change, the row's PaintedOutputOfObjectHasNoEffectRegardlessOfSize() would return true while it paints collapsed borders, which would trigger DCHECK failure in DrawingRecorder and may cause under-invalidations.
      • File third_party/WebKit/Source/core/paint/TableCellPaintInvalidator.cpp:

        • The invalidation is only needed if the container has not been invalidated. The callsites have checked condition.

          In the latest patch, this condition is changed to !IsImmediateFullPaintInvaldationReason(container.GetPaintInvalidationReason()) to be safer in case the container did only incremental invalidation.

          This is for both SPv1 and v2. It handles cases is like:
          <table style="width: 200px; border-collapse: collapse">
          <tr><td></td><td></td></tr>
          </table>

          When one of the td changes width, the geometry of tr and table may not be affected so their paint invalidation won't see the change when PrePaintTreeWalk walked them. When we walk a cells and find that its geometry has changed and the row has not been invalidated, we need to invalidate the row immediately here.

        • Patch Set #8, Line 39: container.VisualRect(), PaintInvalidationReason::kGeometry);

          The above line is new in this CL. Previously for the background case, we invalidate the display item client only, assuming that cell's raster invalidation will cover the changed area of the container, but that fails if the cell and the container are not on the same backing.

          The line 35 condition implies !SPv2. Added !SPv2 here to make it explicit.

      • File third_party/WebKit/Source/core/paint/TableRowPainter.cpp:

        • Patch Set #8, Line 132: if (!layout_table_row_.Table()->ShouldPaintCollapsedBordersInWhole()) {

          Why would this be called if ShouldPaintCollapsedBordersInWhole

        • ShouldPaintCollapsedBorderInWhole affects which of table and rows should create display items for collapsed borders. No matter who create the display items, collapsed borders are always painted in the call path of
          TablePainter::PaintCollapsedBorders
          =>TableSectionPainter::PaintCollapsedBorders
          =>TableRowPainter::PaintCollapsedBorders
          =>CollapsedBorderPainter::PaintCollapsedBorders.

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

      Gerrit-Project: chromium/src
      Gerrit-Branch: master
      Gerrit-MessageType: comment
      Gerrit-Change-Id: I0d71c0f62c89b028739ea374e033a8e844822250
      Gerrit-Change-Number: 540178
      Gerrit-PatchSet: 8
      Gerrit-Owner: Xianzhu Wang <wangx...@chromium.org>
      Gerrit-Reviewer: Chris harrelson <chri...@chromium.org>
      Gerrit-Reviewer: Xianzhu Wang <wangx...@chromium.org>
      Gerrit-CC: Commit Bot <commi...@chromium.org>
      Gerrit-CC: Dongseong Hwang <dongseo...@intel.com>
      Gerrit-Comment-Date: Sat, 24 Jun 2017 18:05:52 +0000
      Gerrit-HasComments: Yes
      Gerrit-HasLabels: No

      Xianzhu Wang (Gerrit)

      unread,
      Jun 24, 2017, 2:06:52 PM6/24/17
      to blink-revi...@chromium.org, blink-rev...@chromium.org, blink-...@chromium.org, eae+bli...@chromium.org, jchaffraix...@chromium.org, leviw+re...@chromium.org, mac-r...@chromium.org, pdr+renderi...@chromium.org, szager+la...@chromium.org, zol...@webkit.org, Chris harrelson, Commit Bot, chromium...@chromium.org, Dongseong Hwang

      Xianzhu Wang posted comments on this change.

      View Change

      Patch set 9:Commit-Queue +1

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

        Gerrit-Project: chromium/src
        Gerrit-Branch: master
        Gerrit-MessageType: comment
        Gerrit-Change-Id: I0d71c0f62c89b028739ea374e033a8e844822250
        Gerrit-Change-Number: 540178
        Gerrit-PatchSet: 9
        Gerrit-Owner: Xianzhu Wang <wangx...@chromium.org>
        Gerrit-Reviewer: Chris harrelson <chri...@chromium.org>
        Gerrit-Reviewer: Xianzhu Wang <wangx...@chromium.org>
        Gerrit-CC: Commit Bot <commi...@chromium.org>
        Gerrit-CC: Dongseong Hwang <dongseo...@intel.com>
        Gerrit-Comment-Date: Sat, 24 Jun 2017 18:06:44 +0000
        Gerrit-HasComments: No
        Gerrit-HasLabels: Yes

        Chris harrelson (Gerrit)

        unread,
        Jun 25, 2017, 11:41:54 AM6/25/17
        to Xianzhu Wang, blink-revi...@chromium.org, blink-rev...@chromium.org, blink-...@chromium.org, eae+bli...@chromium.org, jchaffraix...@chromium.org, leviw+re...@chromium.org, mac-r...@chromium.org, pdr+renderi...@chromium.org, szager+la...@chromium.org, zol...@webkit.org, Commit Bot, chromium...@chromium.org, Dongseong Hwang

        Chris harrelson posted comments on this change.

        View Change

        Patch set 9:Code-Review +1

        Is the purpose of case when rows paint their own collapsed borders for
        performance of ro

        (3 comments)

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

        Gerrit-Project: chromium/src
        Gerrit-Branch: master
        Gerrit-MessageType: comment
        Gerrit-Change-Id: I0d71c0f62c89b028739ea374e033a8e844822250
        Gerrit-Change-Number: 540178
        Gerrit-PatchSet: 9
        Gerrit-Owner: Xianzhu Wang <wangx...@chromium.org>
        Gerrit-Reviewer: Chris harrelson <chri...@chromium.org>
        Gerrit-Reviewer: Xianzhu Wang <wangx...@chromium.org>
        Gerrit-CC: Commit Bot <commi...@chromium.org>
        Gerrit-CC: Dongseong Hwang <dongseo...@intel.com>
        Gerrit-Comment-Date: Sun, 25 Jun 2017 15:41:51 +0000
        Gerrit-HasComments: Yes
        Gerrit-HasLabels: Yes

        Xianzhu Wang (Gerrit)

        unread,
        Jun 25, 2017, 1:32:11 PM6/25/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, mac-r...@chromium.org, pdr+renderi...@chromium.org, szager+la...@chromium.org, zol...@webkit.org, chromium...@chromium.org, Dongseong Hwang, Commit Bot

        Xianzhu Wang uploaded patch set #11 to this change.

        View Change

        Paint all collapsed borders of a row (or table) as one display item

        In normal cases and SPv2, paint all collapsed borders of a row
        as one display item. If any row or section is composited, let the
        table paint all collapsed borders.

        - This reduces number of display items for collapsed borders, which can
        improve performance of painting and rasterization. This is a trade-off
        between number of display items and area of re-rasterization.

        - Simplify code for collapsed border painting and invalidation and fix
        collapsed border invalidation issues when the row or the section is
        composited.


        - In the future we can implement more sophisticated collapsed border
        algorithm to improve performance of common cases (e.g. paint the whole
        top border of a row as one drawing operation).

        Bug: 663208
        Cq-Include-Trybots: master.tryserver.chromium.linux:linux_layout_tests_slimming_paint_v2
        Change-Id: I0d71c0f62c89b028739ea374e033a8e844822250
        ---
        M third_party/WebKit/LayoutTests/FlagExpectations/enable-slimming-paint-v2
        A third_party/WebKit/LayoutTests/flag-specific/enable-slimming-paint-v2/paint/invalidation/table-collapsed-border-expected.txt
        M third_party/WebKit/LayoutTests/flag-specific/enable-slimming-paint-v2/paint/invalidation/table-outer-border-expected.txt
        M third_party/WebKit/LayoutTests/flag-specific/enable-slimming-paint-v2/paint/invalidation/table-section-repaint-expected.txt
        M third_party/WebKit/LayoutTests/flag-specific/enable-slimming-paint-v2/paint/invalidation/table/border-collapse-change-collapse-to-separate-expected.txt
        M third_party/WebKit/LayoutTests/flag-specific/enable-slimming-paint-v2/paint/invalidation/table/border-collapse-change-separate-to-collapse-expected.txt
        M third_party/WebKit/LayoutTests/flag-specific/enable-slimming-paint-v2/paint/invalidation/table/cached-69296-expected.txt
        M third_party/WebKit/LayoutTests/flag-specific/enable-slimming-paint-v2/paint/invalidation/table/cached-cell-append-expected.txt
        A third_party/WebKit/LayoutTests/flag-specific/enable-slimming-paint-v2/paint/invalidation/table/cached-change-cell-border-color-expected.txt
        M third_party/WebKit/LayoutTests/flag-specific/enable-slimming-paint-v2/paint/invalidation/table/cached-change-cell-border-width-expected.txt
        A third_party/WebKit/LayoutTests/flag-specific/enable-slimming-paint-v2/paint/invalidation/table/cached-change-cell-sl-border-color-expected.txt
        A third_party/WebKit/LayoutTests/flag-specific/enable-slimming-paint-v2/paint/invalidation/table/cached-change-col-border-color-expected.txt
        M third_party/WebKit/LayoutTests/flag-specific/enable-slimming-paint-v2/paint/invalidation/table/cached-change-col-border-width-expected.txt
        A third_party/WebKit/LayoutTests/flag-specific/enable-slimming-paint-v2/paint/invalidation/table/cached-change-colgroup-border-color-expected.txt
        M third_party/WebKit/LayoutTests/flag-specific/enable-slimming-paint-v2/paint/invalidation/table/cached-change-colgroup-border-width-expected.txt
        M third_party/WebKit/LayoutTests/flag-specific/enable-slimming-paint-v2/paint/invalidation/table/cached-change-row-border-width-expected.txt
        A third_party/WebKit/LayoutTests/flag-specific/enable-slimming-paint-v2/paint/invalidation/table/cached-change-table-border-color-expected.txt
        M third_party/WebKit/LayoutTests/flag-specific/enable-slimming-paint-v2/paint/invalidation/table/cached-change-table-border-width-expected.txt
        A third_party/WebKit/LayoutTests/flag-specific/enable-slimming-paint-v2/paint/invalidation/table/cached-change-tbody-border-color-expected.txt
        M third_party/WebKit/LayoutTests/flag-specific/enable-slimming-paint-v2/paint/invalidation/table/cached-change-tbody-border-width-expected.txt
        D third_party/WebKit/LayoutTests/flag-specific/enable-slimming-paint-v2/paint/invalidation/table/collapsed-border-cell-resize-expected.txt
        M third_party/WebKit/LayoutTests/flag-specific/enable-slimming-paint-v2/paint/invalidation/table/resize-table-repaint-percent-size-cell-expected.txt

        D third_party/WebKit/LayoutTests/paint/invalidation/table-cell-collapsed-border-expected.txt
        M third_party/WebKit/LayoutTests/paint/invalidation/table-outer-border-expected.txt
        M third_party/WebKit/LayoutTests/paint/invalidation/table-section-repaint-expected.txt
        M third_party/WebKit/LayoutTests/paint/invalidation/table/border-collapse-change-collapse-to-separate-expected.txt
        M third_party/WebKit/LayoutTests/paint/invalidation/table/border-collapse-change-separate-to-collapse-expected.txt
        M third_party/WebKit/LayoutTests/paint/invalidation/table/cached-cell-append-expected.txt
        M third_party/WebKit/LayoutTests/paint/invalidation/table/cached-change-cell-border-color-expected.txt
        M third_party/WebKit/LayoutTests/paint/invalidation/table/cached-change-cell-border-width-expected.txt
        M third_party/WebKit/LayoutTests/paint/invalidation/table/cached-change-col-border-color-expected.txt
        M third_party/WebKit/LayoutTests/paint/invalidation/table/cached-change-col-border-width-expected.txt
        M third_party/WebKit/LayoutTests/paint/invalidation/table/cached-change-colgroup-border-color-expected.txt
        M third_party/WebKit/LayoutTests/paint/invalidation/table/cached-change-colgroup-border-width-expected.txt
        M third_party/WebKit/LayoutTests/paint/invalidation/table/cached-change-row-border-color-expected.txt
        M third_party/WebKit/LayoutTests/paint/invalidation/table/cached-change-row-border-width-expected.txt
        M third_party/WebKit/LayoutTests/paint/invalidation/table/cached-change-table-border-color-expected.txt
        M third_party/WebKit/LayoutTests/paint/invalidation/table/cached-change-table-border-width-expected.txt
        M third_party/WebKit/LayoutTests/paint/invalidation/table/cached-change-tbody-border-color-expected.txt
        M third_party/WebKit/LayoutTests/paint/invalidation/table/cached-change-tbody-border-width-expected.txt
        A third_party/WebKit/LayoutTests/paint/invalidation/table/collapsed-border-cell-change-width-composited-cell-expected.html
        A third_party/WebKit/LayoutTests/paint/invalidation/table/collapsed-border-cell-change-width-composited-cell.html
        A third_party/WebKit/LayoutTests/paint/invalidation/table/collapsed-border-cell-change-width-composited-row-expected.html
        A third_party/WebKit/LayoutTests/paint/invalidation/table/collapsed-border-cell-change-width-composited-row.html
        A third_party/WebKit/LayoutTests/paint/invalidation/table/collapsed-border-cell-change-width-composited-section-expected.html
        A third_party/WebKit/LayoutTests/paint/invalidation/table/collapsed-border-cell-change-width-composited-section.html
        A third_party/WebKit/LayoutTests/paint/invalidation/table/collapsed-border-cell-change-width-expected.html
        A third_party/WebKit/LayoutTests/paint/invalidation/table/collapsed-border-cell-change-width.html
        M third_party/WebKit/LayoutTests/paint/invalidation/table/collapsed-border-cell-resize-expected.txt

        M third_party/WebKit/LayoutTests/platform/linux/paint/invalidation/composited-table-row-expected.txt
        D third_party/WebKit/LayoutTests/platform/linux/paint/invalidation/table-cell-collapsed-border-expected.txt
        M third_party/WebKit/LayoutTests/platform/linux/paint/invalidation/table-collapsed-border-expected.txt
        M third_party/WebKit/LayoutTests/platform/linux/paint/invalidation/table/cached-change-cell-sl-border-color-expected.txt
        M third_party/WebKit/LayoutTests/platform/linux/paint/invalidation/table/resize-table-repaint-percent-size-cell-expected.txt

        M third_party/WebKit/LayoutTests/platform/linux/virtual/disable-spinvalidation/paint/invalidation/composited-table-row-expected.txt
        M third_party/WebKit/LayoutTests/platform/linux/virtual/disable-spinvalidation/paint/invalidation/table-collapsed-border-expected.txt
        M third_party/WebKit/LayoutTests/platform/linux/virtual/disable-spinvalidation/paint/invalidation/table/cached-change-cell-sl-border-color-expected.txt
        M third_party/WebKit/LayoutTests/platform/linux/virtual/disable-spinvalidation/paint/invalidation/table/resize-table-repaint-percent-size-cell-expected.txt

        M third_party/WebKit/LayoutTests/platform/mac/paint/invalidation/composited-table-row-expected.txt
        A third_party/WebKit/LayoutTests/platform/mac/paint/invalidation/table-cell-collapsed-border-expected.txt
        M third_party/WebKit/LayoutTests/platform/mac/paint/invalidation/table-collapsed-border-expected.txt
        M third_party/WebKit/LayoutTests/platform/mac/paint/invalidation/table/cached-change-cell-sl-border-color-expected.txt
        M third_party/WebKit/LayoutTests/platform/mac/paint/invalidation/table/resize-table-repaint-percent-size-cell-expected.txt

        M third_party/WebKit/LayoutTests/platform/mac/virtual/disable-spinvalidation/paint/invalidation/composited-table-row-expected.txt
        A third_party/WebKit/LayoutTests/platform/mac/virtual/disable-spinvalidation/paint/invalidation/table-cell-collapsed-border-expected.txt
        M third_party/WebKit/LayoutTests/platform/mac/virtual/disable-spinvalidation/paint/invalidation/table-collapsed-border-expected.txt
        M third_party/WebKit/LayoutTests/platform/mac/virtual/disable-spinvalidation/paint/invalidation/table/cached-change-cell-sl-border-color-expected.txt
        M third_party/WebKit/LayoutTests/platform/mac/virtual/disable-spinvalidation/paint/invalidation/table/resize-table-repaint-percent-size-cell-expected.txt

        M third_party/WebKit/LayoutTests/platform/win/paint/invalidation/composited-table-row-expected.txt
        M third_party/WebKit/LayoutTests/platform/win/paint/invalidation/table-cell-collapsed-border-expected.txt
        M third_party/WebKit/LayoutTests/platform/win/paint/invalidation/table-collapsed-border-expected.txt
        M third_party/WebKit/LayoutTests/platform/win/paint/invalidation/table/cached-change-cell-sl-border-color-expected.txt
        M third_party/WebKit/LayoutTests/platform/win/paint/invalidation/table/resize-table-repaint-percent-size-cell-expected.txt

        M third_party/WebKit/LayoutTests/platform/win/virtual/disable-spinvalidation/paint/invalidation/composited-table-row-expected.txt
        M third_party/WebKit/LayoutTests/platform/win/virtual/disable-spinvalidation/paint/invalidation/table-cell-collapsed-border-expected.txt
        M third_party/WebKit/LayoutTests/platform/win/virtual/disable-spinvalidation/paint/invalidation/table-collapsed-border-expected.txt
        M third_party/WebKit/LayoutTests/platform/win/virtual/disable-spinvalidation/paint/invalidation/table/cached-change-cell-sl-border-color-expected.txt
        M third_party/WebKit/LayoutTests/platform/win/virtual/disable-spinvalidation/paint/invalidation/table/resize-table-repaint-percent-size-cell-expected.txt

        D third_party/WebKit/LayoutTests/virtual/disable-spinvalidation/paint/invalidation/table-outer-border-expected.txt
        D third_party/WebKit/LayoutTests/virtual/disable-spinvalidation/paint/invalidation/table-section-repaint-expected.txt
        D third_party/WebKit/LayoutTests/virtual/disable-spinvalidation/paint/invalidation/table/border-collapse-change-separate-to-collapse-expected.txt
        D third_party/WebKit/LayoutTests/virtual/disable-spinvalidation/paint/invalidation/table/cached-change-row-border-width-expected.txt
        M third_party/WebKit/Source/core/layout/CollapsedBorderValue.h
        M third_party/WebKit/Source/core/layout/LayoutTable.cpp
        M third_party/WebKit/Source/core/layout/LayoutTable.h
        M third_party/WebKit/Source/core/layout/LayoutTableCell.cpp
        M third_party/WebKit/Source/core/layout/LayoutTableCell.h
        M third_party/WebKit/Source/core/layout/LayoutTableCellTest.cpp
        M third_party/WebKit/Source/core/layout/LayoutTableRow.cpp
        M third_party/WebKit/Source/core/layout/LayoutTableRow.h
        M third_party/WebKit/Source/core/paint/CollapsedBorderPainter.cpp
        M third_party/WebKit/Source/core/paint/CollapsedBorderPainter.h
        M third_party/WebKit/Source/core/paint/TableCellPaintInvalidator.cpp
        M third_party/WebKit/Source/core/paint/TableCellPaintInvalidator.h
        M third_party/WebKit/Source/core/paint/TableCellPainter.h
        M third_party/WebKit/Source/core/paint/TablePainter.cpp
        M third_party/WebKit/Source/core/paint/TablePainter.h
        M third_party/WebKit/Source/core/paint/TablePainterTest.cpp
        M third_party/WebKit/Source/core/paint/TableRowPainter.cpp
        M third_party/WebKit/Source/core/paint/TableRowPainter.h
        M third_party/WebKit/Source/core/paint/TableSectionPainter.cpp
        101 files changed, 2,254 insertions(+), 1,896 deletions(-)

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

        Gerrit-Project: chromium/src
        Gerrit-Branch: master
        Gerrit-MessageType: newpatchset
        Gerrit-Change-Id: I0d71c0f62c89b028739ea374e033a8e844822250
        Gerrit-Change-Number: 540178
        Gerrit-PatchSet: 11

        Xianzhu Wang (Gerrit)

        unread,
        Jun 25, 2017, 1:32:24 PM6/25/17
        to blink-revi...@chromium.org, blink-rev...@chromium.org, blink-...@chromium.org, eae+bli...@chromium.org, jchaffraix...@chromium.org, leviw+re...@chromium.org, mac-r...@chromium.org, pdr+renderi...@chromium.org, szager+la...@chromium.org, zol...@webkit.org, Chris harrelson, Commit Bot, chromium...@chromium.org, Dongseong Hwang

        Xianzhu Wang posted comments on this change.

        View Change

        Patch set 11:

        (3 comments)

          • Why did you modify this test rather than adding a new one?

          • Add a comment: otherwise TablePainter would have created the

          • Done

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

        Gerrit-Project: chromium/src
        Gerrit-Branch: master
        Gerrit-MessageType: comment
        Gerrit-Change-Id: I0d71c0f62c89b028739ea374e033a8e844822250
        Gerrit-Change-Number: 540178
        Gerrit-PatchSet: 11
        Gerrit-Owner: Xianzhu Wang <wangx...@chromium.org>
        Gerrit-Reviewer: Chris harrelson <chri...@chromium.org>
        Gerrit-Reviewer: Xianzhu Wang <wangx...@chromium.org>
        Gerrit-CC: Commit Bot <commi...@chromium.org>
        Gerrit-CC: Dongseong Hwang <dongseo...@intel.com>
        Gerrit-Comment-Date: Sun, 25 Jun 2017 17:32:20 +0000
        Gerrit-HasComments: Yes
        Gerrit-HasLabels: No

        Xianzhu Wang (Gerrit)

        unread,
        Jun 25, 2017, 1:32:31 PM6/25/17
        to blink-revi...@chromium.org, blink-rev...@chromium.org, blink-...@chromium.org, eae+bli...@chromium.org, jchaffraix...@chromium.org, leviw+re...@chromium.org, mac-r...@chromium.org, pdr+renderi...@chromium.org, szager+la...@chromium.org, zol...@webkit.org, Chris harrelson, Commit Bot, chromium...@chromium.org, Dongseong Hwang

        Xianzhu Wang posted comments on this change.

        View Change

        Patch set 11:Commit-Queue +2

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

          Gerrit-Project: chromium/src
          Gerrit-Branch: master
          Gerrit-MessageType: comment
          Gerrit-Change-Id: I0d71c0f62c89b028739ea374e033a8e844822250
          Gerrit-Change-Number: 540178
          Gerrit-PatchSet: 11
          Gerrit-Owner: Xianzhu Wang <wangx...@chromium.org>
          Gerrit-Reviewer: Chris harrelson <chri...@chromium.org>
          Gerrit-Reviewer: Xianzhu Wang <wangx...@chromium.org>
          Gerrit-CC: Commit Bot <commi...@chromium.org>
          Gerrit-CC: Dongseong Hwang <dongseo...@intel.com>
          Gerrit-Comment-Date: Sun, 25 Jun 2017 17:32:25 +0000
          Gerrit-HasComments: No
          Gerrit-HasLabels: Yes

          Commit Bot (Gerrit)

          unread,
          Jun 25, 2017, 1:32:37 PM6/25/17
          to Xianzhu Wang, blink-revi...@chromium.org, blink-rev...@chromium.org, blink-...@chromium.org, eae+bli...@chromium.org, jchaffraix...@chromium.org, leviw+re...@chromium.org, mac-r...@chromium.org, pdr+renderi...@chromium.org, szager+la...@chromium.org, zol...@webkit.org, Chris harrelson, chromium...@chromium.org, Dongseong Hwang

          Commit Bot posted comments on this change.

          View Change

          Patch set 11:

          CQ is trying da patch.

          Note: The patchset sent to CQ was uploaded after this CL was approved.
          "Edit commit message" https://chromium-review.googlesource.com/c/540178/11

          Follow status at: https://chromium-cq-status.appspot.com/v2/patch-status/chromium-review.googlesource.com/540178/11

          Bot data: {"action": "start", "triggered_at": "2017-06-25T17:32:25.0Z", "cq_cfg_revision": "e12d437dc7f395d72995b548c9dacf21b0b1526e", "revision": "9370add523fedc9f59d8345e9131a72f4eaa4f4f"}

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

            Gerrit-Project: chromium/src
            Gerrit-Branch: master
            Gerrit-MessageType: comment
            Gerrit-Change-Id: I0d71c0f62c89b028739ea374e033a8e844822250
            Gerrit-Change-Number: 540178
            Gerrit-PatchSet: 11
            Gerrit-Owner: Xianzhu Wang <wangx...@chromium.org>
            Gerrit-Reviewer: Chris harrelson <chri...@chromium.org>
            Gerrit-Reviewer: Xianzhu Wang <wangx...@chromium.org>
            Gerrit-CC: Commit Bot <commi...@chromium.org>
            Gerrit-CC: Dongseong Hwang <dongseo...@intel.com>
            Gerrit-Comment-Date: Sun, 25 Jun 2017 17:32:34 +0000
            Gerrit-HasComments: No
            Gerrit-HasLabels: No

            Commit Bot (Gerrit)

            unread,
            Jun 25, 2017, 2:33:11 PM6/25/17
            to Xianzhu Wang, blink-revi...@chromium.org, blink-rev...@chromium.org, blink-...@chromium.org, eae+bli...@chromium.org, jchaffraix...@chromium.org, leviw+re...@chromium.org, mac-r...@chromium.org, pdr+renderi...@chromium.org, szager+la...@chromium.org, zol...@webkit.org, Chris harrelson, chromium...@chromium.org, Dongseong Hwang

            Commit Bot posted comments on this change.

            View Change

            Patch set 11:

            Try jobs failed on following builders:
            linux_layout_tests_slimming_paint_v2 on master.tryserver.chromium.linux (JOB_FAILED, http://build.chromium.org/p/tryserver.chromium.linux/builders/linux_layout_tests_slimming_paint_v2/builds/5342)

            Bot data: {"action": "cancel", "triggered_at": "2017-06-25T17:32:25.0Z", "cq_cfg_revision": "e12d437dc7f395d72995b548c9dacf21b0b1526e", "revision": "9370add523fedc9f59d8345e9131a72f4eaa4f4f"}

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

              Gerrit-Project: chromium/src
              Gerrit-Branch: master
              Gerrit-MessageType: comment
              Gerrit-Change-Id: I0d71c0f62c89b028739ea374e033a8e844822250
              Gerrit-Change-Number: 540178
              Gerrit-PatchSet: 11
              Gerrit-Owner: Xianzhu Wang <wangx...@chromium.org>
              Gerrit-Reviewer: Chris harrelson <chri...@chromium.org>
              Gerrit-Reviewer: Xianzhu Wang <wangx...@chromium.org>
              Gerrit-CC: Commit Bot <commi...@chromium.org>
              Gerrit-CC: Dongseong Hwang <dongseo...@intel.com>
              Gerrit-Comment-Date: Sun, 25 Jun 2017 18:33:08 +0000
              Gerrit-HasComments: No
              Gerrit-HasLabels: No

              Xianzhu Wang (Gerrit)

              unread,
              Jun 25, 2017, 3:47:49 PM6/25/17
              to blink-revi...@chromium.org, blink-rev...@chromium.org, blink-...@chromium.org, eae+bli...@chromium.org, jchaffraix...@chromium.org, leviw+re...@chromium.org, mac-r...@chromium.org, pdr+renderi...@chromium.org, szager+la...@chromium.org, zol...@webkit.org, Chris harrelson, Commit Bot, chromium...@chromium.org, Dongseong Hwang

              Xianzhu Wang posted comments on this change.

              View Change

              Patch set 12:Commit-Queue +2

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

                Gerrit-Project: chromium/src
                Gerrit-Branch: master
                Gerrit-MessageType: comment
                Gerrit-Change-Id: I0d71c0f62c89b028739ea374e033a8e844822250
                Gerrit-Change-Number: 540178
                Gerrit-PatchSet: 12
                Gerrit-Owner: Xianzhu Wang <wangx...@chromium.org>
                Gerrit-Reviewer: Chris harrelson <chri...@chromium.org>
                Gerrit-Reviewer: Xianzhu Wang <wangx...@chromium.org>
                Gerrit-CC: Commit Bot <commi...@chromium.org>
                Gerrit-CC: Dongseong Hwang <dongseo...@intel.com>
                Gerrit-Comment-Date: Sun, 25 Jun 2017 19:47:46 +0000
                Gerrit-HasComments: No
                Gerrit-HasLabels: Yes

                Commit Bot (Gerrit)

                unread,
                Jun 25, 2017, 3:47:56 PM6/25/17
                to Xianzhu Wang, blink-revi...@chromium.org, blink-rev...@chromium.org, blink-...@chromium.org, eae+bli...@chromium.org, jchaffraix...@chromium.org, leviw+re...@chromium.org, mac-r...@chromium.org, pdr+renderi...@chromium.org, szager+la...@chromium.org, zol...@webkit.org, Chris harrelson, chromium...@chromium.org, Dongseong Hwang

                Commit Bot posted comments on this change.

                View Change

                Patch set 12:

                CQ is trying da patch.

                Note: The patchset sent to CQ was uploaded after this CL was approved.

                "Several SPv2 baselines" https://chromium-review.googlesource.com/c/540178/12

                Follow status at: https://chromium-cq-status.appspot.com/v2/patch-status/chromium-review.googlesource.com/540178/12

                Bot data: {"action": "start", "triggered_at": "2017-06-25T19:47:46.0Z", "cq_cfg_revision": "e12d437dc7f395d72995b548c9dacf21b0b1526e", "revision": "cb2c8e61bb85594cdedd16efb6926f8c158c9f63"}

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

                  Gerrit-Project: chromium/src
                  Gerrit-Branch: master
                  Gerrit-MessageType: comment
                  Gerrit-Change-Id: I0d71c0f62c89b028739ea374e033a8e844822250
                  Gerrit-Change-Number: 540178
                  Gerrit-PatchSet: 12
                  Gerrit-Owner: Xianzhu Wang <wangx...@chromium.org>
                  Gerrit-Reviewer: Chris harrelson <chri...@chromium.org>
                  Gerrit-Reviewer: Xianzhu Wang <wangx...@chromium.org>
                  Gerrit-CC: Commit Bot <commi...@chromium.org>
                  Gerrit-CC: Dongseong Hwang <dongseo...@intel.com>
                  Gerrit-Comment-Date: Sun, 25 Jun 2017 19:47:50 +0000
                  Gerrit-HasComments: No
                  Gerrit-HasLabels: No

                  Chris harrelson (Gerrit)

                  unread,
                  Jun 25, 2017, 4:05:50 PM6/25/17
                  to Xianzhu Wang, blink-revi...@chromium.org, blink-rev...@chromium.org, blink-...@chromium.org, eae+bli...@chromium.org, jchaffraix...@chromium.org, leviw+re...@chromium.org, mac-r...@chromium.org, pdr+renderi...@chromium.org, szager+la...@chromium.org, zol...@webkit.org, Commit Bot, chromium...@chromium.org, Dongseong Hwang

                  Chris harrelson posted comments on this change.

                  View Change

                  Patch set 12:

                  LGTM

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

                    Gerrit-Project: chromium/src
                    Gerrit-Branch: master
                    Gerrit-MessageType: comment
                    Gerrit-Change-Id: I0d71c0f62c89b028739ea374e033a8e844822250
                    Gerrit-Change-Number: 540178
                    Gerrit-PatchSet: 12
                    Gerrit-Owner: Xianzhu Wang <wangx...@chromium.org>
                    Gerrit-Reviewer: Chris harrelson <chri...@chromium.org>
                    Gerrit-Reviewer: Xianzhu Wang <wangx...@chromium.org>
                    Gerrit-CC: Commit Bot <commi...@chromium.org>
                    Gerrit-CC: Dongseong Hwang <dongseo...@intel.com>
                    Gerrit-Comment-Date: Sun, 25 Jun 2017 20:05:47 +0000
                    Gerrit-HasComments: No
                    Gerrit-HasLabels: No

                    Commit Bot (Gerrit)

                    unread,
                    Jun 25, 2017, 5:49:12 PM6/25/17
                    to Xianzhu Wang, blink-revi...@chromium.org, blink-rev...@chromium.org, blink-...@chromium.org, eae+bli...@chromium.org, jchaffraix...@chromium.org, leviw+re...@chromium.org, mac-r...@chromium.org, pdr+renderi...@chromium.org, szager+la...@chromium.org, zol...@webkit.org, Chris harrelson, chromium...@chromium.org, Dongseong Hwang

                    Commit Bot merged this change.

                    View Change

                    Approvals: Chris harrelson: Looks good to me Xianzhu Wang: Commit
                    Paint all collapsed borders of a row (or table) as one display item

                    In normal cases and SPv2, paint all collapsed borders of a row
                    as one display item. If any row or section is composited, let the
                    table paint all collapsed borders.

                    - This reduces number of display items for collapsed borders, which can
                    improve performance of painting and rasterization. This is a trade-off
                    between number of display items and area of re-rasterization.

                    - Simplify code for collapsed border painting and invalidation and fix
                    collapsed border invalidation issues when the row or the section is
                    composited.

                    - In the future we can implement more sophisticated collapsed border
                    algorithm to improve performance of common cases (e.g. paint the whole
                    top border of a row as one drawing operation).

                    Bug: 663208
                    Cq-Include-Trybots: master.tryserver.chromium.linux:linux_layout_tests_slimming_paint_v2
                    Change-Id: I0d71c0f62c89b028739ea374e033a8e844822250
                    Reviewed-on: https://chromium-review.googlesource.com/540178
                    Commit-Queue: Xianzhu Wang <wangx...@chromium.org>
                    Reviewed-by: Chris harrelson <chri...@chromium.org>
                    Cr-Commit-Position: refs/heads/master@{#482176}
                    ---
                    M third_party/WebKit/LayoutTests/FlagExpectations/enable-slimming-paint-v2
                    A third_party/WebKit/LayoutTests/flag-specific/enable-slimming-paint-v2/fast/table/border-collapsing/001-expected.png
                    A third_party/WebKit/LayoutTests/flag-specific/enable-slimming-paint-v2/fast/table/border-collapsing/001-vertical-expected.png

                    A third_party/WebKit/LayoutTests/flag-specific/enable-slimming-paint-v2/paint/invalidation/table-collapsed-border-expected.txt
                    M third_party/WebKit/LayoutTests/flag-specific/enable-slimming-paint-v2/paint/invalidation/table-outer-border-expected.txt
                    M third_party/WebKit/LayoutTests/flag-specific/enable-slimming-paint-v2/paint/invalidation/table-section-repaint-expected.txt
                    M third_party/WebKit/LayoutTests/flag-specific/enable-slimming-paint-v2/paint/invalidation/table/border-collapse-change-collapse-to-separate-expected.txt
                    M third_party/WebKit/LayoutTests/flag-specific/enable-slimming-paint-v2/paint/invalidation/table/border-collapse-change-separate-to-collapse-expected.txt
                    M third_party/WebKit/LayoutTests/flag-specific/enable-slimming-paint-v2/paint/invalidation/table/cached-69296-expected.txt
                    M third_party/WebKit/LayoutTests/flag-specific/enable-slimming-paint-v2/paint/invalidation/table/cached-cell-append-expected.txt
                    A third_party/WebKit/LayoutTests/flag-specific/enable-slimming-paint-v2/paint/invalidation/table/cached-change-cell-border-color-expected.txt
                    M third_party/WebKit/LayoutTests/flag-specific/enable-slimming-paint-v2/paint/invalidation/table/cached-change-cell-border-width-expected.txt
                    A third_party/WebKit/LayoutTests/flag-specific/enable-slimming-paint-v2/paint/invalidation/table/cached-change-cell-sl-border-color-expected.txt
                    A third_party/WebKit/LayoutTests/flag-specific/enable-slimming-paint-v2/paint/invalidation/table/cached-change-col-border-color-expected.txt
                    M third_party/WebKit/LayoutTests/flag-specific/enable-slimming-paint-v2/paint/invalidation/table/cached-change-col-border-width-expected.txt
                    A third_party/WebKit/LayoutTests/flag-specific/enable-slimming-paint-v2/paint/invalidation/table/cached-change-colgroup-border-color-expected.txt
                    M third_party/WebKit/LayoutTests/flag-specific/enable-slimming-paint-v2/paint/invalidation/table/cached-change-colgroup-border-width-expected.txt
                    M third_party/WebKit/LayoutTests/flag-specific/enable-slimming-paint-v2/paint/invalidation/table/cached-change-row-border-width-expected.txt
                    A third_party/WebKit/LayoutTests/flag-specific/enable-slimming-paint-v2/paint/invalidation/table/cached-change-table-border-color-expected.txt
                    M third_party/WebKit/LayoutTests/flag-specific/enable-slimming-paint-v2/paint/invalidation/table/cached-change-table-border-width-expected.txt
                    A third_party/WebKit/LayoutTests/flag-specific/enable-slimming-paint-v2/paint/invalidation/table/cached-change-tbody-border-color-expected.txt
                    M third_party/WebKit/LayoutTests/flag-specific/enable-slimming-paint-v2/paint/invalidation/table/cached-change-tbody-border-width-expected.txt
                    M third_party/WebKit/LayoutTests/flag-specific/enable-slimming-paint-v2/paint/invalidation/table/collapsed-border-cell-resize-expected.txt
                    M third_party/WebKit/LayoutTests/flag-specific/enable-slimming-paint-v2/paint/invalidation/table/resize-table-repaint-percent-size-cell-expected.txt

                    D third_party/WebKit/LayoutTests/paint/invalidation/table-cell-collapsed-border-expected.txt
                    M third_party/WebKit/LayoutTests/paint/invalidation/table-outer-border-expected.txt
                    M third_party/WebKit/LayoutTests/paint/invalidation/table-section-repaint-expected.txt
                    M third_party/WebKit/LayoutTests/paint/invalidation/table/border-collapse-change-collapse-to-separate-expected.txt
                    M third_party/WebKit/LayoutTests/paint/invalidation/table/border-collapse-change-separate-to-collapse-expected.txt
                    M third_party/WebKit/LayoutTests/paint/invalidation/table/cached-cell-append-expected.txt
                    M third_party/WebKit/LayoutTests/paint/invalidation/table/cached-change-cell-border-color-expected.txt
                    M third_party/WebKit/LayoutTests/paint/invalidation/table/cached-change-cell-border-width-expected.txt
                    M third_party/WebKit/LayoutTests/paint/invalidation/table/cached-change-col-border-color-expected.txt
                    M third_party/WebKit/LayoutTests/paint/invalidation/table/cached-change-col-border-width-expected.txt
                    M third_party/WebKit/LayoutTests/paint/invalidation/table/cached-change-colgroup-border-color-expected.txt
                    M third_party/WebKit/LayoutTests/paint/invalidation/table/cached-change-colgroup-border-width-expected.txt
                    M third_party/WebKit/LayoutTests/paint/invalidation/table/cached-change-row-border-color-expected.txt
                    M third_party/WebKit/LayoutTests/paint/invalidation/table/cached-change-row-border-width-expected.txt
                    M third_party/WebKit/LayoutTests/paint/invalidation/table/cached-change-table-border-color-expected.txt
                    M third_party/WebKit/LayoutTests/paint/invalidation/table/cached-change-table-border-width-expected.txt
                    M third_party/WebKit/LayoutTests/paint/invalidation/table/cached-change-tbody-border-color-expected.txt
                    M third_party/WebKit/LayoutTests/paint/invalidation/table/cached-change-tbody-border-width-expected.txt
                    A third_party/WebKit/LayoutTests/paint/invalidation/table/collapsed-border-cell-change-width-composited-cell-expected.html
                    A third_party/WebKit/LayoutTests/paint/invalidation/table/collapsed-border-cell-change-width-composited-cell.html
                    A third_party/WebKit/LayoutTests/paint/invalidation/table/collapsed-border-cell-change-width-composited-row-expected.html
                    A third_party/WebKit/LayoutTests/paint/invalidation/table/collapsed-border-cell-change-width-composited-row.html
                    A third_party/WebKit/LayoutTests/paint/invalidation/table/collapsed-border-cell-change-width-composited-section-expected.html
                    A third_party/WebKit/LayoutTests/paint/invalidation/table/collapsed-border-cell-change-width-composited-section.html
                    A third_party/WebKit/LayoutTests/paint/invalidation/table/collapsed-border-cell-change-width-expected.html
                    A third_party/WebKit/LayoutTests/paint/invalidation/table/collapsed-border-cell-change-width.html
                    M third_party/WebKit/LayoutTests/paint/invalidation/table/collapsed-border-cell-resize-expected.txt
                    M third_party/WebKit/LayoutTests/platform/linux/paint/invalidation/composited-table-row-expected.txt
                    D third_party/WebKit/LayoutTests/platform/linux/paint/invalidation/table-cell-collapsed-border-expected.txt
                    M third_party/WebKit/LayoutTests/platform/linux/paint/invalidation/table-collapsed-border-expected.txt
                    M third_party/WebKit/LayoutTests/platform/linux/paint/invalidation/table/cached-change-cell-sl-border-color-expected.txt
                    M third_party/WebKit/LayoutTests/platform/linux/paint/invalidation/table/resize-table-repaint-percent-size-cell-expected.txt

                    M third_party/WebKit/LayoutTests/platform/linux/virtual/disable-spinvalidation/paint/invalidation/composited-table-row-expected.txt
                    M third_party/WebKit/LayoutTests/platform/linux/virtual/disable-spinvalidation/paint/invalidation/table-collapsed-border-expected.txt
                    M third_party/WebKit/LayoutTests/platform/linux/virtual/disable-spinvalidation/paint/invalidation/table/cached-change-cell-sl-border-color-expected.txt
                    M third_party/WebKit/LayoutTests/platform/linux/virtual/disable-spinvalidation/paint/invalidation/table/resize-table-repaint-percent-size-cell-expected.txt

                    M third_party/WebKit/LayoutTests/platform/mac/paint/invalidation/composited-table-row-expected.txt
                    A third_party/WebKit/LayoutTests/platform/mac/paint/invalidation/table-cell-collapsed-border-expected.txt
                    M third_party/WebKit/LayoutTests/platform/mac/paint/invalidation/table-collapsed-border-expected.txt
                    M third_party/WebKit/LayoutTests/platform/mac/paint/invalidation/table/cached-change-cell-sl-border-color-expected.txt
                    M third_party/WebKit/LayoutTests/platform/mac/paint/invalidation/table/resize-table-repaint-percent-size-cell-expected.txt

                    M third_party/WebKit/LayoutTests/platform/mac/virtual/disable-spinvalidation/paint/invalidation/composited-table-row-expected.txt
                    A third_party/WebKit/LayoutTests/platform/mac/virtual/disable-spinvalidation/paint/invalidation/table-cell-collapsed-border-expected.txt
                    M third_party/WebKit/LayoutTests/platform/mac/virtual/disable-spinvalidation/paint/invalidation/table-collapsed-border-expected.txt
                    M third_party/WebKit/LayoutTests/platform/mac/virtual/disable-spinvalidation/paint/invalidation/table/cached-change-cell-sl-border-color-expected.txt
                    M third_party/WebKit/LayoutTests/platform/mac/virtual/disable-spinvalidation/paint/invalidation/table/resize-table-repaint-percent-size-cell-expected.txt

                    M third_party/WebKit/LayoutTests/platform/win/paint/invalidation/composited-table-row-expected.txt
                    M third_party/WebKit/LayoutTests/platform/win/paint/invalidation/table-cell-collapsed-border-expected.txt
                    M third_party/WebKit/LayoutTests/platform/win/paint/invalidation/table-collapsed-border-expected.txt
                    M third_party/WebKit/LayoutTests/platform/win/paint/invalidation/table/cached-change-cell-sl-border-color-expected.txt
                    M third_party/WebKit/LayoutTests/platform/win/paint/invalidation/table/resize-table-repaint-percent-size-cell-expected.txt

                    M third_party/WebKit/LayoutTests/platform/win/virtual/disable-spinvalidation/paint/invalidation/composited-table-row-expected.txt
                    M third_party/WebKit/LayoutTests/platform/win/virtual/disable-spinvalidation/paint/invalidation/table-cell-collapsed-border-expected.txt
                    M third_party/WebKit/LayoutTests/platform/win/virtual/disable-spinvalidation/paint/invalidation/table-collapsed-border-expected.txt
                    M third_party/WebKit/LayoutTests/platform/win/virtual/disable-spinvalidation/paint/invalidation/table/cached-change-cell-sl-border-color-expected.txt
                    M third_party/WebKit/LayoutTests/platform/win/virtual/disable-spinvalidation/paint/invalidation/table/resize-table-repaint-percent-size-cell-expected.txt

                    D third_party/WebKit/LayoutTests/virtual/disable-spinvalidation/paint/invalidation/table-outer-border-expected.txt
                    D third_party/WebKit/LayoutTests/virtual/disable-spinvalidation/paint/invalidation/table-section-repaint-expected.txt
                    D third_party/WebKit/LayoutTests/virtual/disable-spinvalidation/paint/invalidation/table/border-collapse-change-separate-to-collapse-expected.txt
                    D third_party/WebKit/LayoutTests/virtual/disable-spinvalidation/paint/invalidation/table/cached-change-row-border-width-expected.txt
                    M third_party/WebKit/Source/core/layout/CollapsedBorderValue.h
                    M third_party/WebKit/Source/core/layout/LayoutTable.cpp
                    M third_party/WebKit/Source/core/layout/LayoutTable.h
                    M third_party/WebKit/Source/core/layout/LayoutTableCell.cpp
                    M third_party/WebKit/Source/core/layout/LayoutTableCell.h
                    M third_party/WebKit/Source/core/layout/LayoutTableCellTest.cpp
                    M third_party/WebKit/Source/core/layout/LayoutTableRow.cpp
                    M third_party/WebKit/Source/core/layout/LayoutTableRow.h
                    M third_party/WebKit/Source/core/paint/CollapsedBorderPainter.cpp
                    M third_party/WebKit/Source/core/paint/CollapsedBorderPainter.h
                    M third_party/WebKit/Source/core/paint/TableCellPaintInvalidator.cpp
                    M third_party/WebKit/Source/core/paint/TableCellPaintInvalidator.h
                    M third_party/WebKit/Source/core/paint/TableCellPainter.h
                    M third_party/WebKit/Source/core/paint/TablePainter.cpp
                    M third_party/WebKit/Source/core/paint/TablePainter.h
                    M third_party/WebKit/Source/core/paint/TablePainterTest.cpp
                    M third_party/WebKit/Source/core/paint/TableRowPainter.cpp
                    M third_party/WebKit/Source/core/paint/TableRowPainter.h
                    M third_party/WebKit/Source/core/paint/TableSectionPainter.cpp
                    103 files changed, 2,258 insertions(+), 1,872 deletions(-)


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

                    Gerrit-Project: chromium/src
                    Gerrit-Branch: master
                    Gerrit-MessageType: merged
                    Gerrit-Change-Id: I0d71c0f62c89b028739ea374e033a8e844822250
                    Gerrit-Change-Number: 540178
                    Gerrit-PatchSet: 13
                    Gerrit-Owner: Xianzhu Wang <wangx...@chromium.org>
                    Gerrit-Reviewer: Chris harrelson <chri...@chromium.org>
                    Gerrit-Reviewer: Commit Bot <commi...@chromium.org>
                    Gerrit-Reviewer: Xianzhu Wang <wangx...@chromium.org>
                    Reply all
                    Reply to author
                    Forward
                    0 new messages