top-chrome material tab glitch at 1.5x |
|||||
Issue description53.0.2749.0 (Official Build) canary (32-bit) Running at 1.5x which I assume is the problem. White underline at bottom of active tab and grey overline below new tab button. (Likely a dupe? But I didn't see anything with a quick search.)
,
May 26 2016
Not sure if it's the same. I would guess it broke about 2-3 canaries ago if that helps.
,
May 31 2016
Unable to reproduce the issue on win8.1 chrome version 53.0.2749.0 and latest canary 53.0.2753.0 with material design in the browsers top chrome flag selected as "Material" in chrome://flags scottmg@, Could you please let me know if i am missing something here in reproducing the issue.
,
May 31 2016
tkonchada: you're running at device scale factor 1.5 (150%)? I still see it at 53.0.2751.0.
,
Jun 1 2016
Thank you for providing more feedback. Adding requester "tkonchada@chromium.org" for another review and adding "Needs-Review" label for tracking. For more details visit https://www.chromium.org/issue-tracking/autotriage - Your friendly Sheriffbot
,
Jun 8 2016
Issue 612444 has been merged into this issue.
,
Jun 9 2016
I'll take a look at this. I just reproed it in 53.0.2763.0 so I don't need more information.
,
Jun 20 2016
This may or may not be similar to https://crbug.com/601135 but it is worth being aware of. Are tabs painted to their own Layers? The final suspicion coming out of my investigations was that the gfx::Canvas's being painted to were not being scaled perfectly with the backing Layer and the result would end up with a 1 pixel line on the bottom and right sides. We suspected a rounding error somewhere but I never did track it down.
,
Jun 20 2016
I don't think tabs are painted to their own layer, but I could be wrong. I'm still in the midst of investigating. It does LOOK like a rounding error, but I noticed after playing around with it that it seems to be some sort of anti-aliasing problem, because that 1 pixel line actually has a little of the tab color in it. So I'm not sure but I think it's a different issue.
,
Jun 20 2016
This isn't related to bug 614146 , is it?
,
Jun 20 2016
It's still happening on current Canary (53.0.2773.0) if by related you mean "hopefully fixed". :)
,
Jun 21 2016
I figured it out but fixing it will be slightly tricky. There are two problems. The first is straightforward: when filling the tab we get the wonky tab-shaped path and we don't really care if it's aligned to pixels. Normally this is fine, except that the path needs to be a polygon to fill properly, so we call "close" on it, which draws a straight line across the bottom. But this line isn't pixel-aligned, and we call ClipPath with anti-aliasing turned on. So the fix is just to ceil the tab bottom. It's supposed to blend with the toolbar below, or in the case of inactive tabs get a stroke drawn on top of it, so this shouldn't cause any problems. The other issue was introduced with this patch I believe: https://chromium.googlesource.com/chromium/src/+/ce3dce9ffa916d60c9b6d70f427a244a80358ccb%5E%21/#F0 It looks like blink was having trouble with transformed rectangles looking aliased, and it turned out that clipping rectangles were never anti-aliased, so they just made them always anti-aliased. Unfortunately views bounds are clipped using the same code, and at non-integral scale factors the bounding rects might not be pixel-aligned, so it also causes this problem. The fix is that they need anti-aliasing off. So it seems like clip_display_item needs additional context which will be a lot of plumbing.
,
Jun 22 2016
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/a33441839f9a8d028db80a164891d32eaaf50b0b commit a33441839f9a8d028db80a164891d32eaaf50b0b Author: bsep <bsep@chromium.org> Date: Wed Jun 22 02:25:19 2016 Fix tab strip rendering at non-integral scale factors in MD. This fixes two issues: * Hairline horizontal borders were actually drawing with thickness equal to the dsf for non-integral scale factors, due to loss of precision. * The bottom of the tab fill path was not aligned with whole pixels, which was partially causing an artifact when ClipPath was called. BUG= 615153 Review-Url: https://codereview.chromium.org/2085673004 Cr-Commit-Position: refs/heads/master@{#401171} [modify] https://crrev.com/a33441839f9a8d028db80a164891d32eaaf50b0b/chrome/browser/ui/views/frame/browser_view.cc [modify] https://crrev.com/a33441839f9a8d028db80a164891d32eaaf50b0b/chrome/browser/ui/views/tabs/tab.cc
,
Jun 23 2016
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/e11a8ea32baa62619f66c2e1104786ad861e9c05 commit e11a8ea32baa62619f66c2e1104786ad861e9c05 Author: bsep <bsep@chromium.org> Date: Thu Jun 23 21:28:56 2016 Remove antialiasing from views bounds rects. A views object clips drawing to its rectangular bounds. Those bounds are in DIPs, and have antialiasing turned on. At non-integral scale factors those bounds might not be pixel-aligned. When that happens it can cause artifacting, so it needs antialiasing turned off. Since Blink appears to need antialiasing turned on, this patch adds a field to ClipDisplayItem so that each callsite can do the thing it wants. BUG= 615153 CQ_INCLUDE_TRYBOTS=tryserver.blink:linux_blink_rel Review-Url: https://codereview.chromium.org/2090203002 Cr-Commit-Position: refs/heads/master@{#401726} [modify] https://crrev.com/e11a8ea32baa62619f66c2e1104786ad861e9c05/cc/blink/web_display_item_list_impl.cc [modify] https://crrev.com/e11a8ea32baa62619f66c2e1104786ad861e9c05/cc/playback/clip_display_item.cc [modify] https://crrev.com/e11a8ea32baa62619f66c2e1104786ad861e9c05/cc/playback/clip_display_item.h [modify] https://crrev.com/e11a8ea32baa62619f66c2e1104786ad861e9c05/cc/playback/display_item_list_unittest.cc [modify] https://crrev.com/e11a8ea32baa62619f66c2e1104786ad861e9c05/cc/playback/largest_display_item.cc [modify] https://crrev.com/e11a8ea32baa62619f66c2e1104786ad861e9c05/cc/proto/display_item.proto [modify] https://crrev.com/e11a8ea32baa62619f66c2e1104786ad861e9c05/ui/compositor/clip_recorder.cc
,
Jun 23 2016
,
Jun 29 2016
I noticed the cert dialog has a similar artifact (attached) do you want me to file a separate bug?
,
Jun 29 2016
Please do, though it's likely a similar issue.
,
Jun 29 2016
|
|||||
►
Sign in to add a comment |
|||||
Comment 1 by pkasting@chromium.org
, May 26 2016Components: UI>Browser>TabStrip
Labels: -Pri-2 M-53 Pri-1