New issue
Advanced search Search tips

Issue 713680 link

Starred by 1 user

Issue metadata

Status: Fixed
Owner:
Closed: Apr 2017
Cc:
Components:
EstimatedDays: ----
NextAction: ----
OS: Linux , Windows , Mac
Pri: 3
Type: Bug-Regression



Sign in to add a comment

Table with `border-collapse: collapse;` and `border-color: currentColor;` does not change when color is updated

Reported by fred...@frodlund.se, Apr 20 2017

Issue description

UserAgent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10_12_4) AppleWebKit/603.1.30 (KHTML, like Gecko) Version/10.1 Safari/603.1.30

Steps to reproduce the problem:
1. Create a `<table>` element
2. Set CSS properties `border-collapse: collapse;` on `table` selector
3. Set `border-color: currentColor;` on `td` selector (also implied is at least `border-width: 1px` and `border-style: solid` to actually achieve a visible border)
4. Change `color` property on parent either programatically via JavaScript or via the inspector tools in Chrome 

What is the expected behavior?
`border-color` should change to current value of parent `color`

What went wrong?
`border-color` stays the same as before.

Did this work before? N/A 

Does this work in other browsers? Yes

Chrome version: 58.0.3029.81  Channel: n/a
OS Version: OS X 10.12.4
Flash Version: 

An update can be forced with a repaint. The reduced test case covers this. Tables that has no `border-collapse` defined is not affected by this bug.
 
table-border-color-reduced-test-case.html
2.6 KB View Download
Cc: ligim...@chromium.org
Labels: Prestable-58.0.3029.81 Needs-Triage-M58 Needs-Bisect
Labels: -Type-Bug -Pri-2 -Needs-Bisect -Needs-Triage-M58 has-Bisect M-60 OS-Linux OS-Windows Pri-1 Type-Bug-Regression
Owner: chrishtr@chromium.org
Status: Assigned (was: Unconfirmed)
Able to reproduce the issue on windows 7, Ubuntu 14.04 and Mac 10.12.4 using chrome version 58.0.3029.81 and canary 60.0.3073.0.
This is regression issue broken in M39.Please find the bisect information as below

Narrow bisect::
Good:: 39.0.2150.0  --  (build revision 293676)
Bad:: 39.0.2151.0   --  (build revision 293895)

CHANGELOG URL:  https://chromium.googlesource.com/chromium/src/+log/7543ca10a7ad464cfb8a7ee927f089298ff0eb78..5e617acfcbe4287342fbd7351039b443fec9d6ee

Blink roll::
https://chromium.googlesource.com/chromium/blink/+log/86ce4af33b763b24cf2365d8cd19a2ebade676c3..09bd97099a92cf983363f8db6c6c2178b0cd7c6a

Possible suspect::
https://chromium.googlesource.com/chromium/blink/+/a6e2ec3764e797d97b3c7769c1ab88ffd89cb93f

chrishtr@ Could you please look into this issue if it is related to your change,else please help us in finding the appropriate owner for this issue.

Thanks,
Labels: Needs-triage-Mobile
Labels: -Pri-1 Pri-3
Owner: wangxianzhu@chromium.org

Comment 5 by shend@chromium.org, Apr 23 2017

Labels: Update-Weekly
Project Member

Comment 6 by bugdroid1@chromium.org, Apr 25 2017

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

commit 5ce0f7d183fa6870c877696c6ef1302a945f2e5e
Author: wangxianzhu <wangxianzhu@chromium.org>
Date: Tue Apr 25 08:25:14 2017

Invalidate border/outline on color change only if they use current color

The new ComputedStyle::HasBorderColorReferencingCurrentColor() is also
useful for fixing  crbug.com/713680 .

BUG= 713680 

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

[add] https://crrev.com/5ce0f7d183fa6870c877696c6ef1302a945f2e5e/third_party/WebKit/LayoutTests/paint/invalidation/border-current-color-expected.html
[add] https://crrev.com/5ce0f7d183fa6870c877696c6ef1302a945f2e5e/third_party/WebKit/LayoutTests/paint/invalidation/border-current-color-expected.txt
[add] https://crrev.com/5ce0f7d183fa6870c877696c6ef1302a945f2e5e/third_party/WebKit/LayoutTests/paint/invalidation/border-current-color.html
[modify] https://crrev.com/5ce0f7d183fa6870c877696c6ef1302a945f2e5e/third_party/WebKit/LayoutTests/paint/invalidation/inline-outline-repaint-2-expected.txt
[add] https://crrev.com/5ce0f7d183fa6870c877696c6ef1302a945f2e5e/third_party/WebKit/LayoutTests/paint/invalidation/outline-current-color-expected.html
[add] https://crrev.com/5ce0f7d183fa6870c877696c6ef1302a945f2e5e/third_party/WebKit/LayoutTests/paint/invalidation/outline-current-color-expected.txt
[add] https://crrev.com/5ce0f7d183fa6870c877696c6ef1302a945f2e5e/third_party/WebKit/LayoutTests/paint/invalidation/outline-current-color.html
[modify] https://crrev.com/5ce0f7d183fa6870c877696c6ef1302a945f2e5e/third_party/WebKit/LayoutTests/paint/invalidation/table/cached-69296-expected.txt
[modify] https://crrev.com/5ce0f7d183fa6870c877696c6ef1302a945f2e5e/third_party/WebKit/LayoutTests/platform/linux/paint/invalidation/single-line-cells-repeating-thead-break-inside-on-thead-only-expected.txt
[modify] https://crrev.com/5ce0f7d183fa6870c877696c6ef1302a945f2e5e/third_party/WebKit/LayoutTests/platform/linux/virtual/disable-spinvalidation/paint/invalidation/single-line-cells-repeating-thead-break-inside-on-thead-only-expected.txt
[rename] https://crrev.com/5ce0f7d183fa6870c877696c6ef1302a945f2e5e/third_party/WebKit/LayoutTests/platform/mac/paint/invalidation/single-line-cells-repeating-thead-break-inside-on-thead-only-expected.txt
[modify] https://crrev.com/5ce0f7d183fa6870c877696c6ef1302a945f2e5e/third_party/WebKit/LayoutTests/platform/mac/virtual/disable-spinvalidation/paint/invalidation/inline-outline-repaint-2-expected.txt
[copy] https://crrev.com/5ce0f7d183fa6870c877696c6ef1302a945f2e5e/third_party/WebKit/LayoutTests/platform/mac/virtual/disable-spinvalidation/paint/invalidation/single-line-cells-repeating-thead-break-inside-on-thead-only-expected.txt
[modify] https://crrev.com/5ce0f7d183fa6870c877696c6ef1302a945f2e5e/third_party/WebKit/LayoutTests/platform/win/paint/invalidation/single-line-cells-repeating-thead-break-inside-on-thead-only-expected.txt
[rename] https://crrev.com/5ce0f7d183fa6870c877696c6ef1302a945f2e5e/third_party/WebKit/LayoutTests/platform/win/virtual/disable-spinvalidation/paint/invalidation/inline-outline-repaint-2-expected.txt
[modify] https://crrev.com/5ce0f7d183fa6870c877696c6ef1302a945f2e5e/third_party/WebKit/LayoutTests/platform/win/virtual/disable-spinvalidation/paint/invalidation/single-line-cells-repeating-thead-break-inside-on-thead-only-expected.txt
[delete] https://crrev.com/b1d346cc88d41c6a5b1dd5ac47327c9ee7c6d7e7/third_party/WebKit/LayoutTests/virtual/disable-spinvalidation/paint/invalidation/single-line-cells-repeating-thead-break-inside-on-thead-only-expected.txt
[modify] https://crrev.com/5ce0f7d183fa6870c877696c6ef1302a945f2e5e/third_party/WebKit/Source/core/layout/LayoutObject.cpp
[modify] https://crrev.com/5ce0f7d183fa6870c877696c6ef1302a945f2e5e/third_party/WebKit/Source/core/style/BorderData.h
[modify] https://crrev.com/5ce0f7d183fa6870c877696c6ef1302a945f2e5e/third_party/WebKit/Source/core/style/ComputedStyle.h
[modify] https://crrev.com/5ce0f7d183fa6870c877696c6ef1302a945f2e5e/third_party/WebKit/Source/core/style/ComputedStyleTest.cpp

Project Member

Comment 7 by bugdroid1@chromium.org, Apr 25 2017

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

commit ed44ef1f1961716727c328153fd34b97fe8f9642
Author: wangxianzhu <wangxianzhu@chromium.org>
Date: Tue Apr 25 17:09:59 2017

Invalidate collapsed borders using currentColor when color changes

Also remove CollapsedBorderValue::color_is_current_color_, because
we always create CollapseBorderValue with resolved color.

BUG= 713680 
CQ_INCLUDE_TRYBOTS=master.tryserver.chromium.linux:linux_layout_tests_slimming_paint_v2

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

[add] https://crrev.com/ed44ef1f1961716727c328153fd34b97fe8f9642/third_party/WebKit/LayoutTests/paint/invalidation/table/collapsed-border-current-color-expected.html
[add] https://crrev.com/ed44ef1f1961716727c328153fd34b97fe8f9642/third_party/WebKit/LayoutTests/paint/invalidation/table/collapsed-border-current-color.html
[modify] https://crrev.com/ed44ef1f1961716727c328153fd34b97fe8f9642/third_party/WebKit/Source/core/layout/LayoutTable.cpp
[modify] https://crrev.com/ed44ef1f1961716727c328153fd34b97fe8f9642/third_party/WebKit/Source/core/layout/LayoutTableBoxComponent.cpp
[modify] https://crrev.com/ed44ef1f1961716727c328153fd34b97fe8f9642/third_party/WebKit/Source/core/layout/LayoutTableBoxComponent.h
[modify] https://crrev.com/ed44ef1f1961716727c328153fd34b97fe8f9642/third_party/WebKit/Source/core/layout/LayoutTableCell.cpp
[modify] https://crrev.com/ed44ef1f1961716727c328153fd34b97fe8f9642/third_party/WebKit/Source/core/layout/LayoutTableCol.cpp
[modify] https://crrev.com/ed44ef1f1961716727c328153fd34b97fe8f9642/third_party/WebKit/Source/core/layout/LayoutTableRow.cpp
[modify] https://crrev.com/ed44ef1f1961716727c328153fd34b97fe8f9642/third_party/WebKit/Source/core/layout/LayoutTableSection.cpp
[modify] https://crrev.com/ed44ef1f1961716727c328153fd34b97fe8f9642/third_party/WebKit/Source/core/paint/TableCellPainter.cpp
[modify] https://crrev.com/ed44ef1f1961716727c328153fd34b97fe8f9642/third_party/WebKit/Source/core/style/CollapsedBorderValue.h

Components: Blink>Paint>Invalidation
Status: Fixed (was: Assigned)

Sign in to add a comment