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

Issue 661244 link

Starred by 2 users

Issue metadata

Status: Fixed
Owner:
Last visit > 30 days ago
Closed: Nov 2016
Cc:
Components:
EstimatedDays: ----
NextAction: ----
OS: Mac
Pri: 1
Type: Bug-Regression



Sign in to add a comment

Long icons disappear / double paint

Reported by bencode...@gmail.com, Nov 1 2016

Issue description

Chrome Version       : 54.0.2840.87 (64-bit)
URLs (if applicable) : http://codepen.io/BenCodeZen/pen/NRQYvz/
Other browsers tested:
    Firefox: 49.0.2 OK

What steps will reproduce the problem?
(1) Go to http://codepen.io/BenCodeZen/pen/NRQYvz/ on a retina screen on a non-mobile device
(2) Once the page renders, use Web Inspector to set a padding on div.icon-container and manually increase it using the up arrows. 
(3) You should see the icon cut out and then double paint at a certain point. I've attached a GIF to show what I'm seeing.

What is the expected result?

The before element should simply keep padding and display within the confines of the element that Chrome has clearly allotted for it.

What happens instead?

The icon can disappear at certain points of even double paint on the browser.

Please provide any additional information below. Attach a screenshot if
possible.

 
Attaching GIF again in case it wasn't attached in the original ticket
duplicate-icon.gif
533 KB View Download

Comment 2 by stile...@gmail.com, Nov 1 2016

I want to add also to this bug, it is not only affected by padding, although that's really the only way we can show it visually on here. Based on content that is loaded into the page.. Ads, embeds, anything that loads after the DOM, tends to create odd layout inconsistencies with the icon (it either disappears, gets duplicated, or ends up somewhere else on the page completely). The inspector has no knowledge of what the icon is doing.
Components: Blink>DOM
Labels: Needs-Feedback
Unable to reproduce the issue on windows 7, Linux Ubuntu 14.04 and Mac 10.12 Seirra retina display with the below steps

1. Go to URL http://codepen.io/BenCodeZen/pen/NRQYvz/
2. Increase the padding of div.icon-container
3.Not observed any cut or renderer issue of the text.

Please find the attached screen cast and confirm anything missed here.

Thanks,


661244.mp4
3.8 MB View Download
Thanks for your response kavvaru! Interestingly enough, I attempted to reproduce it on CodePen as well and was unsuccessful for some odd reason. While I wish it was a random bug, I was able to still duplicate it on the live page.

I've attached a screencast of it for you to see both:

(1) The icon "disappears" after the ad loads and shifts the layout of the page. Chrome is definitely still allocating the correct space for the icon, but the paint disappears for that instance. (If you resize the window or change something else, it'll pop back up again).

(2) With no ad loading, it appears to be just fine, but then if you follow the similar steps to before where we add inline padding to the div.branding element containing the icon, you'll see that it clips and "disappears" as well.

Let me know if you have any trouble replicating it!
Alternative Bug Demo.mp4
3.5 MB View Download
I am attaching a zip file and a screenshot with similar issue for Retina Displays Macbook Pro, Sierra, 15 inch (reproducible consistently), MacbookPro 13 inch (intermittently).

Steps to reproduce:
1) Open 'index.html' using Google Chrome Version 54.0.2840.71 (in the zipped folder attached)
2) Hit Ctrl+ to zoom in or increase the font-size on the icon 

I am using the fix suggested in this post as a workaround:
http://blog.getpostman.com/2015/01/23/ui-repaint-issue-on-chrome/
font-render-issue.png
180 KB View Download
font-rendering-issues.zip
8.9 KB Download

Comment 7 by stile...@gmail.com, Nov 3 2016

I am able to reproduce the same thing (even on non-retina). I'm going to read up on your workaround and see if it can resolve either issue. Thank you! Will report back.


font-clipping.png
23.0 KB View Download

Comment 8 by tkent@chromium.org, Nov 4 2016

Components: -Blink>DOM Blink>Paint
Components: Platform>DevTools
Labels: M-54 OS-Mac
Unable to reproduce the issue on Macbook Pro, Sierra using 54.0.2840.87.
Could you please take a look into the screen cast and help if any thing is missed.
661244_Nov_4.mp4
3.0 MB View Download
NextAction: 2016-11-18
@durga - Thanks for your screencast! As far as the differences, here's what I noticed:

(1) I'm currently on OS X El Capitan v10.11.6. I've attached a screenshot of my specs, but as far as people I know who have been able to reproduce it, none of them are on Sierra. One of them is on Yosemite.

(2) Are you testing it on the retina display of the laptop or was that screencast on an external monitor?

(3) Can you try reloading it without ads blocked to see if the logo disappears?




Screen Shot 2016-11-04 at 11.23.20 AM.png
59.8 KB View Download
Components: -Platform>DevTools

Comment 13 Deleted

Components: -Blink>Paint Internals>Compositing
Labels: -Needs-Feedback Needs-Bisect
NextAction: ----
Status: Untriaged (was: Unconfirmed)
I can reproduce on Canary 56.0.2913.3, MacOS 10.11.6, using the zip file from comment #6. The behavior matches that described by the other reporters.

I cannot reproduce in M55.

The cut-off points for painting, and the replication of painting, strongly indicates a problem with tile raster or tile management. The crop is always on a tile boundary and the duplication always shows identical content in 2 tiles, offset at the same place in the tile.

I'm passing this to the compositing team, as that appears to be where the problem lies.

A bisect between m55 and Canary might reveal the problem. Was anything in M54 rolled out for M55 then back in to M56?
Labels: -Type-Bug -Pri-3 -M-54 -Needs-Bisect hasbisect-per-revision M-56 Pri-1 Type-Bug-Regression
Owner: ericrk@chromium.org
Status: Assigned (was: Untriaged)
Able to reproduce the issue on MacBook Pro (Retina, 15-inch, Mid 2014) using latest canary #56.0.2916.0 but unable to reproduce the same using chrome reported version #54.0.2840.87 and latest stable #54.0.2840.98.

Steps followed to reproduce the issue are as follows:
-----------
1. Added adblock extension to chrome.
2. Navigated to URL: http://www.politico.com/playbook-plus#
3. Paused adblock extension.
4. Once the page rendered, then used Web Inspector to set a padding on div.icon-container and manually increased it using the up arrows.
5. Observed that logo disappeared at certain points.

Bisect Information:
=====================
Good build: 56.0.2899.0	  Revision Range(426989)
Bad Build : 56.0.2901.0	  Revision Range(427541)

Change Log URL: 
https://chromium.googlesource.com/chromium/src/+log/26ce312cc8b3f53dc76df85e45c17bba93685fc3..43de8ce7588866b2ce0eefa9ccf9f570c22f1df7

From the above change log suspecting below change

Review url: https://codereview.chromium.org/2447163002

ericrk@ - Could you please check whether this is caused with respect to your change, if not please help us in assigning it to the right owner.

Thanks...!!
Status: Started (was: Assigned)
I can repro using the attached file - thanks for the detailed repro steps. investigating.
Cc: ericrk@chromium.org
Components: -Internals>Compositing Internals>GPU>Rasterization
Owner: bsalo...@google.com
Status: Assigned (was: Started)
It looks like there's an issue with font rasterization / caching under GPU when dealing with custom unicode glyphs (in the sample in the zip from #6, the "MacOS" text is a single custom glyph).

I suspect caching, as the issue only reproduces if I do multiple sequential draws in Skia with different offsets/clips, a single draw seems to always be fine.

I've created a Skia GM test which shows the error - running it will produce different results in SW/GPU. You can find the GM/patch here: https://skia-review.googlesource.com/c/4738/

I embedded the SKP as a uint8_t array in the GM test, but the raw SKP being drawn has been attached as well.

You can also find the GM output with GPU/SW attached.


clip_error.skp
3.4 KB Download
gpu_cliperror.png
16.9 KB View Download
sw_cliperror.png
26.9 KB View Download
Cc: bsalomon@chromium.org
Owner: jvanverth@chromium.org
Jim, could you take a look at this?
Cc: erikc...@chromium.org ccameron@chromium.org
+erikchen, ccameron for mac compositing issues.
What I've found so far: the large macOS in the GM test is treated as one large glyph and rendered as a path (see GrAtlasTextBlob::flushBigGlyphs()). The devClipBounds look correct in GrSoftwarePathRenderer::onDrawPath() for both rendering invocations, and it doesn't appear to be using the cache. I'm guessing it's something to do with the translation.
Project Member

Comment 22 by bugdroid1@chromium.org, Nov 16 2016

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

commit 2e96e790fba80a7949bd26edb1c332268f1dde07
Author: skia-deps-roller <skia-deps-roller@chromium.org>
Date: Wed Nov 16 20:20:30 2016

Roll src/third_party/skia/ cfcf624c3..58bf693ff (6 commits).

https://skia.googlesource.com/skia.git/+log/cfcf624c3968..58bf693ffd9f

$ git log cfcf624c3..58bf693ff --date=short --no-merges --format='%ad %ae %s'
2016-11-16 borenet infra recipe: Add -t flag to "go test"
2016-11-16 liyuqian Simplify the signature of sk/aaa_fill_path
2016-11-16 jvanverth Fix error with transforming custom/large glyphs
2016-11-15 reed make SkXfermode.h go away
2016-11-16 egdaniel Revert of added support for push_constant layout (patchset #7 id:140001 of https://codereview.chromium.org/2187433003/ )
2016-11-16 stani Revert "Add support for image load to SkSL"

BUG= 661244 

Documentation for the AutoRoller is here:
https://skia.googlesource.com/buildbot/+/master/autoroll/README.md

If the roll is causing failures, see:
http://www.chromium.org/developers/tree-sheriffs/sheriff-details-chromium#TOC-Failures-due-to-DEPS-rolls

CQ_INCLUDE_TRYBOTS=master.tryserver.blink:linux_precise_blink_rel
TBR=stani@google.com

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

[modify] https://crrev.com/2e96e790fba80a7949bd26edb1c332268f1dde07/DEPS

Status: Fixed (was: Assigned)
Looking at the various videos it appears that the glyph was originally being stored with the relative translation for the first tile, but that wasn't being updated for the second tile. So I'm pretty sure this is the fix.  I checked it using the contents of font-rendering-issues.zip. At 500% the MacOS icon was chopped off; now it's not. External verification would be appreciated, though.

Sign in to add a comment