New issue
Advanced search Search tips
Note: Color blocks (like or ) mean that a user may not be available. Tooltip shows the reason.

Issue 603993 link

Starred by 1 user

Issue metadata

Status: Fixed
Owner:
Closed: May 2017
Cc:
Components:
EstimatedDays: ----
NextAction: ----
OS: Linux
Pri: 3
Type: Bug



Sign in to add a comment

Include visual effect overflow from cell in row

Project Member Reported by robhogan@chromium.org, Apr 15 2016

Issue description

See void LayoutTableRow::addOverflowFromCell(const LayoutTableCell* cell)
 
Owner: robho...@gmail.com
Status: Assigned (was: Unconfirmed)
Components: Blink>Layout

Comment 3 by robho...@gmail.com, Dec 14 2016

Owner: robhogan@chromium.org
Cc: robhogan@chromium.org
Owner: wangxianzhu@chromium.org
My CL fixing  bug 719106  will also fix this bug.
Project Member

Comment 5 by bugdroid1@chromium.org, May 9 2017

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/0391059128167dc8dc8fdbcbc7d3e3b81b7edefb

commit 0391059128167dc8dc8fdbcbc7d3e3b81b7edefb
Author: Xianzhu Wang <wangxianzhu@chromium.org>
Date: Tue May 09 03:49:28 2017

Fix LayoutTableRow::AddOverflowFromCell()

This fixes the following problems:
1. Incorrect offset of contents overflow from cell:
   This was changed in https://codereview.chromium.org/2786463004
   Both the old version and the new version are incorrect:
   Should adjust by the difference of locations of row and cell.
2. Missing cell overflow propagating to row when the cell doesn't
   span rows.
3. Checking of HasBackground made row's visual overflow depend
   on the existence of background. Just remove the check to avoid
   tricky logic which otherwise would be required to invalidate row's
   overflow on background existence change.
4. Cell generates not only visual overflow, but also layout overflow
   (e.g. when there is a relative-positioned child). This fix doesn't
   change behavior because row doesn't use the layout overflow.
   However, this makes it possible to optimize LayoutTableSection::
   ComputeOverflowFromCell() to just accumulate overflows from rows
   instead of all cells. The optimization will be in the next CL.

BUG= 719106 , 603993 , 646015 
R=wkorman@chromium.org

Review-Url: https://codereview.chromium.org/2861653006 .
Cr-Commit-Position: refs/heads/master@{#470166}

[modify] https://crrev.com/0391059128167dc8dc8fdbcbc7d3e3b81b7edefb/third_party/WebKit/LayoutTests/TestExpectations
[delete] https://crrev.com/7f0b7f49f8d74428d8aa688576307738801689ac/third_party/WebKit/LayoutTests/paint/invalidation/hover-invalidation-table-expected.html
[delete] https://crrev.com/7f0b7f49f8d74428d8aa688576307738801689ac/third_party/WebKit/LayoutTests/paint/invalidation/hover-invalidation-table-expected.txt
[delete] https://crrev.com/7f0b7f49f8d74428d8aa688576307738801689ac/third_party/WebKit/LayoutTests/paint/invalidation/hover-invalidation-table.html
[add] https://crrev.com/0391059128167dc8dc8fdbcbc7d3e3b81b7edefb/third_party/WebKit/LayoutTests/paint/invalidation/table/row-change-background-rowspan-cell-expected.html
[add] https://crrev.com/0391059128167dc8dc8fdbcbc7d3e3b81b7edefb/third_party/WebKit/LayoutTests/paint/invalidation/table/row-change-background-rowspan-cell-expected.txt
[add] https://crrev.com/0391059128167dc8dc8fdbcbc7d3e3b81b7edefb/third_party/WebKit/LayoutTests/paint/invalidation/table/row-change-background-rowspan-cell.html
[delete] https://crrev.com/7f0b7f49f8d74428d8aa688576307738801689ac/third_party/WebKit/LayoutTests/platform/linux/virtual/disable-spinvalidation/paint/invalidation/hover-invalidation-table-expected.txt
[delete] https://crrev.com/7f0b7f49f8d74428d8aa688576307738801689ac/third_party/WebKit/LayoutTests/platform/mac-mac10.11/virtual/disable-spinvalidation/paint/invalidation/hover-invalidation-table-expected.txt
[delete] https://crrev.com/7f0b7f49f8d74428d8aa688576307738801689ac/third_party/WebKit/LayoutTests/platform/mac-retina/virtual/disable-spinvalidation/paint/invalidation/hover-invalidation-table-expected.txt
[delete] https://crrev.com/7f0b7f49f8d74428d8aa688576307738801689ac/third_party/WebKit/LayoutTests/platform/win7/virtual/disable-spinvalidation/paint/invalidation/hover-invalidation-table-expected.txt
[modify] https://crrev.com/0391059128167dc8dc8fdbcbc7d3e3b81b7edefb/third_party/WebKit/Source/core/layout/LayoutTableRow.cpp
[modify] https://crrev.com/0391059128167dc8dc8fdbcbc7d3e3b81b7edefb/third_party/WebKit/Source/core/layout/LayoutTableRowTest.cpp

Status: Fixed (was: Assigned)
Project Member

Comment 7 by bugdroid1@chromium.org, May 11 2017

Labels: merge-merged-3071
The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/00be1dbf48663cdc4d867913f9420d2500c73c10

commit 00be1dbf48663cdc4d867913f9420d2500c73c10
Author: wangxianzhu <wangxianzhu@chromium.org>
Date: Thu May 11 22:37:33 2017

Fix LayoutTableRow::AddOverflowFromCell()

This fixes the following problems:
1. Incorrect offset of contents overflow from cell:
   This was changed in https://codereview.chromium.org/2786463004
   Both the old version and the new version are incorrect:
   Should adjust by the difference of locations of row and cell.
2. Missing cell overflow propagating to row when the cell doesn't
   span rows.
3. Checking of HasBackground made row's visual overflow depend
   on the existence of background. Just remove the check to avoid
   tricky logic which otherwise would be required to invalidate row's
   overflow on background existence change.
4. Cell generates not only visual overflow, but also layout overflow
   (e.g. when there is a relative-positioned child). This fix doesn't
   change behavior because row doesn't use the layout overflow.
   However, this makes it possible to optimize LayoutTableSection::
   ComputeOverflowFromCell() to just accumulate overflows from rows
   instead of all cells. The optimization will be in the next CL.

BUG= 719106 , 603993 , 646015 
R=wkorman@chromium.org
TBR=wangxianzhu@chromium.org
NOTRY=true
NOPRESUBMIT=true

Review-Url: https://codereview.chromium.org/2861653006 .
Cr-Original-Commit-Position: refs/heads/master@{#470166}
Review-Url: https://codereview.chromium.org/2880663002
Cr-Commit-Position: refs/branch-heads/3071@{#520}
Cr-Branched-From: a106f0abbf69dad349d4aaf4bcc4f5d376dd2377-refs/heads/master@{#464641}

[modify] https://crrev.com/00be1dbf48663cdc4d867913f9420d2500c73c10/third_party/WebKit/LayoutTests/TestExpectations
[delete] https://crrev.com/37b22ee298b3cde4c44ffc5ab83449c26b0dfe59/third_party/WebKit/LayoutTests/paint/invalidation/hover-invalidation-table-expected.html
[delete] https://crrev.com/37b22ee298b3cde4c44ffc5ab83449c26b0dfe59/third_party/WebKit/LayoutTests/paint/invalidation/hover-invalidation-table-expected.txt
[delete] https://crrev.com/37b22ee298b3cde4c44ffc5ab83449c26b0dfe59/third_party/WebKit/LayoutTests/paint/invalidation/hover-invalidation-table.html
[add] https://crrev.com/00be1dbf48663cdc4d867913f9420d2500c73c10/third_party/WebKit/LayoutTests/paint/invalidation/table/row-change-background-rowspan-cell-expected.html
[add] https://crrev.com/00be1dbf48663cdc4d867913f9420d2500c73c10/third_party/WebKit/LayoutTests/paint/invalidation/table/row-change-background-rowspan-cell-expected.txt
[add] https://crrev.com/00be1dbf48663cdc4d867913f9420d2500c73c10/third_party/WebKit/LayoutTests/paint/invalidation/table/row-change-background-rowspan-cell.html
[delete] https://crrev.com/37b22ee298b3cde4c44ffc5ab83449c26b0dfe59/third_party/WebKit/LayoutTests/platform/linux/virtual/disable-spinvalidation/paint/invalidation/hover-invalidation-table-expected.txt
[delete] https://crrev.com/37b22ee298b3cde4c44ffc5ab83449c26b0dfe59/third_party/WebKit/LayoutTests/platform/mac-mac10.11/virtual/disable-spinvalidation/paint/invalidation/hover-invalidation-table-expected.txt
[delete] https://crrev.com/37b22ee298b3cde4c44ffc5ab83449c26b0dfe59/third_party/WebKit/LayoutTests/platform/mac-retina/virtual/disable-spinvalidation/paint/invalidation/hover-invalidation-table-expected.txt
[delete] https://crrev.com/37b22ee298b3cde4c44ffc5ab83449c26b0dfe59/third_party/WebKit/LayoutTests/platform/win7/virtual/disable-spinvalidation/paint/invalidation/hover-invalidation-table-expected.txt
[modify] https://crrev.com/00be1dbf48663cdc4d867913f9420d2500c73c10/third_party/WebKit/Source/core/layout/LayoutTableRow.cpp
[modify] https://crrev.com/00be1dbf48663cdc4d867913f9420d2500c73c10/third_party/WebKit/Source/core/layout/LayoutTableRowTest.cpp

Sign in to add a comment