New issue
Advanced search Search tips

Issue 614130 link

Starred by 1 user

Issue metadata

Status: Available
Owner: ----
Cc:
Components:
EstimatedDays: ----
NextAction: ----
OS: Android
Pri: 2
Type: Compat



Sign in to add a comment

td boundaries with a background color render a fine line on Android Chrome

Reported by joh...@gmail.com, May 23 2016

Issue description

Example URL:

Steps to reproduce the problem:
View a table with td boundaries and a td background color differing from the table background color on Android Chrome. The attached pared-down html is sufficient.

What is the expected behavior?
A solid table color, as rendered by other browsers (including Chrome on non-Android).

What went wrong?
The background color of the table (or <body> or whatever is behind it) leaks through with a 1 pixel wide line.  No matter how much you zoom in, it remains only 1 pixel wide, though it occasionally vanishes entirely at certain levels of zoom.

Does it occur on multiple sites: N/A

Is it a problem with a plugin? N/A 

Did this work before? N/A 

Does this work in other browsers? N/A 

Chrome version: 50.0.2661.89  Channel: n/a
OS Version: 5.1.1
Flash Version: Shockwave Flash 21.0 r0

The https://www.google.com/webmasters/tools/mobile-friendly/ site is able to reproduce this bug sometimes, and will show the broken fine lines under certain conditions. (Seems pseudo-random related to the size of the table, td, etc.)
 
test.html
287 bytes View Download
Components: Blink>Paint
Cc: wangxianzhu@chromium.org
Status: Available (was: Unconfirmed)
Confirmed. Not sure why it's only happening on Android, however. In device emulation it shows up super obviously. Are we painting the td background rect assuming there's a border?
Owner: chrishtr@chromium.org
Status: Assigned (was: Available)
This may be fixed by crbug.com/485650. Assigning to myself to confirm.
crbug.com/485650 does not fix this issue.
Owner: ----
Status: Available (was: Assigned)
Project Member

Comment 6 by sheriffbot@chromium.org, Mar 9 2018

Labels: Hotlist-Recharge-Cold
Status: Untriaged (was: Available)
This issue has been Available for over a year. If it's no longer important or seems unlikely to be fixed, please consider closing it out. If it is important, please re-triage the issue.

Sorry for the inconvenience if the bug really should have been left as Available. If you change it back, also remove the "Hotlist-Recharge-Cold" label.

For more details visit https://www.chromium.org/issue-tracking/autotriage - Your friendly Sheriffbot
Cc: -wangxianzhu@chromium.org
Owner: wangxianzhu@chromium.org
Status: Assigned (was: Untriaged)
Will take a quick look. Seems related to page scale (not device scale).
Cc: wangxianzhu@chromium.org chrishtr@chromium.org fmalita@chromium.org
Components: Internals>Compositing>Rasterization
Owner: ----
Status: Available (was: Assigned)
I debugged with the attached minimized test case using devtools mobile emulation. Based on paint verbose logging, paint results seem all correct:

            {
              "method": "drawRect",
              "params": {
                "rect": {
                  "left": 8,
                  "top": 8,
                  "right": 972,
                  "bottom": 60
                },
                "paint": {
                  "textSize": 12,
                  "textScaleX": 1,
                  "textSkewX": 0,
                  "color": "#FFFF0000",
                  "strokeWidth": 0,
                  "strokeMiter": 4,
                  "flags": "AntiAlias",
                  "filterLevel": "Low",
                  "textAlign": "Left",
                  "strokeCap": "Butt",
                  "strokeJoin": "Miter",
                  "styleName": "Fill",
                  "textEncoding": "UTF-8",
                  "hinting": "Normal"
                }
              }
            },
            {
              "method": "drawRect",
              "params": {
                "rect": {
                  "left": 8,
                  "top": 8,
                  "right": 972,
                  "bottom": 60
                },
                "paint": {
                  "textSize": 12,
                  "textScaleX": 1,
                  "textSkewX": 0,
                  "color": "#FF808080",
                  "strokeWidth": 0,
                  "strokeMiter": 4,
                  "flags": "AntiAlias",
                  "filterLevel": "Low",
                  "textAlign": "Left",
                  "strokeCap": "Butt",
                  "strokeJoin": "Miter",
                  "styleName": "Fill",
                  "textEncoding": "UTF-8",
                  "hinting": "Normal"
                }
              }
            }

And the visual rects are also correct.

The effect seems a result of rasterization of anti-aliased sub-physical-pixels along the edge of the rectangles, when page-scale-factor * device-scale-factor is not integral. Is this another failure of bleed avoidance?

Comment 9 by enne@chromium.org, Mar 12 2018

This sounds a lot like https://bugs.chromium.org/p/chromium/issues/detail?id=431480#c5.  At least in the past, tables haven't handled subpixel positioning for spec reasons.
This bug seems different from  bug 431480  and not related to subpixel table layout because
- all the painting commands shown in #c8 are using integral geometries;
- the bug doesn't occur when adjusting zoom factor;
- the bug occurs on mobile devices and mobile emulation (which have page scale when displaying desktop pages).

Based on observation with mobile emulation, I think the hair line occurs because when we raster the td background, the geometries are not integral and the edge pixels are blended with the pixels of the table background, showing with a red hue.

Sign in to add a comment